[Updated: 14.10.2022 by Artur Tomczak]

IDS logo

The official IDS logo from buldingSMART

📋 Information Delivery Specification (IDS)

IDS is a standard from buildingSMART for defining BIM information requirements in a way easy to read for humans and interpret for computers.
With IDS you can specify what data must be included in the BIM model and validate if it is actually compliant.

IDS is based on the XML schema, ensuring that all the specification match the same structure and can be read by diffeent tools.

With IDS you can specify what Level of Information Needs (EN 17412-1:2020) calls 'alphanumeric information', meaning text and numbers.
This includes types, properties, attributes, materials, and classifications. You can't use IDS to require certain geometry.

Finally, IDS can help you ensure predictable and reliable data exchange workflows.

📚 If you want to learn more about differences between methods to specify information on digital construction projects
I recommend reading that paper that paper or the blog post with a summary: the blog post with a summary.

📋 contractual agreements + 🧮 validation mechanism = 💎 quality assurance

Read more about IDS standard at technical.buildingSMART.org and technical github page.

🌍 IDS online

To create your own IDS or look at examples simply navigate to Create IDS tab of that website.
There you can define your specifications with applicability filters and requirements that your BIM model must fulfill. Bare in mind that the website is just for demonstration and is not updated to the latest version and does not allow to take advantage of the full potential of the IDS.

👩‍💻 IDS.py (part of IfcOpenShell)

IDS.py is an open-source implementation of the IDS concept inside the IfcOpenShell toolkit.

Access the code at github/IfcOpenShell and have a look at the documentation and samples to help you start.
If you have some questions or comments join the disscussion at OSArch thread.
The project has been developed during the Google Summer of Code (GSoC) 2021.

🧮 Validation workflow


👓 What user sees

All elements of entity IfcWall
and of material Concrete
should have
a property Strength class
in propertyset Structural of value C30/37.

What computer sees 🔎

<ids ...> <specification name="Wall concrete class" necessity="required"> <applicability> <entity> <name ...>IfcWall</name> </entity> </applicability> <requirements> <property ...> <propertyset ...>Structural</propertyset> <name ...>Strength class</name> <value ...>C30/37</value> </property> </requirements> </specification> </ids>