IFC Checker

What is IDS?

IDS, the Information Delivery Specification, is a buildingSMART standard for writing down, in a file a computer can read, what information an IFC model must carry. The person who needs the information writes the requirements once, and IFC Checker tests any model against them. IFC Checker reads and writes IDS 1.0.

What an IDS file holds

An IDS file ends in .ids and is written in XML. It holds one or more specifications. Each specification says which elements it is about and what those elements must have.

  • Applicability: which elements the specification applies to, for example every element of the IFC class IfcWall.
  • Requirements: what those elements must have, for example a property FireRating in the property set Pset_WallCommon, with a value.

Both are built from the same parts (called facets in the standard): an IFC class, an attribute, a property, a classification, a material, or the place of an element in the model's structure. A requirement can be required, optional or prohibited, and a value can be one exact value, one of a list, a pattern, a range or a length. Each specification also names the IFC versions it applies to.

In the IDS editor, a specification is written as rows, and you do not need to know the XML (How do I write an IDS?).

Who writes it

The party that needs the information writes it: a client or owner, an information manager or a BIM coordinator. It goes into the project's information requirements, with the tender or the contract. Design teams and contractors check their models against the same file before they hand over.

What a checker does with it

A checker reads the IFC model and the IDS file. For each element that a specification applies to, it tests the requirements and reports which are met. It checks the information in the model, not its geometry. Elements that no specification applies to stay untested: in IFC Checker such an element is Untested, never Pass (status words).

buildingSMART publishes test cases for IDS. IFC Checker's engine gives the specified result on all 334 of them, checked on every change.

Try it in IFC Checker

  1. Open IDS editor and start from a predefined test. It is an IDS, shown as rows: which elements, which property, which value.
  2. To check a model against an IDS you were given, drop the .ids file on Check with the model (how).

Where the standard is kept

IDS 1.0 was approved as a buildingSMART final standard in June 2024. The standard, its schema and its documentation are on buildingSMART's pages and in its GitHub repository:

IFC Checker is not made by buildingSMART and its checks are not a buildingSMART approval. It reports what was tested and what passed.