Information Delivery Specification
In the past two years, a new standard has been developed under the buildingSMART umbrella for defining model requirements in a machine readable format.
Over the past two years, industry body buildingSMART has developed a new standard for defining model requirements in a machine-readable format. Currently the project is at version 0.9 and close to its first (1.0) release, so I decided to write a blog post about it.
The idea of IDS is to create a simple enough standard that can be implemented widely. This means that requirements can be tested early, maybe even in your authoring tool. Furthermore, because IDS is very precise, as soon as you have validated your model with a specific IDS, you can be assured that all the downstream processes have the required information.
Some of the use cases that we see for IDS:
There are many different requirements documents from governments that, although useful, are often ambiguous in how you should deliver the information. We see that governments are creating IDS specifications so applicants of building permit checks can validate their models in their authoring tools or CDE.
Similar to the above situation, contractors could require subcontractors or suppliers to deliver IFC models according to specific IDS specifications.
Do you already know what information will be required for quantity takeoff? Specify an IDS and you can always be sure that at least the information is going to be there.
An IDS can be serialized as an XML file and can consist of multiple specifications. Each Specification is checked in 2 stages:
A selection is made from all the entities in the IFC file. Usually, entities are selected based on their type, but you can also select on properties or classifications, for example.
All the entities established in the applicability phase are checked against the requirements of the Specification.
The requirements can be composed of the following facets:
Using this example we’ll test a simple requirement; All IfcOpeningElement entities must have the "Name" attribute set.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ids:ids xmlns:ids="http://standards.buildingsmart.org/IDS" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://standards.buildingsmart.org/IDS ids_09.xsd">
<ids:info>
<ids:title>Example on use of attributes (for student research)</ids:title>
<ids:copyright>buildingSMART International Ltd</ids:copyright>
<ids:date>2022-01-12</ids:date>
</ids:info>
<ids:specifications>
<ids:specification ifcVersion="IFC2X3" name="Aachen test" minOccurs="1">
<ids:applicability>
<ids:entity>
<ids:name>
<ids:simpleValue>IFCOPENINGELEMENT</ids:simpleValue>
</ids:name>
</ids:entity>
</ids:applicability>
<ids:requirements>
<ids:attribute minOccurs="1">
<ids:name>
<ids:simpleValue>Name</ids:simpleValue>
</ids:name>
</ids:attribute>
</ids:requirements>
</ids:specification>
</ids:specifications>
</ids:ids>
I have been actively involved as a member of the IDS development group from the beginning. In BIM.works, IDS is implemented as an alternative way of doing model checks. You can copy-and-paste IDS specifications or write your own and store them in BIM.works, and they will automatically be validated for you.
Checks can be executed using the API, and the results can be retrieved as JSON or BCF. You can also use the BIM.works UI to run checks. Below is a screenshot of a partial result of an IDS check for wooden door frames.
Did you like this blog post? Please subscribe to get an email when a new post is published.