6/10/2015

ARCHICAD to IFC Export Tests

Currently at CJMW, BIM handover is not a required deliverable on all of our Projects, but I want to begin the testing and learning process, so that implementation of workflows resulting in higher quality, data-packed BIM can be in place prior to its demand and expectation.  Eventually, it is conceivable that a data-rich BIM deliverable will be required on more of our Projects.

I've begun using a couple of free IFC viewer pieces of software to check our IFC files once exported: Tekla BIMsight and Solibri Model Viewer (the free little brother of Solibri Model Checker, a very robust BIM validation tool).  I don't have any formal training in either of them, but I've begun using Solibri Model Viewer more recently.  Like ARCHICAD, Solibri is made for both Mac and Windows.

(Image from Solibri website)


I'll admit, I know enough about IFC to be completely intrigued but not enough to feel confident that I really know what I am doing.

There are a lot of things we model in ARCHICAD that are easy to know which ArchiCAD Element Classification is most applicable.  Model a wall in ARCHICAD using the Wall Tool, select the Wall ArchiCAD Element Classification; model a floor slab, select Slab; model a ceiling using the Slab Tool, select Ceiling, etc.  But there are a lot of things we model in our ARCHICAD Projects that are a little more difficult to discern when looking to pick from the ArchiCAD Element Classification flyout in the Tags & Categories Panel in an element's Selection Settings.  If we model base board or other wall trim, like crown molding, do we know which Element Classification was appropriate?  What is the difference between Discrete Accessory and Building Element Proxy?  What about Covering?


In an effort to find out more, I began searching online sites like ARCHICAD-Talk and other online ARCHICAD locations, as well as IFC sites like buildingSMART, looking for a definitive list that would help direct me.  A list very well may exist out there, but I also figured that some exploration and testing would do me some good as well.

What follows are some preliminary results.  First, I set up a bunch of Morphs.  Because they are not a Wall and not a Slab, they seemed 'neutral' to me, so they didn't carry any mental baggage that using a bunch of Slabs or Walls would have.  I set each Morph to a different ArchiCAD Element Classification: one to ArchiCAD Type, one to Beam, one to Building Element Proxy, etc. to see what those elements would become once exported to IFC.



Here are the results, most of which is perhaps obvious, but all of which I find handy to have in spreadsheet form to which I can refer when I have questions.  The columns left to right: each Morph's Element ID, its Element Classification (both exported directly from an ARCHICAD Interactive Schedule), and what that became once the IFC was opened in Solibri.  I'll add a column for Tekla BIMsight once I get a chance to open the IFC there as well.


IDArchiCAD Element Classificationin Solibri Model Viewer
Mrph01ArchiCAD TypeObject
Mrph02BeamBeam
Mrph03Building Element ProxyObject
Mrph04CeilingSuspended Ceiling
Mrph05ColumnColumn
Mrph06CoveringCovering
Mrph07Curtain WallCurtain Wall
Mrph08DoorDoor
Mrph09FootingFooting
Mrph10FurnitureFurniture
Mrph11LampLamp
Mrph12Light FixtureLight Fixture
Mrph13MemberMember
Mrph14PlatePlate
Mrph15RailingRailing
Mrph16RampRamp
Mrph17RoofRoof
Mrph18Site GeometrySite
Mrph19SlabSlab
Mrph20StairStair
Mrph21Transport ElementTransport Element
Mrph22WallWall
Mrph23WindowWindow
Mrph24Cable Carrier FittingCable Carrier Fitting
Mrph25Cable Carrier SegmentCable Carrier
Mrph26Discrete AccessoryDiscrete Accessory
Mrph27Distribution Chamber ElementDistribution Chamber Element
Mrph28Distribution Control ElementDistribution Element
Mrph29Distribution ElementDistribution Element
Mrph30Distribution Flow ElementValve
Mrph31Duct FittingDuct Fitting
Mrph32Duct Flow TerminalAir Terminal
Mrph33Duct SegmentDuct
Mrph34Energy Conversion DeviceTransformer
Mrph35FastenerFastener
Mrph36Flow ControllerValve
Mrph37Flow Moving DevicePump
Mrph38Flow Storage DeviceTank
Mrph39Flow Treatment DeviceFilter
Mrph40Mechanical FastenerFastener
Mrph41PilePile
Mrph42Pipe FittingPipe Fitting
Mrph43Pipe Flow TerminalSanitary Terminal
Mrph44Pipe SegmentPipe
Mrph45Ramp FlightRamp
Mrph46Reinforcing BarReinforcing Bar
Mrph47Reinforcing MeshReinforcing Mesh
Mrph48Stair FlightStair
Mrph49TendonTendon
Mrph50Tendon AnchorTendon Anchor

After that I began to wonder about all of the Objects in an ARCHICAD Library: if an Object is set to ArchiCAD Type, its translation to IFC is driven by its Object Subtype.  What do each of the Object Subtypes correspond with once exported to IFC?  Again, most of these are going to be pretty obvious, but there are some that I wouldn't have guessed.  Did you know that if you leave a Base Cabinet Object set to ArchiCAD Type, it ends up as a Sanitary Terminal (a sink) in IFC?  According to the buildingSMART, casework should be an IfcFurnishingElement, so this needs to be corrected at the ARCHICAD Element Classification setting.  Confusing?  Maybe.  Worthy of having a chart for clarification?  Yes.



For this test, I created a little cube Object, saved to the Embedded Library, and made a new copy for each Object Subtype and named the Object after the Subtype.  I've skipped MEP Subtypes in this first test but will go back and pick those up in a subsequent test.  I'll also add columns to this test for the resulting export in Solibri Model Viewer and in Tekla BIMsight when I can get back to this.  When I export to IFC, all Objects will be set to ArchiCAD Type so that the Object's Subtype will be the driver behind its translation to IFC.  Columns: Object Element ID, Library Part Name, and the resulting IfcType, all exported directly from an ARCHICAD Interactive Schedule.


IDLibrary Part NameIfcType
Obj01BRS Model ElementIfcBuildingElementProxy
Obj02BRS Building ElementIfcBuildingElementProxy
Obj03BRS BeamIfcBeam
Obj04BRS SpaceframeIfcBeam
Obj05BRS TrussIfcBeam
Obj06BRS TrussMaker ObjectIfcBeam
Obj07BRS ColumnIfcColumn
Obj08BRS CoveringIfcCovering
Obj09BRS AccessoryIfcCovering
Obj10BRS Ceiling CoveringIfcCovering
Obj11BRS Floor CoveringIfcCovering
Obj12BRS Roof CoveringIfcCovering
Obj13BRS Wall CoveringIfcCovering
Obj14BRS Curtain WallIfcCurtainWall
Obj15BRS Curtain Wall ComponentIfcBuildingElementProxy
Obj16BRS FootingIfcFooting
Obj17BRS RailingIfcRailing
Obj18BRS RampIfcRamp
Obj19BRS RoofIfcRoof
Obj20BRS SlabIfcSlab
Obj21BRS StairIfcStair
Obj22BRS WallIfcWall
Obj23BRS Wall EndIfcCovering
Obj24BRS Element ComponentIfcBuildingElementProxy
Obj25BRS Discrete AccessoryIfcDiscreteAccessory
Obj26BRS Geometric ShapeIfcDiscreteAccessory
Obj27BRS Roof ComponentIfcDiscreteAccessory
Obj28BRS Gutter 18IfcDiscreteAccessory
Obj29BRS Equipment ElementIfcBuildingElementProxy
Obj30BRS Bathroom EquipmentIfcBuildingElementProxy
Obj31BRS Fire Protection EquipmentIfcBuildingElementProxy
Obj32BRS FireplacesIfcBuildingElementProxy
Obj33BRS Food Service EquipmentIfcBuildingElementProxy
Obj34BRS Medical EquipmentIfcBuildingElementProxy
Obj35BRS Musical InstrumentIfcBuildingElementProxy
Obj36BRS Residential EquipmentIfcBuildingElementProxy
Obj37BRS Sports EquipmentIfcBuildingElementProxy
Obj38BRS Theatre and Stage EquipmentIfcBuildingElementProxy
Obj39BRS FurnishingIfcFurnishingElement
Obj40BRS BedsIfcFurnishingElement
Obj41BRS Built In FurnitureIfcFurnishingElement
Obj42BRS Electrical ApplianceIfcFurnishingElement
Obj43BRS Kitchen ApplianceIfcFurnishingElement
Obj44BRS OfficeIfcFurnishingElement
Obj45BRS TelecommunicationIfcFurnishingElement
Obj46BRS Furniture LayoutIfcFurnishingElement
Obj47BRS Seating LayoutIfcFurnishingElement
Obj48BRS Table LayoutIfcFurnishingElement
Obj49BRS Other FurnitureIfcFurnishingElement
Obj50BRS SeatingIfcFurnishingElement
Obj51BRS StorageIfcFurnishingElement
Obj52BRS TableIfcFurnishingElement
Obj53BRS Grid Maker Element
Obj54BRS OpeningIfcOpeningElement
Obj55BRS Mesh OpeningIfcOpeningElement
Obj56BRS Roof OpeningIfcWindow
Obj57BRS DormerIfcWindow
Obj58BRS SkylightIfcWindow
Obj59BRS Slab Opening(Missing)
Obj60BRS Wall OpeningIfcOpeningElement
Obj61BRS Door (Wall)IfcDoor
Obj62BRS Door OpeningIfcDoor
Obj63BRS Window (Wall)IfcWindow
Obj64BRS Window OpeningIfcWindow
Obj65BRS Site ImprovementIfcBuildingElementProxy
Obj66BRS AnimalIfcBuildingElementProxy
Obj67BRS PeopleIfcBuildingElementProxy
Obj68BRS PlantIfcBuildingElementProxy
Obj69BRS Sport FieldIfcBuildingElementProxy
Obj70BRS Street FurnitureIfcBuildingElementProxy
Obj71BRS TrafficIfcBuildingElementProxy
Obj72BRS Transport ElementIfcTransportElement

This is only the beginning of what will surely be a lot of exploration, testing, and learning as I get to know more about IFC, Standards, and OpenBIM.  There will be much more to come in the next months and years as we move toward bigger BIM.