The release update video for Blenderbim 24.06.02
Just a bit too late haha
If there are any corrections please let me know
Now that this is done I'm starting the Bonsai 0.8 update video and then we go from there!
I am trying to test the new web interface. I would like to create a table of all pipes in a project, and add columns for type names, diameter and other properties. I can't find how to create such a schedule or table, where do I start?
try this in Quality and Coordination > Collaboration > Spreadsheet Import/Export
when you click on the cogwheel you can also select if the output should be a .csv etc or web browser
I am really happy with the polyline walls. And very glad it made to 4.2.
I am also really excited to check if bonsai is ready for smaller projects with tiny details and interior designs. I am also curious if the advance made in bonsai will be somehow usefull for freecad. I am planning on leaving Archicad till next year, it is a great program, but subscriptions are unethical for me. ..and I am currently struggling to learn freecad, but it always crashing on me right now. I think I don't quite got the workflow of it. But that's a different discussion.
This thread deserves to be renamed “Bonsai new releases!” (plural) or "Bonsai News!" and should definitely be pinned somewhere on the forum homepage. 😉
Bonsai v0.8.1 has been released with 1,902 (!!!) new features and fixes. It's our built environment, help support Bonsai: 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://bonsaibim.org/
It has been 6 months since the last release, so fasten your seatbelts for another 3,000 word essay. This release focuses on fundamental authoring capabilities and stability.
CGAL hybrid is now the default
The previous release brought support to choose between multiple geometry kernels. For a long time, IfcOpenShell used OpenCASCADE, but now, it can mix and match between CGAL and OpenCASCADE. Because CGAL support was new, it was highly unstable. It's now stable enough for a hybrid CGAL-OCC engine to become the default. The biggest thing this means for users is that things are much faster and regressions where objects don't load properly have been resolved. Depending on the model, load times can be easily twice as fast or better (especially if you're running a script outside Blender).
Improved polyline drawing tool and general authoring
The polyline drawing tool (e.g. for drawing walls) has improved the input experience to be more intuitive and stable. There are also now wall and slab previews, consistent visual style, input formulas and metric/imperial-parsing input, and works on all LAYER2 elements, not just walls. As it matures it's now the default tool (as opposed to Shift-P). Snapping has been improved, with custom snap axis angle, lock angle, new increment "nice-number" snapping, custom snap symbols, snap to empties and curves, and toggle snap target.
When drawing walls, you can also flip walls and slabs and change the axis offset (i.e. whether you draw from centerline, interior, exterior, etc, or if a slab goes up or down). You can also one-click generate walls around the perimeter of a slab, or vice versa, generate a slab from a perimeter of walls.
The polyline tool as been extended to now work for drawing slabs and profiled elements (beams, coverings, etc).
The type manager has been consolidated and upgraded, including a new way to filter by name and better UX to see which types are active. When adding a type, a preview is now shown to show what you're inserting and where it's going to appear, including auto snapping doors and windows to walls. In general, using the 3D cursor, which is really unintuitive to non-Blender veterans, is slowly going away.
Elements that are aggregated together will now move together as a group, and you can Tab into it to isolate and edit individual subelements. This also now works for nested elements.
A new lock mode means you can globally lock and unlock, or hide and show rarely changed elements such as grids and spatial elements. Grids are now highlighted globally and render their axis tag. Locked elements cannot be moved, duplicated, or deleted. Object scales are also globally locked, to prevent users from being confused about whether scaling works in IFC.
Parametric object upgrades
Parametric roofs got an upgrade. The roof profile now always represents the top of eave. This better represents how things are built rather than the bottom of eave previously. The roof therefore always grows down from the profile. The rafter edge angle can only be acute. This means that the roof will never grow larger than the footprint profile that you've drawn. (before, the footprint was not guaranteed to match). The roof thickness is now the actual thickness of the roof, not the "vertical dimension" of the roof. This means that the roof thickness can now match intended layer thicknesses instead of you needing to do math to work it out.
Parametric geometry (e.g. stairs, roof) can now be added to non-geometric objects. Parametric stairs can now have the length dimension constrained, so you can change other parameters without affecting the length.
Parametric doors now have rudimentary support for constituent materials! This means that you can have different materials (and shape aspects, more on that later!) for framing and lining. As this matures this'll roll out to all tools.
Improved measure tool
Measurements now persist, snaps with multi-snap target support, has modes (single / polyline / area), and allow orbiting while tool is active.
Direct IFC element adding
This sounds as though it should've happened a long time ago, but here it is. Previously, the only way to create a IFC element was to first create a Blender object, then "convert" it into an IFC element. So if you wanted to add a simple solid extrusion (not a mesh), you'd first model a mesh, convert it, then re-convert that mesh into a solid through automated topological analysis. Yikes! If you wanted to add a parametric wall or profiled beam, you'd have to either follow the preset wizards, or know the exact rules in how IFC uses non-geometric types and material sets to generate layered elements. Also yikes!
It's now possible to straight up directly create an IFC element. This new Add > IFC Element is now a standardised way to add any new element.
Because IFC elements are a bit more than just geometry, you're given the choice to name and describe it whilst you're creating it. You're also asked to make the choice on the type of geometry (or no geometry at all!). Right now, there are three main types of geometry: mesh-like, solid-like, and parametric. Solid geometry will allow you to immediately model geometry using extrusions, not meshes (similar to most existing BIM software). Parametric ones give you access to things like standard cases doors, windows, stairs, and so on.
Similarly, adding an occurrence of a non-geometric type also now lets you pick what type of geometry to add.
A special scenario is for feature elements. You might know them by the most popular type of feature: an opening in a wall. Feature elements aren't just openings, they can also be additive (i.e. protrusions) or surface features (i.e. paint layers). These are "dependent" elements, which rely on a parent object to exist and "add or subtract upon". Basic work is done to consolidate openings into a more holistic feature elements workflow that is consistent with how you add all objects.
New item editing mode
In IFC, an object's geometry is made out of "items". A single item represents an isolated mesh, extrusion, boolean operation, or similar. Viewing, adding, and editing individual items of geometry is now possible!
This means that you can add new, distinct mesh "islands" or extrusions, each with their own extrusion depth and direction. This completely transforms Blender from a pure-mesh-only editing tool with only rudimentary non-mesh modeling, into a fledgling truly native solid modeler similar to the modeling paradigm in software like FreeCAD (and Revit, ArchiCAD, Tekla, etc). It's now more significant than ever to choose an appropriate modeling paradigm per object. It's also incredibly educational and revealing when you receive a model with completely inappropriate geometry choices.
This also means that you can distinctively view and create boolean operands, and see how they interact with individual items to combine or cut away portions of your object's geometry. Yes - boolean unions and intersection are also now supported, and you can see the full hierarchy of boolean operations. The old approach of creating "potential" booleans is gone.
This also means you can individually name and style geometric items. A new feature known as Shape Aspects is how you can give individual items of geometry a name. For example, if an extrusion represents a window frame, you can name it "Framing". This can correlate to material constituents, so if names match, the material and the geometry are correlated. If the material has a style colour attached, then the geometry also inherits that colour.
If you use presentation layers (a.k.a CAD layers), you can also assign them individual to items now. Management (add, edit, remove) of layers is now possible.
This also allows you to change style colours of individual items (previously only possible in a limited fashion only for meshes). For Blender veterans, imagine "Material Slots", "Boolean Modifier Stacks", and "Vertex Groups" that now works for non-mesh or composite geometry natively in IFC. Neat!
Along with the new item editing mode comes improved profile editing support. Consecutive arcs are now supported in polylines, and composite profiles are now supported. This is a necessary step on the roadmap for advanced axis editing for curved walls and beams. You can also use an object as a template to create a new profile, or swap out one profile with another when editing a profiled element (e.g. beam, skirting).
Structural analysis visualisation
There is now basic visualisation for structural loads and reactions.
Costing and resourcing improvements
The web cost UI has been significantly upgraded, with an ability to add cost schedules, add / delete / duplicate cost items, add / edit / delete quantities, delete individual cost values, or update cost values on the fly. There is a new ribbon toolbar and improved spreadsheet layout. There are now quick actions upon hover, and can click on quantity and cost cells to change values. It's now also possible to show a schedule of rates. You can configure column visibility with a new form to manage cost classifications. You can also assign parametric quantities from queries, or link cost rates to cost items.
WASM and ARM64 support
IfcOpenShell is now continuously built for WASM / Pyodide and ARM64. It's still highly experimental, but it loads significantly faster now and is starting to become a practical choice. Check out the new IfcOpenShell builds server for developers!
Bugfixes
The number of bugfixes have become too large to list individually, so these release notes no longer mention any fixes, no matter how big or small. This is especially true since the last release represented a significant change in the core IfcOpenShell code. IfcOpenShell itself has become significantly more stable since the last upgrade.
This release cycle saw 673 new issues logged and 596 issued resolved.
So much more
Support positionining CSG pyramids
Warnings are now shown if manual editing or scaling is performed that isn't synced to IFC.
You can now make the selected element in the decomposition panel active.
The spatial decomposition panel can now switch between different modes of model breakdowns, such as aggregation or classification. It is also sorted by elevation and name.
Adding and retrieving IFC2X3 material / profile psets are now supported in the API.
You can now reassign an occurrence to become a type and vice versa.
You can now detect and unshare psets individually or in bulk, with new API features to assign and unassign psets.
New icons everywhere with automatic dark and light mode detection.
Font scaling now takes into account system DPI and Blender interface scale.
Block deletion of mandatory elements (e.g. project)
Styles assigned to individual IfcFaces are now supported in the iterator, and support loading per-face colours as colour attributes
Added API support for editing physical complex quantities.
Schedules have a CSS class to aid in custom styling
You can now purge unused styles and materials
Active bSDD is preserved across sessions
bSDD now supports pagination and is updated to the latest API
PowerProject2Ifc conversion now supports more languages and preserves IDs
Only relevant parametric templates are shown when creating new elements
Oh so many interface tweaks, improved error reporting or warnings, new descriptions and tooltips, and documentation updates
Linked models can now be transformed
Models can be serialsed to TTL WKT
Model precision is now editable
Easier selection of clipping planes
BIM tool now switches between add and edit modes depending on selection
IfcFillAreaStyleTiles and hatching is now supported in the style manager, which now shows all style types (not just surface), and it reports per-style-type stats
Appending assets can now disable reusing named assets
Conversion using IfcConvert can now choose between surface colours and diffuse colours explicitly
You can now merge identical styles and materials together
Advanced mode is now auto enabled on large projects with unlimited loading enabled (with a warning)
New unify shapes option in IfcConvert
IfcSpace is now treated as special and stored in their own collection. Elements are moved into the parent collection.
Adjusted documents UI to prevent invalid IFC editing
Can search through external styles
New filter for profiles used in materials
Pset template editing interface generally improved to prevent invalid states and generate unique pset names
New feature to save a pset into a template
Try to still allowing undo in case an error occured so you can try to save your work
New quick way to jump to and from materials / styles / profiles when managing / assigning them.
All IFC lengths are now shown as lengths with units and allow math or unit mixing
Support for authoring IfcEllipse
So many new developer util and API functions, and mathutils is no longer a dependency!
Converting properties to quantities now has IFC4X3 support
Quantity sets with no templates will now guess an appropriate measure type based on keywords
Wrap text annotations after number of characters is now possible so you don't need to manually add linebreaks
The render engine can now be saved for styled drawings
New date picker interface when choosing IfcDate / IfcDateTime values
Resources can now import / export schedule usage
Georeferencing decoration can now be resized
IfcCSV now supports importing enum values
You can now extract elements from your current selection into a new model
Voids are now shown as wireframe
Colours and inner radius for Blender-native swept disks are now supported, and can be reloaded
Linked models can now be saved as document references natively in IFC, so you can have IFC federation models
External styles can be set using the Blender asset browser for materials
IfcPatch is now easier for devs as it no longer needs the src argument
IfcTester's behaviour on optional facets has changed to the latest specification: null values pass, with a new colour indicating optional / skipped specifications in reports
COBie 2.4 now supports the coordinate tab with colour-coded tabs
IfcTester can now read from XML strings
Git and IfcMerge can now be installed for IfcGit support
Unstable docs are now published and you can switch version of docs
Group manager completely revised and now supports bulk operations for assign / unassign
You can now select elements that use a profile
SetFalseOrigin now can handle non-georeferenced model offsets
New recipe to assign constituent fractions for IFC4 reference view MVDs for layered elements
Cant geometry is implemented.
IfcOpenShell's validation capabilities have been upgraded and can now catch header issues.
Spatial manager now has improved visibility controls
Funding target reached!
We've reached our funding target of 2,500USD per month! This additional funding has sponsored many of the new features you see in this release, such as the improved wall, slab, beam, modeling tools, measurement tools, and aggregate management. We're currently spending more than we earn each month, eating into our savings. Any donation you can help make will go a long way! See https://opencollective.com/opensourcebim for more details.
All changes
All changes can view the directly via the Git logs. A huge thanks to the growing volume of new contributors who are joining the team and changing the industry. You can too!
Credits for this release (in order of commits via git shortlog -sn --since "2024-09-01"):
925 Andrej730
303 Dion Moult
242 Bruno Perdigão
187 Thomas Krijnen
56 Gorgious56
38 Ryan Schultz
22 myoualid
21 tim
13 Bruno Postle
12 Lucas Nascimento
12 Richard Brice
9 Manu Varkey
4 John Yani
4 raj-open
3 Daniel Bo Olesen
3 Kristoffer Andersen
3 `myoualid`
3 civilx64
3 mrfcoelho
3 sboddy
2 Chris Mayo
2 Kipre
2 Louis Trümpler
2 Raj
2 Stephen Boddy
2 Taku Makoni
2 krande
2 ti
1 ArturTomczak
1 Blender Defender
1 Cristian Ritter
1 Dawid Huczyński
1 Herlianto
1 Jason Hilton
1 Jesse Roodhorst
1 LM-Nascimento
1 Moritz Amberger
1 Radek Hlaváček
1 Scott Lecher
1 Takayuki Kato
1 Tyler Kvochick
1 c4rlosdias
1 csritter
1 dependabot[bot]
1 dylcos
1 htlcnn
1 smr02
1 sukanka
Donors since the last release:
Cyril Waechter BIM Insight
Gortemaker Algra Feenstra
Incognito
BIMvoice
PlaniBIM SA
Randolph
Sailor
Lawrence Giroux
Scott Lecher
Tomasz
Full infra (ifc4.3) geometry implementation
Oke
CORE Digital Engineering
Andyro
Heinrich
Matthew Fuller
OpeningDesign
carlopav
emiliano
Hannes Wörn
Jocelin Birling
E4tech Software SA
Ivo Leeman
Mats Norén
Guest
Dion Moult
Lukas Alberts
Brendon Reid
Víctor Bertran
Jonny Knopp
cvillagrasa
StefStap
Sven Amiet
Ari Pikkarainen
BimETS
David Felix
Flurin Müller
Haritonov Alexander
Keith
Losepacific
Dumitru Minciu
Frode Lund Tharaldsen
Hannes
Louis Trümpler
Rodas
tlang
Albert Ray Ratcliffe
ppaawweeuu
Arjan
Smiljan Tukic
Apple M1 build server
Bedrossian Ádám
Henning M.
KennethR
Marcos
N1k0
Udo
bimage
vdl
Abdelmalek HARRAG
Arun
Denis Pommier
Dmitriy Koptev
Duarte Farrajota Ramos
Leon ten Brinke
Mattijs
bitenergie
Hjalti
Omar Zerhouni
Abdelhamid BELMAARIS
Alexander Kleemann
Aslejo
Benjamin Smith
Benny
Bruno Perdigão
Carlos
Dawid Fedko
Fabian Emanuel Kitzberger
Krande
Madars Siksna
Manu Varkey
Marcin Boguslawski
Mitch
Rafel Bayarre
Tim McGinley
Choong1219
Christian
Christoph Mellüh
Miguel
Royner
Valter
bclmnt
casiovadal
Lars
Christopher
Cintia
Dirk Olbrich
Francesc
GPM UNIVERSAL MX
Jean-Pascal
Louis
Mayday
Owura_qu
Pedro Franco
Stephen Cremin
Gaurav Rampal
Marco Andrade
Open Source Collective
Cordero Architecture
Emilio Tasso
Joern Rettweiler
Sam Morley
Cristina
Enrico
van duong
Dale
Thx for the release.
But with version 0.8.1 I have an issue with the ifc_tester feature:
There will be no html report file generated. See below my setting:
I tried to use the Web UI (started a server), but the option IDS Audits I can't select (see below)
Maybe someone can give me an hint.
Wow. This project continues to impress, with every single release. Adding a new geometry engine and mixing/matching between them, particularly the ability to do solids modeling like traditional CAD could be a game changer, not just for buildings. I really hope I might some day get the funding from my employer to start spending hours at work contributing to this!
Better late than never!
This is the previous release v0.8.0
Latest v0.8.1 update video will come out tomorrow!
Thanks @Dion for the update, it looks amazing!
I get a fatal error notification when I enable it. It was installed using the Get Extensions process in the installation guide.
Manual download and install of addon using the zip works fine though.
Error message from Extensions install as follows:
os: Windows
os_version: 10.0.19045
python_version: 3.11.9
architecture: ('64bit', 'WindowsPE')
machine: AMD64
processor: Intel64 Family 6 Model 94 Stepping 3, GenuineIntel
blender_version: 4.3.2
bonsai_version: 0.8.1
bonsai_commit_hash: None
last_actions:
last_error: Traceback (most recent call last):
File "C:\Users\Mike\AppData\Roaming\Blender Foundation\Blender\4.3\extensions\blender_org\bonsai__init__.py", line 225, in
import ifcopenshell.api
ModuleNotFoundError: No module named 'ifcopenshell'
Bonsai v0.8.2 has been released with 654 new features and fixes. It's our built environment, help support Bonsai: 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://bonsaibim.org/
We're back to our regularly scheduled every-2-month releases!
But first and far more importantly, if you're here to check that Cinnamon the rabbit is still alive and well, I can assure you that she is. If you're disgusted by unrealistic AI standards of rabbit beauty, uncannily perfect fur, unblemished ginger shades (she's brown, not ginger), and Disneyfication of her almond eyes, then here is the original picture after she woke up from her midday nap.
Layered wall visualisation
Hooray! This is one of our oldest unresolved bugs and most requested features with a large bounty backing it. IFC supports composite layered walls, and although we also supported it, we never actually visualised those layers. The data was there, you just couldn't see it.
Now you can see it in 3D, you can see it in 2D, and wall layers can now also have priorities set on them, which affects whether they displace other layers in parametric wall joints or are mitred. This supersedes the previous manual butt / mitre functions. This also includes supported for layered sloped walls. This is also available in the IfcOpenShell API if you want to script your own building.
Walls can now extend to irregularly shaped objects. This means you no longer need to draw custom opening shapes for hipped and gable roofs. Drawings now also show material colour-aware cuts.
Blender 4.4 support
There were a slew of fundamental tool breakages, crashes, and platform-specific bugs that had to be addressed, but happy to say that Blender 4.4 is now supported!
Better drawing and snapping
Snapping is now zoom dependent! Polyline walls are now also no longer restricted for small segments. Snapping overall has been improved, especially for empties and curves. The polyline tool now supports custom transformation planes. The measure tool also now works without any active IFC project.
There's also now support for easily quantifying the area of faces with a new Face Area measurement mode. Just click on a face!
Bugfixes
The number of bugfixes have become too large to list individually, so these release notes no longer mention any fixes, no matter how big or small. That said, there were a lot of insidious bugs resolved this cycle. We've also hit a bittersweet milestone of 1,000k open bugs. With this we've called for help for bug triaging to prioritise development resources.
This release cycle saw 355 new issues logged and 303 issued resolved.
So much more
Cleaned up COBie 2.4 in IfcFM now supports PointOfContact and WarantyPeriod
Annotation tool now updates based on your selection like the BIM tool
Blender preferences saved on restart
Named profiles are never deleted when you remove representations
New icons!
More Python 3.9 and 3.10 support in IfcOpenShell
You can now snap overlapped objects in x-ray mode
You can now edit composite profile defs
Door can have a glazing material
Profile editing interface cleaned up
Many snapping improvements and optimisations
3D is prioritised over 2D when loading, before subcontexts
Windows now have different materials and shape aspects
Basic docs added for IfcTester and add more dependencies for a better OOTB experience
Grid API no longer needs mathutils
Piles and columns now always go up
Appending assets now includes shape aspects
Non GRAPH_VIEW Reference representations can now be created
Area measurement now uses the IFC area unit
You can now configure the tmp directory
Sublibraries are now supported
Insane workaround for Revit 2025 loading TINs
IfcPatch recipe to merge identical styles, and merge automatically when loading
Accommodate excessive contexts when loading (workaround for bad IFCs such as from Revizto)
Reloading links works now! Hooray!
You can now create parametric roof shapes for slabs and roofing coverings
UI polish on zones, ports, and systems
You can now enable Eevee transparency so you can see direct sun analysis going through transparent styles
New bisect faces mode for the experimental cutting tool
Improved descriptions, tooltips, and support in IfcSverchok
Placing drawings on sheets now appear adjacent, not piled on top of one another.
Demo library now available for IFC2X3 and IFC4X3
Other news
Financially, we've been spending more than we earn through donations. This has been draining our savings and so we've temporarily scaled back sponsored development for Bruno Perdigão (working on features like wall drawing, snapping, aggregates, and measurement tools). If you or your company benefits from IfcOpenShell or Bonsai, please consider becoming a sponsor: https://opencollective.com/opensourcebim - the donations add up significantly, and hugely accelerate development towards our goal of free software for the entire built environment.
Here's a snapshot of our finances for those interested :) All income and expenses are public on our OpenCollective page. (note that if we didn't get the big cash injection from the wall layer bounty we'd be significantly closer to zero)
GSoC
It's that time of year again! We're beginning the Google Summer of Code contributor cycle. A huge thank you to all applicants and we'll keep everybody posted when projects get announced.
All changes
All changes can view the directly via the Git logs. A huge thanks to the growing volume of new contributors who are joining the team and changing the industry. You can too!
Credits for this release (in order of commits via git shortlog -sn --since "2025-02-09"):
340 Andrej730
143 Dion Moult
75 Bruno Perdigão
41 Thomas Krijnen
10 Richard Brice
8 Ryan Schultz
7 Bruno Postle
6 Massimo Fabbro
6 Sayanjyoti Das
5 falken10
5 tim
2 shmoodyyy
1 Arjo Nagelhout
1 Jesse Roodhorst
1 Jonas Frei
1 Sebastian Friston
1 falken10vdl
1 sebjf
Donors since the last release:
Visualize (Wall/Floor) Layers in BlenderBIM/FreeCAD
Tobias Jörn
CORE Digital Engineering
FOSS-is-the-future
Randolph
BIMvoice
PlaniBIM SA
Cyril Waechter BIM Insight
1ncognito
Heinrich
Lawrence Giroux
Flurin Müller
OpeningDesign
carlopav
Matthew Fuller
André Bonfanti
Ari Pikkarainen
David B InfraBIM
Incognito
Losepacific
Haritonov Alexander
Víctor Bertran
ppaawweeuu
Hannes Wörn
Jonny Knopp
cvillagrasa
Hannes
KennethR
Rodas
tlang
Dumitru Minciu
Louis Trümpler
Frode Lund Tharaldsen
Sven Amiet
Arjan
StefStap
Martina
Sam Morley
Denis Pommier
N1k0
Udo
Duarte Farrajota Ramos
Henning M.
Arun
Bedrossian Ádám
bimage
Dmitriy Koptev
Abdelhamid BELMAARIS
Mattijs
Leon ten Brinke
Abdelmalek HARRAG
bitenergie
Cintia
Harris Karim
Mayday
bclmnt
Fabian Emanuel Kitzberger
Guest
Hjalti
Valter
Aslejo
Marcin Boguslawski
Pedro Franco
Mitch
Krande
Pius
Benjamin Smith
Cristina
Carlos
Smiljan Tukic
Jean-Pascal
Manu Varkey
Dawid Fedko
Bruno Perdigão
Tim McGinley
Rafel Bayarre
Benny
Madars Siksna
Alexander Kleemann
Royner
Christoph Mellüh
casiovadal
Christian
Choong1219
Marco Andrade
Alessandro
Ben Petrie
Mario Turibio
Roel Vyvey
Pascal Nicolas
Antonio
@sahrul said:
I’ve already tried using wall layers, but the hatches all look the same even though I assigned different materials to each layer (sand, brick, sand).
You may need to be in render preview or render mode
@Moult said:
Try .layer-material-foo as your CSS styling. Layer material classes are different. We'll continue to tweak it over time to see what works best :)
@Moult does this mean to add '.layer-material-foo' to the Css file?
Fantastic update btw!
Comments
Phenomenal update, Bonsai!
The release update video for Blenderbim 24.06.02
Just a bit too late haha
If there are any corrections please let me know
Now that this is done I'm starting the Bonsai 0.8 update video and then we go from there!
hi @HaukMorten
try this in Quality and Coordination > Collaboration > Spreadsheet Import/Export
when you click on the cogwheel you can also select if the output should be a .csv etc or web browser
Wow! This is a massive update for Bonsai, congratulations to the entire development team!
Big update with great features! May I ask how to turn on polyline-based Wall creation tool?
hi @htlcnn
with wall tool selected use
Shift
+P
enjoy ;)
Thanks. There should be a button for this :D
I am really happy with the polyline walls. And very glad it made to 4.2.
I am also really excited to check if bonsai is ready for smaller projects with tiny details and interior designs. I am also curious if the advance made in bonsai will be somehow usefull for freecad. I am planning on leaving Archicad till next year, it is a great program, but subscriptions are unethical for me. ..and I am currently struggling to learn freecad, but it always crashing on me right now. I think I don't quite got the workflow of it. But that's a different discussion.
This thread deserves to be renamed “Bonsai new releases!” (plural) or "Bonsai News!" and should definitely be pinned somewhere on the forum homepage. 😉
Bonsai v0.8.1 has been released with 1,902 (!!!) new features and fixes. It's our built environment, help support Bonsai: 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://bonsaibim.org/
It has been 6 months since the last release, so fasten your seatbelts for another 3,000 word essay. This release focuses on fundamental authoring capabilities and stability.
CGAL hybrid is now the default
The previous release brought support to choose between multiple geometry kernels. For a long time, IfcOpenShell used OpenCASCADE, but now, it can mix and match between CGAL and OpenCASCADE. Because CGAL support was new, it was highly unstable. It's now stable enough for a hybrid CGAL-OCC engine to become the default. The biggest thing this means for users is that things are much faster and regressions where objects don't load properly have been resolved. Depending on the model, load times can be easily twice as fast or better (especially if you're running a script outside Blender).
Improved polyline drawing tool and general authoring
The polyline drawing tool (e.g. for drawing walls) has improved the input experience to be more intuitive and stable. There are also now wall and slab previews, consistent visual style, input formulas and metric/imperial-parsing input, and works on all LAYER2 elements, not just walls. As it matures it's now the default tool (as opposed to Shift-P). Snapping has been improved, with custom snap axis angle, lock angle, new increment "nice-number" snapping, custom snap symbols, snap to empties and curves, and toggle snap target.
When drawing walls, you can also flip walls and slabs and change the axis offset (i.e. whether you draw from centerline, interior, exterior, etc, or if a slab goes up or down). You can also one-click generate walls around the perimeter of a slab, or vice versa, generate a slab from a perimeter of walls.
The polyline tool as been extended to now work for drawing slabs and profiled elements (beams, coverings, etc).
The type manager has been consolidated and upgraded, including a new way to filter by name and better UX to see which types are active. When adding a type, a preview is now shown to show what you're inserting and where it's going to appear, including auto snapping doors and windows to walls. In general, using the 3D cursor, which is really unintuitive to non-Blender veterans, is slowly going away.
Elements that are aggregated together will now move together as a group, and you can Tab into it to isolate and edit individual subelements. This also now works for nested elements.
A new lock mode means you can globally lock and unlock, or hide and show rarely changed elements such as grids and spatial elements. Grids are now highlighted globally and render their axis tag. Locked elements cannot be moved, duplicated, or deleted. Object scales are also globally locked, to prevent users from being confused about whether scaling works in IFC.
Parametric object upgrades
Parametric roofs got an upgrade. The roof profile now always represents the top of eave. This better represents how things are built rather than the bottom of eave previously. The roof therefore always grows down from the profile. The rafter edge angle can only be acute. This means that the roof will never grow larger than the footprint profile that you've drawn. (before, the footprint was not guaranteed to match). The roof thickness is now the actual thickness of the roof, not the "vertical dimension" of the roof. This means that the roof thickness can now match intended layer thicknesses instead of you needing to do math to work it out.
Parametric geometry (e.g. stairs, roof) can now be added to non-geometric objects. Parametric stairs can now have the length dimension constrained, so you can change other parameters without affecting the length.
Parametric doors now have rudimentary support for constituent materials! This means that you can have different materials (and shape aspects, more on that later!) for framing and lining. As this matures this'll roll out to all tools.
Improved measure tool
Measurements now persist, snaps with multi-snap target support, has modes (single / polyline / area), and allow orbiting while tool is active.
Direct IFC element adding
This sounds as though it should've happened a long time ago, but here it is. Previously, the only way to create a IFC element was to first create a Blender object, then "convert" it into an IFC element. So if you wanted to add a simple solid extrusion (not a mesh), you'd first model a mesh, convert it, then re-convert that mesh into a solid through automated topological analysis. Yikes! If you wanted to add a parametric wall or profiled beam, you'd have to either follow the preset wizards, or know the exact rules in how IFC uses non-geometric types and material sets to generate layered elements. Also yikes!
It's now possible to straight up directly create an IFC element. This new
Add > IFC Element
is now a standardised way to add any new element.Because IFC elements are a bit more than just geometry, you're given the choice to name and describe it whilst you're creating it. You're also asked to make the choice on the type of geometry (or no geometry at all!). Right now, there are three main types of geometry: mesh-like, solid-like, and parametric. Solid geometry will allow you to immediately model geometry using extrusions, not meshes (similar to most existing BIM software). Parametric ones give you access to things like standard cases doors, windows, stairs, and so on.
Similarly, adding an occurrence of a non-geometric type also now lets you pick what type of geometry to add.
A special scenario is for feature elements. You might know them by the most popular type of feature: an opening in a wall. Feature elements aren't just openings, they can also be additive (i.e. protrusions) or surface features (i.e. paint layers). These are "dependent" elements, which rely on a parent object to exist and "add or subtract upon". Basic work is done to consolidate openings into a more holistic feature elements workflow that is consistent with how you add all objects.
New item editing mode
In IFC, an object's geometry is made out of "items". A single item represents an isolated mesh, extrusion, boolean operation, or similar. Viewing, adding, and editing individual items of geometry is now possible!
This means that you can add new, distinct mesh "islands" or extrusions, each with their own extrusion depth and direction. This completely transforms Blender from a pure-mesh-only editing tool with only rudimentary non-mesh modeling, into a fledgling truly native solid modeler similar to the modeling paradigm in software like FreeCAD (and Revit, ArchiCAD, Tekla, etc). It's now more significant than ever to choose an appropriate modeling paradigm per object. It's also incredibly educational and revealing when you receive a model with completely inappropriate geometry choices.
This also means that you can distinctively view and create boolean operands, and see how they interact with individual items to combine or cut away portions of your object's geometry. Yes - boolean unions and intersection are also now supported, and you can see the full hierarchy of boolean operations. The old approach of creating "potential" booleans is gone.
This also means you can individually name and style geometric items. A new feature known as Shape Aspects is how you can give individual items of geometry a name. For example, if an extrusion represents a window frame, you can name it "Framing". This can correlate to material constituents, so if names match, the material and the geometry are correlated. If the material has a style colour attached, then the geometry also inherits that colour.
If you use presentation layers (a.k.a CAD layers), you can also assign them individual to items now. Management (add, edit, remove) of layers is now possible.
This also allows you to change style colours of individual items (previously only possible in a limited fashion only for meshes). For Blender veterans, imagine "Material Slots", "Boolean Modifier Stacks", and "Vertex Groups" that now works for non-mesh or composite geometry natively in IFC. Neat!
Along with the new item editing mode comes improved profile editing support. Consecutive arcs are now supported in polylines, and composite profiles are now supported. This is a necessary step on the roadmap for advanced axis editing for curved walls and beams. You can also use an object as a template to create a new profile, or swap out one profile with another when editing a profiled element (e.g. beam, skirting).
Structural analysis visualisation
There is now basic visualisation for structural loads and reactions.
Costing and resourcing improvements
The web cost UI has been significantly upgraded, with an ability to add cost schedules, add / delete / duplicate cost items, add / edit / delete quantities, delete individual cost values, or update cost values on the fly. There is a new ribbon toolbar and improved spreadsheet layout. There are now quick actions upon hover, and can click on quantity and cost cells to change values. It's now also possible to show a schedule of rates. You can configure column visibility with a new form to manage cost classifications. You can also assign parametric quantities from queries, or link cost rates to cost items.
WASM and ARM64 support
IfcOpenShell is now continuously built for WASM / Pyodide and ARM64. It's still highly experimental, but it loads significantly faster now and is starting to become a practical choice. Check out the new IfcOpenShell builds server for developers!
Bugfixes
The number of bugfixes have become too large to list individually, so these release notes no longer mention any fixes, no matter how big or small. This is especially true since the last release represented a significant change in the core IfcOpenShell code. IfcOpenShell itself has become significantly more stable since the last upgrade.
This release cycle saw 673 new issues logged and 596 issued resolved.
So much more
Funding target reached!
We've reached our funding target of 2,500USD per month! This additional funding has sponsored many of the new features you see in this release, such as the improved wall, slab, beam, modeling tools, measurement tools, and aggregate management. We're currently spending more than we earn each month, eating into our savings. Any donation you can help make will go a long way! See https://opencollective.com/opensourcebim for more details.
All changes
All changes can view the directly via the Git logs. A huge thanks to the growing volume of new contributors who are joining the team and changing the industry. You can too!
Credits for this release (in order of commits via
git shortlog -sn --since "2024-09-01"
):Donors since the last release:
A-M-A-Z-I-N-G!
Thx for the release.

But with version 0.8.1 I have an issue with the ifc_tester feature:
There will be no html report file generated. See below my setting:
I tried to use the Web UI (started a server), but the option IDS Audits I can't select (see below)

Maybe someone can give me an hint.
Is a HTML report generated in the same folder as your IFC file?
Btw the best place to report this is the GitHub issue tracker https://github.com/IfcOpenShell/IfcOpenShell/issues
Wow. This project continues to impress, with every single release. Adding a new geometry engine and mixing/matching between them, particularly the ability to do solids modeling like traditional CAD could be a game changer, not just for buildings. I really hope I might some day get the funding from my employer to start spending hours at work contributing to this!
@Moult: no there is no HTML report file in the same folder as the IFC file.
I opened an issue: https://github.com/IfcOpenShell/IfcOpenShell/issues/6136 .
Thx
Better late than never!

This is the previous release v0.8.0
Latest v0.8.1 update video will come out tomorrow!
Thanks @Dion for the update, it looks amazing!
Latest release of Blender 0.8.1!
It is incredibly stable and the tools are easier to use than ever!
I get a fatal error notification when I enable it. It was installed using the Get Extensions process in the installation guide.
Manual download and install of addon using the zip works fine though.
Error message from Extensions install as follows:
os: Windows
os_version: 10.0.19045
python_version: 3.11.9
architecture: ('64bit', 'WindowsPE')
machine: AMD64
processor: Intel64 Family 6 Model 94 Stepping 3, GenuineIntel
blender_version: 4.3.2
bonsai_version: 0.8.1
bonsai_commit_hash: None
last_actions:
last_error: Traceback (most recent call last):
File "C:\Users\Mike\AppData\Roaming\Blender Foundation\Blender\4.3\extensions\blender_org\bonsai__init__.py", line 225, in
import ifcopenshell.api
ModuleNotFoundError: No module named 'ifcopenshell'
binary_error: Couldn't find ifcopenshell wrapper binary.
@dionmoult Is BonsaiBIM scheduled to be released this month?
Bonsai v0.8.2 has been released with 654 new features and fixes. It's our built environment, help support Bonsai: 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://bonsaibim.org/
We're back to our regularly scheduled every-2-month releases!
But first and far more importantly, if you're here to check that Cinnamon the rabbit is still alive and well, I can assure you that she is. If you're disgusted by unrealistic AI standards of rabbit beauty, uncannily perfect fur, unblemished ginger shades (she's brown, not ginger), and Disneyfication of her almond eyes, then here is the original picture after she woke up from her midday nap.
Layered wall visualisation
Hooray! This is one of our oldest unresolved bugs and most requested features with a large bounty backing it. IFC supports composite layered walls, and although we also supported it, we never actually visualised those layers. The data was there, you just couldn't see it.
Now you can see it in 3D, you can see it in 2D, and wall layers can now also have priorities set on them, which affects whether they displace other layers in parametric wall joints or are mitred. This supersedes the previous manual butt / mitre functions. This also includes supported for layered sloped walls. This is also available in the IfcOpenShell API if you want to script your own building.
Walls can now extend to irregularly shaped objects. This means you no longer need to draw custom opening shapes for hipped and gable roofs. Drawings now also show material colour-aware cuts.
Blender 4.4 support
There were a slew of fundamental tool breakages, crashes, and platform-specific bugs that had to be addressed, but happy to say that Blender 4.4 is now supported!
Better drawing and snapping
Snapping is now zoom dependent! Polyline walls are now also no longer restricted for small segments. Snapping overall has been improved, especially for empties and curves. The polyline tool now supports custom transformation planes. The measure tool also now works without any active IFC project.
There's also now support for easily quantifying the area of faces with a new Face Area measurement mode. Just click on a face!
Bugfixes
The number of bugfixes have become too large to list individually, so these release notes no longer mention any fixes, no matter how big or small. That said, there were a lot of insidious bugs resolved this cycle. We've also hit a bittersweet milestone of 1,000k open bugs. With this we've called for help for bug triaging to prioritise development resources.
This release cycle saw 355 new issues logged and 303 issued resolved.
So much more
Other news
Financially, we've been spending more than we earn through donations. This has been draining our savings and so we've temporarily scaled back sponsored development for Bruno Perdigão (working on features like wall drawing, snapping, aggregates, and measurement tools). If you or your company benefits from IfcOpenShell or Bonsai, please consider becoming a sponsor: https://opencollective.com/opensourcebim - the donations add up significantly, and hugely accelerate development towards our goal of free software for the entire built environment.
Here's a snapshot of our finances for those interested :) All income and expenses are public on our OpenCollective page. (note that if we didn't get the big cash injection from the wall layer bounty we'd be significantly closer to zero)
GSoC
It's that time of year again! We're beginning the Google Summer of Code contributor cycle. A huge thank you to all applicants and we'll keep everybody posted when projects get announced.
All changes
All changes can view the directly via the Git logs. A huge thanks to the growing volume of new contributors who are joining the team and changing the industry. You can too!
Credits for this release (in order of commits via
git shortlog -sn --since "2025-02-09"
):Donors since the last release:
I’ve already tried using wall layers, but the hatches all look the same even though I assigned different materials to each layer (sand, brick, sand).
You may need to be in render preview or render mode
Try
.layer-material-foo
as your CSS styling. Layer material classes are different. We'll continue to tweak it over time to see what works best :)@Moult does this mean to add '.layer-material-foo' to the Css file?
Fantastic update btw!
Yep
This is getting beautifully easy, incredible update
