List the distinct classification system names present in a model —
CHEAP and EXACT when source bytes are available.
Unlike extractClassificationsOnDemand (which resolves classifications for
ONE entity by walking its reference chain, and is only reachable through
elements that already have a classification association), this walks the
IfcClassification entities directly via the byType index. A model
typically has only a handful of IfcClassification entities (one per
system), regardless of how many elements are classified, so this is an
O(few) map lookup + loop — not a per-entity or per-element scan.
A model can carry SEVERAL systems at once (e.g. Uniclass, OmniClass, and
a national system) — this returns all of them, sorted alphabetically.
List the distinct classification system names present in a model — CHEAP and EXACT when source bytes are available.
Unlike extractClassificationsOnDemand (which resolves classifications for ONE entity by walking its reference chain, and is only reachable through elements that already have a classification association), this walks the IfcClassification entities directly via the byType index. A model typically has only a handful of IfcClassification entities (one per system), regardless of how many elements are classified, so this is an O(few) map lookup + loop — not a per-entity or per-element scan.
A model can carry SEVERAL systems at once (e.g. Uniclass, OmniClass, and a national system) — this returns all of them, sorted alphabetically.