buildingSMART / buildingSMART/IFC4.x-development

Proposal to set a default LayerSetDirection on the object type level

Open
#70 3 comments 0 reactions 0 assignees View on GitHub
allocated allocated-building allocated-core ifc-update-out
Dominant language
Python
Stars
234
Forks
123
Avg merge
15h 4m
Merged PRs (30d)
5

Description

LayerSets are super, super useful and allow easy high level parametric editing of prismatic elements which is easily 99% of an architectural model. Currently LayerSetDirection is part of an IfcMaterialLayerSetUsage, which can only be assigned to occurrences.

However, this means that if I have a project library of types, like IfcWallType, or IfcSlabType, it is ambiguous as to when I create a new IfcWall from that IfcWallType, which LayerSetDirection should be applied by default.

There is some guidance, like the fact that the docs say that IfcWalls as per the standard case agreement should always be AXIS2 and IfcSlabs should be AXIS3. However, this guidance falls short on things like IfcCovering, where there is nothing documented, and things like insulation or cladding could equally well be AXIS2 or AXIS3.

I propose there to be some way to specify a "default" orientation on the type level. Perhaps by simply moving the LayerSetDirection to the IfcMaterialLayerSet instead of the IfcMaterialLayerSetUsage?

The benefit would be that when you create a new layered instance from a type, the extrusion occurs in the direction you expect it to occur.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.