A classification is not just another property, although many just see it that way. That is a pity and the source of many problems when evaluating a model.
Classifications are everywhere, and they can make your life easier. You may be aware of MasterFormat, Omniclass, DIN276 or other standards to organize your model.
In brief, a classification system is just a hierarchically structured text; many headings and subheadings, so to say. It is defined externally, e.g. in national or company standards, so you don’t need to write the whole classification text into your elements’ properties.
So, how does this work in IFC? A classification is a somewhat fixed document, so it doesn’t have a life-cycle. So, no GlobalId is needed. As a whole, it is simply defined by a name; everything else (URI, edition date, etc.) is optional.
Many objects then can relate to a classification reference where you specify which hierarchical item of the classification system you want to address.
Every object definition or property definition can be classified.
For object that means types, occurrences and contexts (=basically your project file or library). Not only elements, but also processes (work breakdown structure anyone?) or cost items (specifications, estimations!) are allowed.
For property definitions, and this might be tricky, you can classify property sets or property templates (not properties directly). I will elaborate on templates in a future post.
With external classification system you can structure your data much better across different projects. I guess that’s something you would really like, don’t you?