Compose an occurrence's own quantity sets (IfcElementQuantity) with those
it inherits from its IfcTypeProduct, applying the same per-item rule
mergeInheritedPropertySets applies to property sets: a same-named
set does not replace or get replaced wholesale, it is topped up quantity by
quantity, and the occurrence wins a same-named-quantity collision.
IFC does not distinguish properties from quantities for this purpose —
both live in the type's HasPropertySets list alongside each other — so a
consumer that resolves inherited properties this way but resolves
quantities by only ever looking at the occurrence's own sets silently
drops every quantity a type-level Qto_* set carries (e.g.
Qto_WallBaseQuantities attached to IfcWallType rather than each wall).
Compose an occurrence's own quantity sets (
IfcElementQuantity) with those it inherits from itsIfcTypeProduct, applying the same per-item rule mergeInheritedPropertySets applies to property sets: a same-named set does not replace or get replaced wholesale, it is topped up quantity by quantity, and the occurrence wins a same-named-quantity collision.IFC does not distinguish properties from quantities for this purpose — both live in the type's
HasPropertySetslist alongside each other — so a consumer that resolves inherited properties this way but resolves quantities by only ever looking at the occurrence's own sets silently drops every quantity a type-levelQto_*set carries (e.g.Qto_WallBaseQuantitiesattached toIfcWallTyperather than each wall).