BlenderBIM Add-on new release!



  • BlenderBIM Add-on v0.0.230902 has been released with 695 new features and fixes. It's our built environment, help support the BlenderBIM Add-on: 100% free and open source software that lets you author and document BIM data fully to ISO standards. It's built by the AEC community, for the AEC community. Get it today:

    In contrast to the previous slightly smaller release, this is another mammoth release with upgrades across many aspects of the ecosystem. A huge thank you to all developers, testers, users, and financial contributors: you are making this happen! You are changing the industry!

    OK. Deep breath. Get ready. Go!

    Note: test steel drawing done by Maarten Vroegindeweij.

    Note: screenshots by Opening Design architectural studio, projects including Highland Haven and Livingston restaurant licensed under CC-BY-SA 4.0.

    Revamped and more user-friendly interface

    The user interface has undergone a significant change to make things easier and more intuitive for new users. A new BIM workspace layout is provided by default which provides a three column layout (outliner, 3D view, and properties) that is optimal for viewing the large hierarchies of BIM models and long properties, and hides lesser used features like the timeline.

    The remnants of the old "import / export" nomenclature have been removed and we have a new File > Open, New, Save, and Save As menu to clearly indicate that we work with IFC natively, no longer the .blend format. This also means that common hotkeys have been reimplemented, including Ctrl-N for new file and Ctrl-S for save. They now intelligently give you options for new IFC projects with project presets for metric and imperial units, as well as save either a vanilla Blender model, an IFC project, or both depending on what you've got saved previously. Finally, the default cube / light / camera is automatically removed when starting new projects.

    There is now a new set of properties tabs within the scene panel, clearly dividing functionality into IFC overview, Object Properties, Geometry and materials, drawings and documents, Systems and services, Structural analysis, Costing and scheduling, Facility management, Quality and coordination, and finally, vanilla Blender tools. Panels which were previously spread / hidden around multiple Blender locations (e.g. object tab, mesh tab, N sidebar, etc) are now consolidated, renamed, and grouped into logical sections that are recognisable to AEC professionals. Users will now find it easier to discover BIM functionality and clearly differentiate between vanilla Blender vs BIM functions. You can also now use Ctrl-Tab to toggle between tabs. The work is not yet complete, with work to do to redesign the material and drawing camera UI, but the fundamentals are there.

    New friendly icons have also been added to aid new users to quickly discover authoring tools and for existing users to quickly switch to common tools like a Wall Tool, Slab Tool, Door Tool, etc.

    The old annotation panel has been removed in favour of the new workspace annotation tool. The annotation tool now has its own annotation type manager and functions similar to the BIM tool, with a number of bugs like type reassignment fixed. In addition, there are new annotation types for symbols and multipoint symbols (useful for set out points, control points, and more).

    To help in bugreporting and for daily build users, the commit and version is shown in the status bar.

    Drawing and modeling improvements

    There are three big changes in drawings. First, coplanar edges for meshes and tessellations are now dissolved by default. This makes using meshes as a geometry type much more practical in drawing generation.

    Secondly, projection linework can now be indepently styled from cut linework and cut / projection fills. This allows you to style a lot of 2D linework where it was't previously possible.

    Thirdly, there is now support for reflected ceiling plans! There is still a lot of testing to be done, but this is one of the major things holding back usage in basic drawing sets.

    The HLR prefiltering option teased about in the last release is now enabled. This may not be such a huge blanket speed upgrade, but depending on your drawing it may result in faster drawing generation. There has also been some optimisation applied when you have a lot of 2D elements on the screen and enable shapely surfaces.

    There is also now basic support for perspective cameras. In general, the computation of shading and cut polygons is now more robust. Activating drawings no longer affect non-IFC objects if you are using vanilla Blender objects to enhance your models.

    Dimensions can now have background fills for readability. Numerical decimal places can now be set to 0. RL and X Y Z dimensions in the BIM Tools are now length unit aware.

    Generating spaces / rooms is now significantly more robust due a new computation method and can now support things like virtual space boundary elements.

    When generating 2D body or annotation representations, you can now choose to generate the geometry from a detected outline or bounding box. This makes creating 2D plan view diagrams much easier and faster drawing generation.

    A subtle but very important change is that meshes now preserve their quads and ngons. Previously, meshes were triangulated upon reloading but this is no longer the case. The shading style is now also stored as part of the drawing style.

    As a huge quality of life upgrade, annotations are now created at the 3D cursor. Plan, section level, and radius annotations now support prefixes and suffixes and can be rotated. Fixed bug where section arrows would point the wrong way. Text annotations can now be duplicated, and now appear on the top drawing layer by default.

    Sheets are now sorted alphabetically and there is a new hierarchical drawings panel which groups drawings into plans, sections, elevations, etc sorted alphabetically. This makes it easy to quickly jump to relevant drawings in new projects. Filtering now can filter both drawing numbers / titles and preserves the hierarchy.

    MEP Services and distribution systems modeling

    In this release we started laying the groundwork to make it possible to work natively with MEP elements (ducts, pipes, cables, etc).

    We've added a couple of templates to create MEP segments or fittings from the type manager. They work very similarly to other profile based elements like beams. MEP elements created from templates will have ports by default and ports are automatically adjusted as you change segments lengths or move them.

    Mainly, there are 4 tools currently available for MEP. The Add Fitting (also available from BIM / Duct / Pipe tool from hotkey) adds fitting based on current elements selection. Currently available fittings are obstructions and transitions.

    Obstruction will be added if you have just 1 element selected, it be attached to the side closest to the 3D cursor. Transition will be added if you have 2 elements selected and they are parallel to each other. Bends will come next shortly right after this release, stay tuned for the updates.

    When you it will try to find and use compatible fitting type - if it couldn't it then will create new but the next time it will reuse already created type. It will make sure we'll have types more clean and organized.

    You can also Regenerate Distribution Elements (currently available from F3 menu and quick favorites). This adjusts connected elements for the active object. If you have moved a segment, fitting, or other connected equipment, it will auto adjust the chain of distribution segments with a "minimum impact" strategy (e.g. segments will extend insted of moving).

    You can also manually Add Obstruction and Add Transition (currently available from F3 menu and quick favorites) - allows you to create obstructions and transitions with custom parameters when Add Fitting use just default values.

    The UI has also been improved so it will be easier to nagivate between connected elements and their ports. More UI is coming - we plan to add viewport decorators that will allow you to see the connections between the elements, flow directions and other important information right in viewport without looking for it in menus.

    More detailed and informative IfcTester reports

    IfcTester has been upgraded to the latest IDS schema and had a few tweaks to fix failing edge cases. Facet filtering is now more optimised for faster auditing of larger models. A critical bug where inherited properties weren't validated correctly was fixed.

    IfcTester also now comes with a significantly upgraded report. This includes a summary progress bar at the very top, and progress bars for every specification. Progress is now reported in a much more granular fashion, including passing specifications, passing requirements, passing elements, and individual pass / fail checks. Reports also now include applicability, descriptions and instructions, as well as a formatted table to describe failed elements, with GlobalId and Tags highlighted to make it easy to select.

    IfcTester can now export reports to BCF, including viewports of problematic elements. The PyPI distribution now includes the XSD.

    Detailed documentation for programmers parsing IFC geometry

    Extensive documentation has been written for how to use geometry trees. Geometry trees are optimised ways of spatially querying IFC geometry (e.g. what objects are at this coordinate, or intersect with this ray).

    There is also documentation teaching how to create basic geometry, explaining concepts in detail from placement matrixes, contexts, extrusions, parametric layers, parametric profiles, mesh geometry, and more. This comes with simple API functions to do things like "wall from 2 points".

    There are also new utility functions to quickly generate rotation matrixes in numpy.

    Standard US steel profile library

    Thousands of standardised steel profiles are now available in a US profile library. This is in addition to existing EU and AU steel libraries.

    New search panels and spreadsheet reporting

    Inspired by IDS, there is a new, simpler, and more powerful selector syntax which can be used to construct filters, searches, and smart tags. The search panel has been completely redesigned to use this new system and supports filtering by class, attribute, property, material, classification, location, type, global ID, or other custom query. This is available with a graphical query builder where you can group queries and save / load searches.

    These saved searches can also have a colourscheme applied to them. An auto generated colour legend may be then customised and multiple properties colour coded simultaneously. These colour schemes can also be saved.

    You can also quickly select similar items by shared properties or attributes using a new "Select Similar" panel.

    The same search filtering system can be now used with IfcCSV and is also used in all filtering, include, and exclude systems such as in drawing filters or IfcPatch extract element filters.

    The element query syntax also now supports counting, fetching style data, and specific spatial structure elements (e.g. going straight to the storey and bypassing intermediate spaces).

    This makes IfcCSV much more flexible. In addition, IfcCSV now supports custom table headers, multi-column sorting, grouping by value, group operations (such as count, sum, average, concatenate, etc), custom values for null and boolean fields, and a summary row for total counts / averages / etc. You can also specify custom formatting functions (e.g. force uppercase, lowercase, imperial formatting, etc). Columns can now be easily reordered. IfcCSV can also now export to three formats: CSV, XLSX, and ODS in the BlenderBIM Add-on interface. There is also now Pandas support when used programmatically.

    Detailed documentation about the new selector syntax is also now available.

    Fundamental features built for using Brickschema

    Thanks to work by Riley Wong, our latest Google Summer of Code student, the Brickschema module has seen a large upgrade! Brickschema is a semantic structure and ontology designed to represent the relationships between building services.

    The Brick module now lets you save / save as changes to a selected file. There is now a panel to manage namespaces. Improved utilities to add Brick entities, update their properties, and edit relationships. There is now a Brick undo/redo system.

    Created a Brick IfcClassification system. For basic IFC types, the mapping to Brick types can be inferred automatically, but others may need to be classified before mapping correctly.

    Most uniquely, updated the ability to assign IfcReferences and convert IFC to Brick. IFC files will be saved with references to Brick URIs and Brick files will be saved with references to IFC identifications.

    Critical bugfixes

    A critical undo sync bug was addressed when operators were invoked. The ID tracking system was also redesigned, which should fix a number of highly subtle undo bugs. An oversight meant that a number of operators were simply excluded from the undo system, which is now resolved. Finally, the undo system now understands "undo until point in history" which makes that function now possible, and additionally fixes a number of undo bugs that occurred when toggling edit mode. These types of bugs lead to corrupted model sessions that are incredibly frustrating for users. Also fixed a bug where Blender objects couldn't be deleted with the "X" key.

    Construction sequencing and planning ugprades

    There is a new status panel to manage, show, hide, etc simple statuses, such as new, existing, demolished, and more. To overcome shortcomings in IFC, there is now an EPset_Status provided too and you can copy enumerated properties.

    You can now save and load 4D animation colourschemes. Cost schedule UI cleaned up and its now easier to edit sequence relationships. You can now contrain construction resource work or number of resources used.

    It's now easier to edit productivity data. Yo ucan show derived schedule work for a parent resource, and the resource tree structure now looks nicer.

    So much more

    It's hard to capture absolutely everything which has changed, but here are a few more stragglers.

    • More natural wall insertion when adding walls.
    • BCF projects may be closed / unloaded.
    • IfcClash can now store graphical clash snapshots again.
    • Fix critical crash in IfcDiff if comparing non-geometric models.
    • The type manager now shows updated profiles after editing them.
    • Fix cross-platform external styles.
    • IfcOpenShell installation into AWS Lambda and Google Colab is now documented.
    • IfcSverchok has been repackaged to work with the latest Sverchok.
    • Inverted normals on generated frameless panel balustrades are fixed. You can now press tab to edit more things like roofs and railing paths, and F2 to rename grid axes. Roof and railing type names are no longer hardcoded.
    • IFC4X3 now uses the most "official" IFC4X3 version (IFC4X3 Add1) transparently instead of an outdated version.
    • Improved shape testing / debugging which now considers 2D geometry to prevent false positives.
    • Fix critical bug where the MergeProject IfcPatch recipe created duplicate contexts.
    • OffsetObjectPlacements can now toggle whether rotation is applied before or after translation.
    • Deleting single objects in an array or removing an array now gives the users options on how to handle the loss of parametric data. Array children can also be locked or follow their parent.
    • Point representations and non-grouped annotations are now loaded, so you can load survey points (COGO points) from civil software such as 12D and Civil3D. There are also now symbols for survey points, traverse points, control points, and spot elevations.
    • Types can be renamed from the type manager.
    • You can now use queries to load in library assets.
    • Individual projects can now have their own pset templates distributed with them.
    • UV texture support is added for tesselated face set geometry.
    • Some work has been done to implement scale dependent map conversions in IFC4X3.
    • The ExtractElements recipe is now more robust when appending invalid type occurrences.
    • Linked IFCs can now have their selectability toggled.
    • There are now IFC operators for changing object origins.
    • You can now see how many times a profile is used and purged unused profiles in the profile manager.
    • Quantities can now be set on type elements.
    • Converting objects to tessellations now auto purges parametric materials for convenience.
    • IfcClash now works again on Windows.

    All changes

    All changes can view the directly via the Git logs here:

    Credits for this release (in order of commits via git shortlog -sn --since "2023-07-01"):

       256  Dion Moult
       155  Andrej730
        60  Sigma Dimensions (Yass)
        58  rileywong311
        34  Gorgious56
        24  Thomas Krijnen
        18  Dirk Olbrich
        16  Carlos Dias
        13  Trashman247
        12  Bruno Perdigão
        10  dushyant basson
         7  ay-ex
         6  Bruno Postle
         5  Kristoffer Andersen
         5  Massimo Fabbro
         5  Ryan Schultz
         3  Chetan
         2  Christoph Mellueh
         1  Jesusbill
         1  OrionSehn
         1  Wei Yang
         1  arun
         1  luzpaz
         1  smr02

    Donors since the last release:

    Cyril Waechter BIM Insight
    PlaniBIM SA
    Dion Moult
    Brendon Reid
    Sven Amiet
    Matthew Fuller
    Jonny Knopp
    Frode Lund Tharaldsen
    Haritonov Alexander
    Dumitru Minciu
    Bedrossian Ádám
    Aether Engineering s.a.s. (Aether Engineering)
    daniele rossi
    Yoshiaki Kusumi
    Omar Zerhouni
    Marin Ljuban
    Leon ten Brinke
    Johnson Bankole
    Henning Munzel
    Andrea Rosada
    Stephen Cremin
    Madars Siksna
    Carlos Dias
    Alexander Kleemann
    Tim McGinley
    Rafel Bayarre
    Marcin Boguslawski
    Kristoffer Hunnestad Andersen
    Fabian Emanuel Kitzberger
    Esteban Valdebenito
    Dirk Olbrich
    Cordero Architecture
    Ari Pikkarainen
    Andrew Bailey
    Christoph Mellüh
    Bruno Perdigão
    peperiberabrunopostleDADA_universeJesusbillppaawweeuuCoenVDobranovBimlooserAndrej730cvillagrasaand 20 others.
  • Great stuff! Many thanks to all contributors and donors!

  • Dion, have you considered copy-pasting these release super-posts into some "News" section at

  • @Moult Does new selector syntax apply to IfcClash?

  • edited September 4

    @Moult I am worried... That bunny picture looks AI fake... Where is the bunny!!?

  • @bitacovir said:
    @Moult I am worry... That bunny picture looks AI fake... Where is the bunny!!?

    Also I am worried the bunny has its paws in a toaster.

  • Could you always run Patch recipes from the BBIM UI? If so, then I had always managed to miss it, which gives credit to the new UI layout already. Excited to try my hand at some IDS magic, to see if I can avoid a certain other model-checking software.

  • edited September 4

    Hehehe the bunny is resting on a Blender :)

    @CSN yes you could always run patch recipes. Glad to hear you've now discovered it!

    @htlcnn not yet, filing a bug would be appreciated :)

    @cvillagrasa yes sooner or later I should do that. It represents extra maintenance on the website (there is no CMS behind it, it's just raw HTML) and I suspect release note formats will continue to evolve over time (we've already changed a few times, and in the future maybe it'll become more video / picture heavy too).

  • Well better late than never!
    Here is a recap video covering as much as I could from this update

    cvillagrasaAndrej730bitacovirbruno_perdigaoNigelOle_Marius_SvendsenMoultCoentheoryshawhtlcnnand 2 others.
  • Awesome video as usual! I was refreshing your channel every day in anticipation!

  • Thanks for fielding the tough questions @Moult !

Sign In or Register to comment.