Presenting Blender as a new IFC authoring tool

Hello @Moult !
From the Universities of Argentina we are interested in contributing work to have an open source BIM alternative within a reasonable time. We think the work you are doing on blender is brilliant !!
I am doing a comparison between Revit / Archicad / Bricscad to fix targets, and it caught my attention that you managed to extract 2D construction documentation with BlenderBIM. The ability to do construction documentation is very important !
I have installed Blender + BlenderBIM but I don’t see this functionality. Will it be part of a new version not yet released? Can we test it? .
Greetings from Argentina !

Thanks @joselaks! The functionality is included, but not documented - so it is not obvious. Perhaps it’s easier to share a screen to demo this? I am generally online during all working hours Sydney time (and them some) in the IRC live chat:

The ability to do construction documentation is extremely important, but still very raw. I am happy to say that for very, very small projects, I am able to apply it already, so perhaps with increased streamlined workflows and optimisation of the cutting process, it will grow to larger projects.

Here’s another sneak peek of some documentation produced with BlenderBIM (yes, these are colourful, but I can also produce pure black and white style drawings if it is appropriate for the job):


I agree with the importance of construction documentation!
I will be very attentive to your progress. Extracting the build documentation from a project designed in Blender would be great!

A new version of the BlenderBIM Add-on is now released: v0.0.200328! Get the new version today:

One month since the last release, there have been over 30 fixes, stability improvements, and new features. Highlights include new import features for simplify and merge IFC models, brand new IFC to/from CSV data export and import, basic support for BCF-XML 2.1, and simple construction documentation sheet management.

  • Latest IfcOpenShell version, with various stability fixes to import more files!
  • BIMTester can now just generate reports if required
  • BIMTester can run a single test instead of the entire test suite
  • Fix import bug with some IFC object types aren’t related correctly
  • New BIMTester test to check if an element doesn’t exist
  • Improved support for IFC2X3 materials without transparency
  • Fix import bug where IFC spaces with the same name might not be in the right location in the spatial tree
  • New import option to auto-merge geometry by IFC class
  • New import option to auto-merge geometry by IFC material
  • New import option to disable element aggregation
  • Hidden lines in construction documentation may now be in 3D, useful for showing exploded axonometric views
  • New IFCCSV tool allows querying an IFC file and exporting attributes and psets and reimporting an updated CSV to the IFC model
  • IFCCSV tool allows querying using IFC class, attribute, pset, and qto filters, with multiple operators, AND and OR statements
  • Export fix where sometimes you could create an abstract IFC class
  • All IfcSpatialElements are now supported including obscure ones like IfcSpatialZone and IfcExternalSpatialElement
  • IFC exports now support multiple materials on a single object
  • Fix export bug where some aggregates don’t export
  • Fix import bug where some objects inside a space won’t import
  • New import feature to automatically clean meshes to get nicer topologies
  • New export feature to export objects inside spaces and any spatial element
  • New import feature to record the spatial relationship of objects inside spaces (with ability to scale for large projects)
  • New import feature where quantity take-off quantities are imported
  • New export feature where you can manually fill out quantities and export them
  • Fix import bug where materials may be on multiple shape representations
  • New support for BCF XML 2.1!
  • View list of BCF topics in the UI, showing basic metadata about each topic
  • New button to uninstall add-on, to improve the upgrade process
  • See multiple viewpoints for each BCF topic and launch a camera view for each viewpoint
  • Any type of curve object is now supported for construction documentation annotation objects
  • Spatial containers are auto-detected when exporting making it more convenient for users to do quick exports
  • Support for BCF topic comments
  • BCF topic reference links, BIM snippets, document references, and related topics are supported with buttons to quickly open both external and internal references
  • New buttons to quickly view BlenderBIM Add-on homepage, docs, wiki, and forum
  • Documentation titleblock and view templates heavily optimised to a fraction of the filesize - mere kilobytes!
  • New UI feature to add new sheets and add views to sheets
  • New UI features to quickly open sheets and views in external SVG programs / viewers
  • Views now store view scale in their vector output - in an indsutry where our vector output is non-semantic, which really changes things!
  • Fix IfcPatch bug for broken ResetAbsoluteCoordinates recipe
  • New feature to publish sheets with automatic view titles, scales, view numbers, and sheet names

2 weeks later since the last release, over 30 new OpenBIM features and fixes in a brand new BlenderBIM Add-on v0.0.200413 release! Get it today:

  • New feature to validate the syntax of IFC files, in case you receive a broken IFC file
  • New support for viewing and overlaying BCF snapshot images on top of the model to compare issues
  • More stabilisation fixes on multicore IFC import
  • Support added for BCF header files
  • IFC import now supports multiple materials for a single object
  • More robust material imports for BIM authoring tools that still use the deprecated IfcPresentationStyleAssignment or have missing styles (yes, Revit, that’s you!)
  • Experimental multicore support added to IFCClash
  • The IFC2CA project has joined the IfcOpenShell umbrella!
  • BIMTester now bundles test definitions so you get tests out of the box!
  • IFCDiff now checks inverse relationships for changes too
  • IFCDiff lets you specify filters for checking specific inverse relationships
  • BCF snapshots with varying aspect ratios are now supported
  • The IfcProject entity is now a real object in Blender, which can be queried and exported with all of its metadata
  • BIMTester now supports the full Project setup MicroMVD definition
  • New optional GUI in BIMTester for people who don’t like command line
  • IFCCOBie has various fixes for strange formatting on wrapped data
  • BlenderBIM Add-on dependencies repackaged inside add-on, to allow for native Blender install and uninstall procedures
  • BlenderBIM Add-on Uninstall feature removed, as it is now obsolete in favour of native Blender uninstall process
  • IFC spatial elements without any geometric representation are now imported
  • Invalid Psets without any properties (as created by Solidworks) are now imported
  • Diff import support has now been upgraded to the non-legacy import mechanism
  • Rebar is now treated specially to prevent BREP faceting, so it retains its parametric swept disk solid behaviour, and is easier to edit, imports 10 times faster and is 10 times smaller in terms of filesize
  • IFC import has an optimised spatial tree processing algorithm to handle files which have hundreds of sites and buildings for precinct BIM models
  • Psets and Qtos can be selected from a filtered list for easy user discoverability instead of having to know the IFC spec
  • New IfcExportSettings factory to let the BlenderBIM Add-on be integrated with other Blender add-ons like ArchiPack
  • Improved ArchiPack compatibility - export parametric IFC objects from Archipack!
  • Repository code cleanup of old experimental files
  • Fix for potential infinite loop during export
  • Fixed some invalid schema exports related to void/fill/projection relationships, and material assignment related to linked duplicate objects
  • New support for import and export of the IFCZIP format
  • New support for BCF component visibility settings, colouring options, and selection sets when viewing BCF topics
  • New support for BCF orthogonal camera scale factor

I thought I might try and record some mini demo videos on how parts of the BlenderBIM Add-on works, because it is quite feature-packed and can be quite daunting. Also, recording videos is faster than writing documentation :slight_smile:

Feel free to check it out - here’s the first to do with section planes, which is today’s new feature.

This one isn’t specific to OpenBIM / IFC / BCF, so in the future, I will refrain from posting generic BIM videos here, but instead may only post them when it is relevant to IFC and BCF… for example, Blender now supports writing your own property set template definitions, which is quite unique and probably warrants a demo!

Peertube link for the free software hippies:

… or Youtube if webtorrent is blocked on your network:


It’s another 2 weeks, so here’s another 30 new fixes and features in the v0.0.200428 BlenderBIM Add-on release! Get it today:

Highlights include bundled classification system selection including Uniclass and Omniclass, create and consume property set template definitions, reload IFCs, import/export with CSV, and section planes!

  • IFC export now supports assigning objects to CAD presentation layers
  • Fix for incorrect grid placement in some scenarios
  • IFC group objects are now imported
  • Rebar profiles now share instances if it has the same radius to optimise rebar imports
  • Attributes or pset values can now be copied across to objects in bulk
  • IfcDiff now checks model precision when determining tolerances
  • IfcPatch now has a recipe to offset and rotate an entire model
  • Graphisoft XMLs can now be parsed into IFC, now maintained by OSArch
  • New hierarchical classification system interface, which can read IFC files as input
  • Uniclass and Omniclass are now bundled with the BlenderBIM Add-on, but a repository is provided to download many more classification systems
  • IFC files for property set templates can now be loaded and viewed
  • You can now author property set definitions and property templates in Blender and export them
  • New workaround for importing Civil 3D files with absolute coordinates
  • Old CSV-based pset definitions deprecated in favour of IFC template definitions
  • New feature to create/remove a section plane in real time
  • Support for as many section planes as you want at any angle
  • Section planes can be applied to a subset of objects, not all objects
  • Crash fix to IFCCSV when exporting non-existant attributes
  • IFCCSV is now able to be loaded as a library to be used in other applications
  • BlenderBIM now has a built-in UI to export and import from IFC and CSV
  • IFCCSV now supports exporting IfcClass as a data column
  • IFCCSV now supports querying inverse spatial and type relationships (e.g. all objects in this container, or all objects of this type)
  • Import workaround for vendors like DDS-CAD who create widely duplicated style items
  • UI to visually select objects to be exported to CSV
  • Section plane colour can now be changed
  • Support for viewing BCF line annotations
  • Support for viewing BCF clipping planes
  • Support for viewing BCF bitmaps
  • IfcDiff panel now prompts for export folder if you haven’t set one already
  • New feature to reload an existing IFC file

OSArch is happy to release another BlenderBIM Add-on v0.0.200511 with over 50 new features and fixes. The BlenderBIM Add-on is 100% free and open source software that lets you author and document BIM data fully to ISO standards. Get it today:

Highlights include improvements to object type imports, IFC document reference and information data improvements, huge improvements to documentation abilities, and support for IFC annotation geometry.

New features:

  • Artists now have an option to merge aggregates into a single object to easier object manipulation
  • Metadata about aggregates themselves are imported, including attributes, psets, and relationships
  • New option to select all objects of the same object type
  • Classification hierarchies are now imported and can be browsed in a tree viewer
  • Element classification references are now imported
  • All document metadata is now imported, not just location
  • Document information metadata can now be authored and exported
  • Document information metadata can now be imported
  • Documents that are not related to objects can now be imported and managed in a UI
  • New feature to relate document information and reference entities
  • Classifications maintain their hierarchy and do not flatten upon export, allowing for richer (i.e. semi-lightweight) classification exports
  • Users can specify a list of IFC files to be cut in a section / plan / view
  • Exclude rooms from being cut by default in a section
  • New style preset for creating construction documentation graphics
  • Grid annotations now work in 3D
  • IFC metadata (like materials) is now cached when doing a section cut to improve performance
  • New UI to add annotation objects to a view like dimensions, leaders, text, levels, etc
  • New font size support for text sizes 1.8, 2.5, 3.5, 5, and 7.
  • Rebar is more efficiently created without the need for distinct circle profile objects
  • Background renders can be cached when doing a section cut to improve performance, if you are only changing annotation
  • Users can now specify a symbol for text annotation, like a label box
  • Text annotation now supports variables to extract data from IFC files
  • Geometric representation context and subcontext definitions are now imported
  • Relevant types are now auto-selected for export for convenience
  • Export feature is now more granular to export only specific contexts
  • 2D axis representations (i.e. not 3D) are now also supported from both meshes and curves
  • Authoring and exporting footprint geomset geometry contexts is now supported
  • Authoring and exporting 2D and 3D annotation geometry contexts is now supported
  • Authoring and exporting 3D profile geometry contexts is now supported
  • Text annotations with variables can have functions applied to them - e.g. to concatenate data, format data, or anything, for example to round text annotation to the nearest decimal point, or force uppercase formatting
  • BlenderBIM Add-on importing and exporting can now be done headlessly on a server, to allow for remote server processing of BIM data. There is now a BlenderBIM Add-on continuous integration server, to process IFC test cases:
  • You can now bulk-add smart annotations to many objects at once
  • You can now manage the geometric representation contexts per object or object type, to switch, lazy-load representations from an IFC, and create new contexts
  • IFC unit settings are now preserved on import, instead of using your Blender settings
  • You can now export just a single representation to an IFC file, leaving the rest of the IFC data untouched
  • Type representations are now imported as well instead of just elements, with support for mapped geometries
  • IfcDoorStyle and IfcWindowStyle metadata (attributes, etc) from IFC2X3 are now imported
  • Annotation objects are recognised in the section cutting procedure, and not processed for a boolean cut for a more optimised cut
  • Solid line annotation objects are now supported (previously only hidden lines were supported)
  • A list of contexts are now imported for each object, and you can switch between them with a new UI
  • Section / plan / documentation cuts now recognise annotation objects, and will draw them as 2D linework
  • Stair annotations now work in 3D
  • New hatch patterns! Sexy.
  • New door tag symbol support.
  • New breakline annotation.
  • IfcAnnotation entities are now supported, to be used as you see fit.
  • Documentation sections / plans / views are now exported into IFC as groups
  • Text annotation is now exported as IfcAnnotation, with new support for IfcTextLiteralWithExtents
  • All other annotation objects (dimensions / leaders / levels / symbols / etc) are now created and exported into IfcAnnotation by default.

New fixes:

  • Fix section planes sometimes not cutting through aggregates and appearing at the cursor
  • Bug where poor material data may cause a bad section cut fixed
  • Lat/longs are now converted to decimal degrees from DMS format
  • Materials are re-used on subsequent imports if they already exist to prevent material duplication

Hi, I am having some trouble importing an IFC (several IFC). An error occurs. How is the procedure? Where can errors be reported?

1 Like

@GOBA thanks for testing, and even more thanks for reporting! You can report on or or send me an email at - you can also use to send me confidential or large files, which I will only use for the purposes of debugging and will not share publicly.

1 Like

Hi @Moult! I’ve sent you an email. I’m also going to check those pages, just I don’t have time now :blush:

1 Like

Thanks @GOBA! Both are bugs related to the new features in the latest release.

One is related to me forgetting to check for unit types, this is now fixed:

Another is related to where I assume subcontexts are used, but in your model, it seems as though only a context is used without any subcontext. I think in order for an IFC file to be meaningful, the subcontext should be specified so that I know what repesentation type I am looking at (e.g. Body representations). Nevertheless, this should not be a fatal error, and this is now fixed:

If you are comfortable with editing the files of your add-on with the fixes in the two links above, you can then import your files successfully :slight_smile:

Thanks again for reporting!

Edit: with your permission, can I keep those test files and publish it in a repository I am preparing of IFC test files for people (and automated test suites) to test with?

Thanks @Moult! Yes, you can keep those files, no problem.

I don’t know if I will be able to edit the files (my knowledge of IFC is limited), but I will try!

There is no need to edit the IFC files. You need to update the file with the new fixed version. If you use Windows, this will be in: C:\Users\YOUR_USERNAME\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons\blenderbim\bim\

Just download this new and replace your existing one in that folder. Restart Blender, and try importing again :slight_smile:

1 Like

It works! Thanks! :slight_smile:

1 Like

@Herb - IFCClash is now packaged for both Windows and Linux (Mac need somebody with a Mac, I guess?). It now also has a basic Blender UI to allow people to perform basic clash detection without needing to run CLI commands, but of course you can still run it CLI if you want to.

See relevant commit:

Python 3.7 64-bit Windows FCL build here:

IFC-native clash detection, here we come!


@Herb - and now even more updates there is a PyPi windows wheel build:

pip install python-fcl-win32

BlenderBIM Add-on v0.0.200525 has been released with yet another 30 new features and fixes. The BlenderBIM Add-on is 100% free and open source software that lets you author and document BIM data fully to ISO standards. Get it today:

Highlights include improved clash detection features, more robust round-tripping including object re-use, basic cove.tool environmental analysis integration, and new experimental IFCXML and IFCJSON support!

New features:

  • New feature to convert from local to global (georeferenced) coordinates
  • Custom Qto definitions can now be exported
  • IfcClash can now patch global coordinates to aid in accuracy of clashes
  • IfcClash can now be used standalone or as a library in any project
  • IfcClash is now bundled with the BlenderBIM Add-on for Windows and Linux (any Mac volunteers who want to build it?)
  • Exporting two IfcProjects will now merge them into a single IFC project
  • Experimental IFCXML can now be imported
  • The relative placements of the spatial hierarchy are now imported and exported
  • IfcClash now supports clashing many-to-many / multiple IFC files at once
  • IfcClash now lets users configure clash tolerance
  • IfcClash now reports the worst-case distance clash in the case of multiple clashes with the same two objects
  • IfcOpenShell now has a utility module to let you conveniently do geolocation, element filtering, and getting element properties
  • IfcClash now supports element filtering, with filter rules, and/or statements, inclusion and exclusion rules
  • IfcClash now supports internal collision checks - to check for collisions within a single group of objects
  • IfcClash now supports clash sets to be defined so you don’t need to setup the rules again each time
  • The BlenderBIM Add-on has a new UI to create and run clash sets with IfcClash
  • The BlenderBIM Add-on now has a feature to export and import clash sets
  • Simple integration with cove.tool for basic energy and daylight analysis
  • You can now export experimentally to IFCJSON format (Thanks Ioannis!)
  • BIMTester updated to latest MicroMVD syntax specification
  • BlenderBIM Add-on now allows you to specific relationship checks during IFC Diff execution
  • When importing the same file or updated files twice, existing rooted elements (spatial elements, objects, types, etc) are reused instead of duplicating
  • You can now export psets related to spatial elements
  • Users can now switch easily between IFC4 and IFC2X3 when exporting
  • New feature to select / highlight all clash results in your current 3D viewport

New fixes:

  • Rewrite IfcClash system to drastically increase quality of clash detection results
  • Fix bug where monetary units can cause an import to fail
  • Fix bug where an IFC without a subcontext can cause an import to fail
  • Fix bug when exporting / round-tripping IFC2X3 to IFC4 classifications
  • Fix broken export when object names are too long
  • Fix bug where importing mapped type representations may accidentally reuse other meshes
  • More lenient parsing to skip invalid representations and not stop halfway (as discovered in ArchiCAD-produced files)

Hi Moult!

How do you export with quantities?

Hi @GOBA ! Sorry for the late reply. You can add a Qto just like adding a Pset and enter in values manually in the Object properties tab.

Originally, there was another feature where automatic quantities were calculated at export time, but these were never exposed through the UI as it was a very early release and the UI has changed significantly. Would you mind creating a bugreport about that, and I can re-add it in the next release :slight_smile:

1 Like