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: https://blenderbim.org/
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.
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.
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.
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.
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.
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.
Thousands of standardised steel profiles are now available in a US profile library. This is in addition to existing EU and AU steel libraries.
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.
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.
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.
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.
It's hard to capture absolutely everything which has changed, but here are a few more stragglers.
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"):
git shortlog -sn --since "2023-07-01"
256 Dion Moult
60 Sigma Dimensions (Yass)
24 Thomas Krijnen
18 Dirk Olbrich
16 Carlos Dias
12 Bruno Perdigão
10 dushyant basson
6 Bruno Postle
5 Kristoffer Andersen
5 Massimo Fabbro
5 Ryan Schultz
2 Christoph Mellueh
1 Wei Yang
Donors since the last release:
Cyril Waechter BIM Insight
Frode Lund Tharaldsen
Aether Engineering s.a.s. (Aether Engineering)
Leon ten Brinke
Kristoffer Hunnestad Andersen
Fabian Emanuel Kitzberger
Great stuff! Many thanks to all contributors and donors!
Dion, have you considered copy-pasting these release super-posts into some "News" section at blenderbim.org?
@Moult Does new selector syntax apply to IfcClash?
@Moult I am worried... That bunny picture looks AI fake... Where is the bunny!!?
@Moult I am worry... That bunny picture looks AI fake... Where is the bunny!!?
@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.
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
Awesome video as usual! I was refreshing your channel every day in anticipation!
Thanks for fielding the tough questions @Moult !