Bonsai new release!

18910111214»

Comments

  • Phenomenal update, Bonsai!

    MoultJohnGorgiousBIMster
  • AceAce
    edited September 2024


    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!

    htlcnnKoArabdamayduarteframosShegsGerardTMoultNigelDarth_Blendercondurand 2 others.
  • edited September 2024

    hi @HaukMorten

    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

    AceKoAraDimitris
  • 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

    Big update with great features! May I ask how to turn on polyline-based Wall creation tool?

    with wall tool selected use Shift+P
    enjoy ;)

    htlcnnAceGorgiousCadGiru
  • @steverugi said:
    hi @htlcnn

    Big update with great features! May I ask how to turn on polyline-based Wall creation tool?

    with wall tool selected use Shift+P
    enjoy ;)

    Thanks. There should be a button for this :D

    duarteframosMoultGorgious
  • 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. 😉

    bsmith
  • edited February 9

    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
    
    Darth_BlendersteverugiMassimohtlcnnArvBedsonpaulleeJanFppaawweeuutheoryshawand 32 others.
  • A-M-A-Z-I-N-G!

    duarteframos
  • 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!

    duarteframos
  • @Moult said:
    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

    @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!

    MassimovdlShegsAndrej730duarteframossteverugiDarth_BlenderNigelppaawweeuuPreparadorDeObraand 7 others.

  • Latest release of Blender 0.8.1!
    It is incredibly stable and the tools are easier to use than ever!

    steverugivdlAndrej730MassimofurtonbNigelppaawweeuuelo_elleShegsduarteframosand 9 others.
  • 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.

Sign In or Register to comment.