Happy holidays, everyone! It’s been almost 3 weeks since the last update, but there have been many developments.

Imports now support styled item colours, and differentiates between material surface colours and object surface colours

Support a “material passport”, essentially you store externally defined surface styles, and Blender can detect if any Cycles or Eevee shaders exist in it, and will load them. This allows for IFC models with complex textures and materials for CG renderings. No other BIM program can do this.

New IFC Clash utility, to perform clash detection, with a specified dimensional tolerance. This data can be exported into JSON so you can visualise clash results and analyse them. Clash detection is done directly on the IFC so you can run it on your BIM server. Can run from command line. This replicates functionality from Navisworks or Solibri.

You can proxy one shape for another using associated documents. If you associate another mesh object, Blender can replace the IFC shape representation with another Blender native file format. This way you can have low-fidelity models in the IFC file but retain higher polygon models elsewhere.

Import now supports document associations

New UI to choose exactly what geometric representation contexts to export.

IFC diff utility can now run from command line input so that it is easier to run from a BIM server.

New support for construction documentation. More on this below.

Bunch of under the hood fixes with IfcOpenShell thanks to @aothms and other IfcOpenShell contributors like AdriScho and mieszk

Complex material support:

Object proxying support:

Clash detection, as well as the JSON output (note: BCF output will come too):

User-configurable geometric contexts:

Per-object colour support:

I wanted to highlight one of the most important changes in this release is the ability to do construction documentation. A BIM model is only half the story, documentation is the “map” to help navigate your way through the data and direct your attention to portions of interest in the BIM model. So having open-data standards for OpenBIM is not enough, we need to have open-data standards for documentation.

This documentation is generated (i.e. section cut) from the IFC file directly (so you can headlessly publish it on your BIM sever!) and supports any direction of cut (plan, section, RCP, elevation), with clipping plane options and your typical slew of annotative objects. All sheets and output is in SVG, as it is an open-standard for vector data with wide support, and there is no viewer for the IFC annotation objects. Managing views on sheets is done with Inkscape, another free and open source vector tool. A standard web browser can view the output too. The technical lettering font is also completely open-source thanks to the LibreCAD community who has a nice collection.

We are currently using a 100% free and open-source pipeline to perform certain jobs on live commercial projects. The IFC file is used as a native format, Git is used for versioning, and construction documentation is also 100% open-source. See here a sample sheet which I am able to show produced with BlenderBIM.

Some close-ups:

If you’d like a copy of the PDF to see the full scale output please send me a message.

The output supports dimension strings (rotated and orthogonal), text with multiline and different alignment supports, section and plan level annotations, and different hatching styles, line thicknesses, leader markers (e.g. architectural tick dimensions v.s. engineering arrow dimensions), grids (from IfcGrid) and so on. I’ve set a bunch of presets to get people started with typical 2.5, 3.5mm 5mm, etc sizes that are standards in Australia. Dimensions are all calculated based on the model. This documentation is also semantic, as it includes SVG classes, so all annotation styles are applied at run-time using CSS, so you can re-use the same plan multiple times and turn on and off visibility or change the display for different users. It can also therefore be interactively queried on a web-browser.

The model is detailed to fabrication level and and have manipulations such as unfolding to create the steel lasercut net as shown at the bottom right of the sheet.

Annotation can be viewed in 3D - there are plans to store this in the IFC file too - but it may prove a little tricky since a lot of IFC entities related to annotation were removed by buildingSMART. It would be good to discuss options to restore some of these.

Sheet revisions are picked up from the active Git repository - so it would tag the current HEAD^ location of the version control system that forms the backbone of your BIM server using Git. No more manual versioning.

Many thanks to Thomas Paviot and Martin Siggel who are supporting Python-OCC which helps makes all this possible.

Oh, also, with BlenderBIM we can integrate with OpenStreetMaps GIS data to get an IFC output from the City of Sydney. Here it is viewed in XBim, taken originally from BlenderGIS add-on. There are roads, but they are coplanar with the ground, so you can’t really see them clearly since XBim doesn’t render it that way.

Download the latest today: https://blenderbim.org/