buildingSMART / buildingSMART/bSDD

Cannot specify predefined type in IFC

Open
#129 6 comments 0 reactions 0 assignees View on GitHub
enhancement todo
Dominant language
Python
Stars
193
Forks
45
PR merge metrics
No merged PRs in 30d

Description

IFC classifications (classes) are a bit special :)

In most classification systems, they have N levels in their hierarchy, and these are set in stone. You cannot make up your own classification code.

In IFC, however, there are 2 levels. The first level is set in stone (and varies per IFC version). The second level (predefined type) has some set in stone, but you can also set it to a userdefined value.

This is great, because you can "extend" IFC quite easily when a predefined type doesn't exist. It's not so great, because there is no way to currently publish your userdefined types. bSDD cannot do this :(

This becomes quite a big issue because many psets in IFC are applicable only to specific predefined types. This cannot currently be captured in bSDD, so we end up with a bunch of irrelevant properties showing up.

I totally get how the problem with predefined type is that it's sort of a weird attribute thing (not property) with userdefined, which is different to most other classification systems.

So I guess either:

1. Adapt bSDD to specify attributes, perhaps on the "Class" object as well as Class-Property relationships.
2. Explain in docs what the alternative is. But I can't really imagine how to do this well because predefined types is critical to how buildingSMART psets work. Literally every single authoring tool has both class and predefined type baked in as a dedicated interface.

Note that this is not just classes, IFC also has material categories, which define how properties are applicable too.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.