IFC in company

10 Steps to Create an In‑House IFC Standard

Implementing consistent modeling rules in the open IFC format is one of the best investments a project team can make. The following article elaborates on ten key issues that are worth paying attention to when creating an internal standard.

Each of these should be considered to ensure a robust company IFC guideline.

1. Units of Measurement

A uniform system of units is the simplest way to eliminate errors that at the coordination stage are… invisible. Adopt the rule of “SI everywhere.” If a tool operates in millimeters by default, either enforce export in meters or clearly describe in the procedure how to fill out IfcUnitAssignment:

  • IfcSIUnit (Length, METRE, 1.0) – base unit.

  • Additionally, IfcConversionBasedUnit for millimeters (ConversionFactor = 0.001).

In the standard, describe:

  1. Who is responsible for this (e.g. BIM Manager).

  2. How to verify units in a QA/QC tool (e.g. a rule in Solibri / IDS).

  3. How to report incorrect elements – provide a list with their ID, type, and proposed fix.

As a result, even when a model passes between Revit, Archicad, and Tekla, you will obtain consistent mass and area schedules and avoid the infamous “304.8 mm shifts.”

2. Coordinate Reference System (CRS) – Consistent Linking of BIM and GIS

Assigning a correct Coordinate Reference System (CRS) to the model is a bridge between the construction industry and land surveying. The procedure should guide the user step by step:

  1. Selecting an EPSG code: provide a specific code (e.g. EPSG:2177 for PL‑2000 zone 7).

  2. Establishing a base point: a physical marker or geodetic control point with known coordinates and elevation.

  3. Filling in IfcProjectedCRS in the main (coordination) model.

  4. Creating the IfcMapConversion record: specify the X/Y/Z offset vector and scale (always 1.0).

Add a control table:

StepToolControl filePass criterion
ACivil 3DDWG with a 1 km gridError ± 5 mm
BBIM softwareIFC “zero-point” modelOffset = 0

Such a scheme minimizes the risk that the model will “jump” by a few hundred meters upon import into another software, or that a laser scan will not align with the architect’s model.

3. Spatial Breakdown Structure – The Backbone of Spatial Data

In IFC, every geometry must belong to a spatial hierarchy. Without proper structure, a skyscraper and an underground garage could end up in the same IfcBuildingStorey, rendering an area report useless.

For a multi-storey building:

  • IfcProject – the contract scope.

  • IfcSite – the plot with cadastral data.

  • IfcBuilding – use separate instances for each part (e.g. office tower + warehouse hall).

  • IfcBuildingStorey – floor, with Elevation set to the ±0.00 reference level.

  • IfcSpace – room, with the Usage attribute.

For a road:

  • IfcProject – the contract scope.

  • IfcSite – the site where the project is located.

  • IfcRoad – Class A road.

  • IfcRoadPart with PredefinedType = ROADSEGMENT – kilometer-long segments.

The standard’s documentation should include: a diagram of the structure, example naming conventions (e.g. “P5-BIURO-POM_023”), and ID keys that link the model to the schedule or cost estimate (Work Breakdown Structure).

4. IFC Classes – Speaking a Common Language

An incorrect element class later means a wrong filter, an inaccurate materials report, and time lost on manual corrections. Therefore, the standard should provide a mapping matrix, for example:

Element in the modelIFC ClassPredefinedTypeAllowed exceptions
Reinforced concrete wallIfcWallSOLIDWALLnone
Composite slabIfcSlabFLOORIfcCovering (if it represents insulation)
Sanitary pipeline runIfcDistributionFlowSegmentSANITARYnone

Recommendations:

  • Proxy classes? Use only as a last resort. If you must use an IfcBuildingElementProxy, add the phrase “TO_BE_CLASSIFIED” in its Name to flag it.

  • Automate checks: Implement a rule like “Element is Proxy? – Report it” to catch undesired proxies.

  • For complex elements (e.g. a modular façade), consider using IfcCurtainWall and breaking it down into Panel, Mullion, Transom components.

5. Attributes – The Passports of Objects

The minimum attribute set is Name, PredefinedType, Tag (unique ID), and optionally Description (a natural language description). To allow the team to easily find objects, enforce a simple naming convention, for example:

<FloorCode>_<ElementName>_<MaterialVariant>_<Index>
F03_WALL_RC25_001

Procedure:

  1. Use an ID generator in Excel or via a Dynamo/Grasshopper script.

  2. Block the export if Name is empty.

  3. Report “orphaned” elements (IfcElement without a Tag).

A standardized Tag is often key when linking the model with external systems like BDO, ERP or CMMS in the operational phase.

6. Property Sets (Pset) and Quantities (Qto) – No Chaos in Names

Creating custom property sets can be tempting, but first check whether buildingSMART already provides one that fits your needs. In IFC4 there are over 900 predefined sets. If you do create a company-specific set, give it a unique prefix, e.g. Company_FireRating. (Remember not to include the “Pset” prefix in the name.)

Stages of creating Pset/Qto:

  1. Compile an inventory of information requirements (AIR – Asset Information Requirements).

  2. Map these requirements to existing Psets/Qtos.

  3. Define new sets if needed (specify name, description, data type, unit, and whether it’s required).

  4. Implement the sets in export templates.

Example Qto: Qto_WallBaseQuantities.GrossArea – this is generated automatically, but it requires the wall element to have the correct category in the BIM authoring tool to appear properly.

7. Data Types – Consistency Is the Foundation of Calculations

Budgeting, energy analysis, material orders – all rely on the fact that “25” truly means 25 mm, not 25 inches or the text “twenty five.”

Checklist:

  • Lengths: IfcLengthMeasure (meters)

  • Areas: IfcAreaMeasure (m²)

  • Volumes: IfcVolumeMeasure (m³)

  • Percentages: IfcRatioMeasure

  • Yes/No flags: IfcBoolean

Attach a unit conversion table to the standard (for example, MPa → N/mm²) and provide guidance on how to configure units in popular tools (Revit, Archicad, Tekla, DDS-CAD).

8. Materials – Layers, Codes, Physical Properties

A model without materials is an empty shell. The architect will specify the color, the structural engineer the concrete grade, the technologist the type of epoxy resin. IFC allows nesting of layers and their properties via IfcMaterialProperties.

Good practices:

  1. Standard codes: e.g. concrete “C30/37-F1”, steel “S355J2+N”, insulation wool “MW-100-035”.

  2. Layer structure: use IfcMaterialLayerSet including thickness, thermal conductivity λ, and density ρ for layered elements.

  3. Bill of materials: generate a material list from the IFC (e.g. export to CSV) and use it for LCA (Life Cycle Assessment).

The standard’s documentation should specify: who is responsible for cataloging materials, where their reference properties are stored (e.g. in an EDB database), and how to update them when norms and standards change.

9. Classifications (bsDD and Others) – Global Interoperability

Classification is a bridge to data outside the model: cost estimation (CPV), scheduling (Uniclass), public tenders (PKWiU). At the IFC level, use IfcClassification together with IfcClassificationReference.

Scenario:

  • IfcClassification.Name = "XXX"

  • Identification = "XXX"

  • Location = "https://…"

If the national system differs from the buildingSMART Data Dictionary (bsDD), introduce multiple entries – a model can carry two or three parallel classifications. The standard should also indicate how to update classification codes when buildingSMART publishes a new version of the dictionary.

10. Grouping: IfcSystem and IfcGroup – Order in Functions and Prefabrication

Without logical groupings, the model becomes a mishmash of objects.

  • IfcSystem – groups by common function (e.g. an HVAC system VAV-05, a compressed air network).

  • IfcGroup – groups by a set of elements, such as a package of prefabricated components (10 balconies of type BLK-SERIA-A), an assembly batch, or a work phase.

The company procedure should:

  1. Define naming conventions for systems and groups (e.g. HVAC_VAV05, BALCONY_BLK-A_PHASE3).

  2. Describe when to create systems (for example, if a system has more than 50 objects or when there is a change of contractor).

  3. Specify export criteria: whether all groups go into the coordination model, or only those above a certain cost threshold.

Properly utilized systems simplify the installation stage and facility management, allowing an entire ventilation network to be assigned to a single service order.

Summary

Expanding on these ten key areas shows how many details make up the “simple” notion of an IFC standard. The more precisely you develop and document the above rules, the fewer surprises your team will encounter during coordination, construction, and later maintenance of the asset. A standard is a living document – update it regularly, test it in pilot projects, and learn from mistakes to improve it. In this way, IFC will become not just a file exchange format, but the foundation of reliable information flow throughout the entire lifecycle of the project.

Did you like that post ? Share it with others !

We spend a lot of time and effort creating all of our articles and guides. It would be great if you could take a moment to share this post !

Share:

Comments:

Subscribe
Notify of
guest
0 Comments
Oldest
Newest
Inline Feedbacks
View all comments

Author:

Download BIM CASE STUDIES:

After reading this guide you will learn:

  • How BIM is used on the biggest projects in Norway
  • What were the challenges for the design team and how were they solved
  • What were the challenges on the construction site and what was our approach to them

Newest articles: