The semantics of IfcRelNests as opposed to IfcRelAggregates was obviously changed in IFC4. While in IFC2x3 the difference was whether the parts and the whole of a composition are of the same or different type, in IFC4 the difference is whether the parts have an inherent order or not. I don't want to debate if a fundamental change of semantics without changing the name of an entity type is appropriate. I just want to point out that the specification lags a bit behind that change: the supertype IfcRelDecomposes still mentions that "Decompositions may be constrained by requiring both, the whole and its parts, to be of the same type - thus establishing a nesting relationship." This will cause confusion.
The semantics of
IfcRelNests
as opposed toIfcRelAggregates
was obviously changed in IFC4. While in IFC2x3 the difference was whether the parts and the whole of a composition are of the same or different type, in IFC4 the difference is whether the parts have an inherent order or not. I don't want to debate if a fundamental change of semantics without changing the name of an entity type is appropriate. I just want to point out that the specification lags a bit behind that change: the supertypeIfcRelDecomposes
still mentions that "Decompositions may be constrained by requiring both, the whole and its parts, to be of the same type - thus establishing a nesting relationship." This will cause confusion.This was initally reported in the buildingSMART forums.