BlenderBIM Add-on new release!



  • Awesome video as usual @Ace ! Fun fact, all historic builds are available here .

    BTW for the inset window you can just adjust the lining offset parameter. See a diagram of what the parameters mean here:

    As this suite of tutorials by @Ace are turning into a comprehensive beginners course, I think it makes sense to include it in the documentation and / or linked to on the website. What do you think @Ace?

  • Hey @Moult thanks! and very cool! That's a bit of history right there. Good to know about the window insets! thanks that's very informative! I'm super keen for it to be included, What do you need from me?

  • Hi! I am trying out v230310 to test the roof generator (wow!), but I couldn't figure out what happened to the materials... when I try to create a new type from an empty with MaterialLayerSet I don't find the IFC Object Material in the menu anymore. Was it moved?

  • Thank you, but empties don't have the material tab - I am probably missing something

  • @elo_elle it was a mistake to move it, it's now been moved back!

  • Hey @Moult Have you considered creating a demo file page for people to download?
    similar to the Blender splash screen demo files:

    With the tutorials, I am creating sets of files and adhock adding them to the threads here but it would be nice for people to have a repository on the website that has files they can play with and try out

    DavidEbrunopostleCoentheoryshawSavyGust27bitacovirNigelwmielo_elleDarth_Blenderand 2 others.
  • @Ace sorry for the delay, I've added your video series to the front page of the documentation website: - although I think it's always important to have a text tutorial as well as text-based detailed reference guides, I think the AEC industry is quite visual and a comprehensive video tutorial series should be the very first thing people are introduced to :)

    It would be awesome to have a list of demo files! Perhaps a good start would be for you to host the files on a Git repo (that way they can be updated and versioned over time) somewhere that could be updated as the videos are updated? The docs website can also have a dedicated page just like Blender's demo files page which links to them. (the docs site are all coded in restructured text so it is easy for anybody to contribute to it).

  • edited May 7

    BlenderBIM Add-on v0.0.230506 has been released with 534 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:

    OK. Deep breath. Get ready. Go!

    Splash image generated by @cvillagrasa using Midjourney CC BY-NC 4.0.

    Drawings and sheets are now portable

    The sheet, drawing, and schedule system has been made fully portable, storing relative paths in IfcDocumentReferences, and capturing all of the components needed to build sheets in IfcDocumentReferences. This means that it is finally practical to switch between multiple projects on the same computer, or package a project that someone else can open on their computer.

    Note: drawing and IFC model from the Clothing Boutique project by Opening Design CC-BY-SA 4.0 produced with the BlenderBIM Add-on. A huge thank you to the Clothing Boutique project who helped battle test and report numerous bugs to help stabilise this release cycle.

    All related drawing and sheet assets like titleblocks, view title templates, CSS stylesheets, symbols, markers, and patterns are all able to be stored alongside your IFC project as referenced URIs. Things like the titleblock dropdown now also shows your project specific titleblocks.

    Renaming or renumbering drawings, sheets, and schedules is now much more practical and flexible.

    Huge drawing system upgrades

    Arbitrary metadata may now again be stored for any object in a drawing as a CSS class. Imperial dimension formatting improved. Spatial elements are now drawn on top so you can tag and colour code spaces without obscuring elements in the space. You can now bulk print or open drawings and change sheet title blocks after a sheet has been generated.

    Two optional engines are now available for semantic projection fills. If you have elements in the background such as carpeted floor coverings that need hatch patterns or fills, you can now activate either a Shapely-based engine or an SVGFill-based engine which will properly semantically tag closed polygons in the background of your drawing.

    Schedules from ODS now supports merged columns, row heights, cell text alignments, and multiline text wrapping. This means formatting of schedules in ODS can be preserved when rendering on sheets.

    Section annotations in drawings now support truncated section lines, and disabled / custom section symbols at either end of the section.

    The cut merging tool introduced in the previous release also got a bunch of much needed stability upgrades and now works on more complex projects at a fraction of the time.

    Viewport drawing upgrades

    There is a new cut decorator that clearly shows the cut line in drawings. Drawings also now activate target view specific representations (e.g. door swings in plan view). Parametric layered walls now have their layer slices shown in the viewport. Put together this means a significantly more user friendly drawing view that closely resembles the final generated vector drawing.

    Viewports now also take into account include and exclude element filters for the drawings, as well as only showing element in view. This means that drawings now generate faster (easily twice as fast or more for larger projects) and your view isn't cluttered with excluded elements. This makes is practical to work on phased projects (e.g. demolished versus new construction statuses).

    You can also now customise decorator colours. Using a light theme? Go for it.

    Critical bugfixes

    Tons of bugfixes were made, but certain bugs were so critical or have a big impact on usability that they deserve a special mention. During this release cycle, we managed to hunt down and fix a ton of these critical bugs.

    Critical bug fixes include fixing tiny polygon hatch merging on drawing plans. Fix crash when editing with decorators. Fix data corruption on undo where IFC primitive editing was stored. Fix disappearing openings when splitting walls. Fix issue where copying objects could unnecessarily copy themselves recursively. Fix installation error of IfcSverchok. Fix bug where 2D elements were sometimes not loaded when loading IFCs. Fix UX issue that commonly led to users creating objects with unintended contexts. Fix issue where certain materials weren't appended when appending elements from a project library, or where types were recursively pulled in causing bloated type libraries. Fix crash in IFC array tool. Fix issue where editing layer thickness accidentally didn't consider the total thickness of all layers. Quantity take-off calculation now uses project units.

    A number of critical save-time synchronisation issues were resolved. These would cause unnecessarily long file saves or significantly unnecessary data changes. For example, type objects used to incorrectly track placement and were all synced at save time.

    Fix "repeat last operator" for duplicating elements. Fix unlinking bug which would break other material users in the file.

    IFC Git version control integration

    Incredible work by Bruno Postle and Bruno Perdigao have led to an integration with the IFC Git project. This allows you to track changes on an IFC project, merge changes from multiple users, and jump to points in the project change history.

    You can now manage your BIM data in a local Git repository without leaving the BlenderBIM Add-on. Instead of just saving a file, you can create revisions with descriptions. These revisions are browsable and retrievable, changes between two revisions can be visualised in 3D. Any revision can be forked, creating a branch for developing options or playing with designs. There is an experimental tool to merge branches using an IFC specific three-way merge for conflict resolution.

    IFC validation improvements

    Lots of IFC validation issues resolved, including incorrectly using 3D coordinates for 2D profiles, or a number of orphaned relationships. The IFC validation utility now also has a number of fixes to false positives. The pset and qto authoring UI has been modified to prevent the ability to create invalid sets without properties.

    Invalid IFCs may lead to unpredictable behaviour in native IFC authoring tools, or worse, complete incompatibility in other IFC software.

    More parametric tools

    New parametric railing tool. Two types of railings are now supported, including a frameless glass ballustrade and a wall mounted handrail.

    Generated spaces now use their object placement as a space recalculation point when regenerating spaces. Parametric sliding doors are now supported.

    New UI for generating roofs. You can also set roof angles so gable roofs as well as hipped roofs are now supported.

    Parametric dimension fields in the BIM Tool (such as extrusion depth, length, X angle) are now aware of project units - a simple but significant usability improvement especially for imperial users.

    New join tool means you can intelligently join objects. Meshes are merged into a single mesh object, whereas solids are joined into multiple solid representation items.

    Faux-mirroring is now implemented, so you can mirror columns, furniture, walls, etc based on any arbitrary axis. Faux mirroring is similar to normal mirroring, except that there is no lateral inversion. This means that mirroring preserves the geometry exactly.

    Improved control over bulk assigning and unassigning aggregates in prepration for elemented wall modeling at later design stages. Voids and fills may also be added to aggregates, so that you can have a single opening penetrating multiple coverings, members, and other objects.

    Upgrades to text annotations

    Text annotations got a big upgrade with support for multiple text literals. This means that you can view multiline text in the viewport, as well as have annotation symbols with multiple text components (e.g. a space annotation with a number, name, and area) in drawings. Text now respects multiple text sizes and box alignment in the viewport. Text may also have a background fill for readability in drawings.

    Improved selector syntax now allows you to escape complex names and regex. There is also now support for chained relationship selections and list index selection, so you can select the material of a 2nd layer of a layer set, for instance. This means you can easily write queries that filter project phases, or common properties like fire ratings across many object types.

    Text annotations may also use evaluated Python commands for advanced users to annotate substrings, special numerical formatting or rounding, or more. There are also more built-in symbols so that you don't need to create your own for simple tags.

    New smart bulk annotation tool

    There's a new annotation tool with a focus on making annotation as easy as possible. Annotations may now be typed, so that styles (such as classes) from the type, or representations (such as preset text tags) may be set once at the type level, then bulk applied to all instances.

    When you add stair arrow annotations, preselected stairs will have arrows automatically added along the stair flight run. You may also bulk select instances and tag them using your own custom annotation type.

    New fall annotation tool, allowing you to annotate falls and slope angles / grades.

    BGL to GPU migration

    Blender is deprecating its BGL library that the BlenderBIM Add-on uses for drawing viewport decorations. Decorations include profile highlights, and live drawing annotations like text notes, dimensions, and so on. A considerable amount of work was done to migrate to the new GPU library, which means that users on the latest Blender versions can still enjoy all of the decoration features.

    Unfortunately, work is not yet finished and some MacOS users may be missing decorations. This will be resolved in time for the next release.

    New edit mode and non-delayed element deletion

    There is a completely new edit mode toggling system. This means that if you have a mesh-based representation (such as faceted breps or tessellation), your edits are tracked whilst you're in editing mode, and you are given the option to save or discard edits as you toggle edit mode. In the past, mesh edit modes were delayed and synchronised at file save, which led to synchronisation bugs. This new method helps fix a number of previously obscure bugs.

    For non-mesh based representations, mesh editing is disabled, unless you have explicitly cast the geometry type to a mesh-compatible representation. This prevents people editing objects in an incompatible manner. This also allows us to enable representation-specific editing tools, such as profile editing for space boundary surfaces.

    Similarly, element deletion now happens on demand, instead of delayed until synchronisation events. This also prevents a lot of obscure potential bugs. Element deletion is now also a lot faster, even thousands of times faster for dense mesh-like representations.

    More ways to author space boundaries

    Space boundaries are ways of representing boundaries between spaces for energy analysis. Previously, the features available to load, create, and edit boundaries were very clunky. Now, there is an easy way to create a new untyped space, bulk generate spaces from walls, and toggle boundaries on or off for selected spaces.

    Space boundaries can now be easily selected, and automatically generated. Generation intelligently takes into account walls, openings, and fills like doors and windows, automatically creating inner boundaries for these objects correctly projected onto the plane of the boundary.

    A new boundary profile editing tool makes it easier to edit inner and outer boundaries as profiles similar to how you'd edit slab profiles, and now supports filleted arcs and circles as well.

    Improved resource management tools

    Resources are used in the domain of scheduling and costing. There are now features to review and edit Resource productivity data on the fly, and add number of Resources used directly from resource tree. These two features now make it a lot faster to: parametrically calculate a Resource’s Required Work based on its productivity, and parametrically schedule the duration of a task based on the number of resources.

    Cost management

    You can now select unassigned cost schedule products - find out what's left to schedule!

    Conveniently show total elements/tasks/resources assigned to a cost item. Enable displaying nested elements for Cost Items - elements, resources, tasks. The UI for adding cost item values has been improved.

    You can now clear all assignments assigned to a cost item. New ability to change cost item parent in a tree, and re-order cost items in a tree.

    Gantt chart and baselines for construction scheduling

    Create & view work schedule baselines. You can now compare Baselines vs Planned with Gantt Charts. You can now conveniently print Gantt Charts in different Sheet Formats. Added support for multiple languages for Gantt Chart Headers. Enable displaying task tooltip when hovering over tasks in the Gantt Chart. Add resource columns in Gantt Chart. Improvements on the Gantt Chart page style layout.

    Improved Work Schedule UX. Implement human readable durations in task tree. Edit durations with human readable durations.

    Select individual Task Inputs & Task Outputs directly from the task quantity assignments. Display nested task resources/task inputs of the active task. Buttons to select a Work Schedule's assigned / unassigned products.

    New viewport 4D/5D tools

    Show list of tasks related to the current object selection. Highlight tasks related to the current object selection

    Side-Panel Menu to retrieve cost items assigned to an object. Highlight cost items related to the current object selection

    So much more

    Utilities to get connected MEP elements in a distribution system is now supported for IFC4. Upgrades to the FixRevitTINs patch for fixing Revit-specific issues for loading TINs from Civil3D.

    Titleblocks now support dynamic angles for north arrows. IFC Array now supports local or global coordinates, and getting coordinate offsets from the 3D cursor. New thick line section rendering for temporary sections. Site reference long/lats can now be edited. Loading IfcProxy now supported. Materials can now be duplicated. Quantity take off improvements include the ability to calculate weights based on material densities. Easily see related cost items and quantities of selected items.

    A huge thanks to the growing volume of new contributors who are joining the team and changing the industry. You can too!

    Also a huge thanks to the growing volume of new donors who have helped is raise funds here: - thanks to you, we were able to sponsor development. Many of the features you have just read about would not have been possible to do in this timeframe without your help. Thank you!

    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-03-04"):

       184  Dion Moult
       174  Andrej730
        52  Sigma Dimensions
        35  Thomas Krijnen
        16  Massimo Fabbro
         9  Bruno Perdigão
         8  Bruno Postle
         7  Carlos Villagrasa
         5  Andres
         5  Chun
         5  Gorgious56
         5  Kristoffer Andersen
         5  Trashman247
         4  Ryan Schultz
         4  krande
         3  Andrej
         3  Vukas Pajic
         2  CyrilWaechter
         1  ArturTomczak
         1  Nathan Hild
         1  Shohei Kunimatsu
         1  arun
         1  ay-ex
         1  dependabot[bot]
         1  htlcnn
         1  kzfile

    Donors since the last release:

    Mats Norén
    PlaniBIM SA
    Cyril Waechter BIM Insight
    Dion Moult
    Sven Amiet
    Aether Engineering s.a.s. (Aether Engineering)
    Matthew Fuller
    Hans Hendriks
    Bedrossian Ádám
    Dumitru Minciu
    Frode Lund Tharaldsen
    Marin Ljuban
    Felipe Hita Suárez
    Jonny Knopp
    Johnson Bankole
    Leon ten Brinke
    Smiljan Tukic
    Sigve Pettersen
    Marcin Boguslawski
    Madars Siksna
    Kristoffer Hunnestad Andersen
    Rafel Bayarre
    Stephen Cremin
    Carlos Dias
    Alexander Kleemann
    Lukas Alberts
    Ari Pikkarainen
    Fabian Emanuel Kitzberger
    Dirk Olbrich
    Tommi P.
    Mehmet Cenk
    cvillagrasabrunopostlePavlosDem9MartinRomanhtlcnnAceNigelHagaeusbruno_perdigaoNaxelaand 19 others.
  • "Two optional engines are now available for semantic projection fills. If you have elements in the background such as carpeted floor coverings that need hatch patterns or fills, you can now activate either a Shapely-based engine or an SVGFill-based engine which will properly semantically tag closed polygons in the background of your drawing."

    Anyone quite know how this works?
    I am assuming the process of:
    assigning a IFC Object material
    Labelling the material or material layerset usage something default like 'brick'
    = get brick texture in background

    How does one select an engine to use?

  • Since it's still experimental, you enable it in the camera properties. Note that this is not stored in IFC yet. FYI don't enable both at once I have no idea what would happen if you did that.

  • @Moult said:
    Since it's still experimental, you enable it in the camera properties. Note that this is not stored in IFC yet.

    Thanks @Moult ! Working perfectly

    FYI don't enable both at once I have no idea what would happen if you did that.

    It crashes BlenderBim, I couldn't help myself

  • Thanks @Moult and everyone who contributed! SO many updates, my voice started to crack

    If I got anything wrong or if anyone knows something I don't keep me in the loop!

    bitacovirbrunopostlehtlcnnMoultGorgiousNaxelacarlopavDADA_universecvillagrasaAndrej730and 3 others.
  • edited May 11

    Simply beautiful! Many thanks Dion and all contributors!

    @Moult said:
    BlenderBIM Add-on v0.0.230506 has been released with 534 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:

    OK. Deep breath. Get ready. Go!

Sign In or Register to comment.