# Utbyte av en IFC-modell
Utbyte av IFC-modeller sker kontinuerligt under projektet och har olika syften, exempelvis för:
- Modellsamordning
- Utbyte mellan projektörer
- Mängdberäkningar
- Energianalyser
- Produktion
- Drift- och underhållsplanering
För att få relevant information levererad och definiera specifika krav har det tagits fram två leveransspecifikationer en för handlingar som ska levereras och en för egenskaper som ska finnas på objekt i 3D-modellen.
Följande kravställs i leveransspecifikationen för dokument:
- Dokumenttyp
- Filformat
- Metadata, bl.a. innehållskod, DCC-kod och ansvarig part m.m.
- Geometrisk information
![En bild som visualiserar kravet på IFC modell](media/Leveransspecifikation-dokument-1.jpg)
Följande kravställs i leveransspecifikationen för objekt:
- Byggdelar
- Egenskaper
- Geometrisk information
- Alfanumerisk information
![En bild som visualiserar kraven på objekt i en ifc modell](media/Leveransspecifikation-objektegenskaper-2.jpg)
## IFC-entiteter
De tre översta IFC-entiteterna i strukturen är så kallade diskreta objekt, det vill säga objekt som inte har någon geometrisk representation. Nedan följer en kort beskrivning av dessa:
![](media/tradstruktur-IFC-entiteter-3.jpg)
Filnamnet, MN_VV.BAB02-C-01-V-0001.ifc, står överst i strukturen därefter kommer:
- IfcProject – Den översta noden i modellen som representerar ansvarigt bolag och därmed även IFC-filen i sin helhet. I RBS:en refererar vi till det som topp nod eller nivå 0, enligt tabell ….
- IfcSite (+LB1 Driftplats) – Denna nod representerar aktuell fastighet och benämns enligt referensbeteckningen nivå 1 – Driftplats. Ett IfcProject bör enbart innehålla en underliggande IfcSite.
- IfcBuilding (+LB2 Anläggningsdel) – Denna nod representerar aktuellt byggnadsverk, ofta en byggnad, och benämns enligt Nivå 2 – Anläggningsdel (byggnadsverk) enligt referensbeteckningssystemet.
- IfcBuildingStorey (+LB3 Våningsplan) – Denna nod representerar aktuella våningsplan inom ett byggnadsverk. En IfcBuilding kan innehålla en eller flera IfcBuildingStoreys, våningsplanen defineras av Nivå 3 – Våningsplan.
Det är viktigt att samordna namngivning av dessa noder för att underlätta utbyte av information. Exporten av IFC-filen ska ha en struktur enligt bilden ovan.
Övriga IFC-entiteter i strukturen ovan representeras av geometriska objekt. I figuren presenteras de fem vanligaste IFC-entiteterna, men det finns fler inom IFC-formatet. Nedan följer en kort beskrivning av dessa:
- IfcBuildingElement – Denna IFC-entitet och dess underliggande IFC-entiteter representerar objekt inom arkitektur och byggkonstruktion, exempelvis fönster (IfcWindow), väggar (IfcWall), och pelare (IfcColumn).
- IfcCivilElement – Denna IFC-entitet representerar infrastrukturella objekt.
- IfcDistributionElement – Denna IFC-entitet och dess underliggande IFC-entiteter representerar objekt inom installationssystem, exempelvis kabelstegar (IfcCableCarrierSegment), pumpar (IfcPumt), och handfat (IfcSanitaryTerminal).
- IfcFurnishingElement – Denna IFC-entitet och dess underliggande IFC-entiteter representerar fast och lös inredning.
- IfcSpace – Denna IFC-entitet representerar utrymmen.
Det är viktigt att objekt modelleras så som det ska byggas. Detta har en stor betydelse vid syfte att nyttja IFC-modeller för mängberäkning.
De geometriska objekten som beskrivs ovan kan även grupperas i olika typer av system. Det vanligaste är att objekt inom klassen IfcDistributionElement grupperas i så kallade IfcDistributionSystems där varje grupp representerar ett installationssystem, exempelvis luftbehandlingssystem, kallelsesignalsystem, och tappvattensystem.
## Metadata
Vid utbyte av IFC-formatet är det viktigt att kunna se nödvändiga metadata om filen, exempelvis när den skapades och vem som exporterat filen, se rubrik metadata i metod egenskaper i en IFC-modell.
## Attribut, Parameter- och Mängdgrupper
I certifierade programvaror mappas programvarutillverkarens objektstyper till IFC-entiteter inom IFC-formatet, exempelvis exporteras en balk som modellerats med orignalprogramvarans balk-verktyg till motsvarande balk inom IFC-formatet, det vill säga IfcBeam. Vidare kan även dessa objektstyper ytterligare definieras genom att mappas till IFC-entiteternas typer (PredefinedType), men detta är i dagsläget ovanligt förekommande. En balk kan exempelvis ytterligare definieras med sex typer av balken, men den kan även vara användardefinierad, eller odefinierad.
Information om IFC-entiteter beskrivs med hjälp av attribut och parametrar där parametrarna antingen ingår i en parameter- eller mängdgrupp vilka beskrivs kortfattat nedan:
- Attribut (Attributes) – Grundläggande information om varje entitet, exempelvis global identifikation (GlobalId), ägare (OwnerHistory), benämning (Name), och beskrivning (Description).
- Parametergrupp (IfcPropertySets) – En grupp av parametrar som ytterligare beskriver IFC-entiteter, exempelvis om byggdelen är bärande eller ej (LoadBearing) och brandteknisk klass (FireRating).
- Mängdgrupp (IfcQuantitySets) – En grupp av parametrar som beskriver IFC-entiteters olika mängder, exempelvis längd (Length) och tvärsnittsarea (CrossSectionArea).
Baserat på beskrivningen ovan är det viktigt att varje objekt modelleras med rätt verktyg i originalprogramvaran, speciellt om syftet är att använda IFC-modellen för mängdberäkningar. Om exempelvis en balk skulle modelleras med originalprogramvarans väggverktyg och därmed exporteras som en IfcWall istället som en IfcBeam kommer det exempelvis inte vara möjligt att få ut information om balkens tvärsnittsarea (CrossSectionArea).
För aktuell mappning av attribut, parametrar, parameter- och mängdgrupper, se respektive programvarutillverkares dokumentation.
Det är ibland möjligt att frångå programvarutillverkarens mappning av objektstyper till IFC-entiteter genom att exempelvis ändra en inställningsfil som styr mappningen eller att per objektstyp eller förekomst överskrida inställningsfilen med så kallade exportparametrar, men detta bör i så stor utsträckning som möjligt undvikas på grund av att de mängdgrupper som kan beskrivas av den ursprungliga objektsklassen möjligen inte kan hanteras av den objektsklass som överskrids.
Följande exportparametrar finns tillgängliga för att överskrida inställningsfilens mappning mot IFC-entiteter:
- IfcExportAs – Överskrider den IFC-entitet som är angiven i aktuell inställningsfil. Ange exakt stavning, enligt buildingSMART International, för den IFC-entitet som ska överskrida den som är definierad i aktuell inställningsfil. Exempelvis kan ett bjälklag (IfcSlab) exporteras som grundkonstruktion (IfcFooting).
- IfcExportType – Överskrider den typ av IFC-entitet som eventuellt är angiven in aktuell inställningsfil. Ange exakt stavning, enligt buildingSMART International, för den typ som ska överskrida den som definierad i aktuell inställningsfil. Exempelvis kan grundkonstruktionen (IfcFooting) detaljeras som en typ av grundbalk (FOOTING_BEAM).
Exportparametern IfcExportType kan även ersättas genom att både ange IFC-entitet och typ (separerade med en punkt) inom exportparametern IfcExportAs, exempelvis IfcFooting.FOOTING_BEAM.
Ett alternativ till att nyttja IFC-formatets inbyggda attribut och egenskapsuppsättningar är att skapa egna egenskapsuppsättningar och tilldela dem till olika klasser inom IFC-formatet, se metoden Information i IFC-modeller. Mängduppsättningar kan däremot inte hanteras av användaren.
## Insättningspunkt
När modeller delas är det viktigt att alla ingående modeller ligger rätt placerade i aktuellt koordinat- och höjdsystem. Detta säkerställs främst genom samordning mellan respektive originalprogramvara. Programvaror hanterar koordinater på olika sätt på grund av olika tekniska begränsningar. I vissa programvaror sker modellering enligt aktuellt primärnät, medan i andra sker modellering enligt en lokal insättningspunkt som direkt relaterar till aktuellt primärnät. Oavsett metod är rekommendationen att IFC-modeller alltid ska exporteras enligt aktuellt primärnät. Se även metoden Lokalt och Globalt Koordinat- och Höjdsystem för en 3D-CAD-modell.