# IFC and Open BIM
Industry Foundation Classes (IFC) is an open, international standard data schema for describing building and construction industry data. Developed by buildingSMART International, IFC enables interoperability between different BIM software platforms, allowing architects, engineers, and contractors to exchange model data without proprietary format lock-in. Open BIM workflows built on IFC are essential for multi-disciplinary collaboration.
---
## Table of Contents
- [IFC Data Schema](#ifc-data-schema)
- [buildingSMART Standards](#buildingsmart-standards)
- [IFC Entity Structure](#ifc-entity-structure)
- [Model View Definitions](#model-view-definitions)
- [IFC Versions](#ifc-versions)
- [Open BIM Workflows](#open-bim-workflows)
- [IFC Export and Import](#ifc-export-and-import)
- [Model Checking and Validation](#model-checking-and-validation)
- [Common Challenges](#common-challenges)
- [See Also](#see-also)
---
## IFC Data Schema
IFC is registered as ISO 16739 and defines a comprehensive data model covering:
| Domain | IFC Coverage |
|--------|-------------|
| **Architecture** | Walls, slabs, roofs, doors, windows, spaces, stairs |
| **Structural** | Beams, columns, foundations, reinforcement |
| **MEP** | Ducts, pipes, fittings, equipment, electrical |
| **Site** | Terrain, site elements, geographic context |
| **Cost** | Quantities, cost items |
| **Programme** | Tasks, schedules, work calendars |
| **Facility Management** | Asset data, maintenance, zones |
IFC uses STEP (ISO 10303) as its underlying file format, with the `.ifc` extension containing plain-text EXPRESS data.
---
## buildingSMART Standards
| Standard | Purpose |
|----------|---------|
| **IFC** | Data schema for building information |
| **IDM** | Information Delivery Manual — defines process and data requirements |
| **MVD** | Model View Definition — subset of IFC for specific exchange requirements |
| **bSDD** | buildingSMART Data Dictionary — classification and properties |
| **BCF** | BIM Collaboration Format — issue tracking and model coordination |
| **IDS** | Information Delivery Specification — machine-readable requirements |
### BCF (BIM Collaboration Format)
BCF enables issue-based communication between BIM tools:
- Viewpoint snapshots linked to model elements
- Comments and status tracking
- Platform-independent (works across Revit, ArchiCAD, Solibri, etc.)
- XML-based, lightweight
---
## IFC Entity Structure
IFC uses an object-oriented hierarchy:
| Level | Example | Description |
|-------|---------|-------------|
| **IfcRoot** | Base class | All IFC objects inherit from this |
| **IfcObjectDefinition** | IfcProduct, IfcTypeObject | Defines object types |
| **IfcProduct** | IfcWall, IfcSlab, IfcBeam | Physical building elements |
| **IfcSpatialElement** | IfcSite, IfcBuilding, IfcStorey, IfcSpace | Spatial hierarchy |
| **IfcRelationship** | IfcRelContainedInSpatialStructure | Defines connections between objects |
| **IfcPropertySet** | Pset_WallCommon | Groups of properties attached to elements |
### Spatial Hierarchy
```
IfcProject
└── IfcSite
└── IfcBuilding
└── IfcBuildingStorey
└── IfcSpace
```
Every physical element must be contained within this spatial structure for a valid IFC model.
---
## Model View Definitions
MVDs define which subset of IFC entities and properties are required for a specific exchange purpose:
| MVD | Purpose | Typical Use |
|-----|---------|-------------|
| **Coordination View 2.0** | Architectural/structural/MEP coordination | Clash detection, design review |
| **Reference View** | Lightweight reference model sharing | Background context for other disciplines |
| **Design Transfer View** | Full model handover between authoring tools | Software migration, design continuation |
| **Quantity Takeoff View** | Cost estimation data exchange | QS and cost consultant workflows |
| **FM Handover View** | Facility management data | Building operations and maintenance |
---
## IFC Versions
| Version | Year | Key Additions |
|---------|------|--------------|
| IFC 2x3 | 2006 | Most widely supported; de facto industry standard |
| IFC 4 | 2013 | Improved geometry, MEP, parametric elements |
| IFC 4.0.2.1 | 2017 | Addendum with corrections and extensions |
| IFC 4.3 | 2024 | Infrastructure (roads, bridges, rail, tunnels) |
Most current software supports IFC 2x3 and IFC 4; IFC 4.3 support is emerging.
---
## Open BIM Workflows
| Step | Action | Tool |
|------|--------|------|
| 1 | Author discipline model | Revit, ArchiCAD, Tekla, Allplan |
| 2 | Export IFC with correct MVD | Native export or IFC plugin |
| 3 | Upload to Common Data Environment | BIM 360, Trimble Connect, Aconex |
| 4 | Federate models | Solibri, Navisworks, BIMcollab |
| 5 | Run clash detection | Automated rule-based checking |
| 6 | Create BCF issues | Issue assigned to responsible party |
| 7 | Resolve and re-export | Updated IFC uploaded, cycle repeats |
### Software IFC Support
| Software | Export Quality | Import Quality | Notes |
|----------|--------------|---------------|-------|
| **ArchiCAD** | Excellent | Excellent | Native openBIM focus |
| **Revit** | Good (with configuration) | Good | Requires careful mapping setup |
| **Tekla** | Excellent | Good | Strong structural IFC |
| **Allplan** | Good | Good | Nemetschek group, strong IFC |
| **Vectorworks** | Good | Good | Improving with each version |
| **Solibri** | N/A (checker) | Excellent | Leading IFC model checker |
---
## IFC Export and Import
### Export Best Practices
| Practice | Reason |
|----------|--------|
| Map element classifications to IFC entities correctly | Ensures walls export as IfcWall, not IfcBuildingElementProxy |
| Assign property sets | Enables downstream data extraction |
| Set correct spatial containment | Required for valid IFC hierarchy |
| Use correct MVD for exchange purpose | Prevents data bloat or missing information |
| Export at appropriate LOD | Match [[BIM Fundamentals and LOD]] requirements |
| Test exports in IFC viewer before sharing | Catch mapping errors early |
### Common IFC Viewers
| Viewer | Platform | Cost |
|--------|----------|------|
| **BIM Vision** | Windows | Free |
| **Solibri Anywhere** | Web | Free |
| **xBIM Xplorer** | Windows | Free/open-source |
| **IfcOpenShell** | Python library | Free/open-source |
| **Trimble Connect** | Web/Desktop | Free tier available |
---
## Model Checking and Validation
| Check Type | Description | Tool |
|-----------|-------------|------|
| **Syntax Validation** | IFC file conforms to EXPRESS schema | IfcOpenShell, FZK Viewer |
| **MVD Compliance** | Model contains required entities/properties | Solibri, SimpleBIM |
| **Clash Detection** | Physical intersections between disciplines | Solibri, Navisworks |
| **Rule-Based Checking** | Compliance with building codes, employer requirements | Solibri, SMC |
| **Property Completeness** | Required property sets are populated | Solibri, BIMcollab |
---
## Common Challenges
| Challenge | Mitigation |
|-----------|-----------|
| Geometry loss on export | Use correct export settings; avoid complex Revit in-place families |
| Missing properties | Define property mapping tables before export |
| Incorrect classification | Use IFC entity mapping in authoring software |
| Large file sizes | Export relevant elements only; use Reference View for context |
| Round-tripping losses | IFC is an exchange format, not an authoring format |
| Coordination overhead | Establish clear BIM Execution Plan with IFC requirements per [[BIM Execution Planning]] |
---
## See Also
- [[BIM Fundamentals and LOD]]
- [[BIM Execution Planning]]
- [[BIM Collaboration and Standards]]
- [[4D and 5D BIM]]
- [[Digital Twin Technology]]
- [[Parametric Design Fundamentals]]
---
#ifc #openbim #buildingsmart #interoperability #bim #data-exchange #digital-practice