How to read a .ifc file

I've always found that opening and reading an IFC file (in a text editor) gives a very good understanding of the IFC data schema and BIM in general. So what does this file contain? And how to make sense of the entries in an ifc file (STEP FILE)?
A .ifc file is a STEP-file which has mainly 2 sections: a HEADER section and a DATA section. While the HEADER section provides information about the structure and the schema of the file, its the DATA section where all the magic happens! This is where the actual model data is stored including information on entities, attributes, geometry and relationships.
Every entity instance in the data section has a unique ID (begins with #) and this is assigned to an entity data type (IFCWALL in this case), followed by its attributes in a defined order within parentheses. These attributes are the Direct attributes of the entity data type and can be referred from the IFC documentation.
In the IFC documentation, the numbered attributes form the direct attributes mentioned in the parentheses and in that order. The unnumbered attributes in italics are its inverse attributes.

View on

Representation Types in Ifc

In IFC schema, products can have multiple RepresentationTypes for shape representation!This means you can model different levels of detail and precision, giving you flexibility in your design. And that's not all! This feature also unlocks various analytical capabilities and use cases.Here are some illustrations of various RepresentationTypes that can be applied IfcWindowType!

View on

Profiles in Ifc

Profiles and extrusions are common in our industry and while modelling these, we come across many variants, be it for Structural steel sections, Slabs, Railings, MEP or Architectural elements. Ifc lets you create various profile extrusion (with or without holes) based on standard profiles or arbitrary ones. You can then apply various transformations on these profiles like translation, rotation, mirror and scaling and even combine them to create complex profiles assemblies. Such complex composite profiles still hold all the information and properties of its underlying parent profile. Furthermore, we can even automate creation of these sections enabling faster and error free authoring of BIM models

View on

Why should we care about Ifc and OpenBIM

IFC is seen by most as just a file format that is used to exchange (export/import) models between BIM software.
In BIM, be it proprietary BIM softwares like ArchiCAD, Revit or openBIM IFC, they all have their own data schema with underlying database which defines and stores different data type (like a wall, or a window, or an actor ... All these are data types). With proprietory BIM softwares, the end user is not exposed to this underlying data schema and can be considered as a blackbox. With IFC though, this schema is open to all to view, understand and even work directly on the schema. You can easily check and understand on all the different entities, their properties and their relationships with each other helping you understand all about the data in your BIM model.
This makes IFC a super powerful tool for BIM, data science and even AI/ML in our industry.
And did you know that you can author and work directly on IFC files through free and opensource software and libraries like blenderbim and ifcopenshell giving you access to reliable, high quality and non-vendor locked data.

View on

Blender for AEC

Blender is an excellent tool for the AEC industry. Its an open source and very a mature software with about 3 decades of making. It can be an extremely powerful tool in an Engineer's/Architect's/Designer's toolkit. Apart from being an excellent 3d modelling software with in-built rendering capabilities and also tons of features and parametric capabilities to make your 3d workflow efficient, Blender also comes with a built-in python environment and a powerful api to enable you to write custom scripts and plugins.
Blender is also very powerful from openBim (with blenderbim/ifcopenshell) and Data science perspective even helping in creating training datasets for computer vision applications for the AEC industry.
So if you want to improve on your workflow and break free from costly proprietary software (and really own your work), give Blender a try.

View on