buildingSMART Forums

Presenting Blender as a new IFC authoring tool

Hi Dion,

I see little issue: In the tree, I see IfcSlab/box but its correct form I think should be IfcSlab/FLOOR/FloorName/Tag or IfcSlab/FLOOR/Tag

About Archipack, I’ve not investigated it yet, especially v 2.0 which is paid version, but I think in the near future we have to develop it ourselves (because of some wild ideas we have)

About mobile version (cross-platform in general) in the near future, it can/will be mobile too, thanks to some technologies like WebAssembly

Also, in the near future, we can add annotation and documentation to BlenderBIM too, there are some interesting technologies/methodologies to do that even easier than before

@gester, you queries:

  1. It is technically possible. I have known people to do it, and I myself have run it on Android on my phone (yes, even rendering in real-time). However, practically Blender is a fully fledged authoring program for industry-grade workflows - for the purposes of authoring, a touchscreen input will allow you to navigate, but you will have a poor authoring experience. A better approach would be to have a dedicated viewing software for the IFC file on your mobile device, tailored towards a specific task. This goes for any authoring tool, not just Blender.
  2. BlenderBIM is an addon to Blender that allows IFC reading and writing into Blender, as well as the necessary UI to assign, audit, and manipulate BIM data within the 3D interface. It is also part of IfcOpenShell, which contains a growing suite of tools to read and write IFCs, do MVD checking, IFC QA, visualisation, COBie, IFC/SVG/OBJ/DAE/etc file conversion, 3DS Max, and more - all of which are free and open-source software. Archipack is separate to BlenderBIM, and revolves around “domain-specific modeling”, essentially parametrically generating geometry that is frequently used in the architectural domain. BlenderBIM and Archipack can be used together, or each standalone - they complement each other: BlenderBIM focusing on OpenBIM data, and Archipack focusing on geometry. At the moment, integration is loose. We will likely integrate further.
  3. At the moment, there is an experimental script that does section cuts, there are also 3D dimensioning and labeling tools, and IfcOpenShell also has some experimental SVG conversions. None are yet up to the task of construction documentation, (i.e. with annotations, dimensions, symbols, schedules, and sheets) though this is on the to-do list. It is extremely important to solve this, as currently we are again faced with proprietary software should we want to do 2D documentation.

@ReD_CoDE - There is no “correct form” for this - it is purely a convention - data for predefined types and tags are stored elsewhere, and only the IfcClass and Name is shown in the outliner tree for brevity. I will perhaps add a configuration to reorganise the tree in different ways later. That is a good idea.

Stephen, who develops Archipack, is a capable developer and it would be a good idea to collaborate.

As mentioned above, Blender itself technically can run on mobile (it’s a cool party trick!), but feels limited on a touchscreen and a slower processor. However, @ReD_CoDE you are absolutely correct that there are other technologies to view models already available. For example, I have got IFC models into the free and open-source Godot game engine (as an alternative to Unity) which can be run on any platform, including mobile, and put into an executable to distribute to clients. It is also trivial to get the IFC model onto the web, which I have also done with some optimisation and conversion using Blender. This also works with WebVR. This is all speaking from first-hand experience delivering these outputs.


Great Tool! Blender really looks grown up and fit for the job. I see Blender can handle DXF files as import and export too. What raises questions is the version of DXF implied in the button.

I certainly hope 3D is supported with the import. I could not yet get a good import going.
It would be very cool to get 3D DWG (DXF) and IFC geometry could work better !.. with Blender!..

What does DXF 0.8.6 stand for?
Are 3D solids and meshes supported?


Read: this DWG was saved back to “DXF 2000”

I have found that the DXF import/export to be not 100% reliable. But when it does work, it certainly does import 3D and 2D geometry. I am not sure what the version number stands for, and I am not too familiar with the format. I have sometimes used Rhino to re-export DXFs, as Rhino does an excellent job at file formats from my experience.

As a side note, I’d like to share with everybody a talk by Dimitar who works at HoK presenting at this year’s Blender Conference. He has done some great work with Blender and FreeCAD in the architectural domain. He talks about parametric geometry creation, concept art, and shows what Blender is capable of.


i’m almost halfway through the dimitar’s presentation from the link above. he talks about different programs hok use for the design, but there’s no mention about a program that integrates all those functionalities (sketchup, rhino, grasshopper, revit, catia and archicad), namely vectorworks.

it has the built-in siemens’ (actually it’s a british engine, but now property of siemens) parasolid 3d engine, beside catia the best one on the market. another thing from vectorworks is marionette, which is the same as grasshopper and dynamo, also based on python. another integrated functionality is the subdivisions, based on the open subdiv library by pixar, which came public some time ago. there’s nothing from 3d that you can’t do with those tools.

what i’m but curious about is the architectural parts (automated building elements) of the presentation, so let’s move on :slight_smile:


Update time!

  • Importing IFCs now have improved mesh reuse and optimisations on shape creation leading to much faster imports! Also some bugfixes thanks to @Hans_Lammerts
  • New interface to assign documents to IFC objects
  • New interface to assign classification systems (Uniclass / Omniclass) to IFC objects
  • IFC importing now also imports object attributes
  • Bugfix in BIMTester to run and re-run multiple test suites
  • IFC COBie packaged with minor bugfixes
  • Experimental gbXML export now supports creating openings, as well as some bugfixes
  • New IFC Diff tool (basically git diff for IFC files) - this allows you to take two different IFC files and it will compare them and tell you what changed. It will tell you if geometry has changed, or
    attributes, and also the previous value of the attribute and the new value of the attribute. It writes it out to a json file which can be visualised with BlenderBIM so you can overlay changed models.
  • New experimental sectioning tool to create construction documentation. You can cut sections direct from IFC files and create view hatching / line weight stylesheets with CSS which can be mass applied across objects. Objects are smart vectors, so unlike other documentation tools, 2D documentation have SVG classes applied so each object knows the IFC GlobalId, material, and IFC class.
  • New interface to create, edit, and save IFC aggregates
  • Import now supports curves, so you can import survey point geometry that might come from 12D, for example.
  • Export now supports Blender curve objects, not just mesh objects, so you can do profile extrusions along vector curves and export them
  • A whole bunch of geometry processing fixes in the underlying IfcOpenShell library by @aothms (which are quite technical but it looks like a great job! :slight_smile: )

I am very happy to announce that we are now using Blender for very basic construction documentation on real projects! It is still highly experimental and has no interface for the public to use yet, but it’s a start!

2 Likes 01-Nov-2019 08:58 12029391

Dimitar said “I wanted a software that be between strict software and parametric” for (conceptual) design

Blender in “geometry/topology,” generally in design is really powerful and also has a powerful parametric logic too

The gap is/was it’s not an engineering software for instance for BIM, but BlenderBIM can solve this gap

@Hans_Lammerts About DXF, personally don’t see any future for DXF, it’s outdated
IFC is better choice, but needs improvement, even IFC4.2 final

“I have found that the DXF import/export to be not 100% reliable.”

There are two kinds of thoughts in our beautiful remarkable BIM AEC industry. Those who believe BIM is fully 3D object orientated and those who thing BIM is all about new ways of ‘Fusion of media & technology’, often referred as ‘Bim is a process’. Anyway, i think for both ways of thinking is is CRUCIAL for the long term to enable connections being made with old 2D engineering archives and - CAD still work being done out there.

So, If you truly and fundamentally want open formats to be support this than DXF is one of the best ways to support that. Unfortunalety DWG still is not an ‘open’ format. It doesn’t mind the DXF standard are old and not being developed further. It is probably a benefit.

At the same time i wonder what 2D and 3D open standards are being used in the field of ‘GIS’. (?)
LandXML, GML but also … DXF…

Just my thoughts, $
regards hans


These days just some from Autodesk try to say DXF is good and is a “real” open format

Those who say “BIM is all about the process,” including I, say “BIM is all about Data/Information” too. And existing BIM is “weak” in Data/Information, and also Process

IFC4.2 has a lot of improvements in “Geometry/Topology” the “inherent” issue of IFC is its “flexibility”

IFC through relationships cause “Flexibility” which is good and also has its pros and cons too

About Backwards and Forwards! because this is one of the hot topics in buildingSMART too, “if we have a middleware that can convert old files to new files and vice versa” the issue related to Backwards and Forwards will solve

Question is When will this IFC 4.2 see the light in my prevered design software of choice? IFC has gained momentum in buildings but for other sectors that have a relationship with mechnanical and topography very little has changed of the years.

As I see IFC4.2 has a lot of improvements, especially in HVAC, the main issue today I think is buildingSMART should change/improve and develop a lot of things after ISO19650

Also, I guess, some software companies see their future unpredictable, because IFC, especially in STEP 2017 has some features that is not pleasant for software vendors

My two cents is that you cannot really compare DXF with IFC. They have different purposes and complement one another. Judging a format by how “aged” it is is not a valid argument in my opinion. To my understanding, DXF does not contain standard locations for representing complex BIM relationships, and therefore it not suitable as a BIM format. However, it is certainly extremely suitable for documentation, and certain forms of geometry.

In the field of GIS, there are quite a few formats out there - from the common shapefile format, to GeoJSON, Spatialite databases … from my experience they have more standards than the BIM world :slight_smile:

Update time!

  • New support for importing and exporting imperial units, and you can choose your primary LENGTHUNIT.
  • You can create geometry specifically for the PLAN geometric representation context now, and choose the TARGET_VIEW enum to do plans, sections, RCPs …
  • New export options to export materials as styled items. This is useful for exporting to Revit (and a few others), which seems to completely ignore IfcMaterial, but instead treats the styled item name as the material name, and ignores any colours assigned via IfcMaterial. Ideally, this should be fixed on their end, but is a workaround.
  • New import options to import 2D curve elements
  • Parametrically generated geometry from Blender now maintain their GlobalId value, even if you generate less or more of the geometry.
  • New import option to ignore site locations, so that non-geolocated IFC2X3 files or incorrectly geolocated IFC4 files (almost every single Revit export that we come across) can import with a sensible project origin.
  • New UI and improved support for specifying multiple swept solid extrusions per object, for geometric round-tripping with programs like Revit
  • Stephen Leger from Archipack has started contributing code! He has done some neat cleanups and optimisations on the Blender UI.
  • IFC BIMTester now has a feature where you can choose to purge tests for elements which have been since deleted since you wrote your test suite.
  • You can now specify IfcPerson and IfcOrganization details including postal and telecom addresses for export.
  • As usual, bugfixes, most notably for the export location of swept solids and parented Blender objects.

I am impressed by the ambitious and promising initiatives towards OpenBIM. Please keep on with it!

After learning more about the details I will come back with qualified technical comments.

Best regards,
Herbert from Austria

1 Like

Thank you @Herb! It is a long and difficult journey ahead, but the world needs more open :slight_smile:

First things first … new Blender version 2.81 has been released! See the changelog. This one focused a lot on improved sculping tools. The retopo tools are really important to bring in scanned geometry into high quality meshes. The built-in bulk rename is nice, although it already existed as an add-on for a while, and the improved snapping is great. Faster renders and improved denoising is awesome!

Update time!

  • Bugfix for IFC locations of objects which have a parent relationship or constraints in Blender
  • Plugin renamed to BlenderBIM
  • Version number now shows on the add-on
  • Objects can now be arbitrarily scaled in any axis
  • Under the hood code clean-up and PEP8 improvements
  • You can now specify an IFC Diff and do an incremental import. No need to reimport an entire file, just import the things which have changed!
  • Bugfix for BIMTester to prevent overwriting existing feature files
  • Optimisation for the “select audited elements” function. Much faster.
  • Add support for element voids and fill elements relationship. You can now properly do doors in walls and stuff like that.
  • Bugfix for IFC “select by type” function which wasn’t working.
  • Implement support for IFC library (not project library, which already existed - this new feature lets you specify if your project is on a BIM server, such as Git)
  • A couple new sentences added to the BIMTester vocabulary to mark elements as exempt from testing
  • Bugfix when shape representations are reused in their mapped item entity.
  • Support for parametric mirroring of geometry (aka the mirror modifier in Blender) to export out to IFC - it can halve your modeling time and export filesizes for symmetrical portions of your building!
  • New dropdown for audit class in the audit panel, instead of having to navigate to other panels to approve or reject IFC classes.

Also - brand new website design! Cleaner layout, mobile friendly.

Now comes with new tutorial articles on:

Also started a new series of articles to help upskill people on OpenBIM:

Related tools like Archipack also now have the ability to split and merge walls:


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:


Very cool. I’m excited about the annotation layer being reflected in the IFC file. Would 2nd reviving some of the deprecated annotation classes.


Amazing results @Moult !!!

1 Like

This is really powerful :grin:
Congratulations :wave:t2:

btw (off-topic):
How does this work from a mechanical point of view?
I am afraid that the stringer slides through bellow the profile beam, doesn’t it?

I pay high respect @Moult for the great achievements with BlenderBIM.

As contribution for further developments I will spend some comments:

I am happy to report that minor issues that I discovered in the previous version of BlenderBIM disappeared in the new version. (little misalignment of window and openingelement inside wall)
Results (ifc testfile has been built by PostgreSQL PL/ pgSQL):
xBIM Xplorer:



I am a little bit concerned about dynamic performance.
50 storey tower (highly simplified) did not open in BlenderBIM, even after one hour.
other results:
xBIM Xplorer


Best regards, Herb