Skip to content

Cannot specify predefined type in IFC #129

@Moult

Description

@Moult

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions