What is IFC?

Introduction

Industry Foundation Classes (IFC) is an international standard for Building Information Model (BIM) data (buildingSMART, 2020a). The standard, ISO 16739-1, is used to exchanged BIM data among software applications used by the various participants in the AEC industry (ISO, 2020a).

IFC is developed and mainteined by buildingSMART International and is used with openBIM (buildingSMART, 2020b). According to (ISO, 2020a), the IFC specifies:

  1. A data schema

  2. An exchange file format structure

1. Data Schema

The data schema is defined in:

2. Exchange File Format Structure

The exchange file formats structure is used for exchanging and sharing the data according to the data schema. The exchange file formats structure is defined in:

In more detail

Let's try to explain IFC in layman's terms.

1. Data Schema

According to (buildingSMART, 2020b), the IFC data schema describes:

  • identities and semantics

    • name, machine-readable unique identifier, object type or function

  • characteristics or attributes

    • material, color, thermal properties, etc.

  • relationships

    • locations, connections, ownership, etc.

  • abstract concepts

    • performance, costing, etc.

  • processes

    • installation, operations, etc.

  • people

    • owners, designers, contractors, suppliers, etc.

  • Etc.

2. Exchange File Format Structure

Whereas the Exchange File Format Structure allows the data described to be transferred from one computer system to another.

Example: The .IFC file can be used to transfer the BIM model from Revit to Solibri

Example

In this example we're going to take a look at a window. Please note that this section will simply introduce the data schema and STEP-file. We will explain how these works in detail later.

1. Data Schema

IFC2x Edition 3 Technical Corrigendum 1, or simply IFC2x3, describes a window like this:

ENTITY IfcWindow
	SUBTYPE OF (IfcBuildingElement);
		OverallHeight : OPTIONAL IfcPositiveLengthMeasure;
		OverallWidth : OPTIONAL IfcPositiveLengthMeasure;
END_ENTITY;

To clarify: This is the data schema for a window class. The window is defined using the EXPRESS data specification language (ISO 10303-11).

This is an abstract representation of a window object. I.e. this window doesn't exist in our building.

2. Exchange File Format Structure

The STEP-file, ISO 10303-21, describes the window object like this:

#13067= IFCWINDOW('2cXV28XOjE6f6irgi0CO$D',#42,'M_Fixed:0915 x 1830mm:353953',$,'M_Fixed:0915 x 1830mm',#35337,#13061,'353953',1830.,914.999999999999);

This is an representation of a physical window. I.e. this window exist somewhere in our building.

Summary

IFC is an international standard by buildingSMART International. It has two parts;

  1. A data schema, EXPRESS

  2. A file format, STEP-File

ENTITY IfcWindow
	SUBTYPE OF (IfcBuildingElement);
		OverallHeight : OPTIONAL IfcPositiveLengthMeasure;
		OverallWidth : OPTIONAL IfcPositiveLengthMeasure;
END_ENTITY;

Use the tab above to switch between the EXPRESS data schema and the STEP-file

In summary:

  • The data schema, EXPRESS, specifies: How an object should be represented

  • The file format, STEP-file, specifies: An actual object

Notice that we need both the data schema and the file format to understand our BIM model.

In other words:

  • The data schema is the manual

  • The file format is the usage of the manual

In object oriented programming words:

  • The data schema, EXPRESS, is the class

  • The file format, STEP-file, is the object

Editor's note:

I know that this can hard to understand. Please, take a good look at this article. Read it agian, think and reflect about the content.

Last updated