M
by Martin156131 on 2 Nov 2022, edited 3 Nov 2022
#
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?
B
by brunopostle on 2 Nov 2022
#
+1 votes
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
M
by Moult on 3 Nov 2022
#
+3 votes
Because an IfcElementAssembly is an IfcElement.
-
Spaces <-- IfcRelAggregates --> Subspaces, i.e. spaces are made out of subspaces.
-
Elements <-- IfcRelAggregates --> Subelements, i.e. elements are made out of subelements.
-
Spaces <-- IfcRelContainedInSpatialStructure --> Elements, i.e. Spaces contain elements
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)
M
by Martin156131 on 3 Nov 2022
#
So for example:
IfcProject <-- IfcRelAggregates --> IfcSite <-- IfcRelAggregates --> IfcBuilding <-- IfcRelAggregates --> IfcBuildingstoery <-- IfcRelContainedInSpatialStructure --> IfcElementAssembly <-- IfcRelAggregates --> IfcBuildingElementProxy
Did i understand it correctly?