buildingSMART / buildingSMART/IFC4.x-development

PredefinedType optionality in case of non-existant type objects

Open
#658 9 comments 0 reactions 0 assignees View on GitHub
before-NWI IF legacy
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

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.