are there any resources out there which point out the structural changes of 4.3 RC2 to 4.1 final? It seems that the IfcAlignment composition has been completely refactored…
I evaluated the lost elements from IFC4X1 to IFC4X3_RC2:
|Layer||Element (entity or enum)|
I think, this will be the structural changes (replaced by new elements).
Hope it helps.
These are the new entities from IFC4X1 to IFC4X3_RC2 (only the three layers above):
Thanks again for this summary. I’ve done some investigations by my own. It’s a currently incomplete overall picture… but here is a class diagram visualisation of the recent RC2 picture only concerning the affected parts of the alignment entities and some of their classifying entities in product extension.
I don’t fully understand some aspects: Why are there two positioning approaches of IfcLinearPlacement and IfcLinearPositioningElement? If I’m correct, there are two product modelling alternative extensions. IfcLinearElement substructures are using enumerations indicating the type of geometry. IfcPositioningElement uses an IfcCurve instance and is linked via IfcRelPositions. Finally the scene node transformation instances of IfcObjectPlacement uses a relative position along a curve.
For your questions:
- Differences between the different versions of IFC standard are compiled in Appendix F of the documentation.
- Project teams of IFC Rail and IFC Infrastructure Extension Deployment projects have promised a report on the changes - WIP, to be published during the course of this year. I can share a working draft of the Linear placement changes - please DM me your email.
IfcLinearPositioningElementserve two different purposes - the former is for positioning of products (it inherits from
IfcObjectPlacement), the latter is for semantic identification, properties, context, etc. (it inherits from
IfcProduct) of a linear positioning element. Related, but not at all two approaches to the same thing.
- I’m not completely following your statement on “product modelling alternative extensions” - care to elaborate a bit more?
EDIT: Forgot a “)”.
thanks for clarification! What I meant by “alternative” is that there are two “alignment” products now.
IfcLinearElement which is a kind of semantic branch downstream in inheritance hierarchy (for horizontal / vertical) and
IfcLinearPositioningElement. The only difference I see seems to be a more differentiated semantic usage of instances of
IfcLinearElement. Isn’t it?
Oh, you meant
There is still only one
IfcAlignment, inheriting from
IfcLinearPositioningElement. Its decomposition, as usually the case in infrastructure, can be semantically modeled with classes inheriting from
IfcLinearElement. I don’t see a possibility to use
IfcLinearElement directly as an instance of alignment (instead of