62
Léon van Berlo, BIM Léon van Berlo IFC Industry Foundation Classes

IFC - What is IFC / Industry foundation classes

Embed Size (px)

DESCRIPTION

IFC - What is IFC / Industry foundation classes

Citation preview

Page 1: IFC - What is IFC / Industry foundation classes

Léon van Berlo, BIM

Léon van Berlo

IFCIndustry Foundation Classes

Page 2: IFC - What is IFC / Industry foundation classes

Agenda

• Wat is IFC?• Wie zijn er mee bezig?• Hoe ziet het eruit?• Hoe zit het in elkaar?

Koffie!

• Wat zijn de problemen (en oplossingen)?• Waarom (toch) IFC?• (gratis) Software

• Huiswerk / Volgende week

PS: 61 slides :-S

Page 3: IFC - What is IFC / Industry foundation classes

Wat is IFC?

Page 4: IFC - What is IFC / Industry foundation classes
Page 5: IFC - What is IFC / Industry foundation classes

IFC geschiedenis

• Industry Foundation Classes• ‘Open’ standaard• Komt uit de ‘CAD-wereld’• Autodesk als driver• Uit de eerste dagen van STEP (1985)• Bedoeld als standaard voor ‘downstream applicaties’• Gebruikt als uitwisselstandaard• Laatste versie 2x3 TC1

Page 6: IFC - What is IFC / Industry foundation classes

Wat is IFC?

• 3D Geometrie (object gebaseerd)

MAAR OOK

• Een stukje semantiek• Relaties tussen objecten• Eigenschappen

Page 7: IFC - What is IFC / Industry foundation classes

Wie zijn er mee bezig?

Page 8: IFC - What is IFC / Industry foundation classes

Wie zijn er mee bezig?

Technisch:• IAI / BuildingSMART (www.iai-tech.org)

• AEC3 (Thomas Liebich)

• TNO (Peter Bonsma)

• Instituut voor BIM (ibim.nl)

Marketing:• BuildingSMART• BuildingSMART BeNeLux (NL)• Bouw informatie raad (NL)

Page 9: IFC - What is IFC / Industry foundation classes

Hoe ziet het eruit?

Page 10: IFC - What is IFC / Industry foundation classes
Page 11: IFC - What is IFC / Industry foundation classes
Page 12: IFC - What is IFC / Industry foundation classes

Hoe ziet het eruit?

www.ifcbrowser.com

Page 13: IFC - What is IFC / Industry foundation classes

Hoe ziet het eruit?

www.ifcbrowser.com

Page 14: IFC - What is IFC / Industry foundation classes

Hoe zit het in elkaar?

Page 15: IFC - What is IFC / Industry foundation classes

Het Schema

Voertuig GewichtKleur

Merk

Laadvermogen

Auto

Stationwagen

Page 16: IFC - What is IFC / Industry foundation classes

Het Schema

Voertuig GewichtKleur

Merk

Laadvermogen

DiameterWiel

Auto Autowiel

Stationwagen

Page 17: IFC - What is IFC / Industry foundation classes

Het Schema

Voertuig GewichtKleur

Merk

Laadvermogen

Diameter

WielenHeeftWielen

Wiel

Autowiel

1..n

Auto

Stationwagen

Page 18: IFC - What is IFC / Industry foundation classes

Het Schema

Voertuig GewichtKleur

Merk

Laadvermogen

Diameter

WielenVoertuigHeeftWielen

Wiel

Autowiel

1..n

1..1

Auto

Stationwagen

Page 19: IFC - What is IFC / Industry foundation classes

Het Schema

Voertuig GewichtKleurINV Wielen

Merk

Laadvermogen

Diameter

WielenVoertuigHeeftWielen

Wiel

Autowiel

1..n

1..1

Auto

Stationwagen

inverse van HeeftWielen.Voertuig

Page 20: IFC - What is IFC / Industry foundation classes

Het Schema

Voertuig GewichtKleurINV Wielen

Merk

Laadvermogen

Diameter

WielenVoertuigHeeftWielen

Wiel

Autowiel

1..n

1..1

Auto

Stationwagen

EIS: Voertuig.Wielen.Wielen erft van entity Autowiel

Page 21: IFC - What is IFC / Industry foundation classes

Het Schema

Voertuig GewichtKleurINV Wielen

Merk

Laadvermogen

DiameterINV BehoortTot

WielenVoertuigHeeftWielen

Wiel

Autowiel

1..n

1..1

Auto

Stationwagen

inverse van HeeftWielen.Wielen

Page 22: IFC - What is IFC / Industry foundation classes

Het Schema

Voertuig GewichtKleurINV Wielen

Merk

Laadvermogen

DiameterINV BehoortTot

WielenVoertuigHeeftWielen

Wiel

Autowiel

1..n

1..1

Auto

Stationwagen

EIS: Wiel.BehoortTot.Voertuig erft van entity Auto

Page 23: IFC - What is IFC / Industry foundation classes

Het Schema

Voertuig GewichtKleurINV Wielen

Merk

Laadvermogen

DiameterINV BehoortTot

WielenVoertuigHeeftWielen

Wiel

Autowiel

1..n

1..1

Auto

Stationwagen

Page 24: IFC - What is IFC / Industry foundation classes

Het Schema (alternatief voor de eenvoud )

Voertuig GewichtKleurINV Wielen

Merk

Laadvermogen

DiameterINV BehoortTot

WielVoertuigHeeftWiel

Wiel

Autowiel

1..1

1..1

Auto

Stationwagen

Page 25: IFC - What is IFC / Industry foundation classes

Het SchemaDe Wand

IfcRoot

IfcProduct

IfcObject

IfcObjectDefinition

IfcElement

IfcWall

IfcBuildingElement

IfcWallStandardCase

GlobalIdOwnerHistoryNameDescription

INV HasAssignmentsINV IsDecomposedByINV DecomposesINV HasAssociations

ObjectTypeINV IsDefinedBy

ObjectPlacementRepresentationINV ReferencedBy

TagINV FillsVoidsINV ConnectedToINV HasCoveringsINV HasProjectionsINV HasStructuralMemberINV ReferencedInStructureINV HasPortsINV HasOpeningsINV IsConnectionRealizationINV ProvidesBoundariesINV ConnectedFromINV ContainedInStructure

Page 26: IFC - What is IFC / Industry foundation classes

Het SchemaHet Raam

IfcRoot

IfcProduct

IfcObject

IfcObjectDefinition

IfcElement

IfcWall

IfcBuildingElement

IfcWallStandardCase

GlobalIdOwnerHistoryNameDescription

INV HasAssignmentsINV IsDecomposedByINV DecomposesINV HasAssociations

ObjectTypeINV IsDefinedBy

ObjectPlacementRepresentationINV ReferencedBy

TagINV FillsVoidsINV ConnectedToINV HasCoveringsINV HasProjectionsINV HasStructuralMemberINV ReferencedInStructureINV HasPortsINV HasOpeningsINV IsConnectionRealizationINV ProvidesBoundariesINV ConnectedFromINV ContainedInStructure

IfcWindow OverallHeightOverallWidth

Page 27: IFC - What is IFC / Industry foundation classes

De Instantie

Voertuig GewichtKleurINV Wielen

Merk

Laadvermogen

DiameterINV BehoortTot

WielenVoertuigHeeftWielen

Wiel

Autowiel

1..n

1..1

Auto

Stationwagen

#100 = STATIONWAGEN(1120, 'Rood', 'Mazda', '500');#110 = AUTOWIEL(28);#111 = AUTOWIEL(28);#112 = AUTOWIEL(28);#113 = AUTOWIEL(28);#120 = HEEFTWIELEN((#110, #111, #112, #113), #100);

Page 28: IFC - What is IFC / Industry foundation classes

De Instantie (alternatief)

Voertuig GewichtKleurINV Wielen

Merk

Laadvermogen

DiameterINV BehoortTot

WielVoertuigHeeftWiel

Wiel

Autowiel

1..1

1..1

Auto

Stationwagen

#100 = STATIONWAGEN(1120, 'Rood', 'Mazda', '500');#110 = AUTOWIEL(28);#111 = AUTOWIEL(28);#112 = AUTOWIEL(28);#113 = AUTOWIEL(28);#120 = HEEFTWIEL(#110, #100);#121 = HEEFTWIEL(#111, #100);#122 = HEEFTWIEL(#112, #100);#123 = HEEFTWIEL(#113, #100);

Page 29: IFC - What is IFC / Industry foundation classes

Een IFC file (in Wordpad geopend)

ISO-10303-21;HEADER;FILE_DESCRIPTION (('IFC Engine Kernal version 1.10 beta release x generated IFC file.'), '2;1');FILE_NAME ('IFC Engine DLL test', '2006-03-31T16:51:19', ('Architect'), ('Building Designer

Office'), 'test', 'Windows System', 'The authorising person.');FILE_SCHEMA (('IFC2X3'));ENDSEC;DATA;#1 = IFCAXIS2PLACEMENT3D(#29, $, $);#4 = IFCOWNERHISTORY(#20, #21, $, .ADDED., $, $, $, 1225290822);#5 = IFCPROJECT('0i5rqjgpv9uRr3KG5O79Fj', #4, 'CIB_Weimar', $, $, $, $, (#11, #33), #40);#11 = IFCGEOMETRICREPRESENTATIONCONTEXT($, 'Model', 3, 1.000E-5, #1, $); .

. .

#9260 = IFCMATERIALDEFINITIONREPRESENTATION($, $, (#9255), #9216);#9262 = IFCMATERIALLAYERSETUSAGE(#9214, .AXIS2., .POSITIVE., 0.);#9264 = IFCWALLSTANDARDCASE('0uZ$pI7hzBvPtYLQwscFN2', #4, $, $, $, #9147, #9150, $);#9283 = IFCPROPERTYSINGLEVALUE('Reference', $, IFCDESCRIPTIVEMEASURE('0uZ$pI7hzBvPtYLQwscFN2'), $); .

. .

Page 30: IFC - What is IFC / Industry foundation classes

De Instantie (in Wordpad geopend)

ISO-10303-21;HEADER;FILE_DESCRIPTION (('IFC Engine Kernal version 1.10 beta release x generated IFC file.'), '2;1');FILE_NAME ('IFC Engine DLL test', '2006-03-31T16:51:19', ('Architect'), ('Building Designer

Office'), 'test', 'Windows System', 'The authorising person.');FILE_SCHEMA (('IFC2X3'));ENDSEC;DATA;#1 = IFCAXIS2PLACEMENT3D(#29, $, $);#4 = IFCOWNERHISTORY(#20, #21, $, .ADDED., $, $, $, 1225290822);#5 = IFCPROJECT('0i5rqjgpv9uRr3KG5O79Fj', #4, 'CIB_Weimar', $, $, $, $, (#11, #33), #40);#11 = IFCGEOMETRICREPRESENTATIONCONTEXT($, 'Model', 3, 1.000E-5, #1, $); .

. .

#9260 = IFCMATERIALDEFINITIONREPRESENTATION($, $, (#9255), #9216);#9262 = IFCMATERIALLAYERSETUSAGE(#9214, .AXIS2., .POSITIVE., 0.);#9264 = IFCWALLSTANDARDCASE('0uZ$pI7hzBvPtYLQwscFN2', #4, $, $, $, #9147, #9150, $);#9283 = IFCPROPERTYSINGLEVALUE('Reference', $, IFCDESCRIPTIVEMEASURE('0uZ$pI7hzBvPtYLQwscFN2'), $); .

. .

Page 31: IFC - What is IFC / Industry foundation classes

De Instantie (in een technische viewer)

Page 32: IFC - What is IFC / Industry foundation classes

IfcRoot

IfcProduct

IfcObject

IfcObjectDefinition

IfcElement

IfcWall

IfcBuildingElement

IfcWallStandardCase

GlobalIdOwnerHistoryNameDescription

INV HasAssignmentsINV IsDecomposedByINV DecomposesINV HasAssociations

ObjectTypeINV IsDefinedBy

ObjectPlacementRepresentationINV ReferencedBy

TagINV FillsVoidsINV ConnectedToINV HasCoveringsINV HasProjectionsINV HasStructuralMemberINV ReferencedInStructureINV HasPortsINV HasOpeningsINV IsConnectionRealizationINV ProvidesBoundariesINV ConnectedFromINV ContainedInStructure

Page 33: IFC - What is IFC / Industry foundation classes

De Instantie

#9264 = IFCWALLSTANDARDCASE('0uZ$pI7hzBvPtYLQwscFN2', #4, $, $, $, #9147, #9150, $);

Page 34: IFC - What is IFC / Industry foundation classes

De Instantie

#9264 = IFCWALLSTANDARDCASE('0uZ$pI7hzBvPtYLQwscFN2', #4, $, $, $, #9147, #9150, $);

Page 35: IFC - What is IFC / Industry foundation classes

De Instantie

#9264 = IFCWALLSTANDARDCASE('0uZ$pI7hzBvPtYLQwscFN2', #4, $, $, $, #9147, #9150, $);

Page 36: IFC - What is IFC / Industry foundation classes

De Instantie

#9264 = IFCWALLSTANDARDCASE('0uZ$pI7hzBvPtYLQwscFN2', #4, $, $, $, #9147, #9150, $); .

#9213 = IFCRELASSOCIATESMATERIAL('0$D5xwjuH6sx4mdmLAJf9A', #4, $, $, (#9264), #9262);

Page 37: IFC - What is IFC / Industry foundation classes

#9264 = IFCWALLSTANDARDCASE('0uZ$pI7hzBvPtYLQwscFN2', #4, $, $, $, #9147, #9150, $);

Page 38: IFC - What is IFC / Industry foundation classes

De Instantie (de as van de wand)

Page 39: IFC - What is IFC / Industry foundation classes

De Instantie (de as van de wand)

Page 40: IFC - What is IFC / Industry foundation classes

Eigenschappen

• Pset’s• Vast gedefineerde propertiesets

• Propertysets• Vrij te definieren• Vast te leggen met IFC (volgende week)

Page 41: IFC - What is IFC / Industry foundation classes
Page 42: IFC - What is IFC / Industry foundation classes

Wat zijn de problemen (en oplossingen)?

Page 43: IFC - What is IFC / Industry foundation classes

Voorbeeld Issue 1

• Global Unique ID (guid’s)• “49IbAKeGX249IbBNlUyvpd”

• Ondersteunde situaties (intentie)• Import IFC – Export IFC• Import IFC – opslag eigen – openen eigen – Export IFC• Import IFC – aanpassingen (.. eigen opslag..) – Export IFC

• Probleem• Sommige objecten (of ge-objectiviseerde relaties) bestaan

niet in een IFC ondersteunend pakket

Page 44: IFC - What is IFC / Industry foundation classes

Voorbeeld Issue 2

• SpaceBoundaries => oppervlakten (polygonen)

Space

Page 45: IFC - What is IFC / Industry foundation classes

Voorbeeld Issue 2

• SpaceBoundaries => oppervlakten NU

Space II

Space I

Page 46: IFC - What is IFC / Industry foundation classes

Voorbeeld Issue 2

• SpaceBoundaries => oppervlakten GEWENST• Opgelost in 2x4 en sommige aplicaties zoals Archicad (2nd

order spacebounderies)

Space II

Space I

Page 47: IFC - What is IFC / Industry foundation classes

Voorbeeld Issue 2

• SpaceBoundaries => locatie• Afhankelijk van regelgeving in europa

• Nu in IFC: alleen binnenkant en buitenkant vd wand• Gewenst in NL: hart van de wand, maar dit is in een CAD

pakket niet logisch (en de vraag is of je dit mag verwachten)

Space II

Space I

Page 48: IFC - What is IFC / Industry foundation classes

Oplossingen ?

• IFD (International Framework for Dictionaries)• Linken van properties (delen van properties tussen deur en raam)

• IDM (Information Delivery Manual)• Procesafspraken (VISI systematiek)

• MVD (Model View Definitions)• Subsets van IFC (beperking van het schema; weglaten van objecten en toevoegen

van restricties)

• v.b.: “Elke wand heeft 2nd order spaceboundaries”• Pset’s

• Voorgedefinieerde property-set (Pset en Propertyset is dus anders!)• IFD in het klein (ín het schema)

• v.b.: lichttoetreding • Cyclus van ongeveer 4 jaar (versie refresh)

• Certification

Page 49: IFC - What is IFC / Industry foundation classes

Voorbeeld Issue 3: Software implementaties

• Betrouwbaarheid• Betrouwbaarheid• Betrouwbaarheid

Page 50: IFC - What is IFC / Industry foundation classes

Open standaarden ‘strategie’

Page 51: IFC - What is IFC / Industry foundation classes

Maar niet (alleen) software heeft ‘schuld’

Page 52: IFC - What is IFC / Industry foundation classes

Meer issue voorbeelden:• Afronding (float)

• Opening in een wand (moet breder zijn dan de wand)• Gekromde wand, gekromde opening (facetering van ronding is nooit gelijk)• Heel ouderwetse geometrie kernel (voldoet eigenlijk niet meer) in het IFC schema• Politiek rond aanpassingen• Structuur en fileformaat heel anders dan cad-pakketten

• Veel tijd nodig voor export en import• Veel manuren om het te implementeren

• Heel lastig te ‘slicen’ (netwerkstructuur) • Opdelen kan niet omdat je dan links breekt

• Geen zolderkamerprogrammeurs voor ouderwetse express taal• Gevolg: markt dominantie door een paar partijen

• Betrouwbaarheid (in zichzelf niet de mogelijkheid om simpel te achterhalen welke applicaties wel of niet goed ondersteunen)

• Moeilijk achterhalen of iemand model goed importeert (verlies van data!!)• Dezelfde info op verschillende manieren op te slaan (b.v. veel mogelijkheden om éen wand

op te slaan die je allemaal moet ondersteunen)• Wallstandardcase, boundingbox, extruded polygon, brep, enz.. (stuk of 20) en

combinaties van deze dingen….• Geen enkele applicatie van de 5 groten slaat een opening en/in een muur hetzelfde op!

(en dat alleen voor de basiselementen!)• IFC wordt nu gebruikt voor uitwisseling terwijl het gemaakt/bedoeld is voor downstream

• Kortom: Onbetrouwbaarheid zit ín het schema• Geen mogelijkheden tot controle van import (20e methode wordt niet ondersteund)• Schema staat redundante informatie toe (is niet eenduidig)• Schema is niet strikt genoeg (geeft te veel vrijheid)

Page 53: IFC - What is IFC / Industry foundation classes

Waarom (toch) IFC?

Page 54: IFC - What is IFC / Industry foundation classes

Waarom dan toch IFC

• Schaalbaarheid

• Markt integratie

• Support vanuit overheden

• (bijna) geen alternatief

• Omdat het in veel situaties HEEL GOED werkt• Het doet niet wat de reclame beloofd;• Maar het werkt perfect voor de dingen waar het voor werkt!

Page 55: IFC - What is IFC / Industry foundation classes

(gratis) Software

Page 56: IFC - What is IFC / Industry foundation classes

GRATIS Software

• IFC Viewer www.ifcbrowser.com• IFC Modelserver www.bimserver.org

• FZKViewer

• Nemetschek IFC Viewer www.nemetschek.com/ifc

• DDS Viewer ftp://ftp.dds.no/pub/install/IfcViewer/

• Compleet overzicht:

http://www.ifcwiki.org/index.php/Free_Software

Page 57: IFC - What is IFC / Industry foundation classes

Gecertificeerde software

• ‘De 5 groten’• Allplan• Archicad• Autocad / Revit• Bentley• Tekla

• Volledige lijst:http://www.ifcwiki.org/index.php/IFC_Certified_Software

Page 58: IFC - What is IFC / Industry foundation classes

Huiswerk

Page 59: IFC - What is IFC / Industry foundation classes

Huiswerk

1. Exporteer model naar IFC2. Evalueer structuur met IFC viewer

• Gebruik stabiele versie 1.10 http://www.ifcbrowser.com/downloads/IFC%20Engine%20Viewer.exe

• Evalueer ook properties op level 4 en 5 (knopjes bovenin)• Kijk wat er over blijft / verloren gaat

3. Importeer IFC in eigen (of ander) CAD/BIM-software • Kijk wat er over blijft / verloren gaat• Doe een aanpassing en exporteer opnieuw

4. Evalueer (met ifc viewer) de verschillen tussen eerste IFC en nieuwe IFC file• Zijn er meer verschillen dan alleen je eigen aanpassing?

Hoe komt dit?

Page 60: IFC - What is IFC / Industry foundation classes

Kijk ook eens naar:

• Algemeen: http://www.ifcwiki.org

• Veel gestelde vragen: http://www.iai-tech.org/services/faq

• Schema: http://www.iai-tech.org/ifc/IFC2x3/TC1/html/index.htm

• Technisch: http://www.iai-tech.org/

Page 61: IFC - What is IFC / Industry foundation classes

Volgende week

• IFD• ‘Uitbreiding’ van IFC

• Propertiesets / Properties (knopje 4 en 5 in de IFC Viewer)

• Toevoegen van objectklasses

Page 62: IFC - What is IFC / Industry foundation classes

[email protected]: [email protected]

Twitter: berlottiSkype: berlotti

Jabber / G-talk: [email protected]