buildingSMART / buildingSMART/IFC4.x-development
PredefinedType optionality in case of non-existant type objects
- Dominant language
- Python
- Stars
- 234
- Forks
- 123
- Avg merge
- 15h 4m
- Merged PRs (30d)
- 5
Description
What are the exact rules for predefined type optionality? I initially only had the following rules:
A. Occurrence: optional PredefinedType
B. TypeObject: non-optional PredefinedType
But in conversations with @SergejMuhic and @pjanck they pointed me to another situation:
C. Occurrence without a corresponding TypeObject: non-optional PredefinedType
(which we currently don't follow in this repo)
Hence, example of where 4.4 tunnel repo and bsi 4.3 repo disagree: IfcMarineFacility
(On a side note PredefinedType attribute existance is also not consistent, e.g we have PredefinedType on IfcBridge but not on IfcBuilding. But on e.g IfcKerb we specifically added PredefinedType attribute even if it can only select userdefined and notdefined.)
I personally don't find much value in rule C. One can select NOTDEFINED anyway. So I'd rather choose for the simpler situation of just A. and B., but if there's any action needed we should do so now. Changing from optional to non-optional is a breaking change.
Contributor guide
Assessment
This issue has not been assessed yet.