[IFC] Why is IfcElementAssembly under IfcElement instead of IfcSpatialElement?
It says here http://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcElementAssembly.htm that one should use an aggregation relationship to the contained parts, i.e. the (INV) IsDecomposedBy relationship shall be utilized. So why is IfcElementAssembly under IfcElement instead of IfcSpatialElement?
Tagged:
Comments
I suppose that an Element Assembly is a thing made up of other things, whereas a Spatial Element is a space that can contain things or other spaces
Because an IfcElementAssembly is an IfcElement.
Notice aggregates are used when the same type is made out of smaller things of the same type. In contrast ContainedIn relationships are used between spaces (i.e. you can't touch it, just a virtual imaginary bounds) and elements (i.e. you can touch it, buy it, build it, etc)
So for example:
IfcProject <-- IfcRelAggregates --> IfcSite <-- IfcRelAggregates --> IfcBuilding <-- IfcRelAggregates --> IfcBuildingstoery <-- IfcRelContainedInSpatialStructure --> IfcElementAssembly <-- IfcRelAggregates --> IfcBuildingElementProxy
Did i understand it correctly?
Yes.