buildingSMART Forums

How do I include and instance IFC files in other IFC files?

#1

Most text based standards have the ability to include / reference other files and create instances of them. This would be essential if I wanted to be able to create reusable OpenBIM assets in the IFC format. This allows me to have a building-a.ifc that includes and creates 3 instances at different coordinates of a chair.ifc, and then reuse chair.ifc in building-b.ifc.

However, from my understanding IFC uses STEP and STEP’s idea of an “include / reference” is essentially a glorified GOTO statement.

Can anybody point me in the right direction to how to create reusable IFC OpenBIM assets, and where in the IFC4 spec I can read more about splitting up IFC files?

Importing specific Psets from others
#2

Unfortunately the current serialization, based on STEP physical file (ISO 10303-21) does not allow for such external references. There is currently a proposed new version of the STEP physical file - the third edition, ISO 10303-21:2016 - that adds this capability to the file structure, however only very few implementations exists (note: this is independent of the include/reference statement in EXPRESS).

Alternatively the XML structure of IFC could be used with the href attribute - but again, only very few implementations exists. If this use case is more pressing, such implementation methods should be proposed also for standard IFC implementations.

#3

I see. If that’s the case, what is the current approach to creating a reusable asset that isn’t an entire IfcBuilding? For instance, if I wanted to create a chair.ifc, are there specific Ifc attributes / entities in the IFC4 spec that I need to include to communicate to others that this .ifc file is a reusable object / asset that is a single building element?

Apologies for the beginner question. I am still slowly reading the spec.

#4

@TLiebich, is the feature you are referring to in the newer version of STEP the ability to refer to URIs? Is there any reason why an implementer can’t “make this happen”?

#5

This issue has two votes. I’d like to propose this to be on the agenda for the upcoming ISG meeting @jwouellette