buildingSMART / buildingSMART/IFC4.x-development
Is there a constraint for material layer set reuse on occurrences of a type?
- Dominant language
- Python
- Stars
- 234
- Forks
- 123
- Avg merge
- 15h 4m
- Merged PRs (30d)
- 5
Description
https://forums.buildingsmart.org/t/is-there-a-constraint-for-material-layer-set-reuse-on-occurrences-of-a-type/3666
The docs have this to say on the matter:
> The IfcMaterialLayerSetUsage is always assigned to an individual occurrence object (and only to relevant subtypes of [IfcElement](http://localhost:8001/schema/ifcproductextension/lexical/ifcelement.htm)). The [IfcMaterialLayerSet](http://localhost:8001/schema/ifcmaterialresource/lexical/ifcmateriallayerset.htm), referenced by *ForLayerSet* , **can however be shared** among several occurrence objects. If the element type is available (in other words, an instance of the relevant subtype of [IfcElementType](http://localhost:8001/schema/ifcproductextension/lexical/ifcelementtype.htm) exists), then the [IfcMaterialLayerSet](http://localhost:8001/schema/ifcmaterialresource/lexical/ifcmateriallayerset.htm) **can** be assigned to the element type. The assignment between a subtype of [IfcElement](http://localhost:8001/schema/ifcproductextension/lexical/ifcelement.htm) and the IfcMaterialLayerSetUsage is handled by [IfcRelAssociatesMaterial](http://localhost:8001/schema/ifcproductextension/lexical/ifcrelassociatesmaterial.htm).
In simpler terms, if a wall "X" is typed by wall type "Y", and wall type "Y" has a material layer set "ABC" (a usage is not allowed on a type), then the `ForLayerSet` of wall "X" **may** (i.e. can) reuse the material layer set "ABC".
Similar to https://forums.buildingsmart.org/t/must-mappedrepresentations-come-from-the-corresponding-ifc-type/3361 - this probably requires clarification, as material layer sets are a form of implicit geometry.
My proposal is that the word **may** be changed to **must**.
Therefore, if a type has a material layer set, any occurrences of that type which have a material layer set **must** reuse the layer set.
Similar argument for profile set usages.
Thoughts?
Contributor guide
Assessment
This issue has not been assessed yet.