Linking IFC into the CDM - UICrail/CDM-IFC GitHub Wiki

The matchmaker's choice

As exposed in the introductory page, the purpose is to "associate" RSM Linear Element with IFC Linear Positioning Element, which generalizes IFC Alignment. In semantic engineering as in civil registration offices, there are many ways to legally establish such associations while preserving the rights and obligations of both parties.

IFC perspective

The official IFC release uses the EXPRESS formal language, which conveys both semantic aspects (what there is, and what relations exist) and constraints (cardinality constraints).

In the CDM, by contrast, we separate semantics and constraints; semantics are expected to be widely shared, whereas constraints may be application- or project-specific.

Therefore we prefer not to declare IfcLinearPositioningElement and (RSM) LinearElement as equivalent classes: were it the case, each instance of LinearElement would immediately become an instance of IfcLinearPositioningElement, while not providing the expected IFC attributes, many of which are not optional.

Another aspect is the information gathering processes: alignment description under an BIM/IFC development process is likely to occur separately from topology and other, railway-specific aspects.

Proposal

The most appealing solution would be to create a dedicated property pair for linking (RSM) LinearElement with IfcLinearPositioningElement (and conversely), and a sub-property for linking LinearElement with IfcAlignment, which is currently the most relevant case.

For the time being, only the sub-property hasIfcAlignment is defined:

RSM-IFC adapter