Ifd:Ifd support in Ifc2x3g

By Lars Bjørkhaug and Håvard.Bell SINTEF building and infrastructure.

As of version 2x3g of the IFC standard support for IFD data is assured for nearly all of the information in an Ifc model. Adding support for Ifd in an existing Ifc compatible application is pretty straight-forward as the examples will show.

If you wonder why you should implement such support in your application then there is a explanation available here. (to come)

In its simplest form Ifd support in Ifc is achieved by adding GUIDs from the Ifd library to existing instances in an Ifc model. The GUIDs are attached by mean of classification relationships. There are two different methods used depending on if the Ifc instance being classified is a subtype of IfcRoot or an enitity in one of the resource schema's.

Appart from all entities being subtype of IfcRoot the following entities are also supported through the new select type : IfcResourceObjectSelect:
 * IfcAppliedValue
 * IfcContextDependentUnit
 * IfcConversionBasedUnit
 * IfcMaterial
 * IfcMaterialLayerSet
 * IfcMaterialLayer
 * IfcProperty
 * IfcPhysicalQuantity
 * IfcShapeAspect
 * IfcProfileDef
 * IfcActorRole

The following two slides shows a diagram of how IFD information is associated to the Ifc instances in the two cases: