Resource search

Search DataDrivenAEC

Open the full search page →

Technical

IFC classification systems: which to use, how to map Uniclass, OmniClass, and eBKP-H in Revit (2026)

··3 min read
openbimifcclassificationuniclassomniclassebkphbsddrevitinteroperability

Uniclass 2015 (12 tables, UK), OmniClass (15 tables, North America), eBKP-H (SN 506 511, Switzerland). IFC carries classification through IfcClassification, IfcClassificationReference, and IfcRelAssociatesClassification.

A classification code on each model element tells downstream tools what the element is for, not just what it looks like. Three systems dominate by region: Uniclass 2015 in the UK, OmniClass in North America, and eBKP-H in Switzerland. IFC carries classification through three schema entities: IfcClassification, IfcClassificationReference, and IfcRelAssociatesClassification.

Key numbers at a glance

ReferenceValue
Uniclass 2015 tables12 (Co, En, Ac, SL, EF, Ss, Pr, TE, PM, FI, Ro, Zz)
OmniClass tables15
MasterFormat 2018 divisions50
eBKP-H standardSN 506 511 (CRB, Switzerland)
IFC classification schema entities3 (IfcClassification, IfcClassificationReference, IfcRelAssociatesClassification)
DIN 276 (2018-12) cost groupsKG 100 to 800

Why do classification systems exist in BIM?

A classification system is a standardized code attached to model elements so that software can identify what an element is beyond geometry and name. ISO 12006-2 gives the framework for classification tables. A wall named “Wall_Concrete_300” in Revit means nothing to a cost database, an FM system, or an LCA tool. The same wall carrying a Uniclass code such as EF_25_10 (Walls, in the Elements/functions table) can be matched by any receiving application that reads that system.

Classification supports several downstream processes. Cost estimation can query elements by code rather than by name. Asset management can carry element identity into facility-management data. LCA tools can match classified elements to environmental databases with less manual mapping. IDS rules can check that elements carry a classification. Without codes on elements, each downstream application re-classifies the model itself.

AEC market trends, new project opportunities, and AI insights

What are the major classification systems by region?

SystemRegionMaintainerStructure
Uniclass 2015UK + internationalNBS12 tables
OmniClassUS / North AmericaCSI15 tables
MasterFormat 2018USCSI50 divisions (00–49)
eBKP-HSwitzerlandCRB (SN 506 511)Cost classification of building elements
DIN 276GermanyDINCost groups KG 100 to 800 (2018-12)
CCSDenmarkMolioBuilding classification
CoClassSwedenSvensk ByggtjänstHierarchical, Nordic
bSDDInternationalbuildingSMARTDictionary hosting classifications and links between them

Uniclass 2015 has twelve tables: Complexes (Co), Entities (En), Activities (Ac), Spaces/locations (SL), Elements/functions (EF), Systems (Ss), Products (Pr), Tools and equipment (TE), Project management (PM), Form of information (FI), Roles (Ro), and CAD (Zz). OmniClass is maintained by the Construction Specifications Institute and has 15 tables. eBKP-H, governed by CRB under SN 506 511, classifies Swiss building elements for cost planning. DIN 276 covers German cost planning. The buildingSMART Data Dictionary (bSDD) hosts classifications and relations between them; check the bSDD site for which systems are available. Which system a project must use is set by its contract and EIR, not by this guide.

How does IFC carry classification in the schema?

IFC classification rests on three entities in the IFC schema (ISO 16739). IfcClassification records the system, its source, edition and name. IfcClassificationReference carries a specific code applied to something, with a reference back to its classification. IfcRelAssociatesClassification binds the reference to one or more model elements.

A wall in an IFC file carries two kinds of identity. IfcWall is the intrinsic IFC type. The classification reference is the external taxonomy answer: for example a Uniclass elements code, or a cost group. IfcWall alone does not distinguish an exterior masonry wall from an interior partition; the classification reference can. One element can have more than one classification association, for example Uniclass for element type and DIN 276 for cost group.

How do you add Uniclass, OmniClass, or eBKP-H to a Revit model?

Revit has built-in OmniClass Number and OmniClass Title type parameters. For Uniclass 2015 and eBKP-H, the usual approach is to add shared parameters for code and description to the family types and map them in the IFC export set-up so the exporter writes the classification into the IFC file. Revit also has IFC export options for classification; check the documentation for your Revit and exporter version, since the options change between releases.

Validate classification before issuing the model. With IfcOpenShell, test for an IfcRelAssociatesClassification association; HasAssociations also holds material and other associations, so filter by relationship type, and also read the associations on the element’s type, where classification is often attached:

import ifcopenshell
import ifcopenshell.util.element
model = ifcopenshell.open('project.ifc')
walls = model.by_type('IfcWall')
unclassified = [
    w for w in walls
    if not any(r.is_a('IfcRelAssociatesClassification') for r in w.HasAssociations)
    and not any(
        r.is_a('IfcRelAssociatesClassification')
        for t in (ifcopenshell.util.element.get_type(w),) if t
        for r in t.HasAssociations
    )
]
print(f"{len(unclassified)} walls without classification")

Model checkers such as Solibri can also test for classification references. Record the system edition in the IfcClassification Edition field, since code lists change between releases.

How does classification connect to LCA, COBie, and IDS validation?

Classification is the link between the model and downstream processes. An LCA tool that reads classification can map classified elements to its database entries without asking the user to select a type for each family. In a COBie or other FM handover, classified elements carry their identity into the FM system. In IDS validation, a rule can require that every IfcWall carry a classification reference, so a missing code is found by running the check rather than in a post-handover audit.

What are the most common classification mistakes on BIM projects?

Five errors recur.

1. Classification system not specified in the BEP. Each discipline chooses independently and the federated model arrives with several systems.

2. Classification kept in a spreadsheet only. Codes need to be on the model elements to support IDS checks, LCA mapping and handover.

3. Shared-parameter codes not mapped on export. If the codes are not mapped in the IFC export set-up, the IFC file can look valid and still carry no classification references. Check a pilot export.

4. Using IfcWall as the classification. The IFC type is too coarse for cost planning.

5. Mixing systems without a mapping. Use one primary system and add others as overlays; bSDD can hold relations between systems.

Frequently asked questions

What is the difference between IfcClassification and IfcClassificationReference?

IfcClassification records the classification system (source, edition, name). IfcClassificationReference carries a specific code from that system and points back to its classification. IfcRelAssociatesClassification binds the reference to elements. A complete assignment normally uses all three.

Which classification system should a project use: Uniclass, OmniClass, or eBKP-H?

The choice follows the project’s location and contract. Uniclass 2015 is widely used in the UK, OmniClass in North America, and eBKP-H in Switzerland, and DIN 276 applies to German cost planning. Name the chosen system in the BIM Execution Plan before modelling begins.

How do I check whether an IFC file contains classification references?

Use IfcOpenShell to look for IfcRelAssociatesClassification among each element’s associations, as in the code above, or use a model checker such as Solibri. Run it on a pilot export before issuing the full model.

Can one element carry more than one classification reference?

Yes. IFC allows an element to have several classification associations, for example one for element type and one for cost group.

Does bSDD replace Uniclass or OmniClass?

No. bSDD is a dictionary that hosts classifications and the relations between them, not a replacement classification system. A project can use one system as primary and reference others through bSDD.

Published by DataDrivenAEC. Evidence basis: technical assurance. This legacy article has not completed the source-and-edition review used for newer technical guides; verify important claims against their named sources.