Hello everyone,
When working with decompositions in IFC, there are some questions regarding the validity of using IfcRelNests to decompose physical elements.
When attempting to use IfcRelNests for ordered decompositions, the resulting file fails validation with the rule SPS007 - Spatial Containment. This rule references the Concept Template for Spatial Containment, which states:
The subtypes of IfcElement may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, referring to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype. In this case it should not be additionally contained in the project spatial hierarchy, i.e. SELF\IfcElement.ContainedInStructure should be NIL.
The definition of the IfcRelNests relationship is:
The nesting relationship IfcRelNests is a special type of the general composition/decomposition (or whole/part) relationship IfcRelDecomposes. The nesting relationship can be applied to all non physical subtypes of object and object types, namely processes, controls (like cost items), and resources. It can also be applied to physical subtypes of object and object types, namely elements having ports. The nesting implies an order among the nested parts.
The nesting relationship IfcRelNests is a special type of the general composition/decomposition (or whole/part) relationship IfcRelDecomposes. The nesting relationship can be applied to all subtypes of object and object types. For example, processes, controls (like cost items), and resources. It can also be applied to alignment, nesting its different layouts; and to physical subtypes of object and object types, such as elements having ports. The nesting implies an order among the nested parts.
The change from "namely" (an exhaustive, restrictive list) to "such as" (an illustrative, non-exhaustive list) suggests a broader scope for IfcRelNests in IFC4X3, potentially including physical elements beyond those with ports.
Furthermore, the documentation for IfcRelDecomposes states:
The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts.
If the distinction is strictly regarding ordering, it implies that nesting should function similarly to aggregation regarding spatial containment, differing only in the ordering of parts. If not, this statement may be misleading, since it contradicts the Spatial Containment concept, which explicitly mentions only IfcRelAggregates for decomposition that implies spatial containment.
Considering the above, should IfcRelNests be considered a valid relationship for decomposing IfcElement subtypes in cases where an ordered decomposition is logically required?
Hello everyone,
When working with decompositions in IFC, there are some questions regarding the validity of using IfcRelNests to decompose physical elements.
When attempting to use IfcRelNests for ordered decompositions, the resulting file fails validation with the rule SPS007 - Spatial Containment. This rule references the Concept Template for Spatial Containment, which states:
The definition of the IfcRelNests relationship is:
The change from "namely" (an exhaustive, restrictive list) to "such as" (an illustrative, non-exhaustive list) suggests a broader scope for IfcRelNests in IFC4X3, potentially including physical elements beyond those with ports.
Furthermore, the documentation for IfcRelDecomposes states:
If the distinction is strictly regarding ordering, it implies that nesting should function similarly to aggregation regarding spatial containment, differing only in the ordering of parts. If not, this statement may be misleading, since it contradicts the Spatial Containment concept, which explicitly mentions only IfcRelAggregates for decomposition that implies spatial containment.
Considering the above, should IfcRelNests be considered a valid relationship for decomposing IfcElement subtypes in cases where an ordered decomposition is logically required?