BlenderBIM Add-on new release!



  • @Moult said:
    @abonfo probably not yet. We'll probably do another round of bSDD updates to improve integration in this release cycle.

    Ok, thank you! I was not sure if there was a fetching issue or a code update issue :)

  • Amazing job guys, thank you very much!

  • I am looking forward to the recent MEP update of BlenderBIM-Add on.
    PredifinedType is repeated twice for object Add and Edit, it would be nice if it could be done only once, is this the intended behavior?

    The User Perspective display seems to depend on what is selected in the tree on the left, is it correct that it is not always Spatial Conteiner?

    I'm having a bit of trouble switching back and forth between Object Mode and Edit Mode and getting it to save correctly to IFC. For simple rectangles (box enclosures) and cylinders (pipes), I would like to be able to complete dimension editing in Object Mode.
    Thank you for your development.

  • PredifinedType is repeated twice for object Add and Edit, it would be nice if it could be done only once, is this the intended behavior?

    This is intended. After all, after adding it you may change your mind and edit it.

    is it correct that it is not always Spatial Conteiner?

    Yes, it shows whatever collection you have "active". Sometimes this is the spatial container, at other times it may be the parent aggregate or nested whole, or the types collection, etc. There are many ways to organise IFC models and the spatial tree is only one option.

    I'm having a bit of trouble switching back and forth between Object Mode and Edit Mode and getting it to save correctly to IFC

    Is there a problem you can describe that we can recreate and fix?

  • @Moult
    Thank you for your response.
    The third one was a bit of a blur, but don't all beginners make these mistakes? LOL.
    I want to become an intermediate user of the BBIM Add-on.

  • Hi @KoAra that tutorial is a bit old now and shift-e has been deprecated I think for floors, now to switch to edit mode you just need to press tab, let me know if that helps

  • Hi,
    I've looked around for this but it seems to have changed since the latest tutorials...
    I want to draw a simple hidden line. It doesn't show up anymore in the annotation tool dropdown, but I see that there are default styles such as LINEWORK.fine, LINEWORK.dashed, etc. in default.css.
    However, when I set the object type of the line to LINEWORK.dashed, it ignores the . in the exported SVG, so I imagine there must be another way to specify style sub-classes... I've tried other separators such as - or simply but the result is the same. Adding dashed to the class in the SVG results in a dashed line. Is this documented anywhere since the new releases?


  • edited December 2023

    The PredefinedType should be set to LINEWORK, and there is a property which you can set to "dashed".

    @KoAra perhaps we can screenshare?

  • Thanks! However, I don't have those predefined types with a new project...
    I've gotten around it by defining my own style in the CSS file but it seems finnicky to do that every time, when there is already a definition for dashed/thin/medium/etc. lines.

    @Moult said:
    The PredefinedType should be set to LINEWORK, and there is a property which you can set to "dashed".

    @KoAra perhaps we can screenshare?

    I haven't been able to find any properties to set... My object property panel looks like this:

    So instead of LINEWORK I can put the name of my custom style as in this YouTube tutorial but otherwise I haven't seen how to customize/subclass the LINEWORK type instead.

  • @tsvilans add EPset_Annotation as a property set and you can set the class there.

  • @Moult said:
    @tsvilans add EPset_Annotation as a property set and you can set the class there.

    That does it :) Thanks!

  • AceAce
    edited December 2023

    A summary of the last Stable update from November

    Better late than never! Sorry everyone I've been sick,
    Let me know if there is anything people would like covered

    theoryshawAndrej730brunopostleNigelDarth_BlenderabonfoduarteframosCoenarttOle_Marius_Svendsenand 4 others.
  • @Ace

    Let me know if there is anything people would like covered

    I really would like to see a Beam System array tutorial where the profiles of the beams can be swapped out. I don't think it's possible yet, but would also be cool if the beam system could have a boundary/perimeter.

  • edited December 2023


    While you're at it, replacing several existing IfcWindowType instances in a layered wall with an air cavity, which also updates the drawings. If that is possible.

    To summarize, I would like to see more advanced tutorials in which BlenderBIM has way more advantage compared to similar propriarty products. IfcGit is a prime example.

  • edited December 2023

    Thank you for wonderful year , one more future request would be integration terrain into ground like google earth or open street map ( in easy way so we can put building into space context, and terrain elevation like

    Happy New 2024

    Best regards

  • Hello! I have one sugestions or question: Have you considered doing a custom Blender build for BlenderBIM? As PyClone. With a custom GUI. Just thinking outloud.

  • Hi there! Sorry in advance for this rant, but I've been really frustrated with the fact that the latest BIM plugin version I'm using seems to mess up Blender in several occasions. We are using Blender-BIM for processing IFC files, obviously, but we use Blender itself to other things as well. However, with the BIM plugin installed (and it's now a system plugin..), it takes over the Ctrl-S shortcut and it's not once or twice that I try saving the Blender scene and instead, BIM plugin starts to save the IFC file which I really don't want. Also, when copying IFC objects, the BIM plugin forces the IFC type (for instance, IfcSpace) to the beginning of the object name, which again causes problems if I wish the object to have a specific name. When I tried to disable the plugin altogether just to remove all the extra IFC functionality that I don't want to have present, the BIM plugin will take away also the Blender-related Scene settings. And I'm sure I've forgotten some other issues I've encountered thus far.

    So, having said all that, even though the plugin work brilliantly in many ways, why oh why did you decide to make this a system level plugin? The previous version I used was functioning much better without causing any problems to the normal use of Blender for other purposes than IFC stuff.

  • @hpi_pg hey there and welcome! Actually, this rant is really very welcome, because increasingly the primary audience of the add-on are those who want to primarily work with IFC instead of Blender, so we've clearly skewed quite a bit too far in that direction. I think a sensible direction will be to have two modes in the add-on:

    • A native IFC authoring platform mode, where it takes over Blender completely.
    • A IFC importer add-on mode, where you have read-only access to the IFC, but editing geometry, saving, etc will do nothing to the IFC.

    The latter is what you're after, but will probably not be the default mode as it's increasingly becoming the minority, but we should always acknowledge there are many usecases where IFC is not the primary objective. Would you mind filing a bug here where we can keep track of this and solve it as a priority for the next release?

  • edited February 1

    @Ionut_BimStudio currently we don't do or need much upstream editing, but in the future should we have enough resources, that would definitely be something to consider! That said, we have reached out on a number of occasions to Blender and they've been very helpful so far and acknowledge the issues we've encountered. See

  • I agree that since BBIM makes so much changes to Blender it's basically using BlenderBIM vs Blender - we can balance it out case by case but that's the way it should be, otherwise we would always limit ourselves and BBIM users because BBIM interrupts some other Blender workflow

    To balance it out we can start an issue on on to gather the feedback on cases when BBIM clashes with Blender that we need to focus on.

    For now it's also possible to import .ifc, make changes (maybe hide / show stuff based on IFC groups) and then unlink .ifc - then BBIM shouldn't get in the way of any Blender workflow but it with unlink all ifc features are lost too. To have have a separate importer / version the addon that would be less intrusive in Blender workflows is that we need to narrow it down on the cases when BBIM gets in the way and which of them we should support.

  • Hi @Moult ! Yes, sounds really reasonable to me to have to separate modes for the plugin. Currently, it just causes too much hassle and some really weird behaviour in Blender when trying to do the things (like using a boolean modifier..) that I usually need to do. And the sad thing is that I cannot be quite sure what is causing it, whether it be the plugin or if something has gone wrong for other reasons. Anyways, I'm happy to file a bug report and see if I can give you a clear enough description of what I've found. Hopefully that helps you to solve at least some of the issues I've encountered.

  • @hpi_pg have you tried unlinking in the Debug panel? That might do what you're after as a short term workaround.

  • @Moult Sorry. I've almost entirely used the add-on for importing / reading space data etc. from the IFC files so I'm not very familiar with all the other rather extensive functionality. Where can I find the Debug panel? :D

  • @hpi_pg I use different versions. For BlenderBIM + Sverchok I use Blender 3.6, and for only Blender stuff Blender 4.0. It is true, because sverchok doesn't work on v4.0+ in Blender. But it could be a simple solution for your problem.

  • @hpi_pg basically after loading the IFC, click on Purge IFC Links and it'll turn into a regular Blend.

  • @Moult Yeah, I found the Debug panel and tried purging the IFC links. I'm not quite sure, though, if it helps but I'll have a go and let you know if the problems continue. Thanks for your help! :)
    @Ionut_BimStudio Thanks for this idea. It may be a bit tricky for us to use different Blender versions like this, since the blend scenes are not backwards compatible anymore from Blender 4.x to version 3.3 LTS that we are currently using. However, If done carefully, we may be able to use two Blender versions in parallel, like dedicating the older Blender only for IFC imports and then continue from there with the Blender 4.x as you suggested. That might actually be doable, since the Python version has not changed in Blender 4.x yet so all the Python scripting we've done should work there as well (the reason for us to stay with the LTS versions...).

  • @Moult Actually, I think at the moment the best solution really is to use separate Blender versions for the IFC imports etc. and for other Blender stuff, just as @Ionut_BimStudio suggested above. The reason is that we may need to dig some data from the IFC file and if the links have been purged, there's no way of doing it anymore. At least that's what it looked like when I tried running a script that actually tried accessing the IFC data after the purge. Either that, or do the purge once all the IFC data has been processed and there will not be any need to refer back to the source anymore. So if you are introducing two different modes for the add-on in the future, the import add-on really should be able to read the IFC data, even if there's no need for updating it. :)

  • edited February 2

    @Ionut_BimStudio Thanks for this idea. It may be a bit tricky for us to use different Blender versions like this, since the blend scenes are not backwards compatible anymore from Blender 4.x to version 3.3 LTS that we are currently using.

    Different versions of Blender just means different installations, not necessarily different releases. Blender is portable, just get a zipped package and unpack to wherever you want, you can have many versions side by side without conflict.
    Hell they may well even be the same installation folder, just using different settings folders or launch options.
    Use a different script or shortcut to launch Blender.exe with or without BBim enabled. See

    On an unrelated note, shouldn't Moult just lock this thread so only he can post here?
    This is a release announcement post, I suspect a lot people would like to subscribe to, to get notifications for new releases. Right now it is a mixed bag of questions, support requests, feature suggestions and unrelated noise.

  • BlenderBIM Add-on v0.0.240402 has been released with 830 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:

    Because the previous two release dates were missed, this is a massive Flemish-Giant-rabbit-sized release.

    OK. Deep breath. Get ready. Go!

    Note: project screenshots below are from the OpeningDesign Highland Haven project licensed under CC BY-SA 4.0. Check out OpeningDesign today! They do all their architectural work open source!

    Bulk link massive models and clipping planes

    Previously, linking in reference models was a manual, tedious process. You first needed to load in the IFC in its own Blender session, save a Blend file, then link that Blend file in. Linking also preserved geometry but lost metadata since that IFC was not referenced in the active session. Having many IFC models open also ran into memory limits. This has now been resolved. By headlessly processing IFCs as chunked geometry in a subprocess with metadata stored in an indexed SQLite database, you can now link in massive IFCs in bulk (not one by one).

    In an example stress test, it takes me 26 seconds to load in 16 (preprocessed) IFC models totalling 2.3GB running at 15FPS using 69% of my 32GB ram used and I can instantly click on objects and get basic data about them. Without chunking, there would have been 346,600 objects (excluding objects without geometry). Note that this is a completely loaded model, no live streaming is required. This is the fastest open source solution available right now.

    For model navigation, the much-hidden fly and walk modes in Blender are now given prominent and easy shortcuts in the new Explore tool. FPS performance has also been improved by enabling a dynamic viewport culling mode which auto toggles box visibility of objects as you fly around the model. After processing, the results are cached so the next time it is opened will be much faster. You can also quickly set a new orbit center in case you get lost or are unfamiliar with how to rotate in 3D.

    This means that for huge companies working on megaprojects, the BlenderBIM Add-on is now becoming a viable coordination viewer to replace proprietary tools. The IFC to SQLite conversion is also available as an IfcPatch recipe, which you can link into BI / dashboarding / insight tools. This SQLite schema is optimised for accessing metadata simply, not for retaining the full semantics for IFC, so it is perfect for simple analytics.

    You can also now easily create clipping planes which works even on massive models. This viewport-only clipping is fantastic for model coordination tasks and are easy to flip, delete, and won't affect material shaders. There is an experimental capping feature for those who might want to use this to create sectional renders.

    It's also possible to visually append elements into your current project from linked models.

    A word of warning that the new model linking feature currently only supports manual input of defining the false origin (if any), which means that those unfamiliar with georeferencing and coordinates may get unexpected results and cannot rely on autodetected origins.

    Complete rewrite of clash detection algorithms

    IfcClash previously used the hppfcl library to perform collisions. This worked, but was not tailored to the AEC industry and incurred a speed penalty to passing geometry to and fro this library. The IfcOpenShell geometry tree now supports significantly faster clash detection features built-in.

    Three clash detection modes are now supported: intersection (where elements protrude into or pierce one another), collision (where there is any sort of touching surface between elements), or clearance (where objects may not touch but will come within a distance threshold of one another). Critically, intersection test results now support much more meaningful protrusion distances, allowing you to filter and sort high and low priority clashes. Clearance clash checks is a completely new capability that was not possible before. Clash results are more meaningful, highlighting exact coordinates of clash locations and protrusion distance measurements, and clash types (e.g. protruding vs collision vs piercing vs clearance).

    Clashes are also significantly faster. Equivalent clash tests can now be in the range of 100X to 1,000X faster than before. Work is half complete in supporting performing clashes across many gigabytes of IFC models (addressing memory concerns) but this is not yet available to users. For example, an internal collision test of a 200MB IFC model with 18.5k objects might take only 0.45 seconds for the actual collision process itself.

    There is also a much improved clash interface, highlighting clash groups and merging the clash results and clash sets all in a single panel. Applying clash filters also now uses the new search / filter groups UI.

    For developers wanting to make use of this, the Geometry tree documentation has been updated.

    Blender 4.1 support and distribution packaging

    There is now support for Blender 4.1, and this also means support for Python 3.11. Dependencies have been cleaned up, meaning significantly lighter installs. Previously, users would download 116MB to 163MB zipped (and much bigger when extracted!), but filesizes are now about 60% of what they were, down to 67MB to 100MB (depending on operating system).

    A straggling issue related to Blender 4.0 support was fixed: external shaders will now work again in Blender 4.1. Funnily enough, if you really want to, you can at least install the BlenderBIM Add-on on Blender <3.3 now, but we don't recommend it.

    There is also support to install packages from pip in the debug panel for those using Blender as a development environment in companies or experimenting with features.

    Packaging has been updated with support for Python 3.7 and 3.8 dropped. PyPI dependencies now have shapely, dateutils, and more as optional dependencies depending on the functionality you need. The bSDD library now has PyPI metadata so you can install it with pip thanks to jgunstone!

    Work has begun on supporting the new Blender extensions system. It'll be a while until we fully support it, but this system will be coming in future Blender versions to allow users to keep add-ons updated from "app stores" and update directly within the Blender interface.

    Structural simulation major updates

    Jesusbill has done huge updates on IFC2CA with thousands of lines of changes and it looks totally awesome and deserves its own section and picture but I'm not a structural engineer so I have no idea how to describe it :) Definitely check out the commit here!

    More documentation for users and developers

    Documentation has seen its usual set of updates, including updated screenshots for creating BIM models, fixes to misleading text, incorrect code samples (especially a significant number of IfcPatch recipes), supported systems, and so on. It's also received a style update that matches the styling of the main IfcOpenShell and BlenderBIM Add-on websites. You can now also copy code from the docs or jump straight to editing the docs page that you're on.

    In particular, docs have been added about Geometry serialisation and processing geometry with multiple representations. This allows people to use Python bindings to script the conversions that IfcConvert is capable of, giving you more flexibility in specifying element and context filters or chaining events that might be tricky using shell commands. Similarly documentation about creating geometry from OpenCASCADE has been written.

    The shape builder documentation has been updated significantly with more hints, improved text and code samples to help people writing code to generate IFC geometry.

    Dirk Olbrich has also made significant contributes in cleaning up the documentation structure for developers to improve maintainability.

    Translation and i18n support

    The infrastructure is now in place to support translations of the UI to multiple languages. There is also now another add-on which helps translators manage translation strings. Note that we don't currently have any actually translated languages, but it's good to know that we've got a method to tackle it in the future. Read more about the translation process in the documentation.

    IfcTester upgraded to support IDS v0.9.7

    IDS v0.9.7, the latest in the IDS specification, was released about a month ago and we now support it. A number of critical bugs was also fixed including invalid handling of prohibited facets and inability to export test reports to ODS. You can also now enable generation of ODS reports from the interface. IDS checks on properties and quantities are also now much faster.

    You can now select failed entities in the IfcTester UI. IfcTester now can describe prohibited requirements. IfcTester now has a column showing element type. Reports now show the filename of the audited model. A bug was fixed that prevented some facets to be used as an applicability, and facet ordering is now canonicalised for convenience so the user doesn't need to define facets in a particular order.

    Drawing generation upgrades

    When 2D elements like door swings were coplanar on slab surfaces, this would previously lead to Z-fighting. This meant that sometimes these annotations would not show up. This critical issue has now been addressed with a Z-offset for these types of situations.

    Some situations where cut objects with holes (e.g. hollow sectional profiles) might not have their holes displayed are now fixed.

    You can now manage and generate drawings from detached windows. Blender lets you create and split new windows, so this is useful especially for users with multi-monitor setups. Activating drawings now also works when you have objects isolated. Text symbols and multi symbol objects can be rotated in the viewport too. Multisymbol annotations are also now decorated to make it easier to see.

    A small but significant usability improvement is that you can now select elements in any order when assigning an annotation to a product for smart annotations instead of the eyedropper. Also built-in text annotation assets can now be used in any view, not just plan view. Angles now display using the degrees symbol, a small but significant change in documentation quality. Drawing include / exclude filters now have a new friendly UI which also lets you use saved searches.

    Generating drawings is now a bit more stable. Users would sometimes hit frustrating bugs where drawings would simply fail to generate or activate, but a number of these with various reasons have been solved. There are still more to solve, but progress is being made.

    Fixed bug where sometimes elements out of view would still display on drawings. Elements which have no target view applicable to the drawing are also hidden. Annotation of hidden elements are also now hidden.

    XLSX schedules are now supported. URLs in SVG schedules are now clickable. Spreadsheet settings can now be saved alongside the spreadsheet, and the schedule SVG auto updated when you re-export the schedule.

    There is also now experimental generation of DXFs. Note that these are simple DXFs which do not yet include annotations, fills, scaled drawing views and sheets, layers, and so on, but are sufficient for accurate measurement and referencing in other CAD tools.

    New landscape asset library

    Trees! Bushes! Shrubs! Palms! Lollipops! We've got them! And if we don't got them, we've got a tree generator where you can input critical tree dimensions and generate a tree shape for it! The library comes with some generic tree shapes and sizes, as well as some species contributed by SavyGust27.

    It's also now easier to find built-in asset libraries. Libraries are now separate from project startup templates, and stored in different locations. Users can choose from a dropdown of built-in libraries as well as browse to external sources if needed.

    There is a bare bones entourage asset library too.

    Style and shape aspect management

    Portions of your object's geometric representation (called representation items) can have styles (e.g. colours) and be named (e.g. this geometry represents the glazing / frame of a window). In the past, the management of geometry styling and geometry naming (shape aspects) were hidden from users, happening invisibly in the background as you edited your geometry. The new style and representation item panel now has new tools to assign / create styles and shape aspects. This is incredibly powerful and lays the foundation for a new modeling tool in the future where you can manage representation items individually (e.g. individual extrusions within a larger shape).

    The style manager now supports editing refraction styles, lighting styles, and externally defined surface styles. Minor improvements to style UI. UI is slowly being migrated from the shader graph editor into the properties style panel. This includes linking to external Blender styles.

    This also means you can now change per-item styles and change shape metadata of non-meshlike geometry that was not previously possible. You can also remove individual representation items if you dare. The UI is missing a lot of usability improvements to make it more visual / intuitive to navigate these items, but at least something is there now.

    For developers, this also means that the APIs related to styles and materials now supports this more granular type of operation.

    Completely new OpenCDE API server and bSDD upgrades

    OpenCDE is a specification for both servers and clients to send data about BCF, documents, and more for CDEs. We previously had no server implementation (except for a minimal test case) but Martin Wiss has contributed a fully fleged OpenCDE server. It implements the Foundation API, BCF API, Documents API in Python, the FastAPI framework and the Neo4j graph database. This project originated as the Kontroll BCF API server (see screenshot below) - and it'll be really exciting to see what integrations will be possible in the future.

    Note that this is not yet integrated into the Blender interface or other tools, but it's the first step in a future where you can self host your own CDE either online or on a local network, and share BCF issues, manage authentication, link documents from online sources, and more.

    bSDD loading now lets you filter active vs preview domains. It also now lets you fill in values for non-predefined pset and qto values. Classification references now show a button to open the related bSDD URI. The bSDD service has now been updated to point to the new bSDD API.

    Classification and classification references can now be added manually instead of from a library or from the bSDD. Fixed a bug where removing a classification reference might remove the wrong one.

    Continued MEP work and modeling improvements

    There is a new cable carrier and cable tool, grouped into a new MEP tool submenu.

    Minor bugs related to drawing system annotations and finding compatible distribution fittings fixed. Also fixed some incorrect coordinates when adding ports or placing ports on bends. Fixed UI bug where ports showed incorrect data after pressing undo. Deleting objects now also removes control relationships. You can now also regenerate and connect non-profile based distribution elements. The duplicate systems UI have now been merged. Fixed a bug adding a bend between colocated segments.

    Fix regression where you couldn't duplicate space boundaries. Outer boundaries now overlap inner boundaries. A new approach has been taken towards auto generating boundaries for an entire space and all of its related building elements. This should be more robust and result in better 1st level boundaries. Boundaries that have already been loaded are no longer loaded twice. You can also toggle all boundaries or only boundaries for a single space.

    Related to modeling boundaries, a number of fixes were made to improve robustness of automatic space generation.

    You can now insert doors and windows in horizontally layered elements like slabs or roofs. This means you can easily model skylights, trapdoors, and access panels. You can now generate ceilings from walls using the new covering tool. You can now toggle openings when having an opening selected for convenience. You can also apply openings in bulk. Fixed bug where cloning openings created invalid IFCs. Roof slopes can now be specified as a percentage instead of an angle.

    Nested objects are now shown in the collection tree when loading models. Nesting is also considered for when displaying indirect spatial containment. There is a new UI to manage nest hosts and components, similar to the aggregates panel. For other software that don't support nesting, there is a new convert nest to aggregate recipe to fix common issues where nested elements won't load in Revit.

    Incremental IFC4X3 support

    There is now basic support for migrating from IFC4 to IFC4X3. Because we don't yet support migrating everything, the schema migrator script now starts reporting errors when we haven't yet supported a schema migration yet. There is now a "Upgrade to IFC4X3" button when loading models, similar to how you can "Upgrade to IFC4" as well. Although downgrades are less supported, more support has been added recently.

    Sequencing utilities and APIs have been updated to fix minor issues here and there but more importantly support IFC4X3. Purging unused types has been updated to work with IFC4X3. IFC4X3 models that use nesting with alignments and referents now load.

    Note that there is actually a huge amount of work being done to support esoteric geometry in IFC4X3 in the background in IfcOpenShell v0.8.0 thanks to Rick Brice and Thomas Krijnen. For those interested, see an example here.

    So much more

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

    • Bulk select multiple arrays from multiple parts. Bulk refresh linked aggregates.
    • Stairs can now have parametric nosings and angled treads. Fixed a critical bug where normals of the stair were incorrect. Stairs will also now auto calculate a pitch parameter.
    • Purge data recipe now also considers shape aspect names and presentation layers, and works on IFC2X3.
    • Clipping planes now have a standardised structure in the API for programmers.
    • Improve calculation of roof quantities.
    • New tessellate elements patch recipe to ensure critical elements can still be loaded by software missing support for particular IFC geometry. It also now supports the ability to force using faceted breps instead of polygonal face sets.
    • Improve georeference guessing by considering placements too, and fix critical regression in previous release where offset geolocation completely broke in some cases. New Set World Coordinate System patch for software that use this attribute. This can fix models that use a non-zero WCS.
    • Fixed critical bug where userdefined objects couldn't have their types classes reassigned.
    • Fix critical bug where loading materials with unsupported reflectance methods caused loading to fail.
    • The placement panel now shows non-offset placements if there is a coordinate offset active in the session.
    • Select IFC class now considers the classes of all selected objects, not just the active one to make bulk selection easier. Shift clicking now also considered predefined type.
    • IfcFM now autodetects available FM recipes.
    • Fix UI bug where groups might not load.
    • Power users can now disable the BIM toolbar or workspace if an IFC isn't loaded by default.
    • Big optimisation to editing object placements of objects with lots of child elements.
    • Fixed critical bug where pset applicability didn't consider inheritance, so now more psets should be available to assign to elements. Similarly, some psets that were applicable to predefined types are now available.
    • Fixed critical regression where duplicate and linked duplicate hotkeys were broken in vanilla Blender.
    • Owner history entities are now appropriately purged in all known operations.
    • Reassigning occurrences or types now also reassigns the correlating occurrence or type.
    • Various under the hood work in preparation to support Python 3.12. Python 3.11 is now added to the build matrix.
    • When visualising diffs, it can now partially load diffed elements. This means you only need one model loaded to do a diff instead of two.
    • A critical bug was fixed where IfcDiff would report incorrect results when types didn't actually change. IfcDiff also now uses the new facet based filtering system.
    • You can now regenerate automatic occurrence names.
    • You can now add a reference image that auto includes IFC textures. The image can be referenced using a relative path.
    • Fixed bugs related to loading UVs for projects not using meters, and add prototype support to save UV to a style.
    • Support added for loading blob textures and pixel textures. Fixed bug where textures should apply to non faceset geometry. New UI to change the texture coordinate mapping method.
    • Fixed two minor bugs in CityJSON2IFC that might cause some geometry to fail to convert.
    • The FixRevitTINs patch that resolves many issues related to TINs in Revit can now differentiate between solid TINs and surface TINs. Normals can now be normalised for surface TINs.
    • You can now delete rooted elements in IfcOpenShell missing a GlobalId.
    • New citation file format files available for academics wanting to cite more specific utilities of IfcOpenShell.
    • Fixed critical bug where editing profile set geometry didn't allow for optional axis definitions in some IFC models. Fix bug where switching geometry to a text literal failed.
    • Fix bug where some vanilla panels would sneak into the interface or wouldn't get unregistered properly.
    • Patch recipes can now be performed in-place on the file, and are sorted alphabetically for usability. The patch input is now optional.
    • Fix displaying derived task durations and more lenient loading of CSV work schedules. Unit basis is now considered when calculating resource costs. Cost value names are now shown. Fix issue with calculating cost values with a parent cost. Record formula and resource name for cost values when calculating resource cost. A bunch of conversion based units (e.g. imperial) now show symbols. Fix bug with importing counted elements in cost schedules. A critical bug was fixed where removing nested cost items resulted in a broken model.
    • Purging unused types now works on window and door styles and IfcTypeProducts.
    • The tabbed properties UI now works on new external windows or temporarily fullscreened windows (e.g. ctrl-space hotkey). There's also a new UI for IFC object and edit modes.
    • The pset template module can now author quantity templates, not just properties.
    • The LCA module has been removed.
    • The search query module now supports filtering by group, and querying values that contain a substring.
    • Inserting objects onto a space now has different modes to choose how the RL (i.e. Z value) is determined.
    • The selector now supports filtering for objects contained in a location, or filtering for spatial elements aggregated in other locations.
    • There is now an advanced feature to bulk purge orphans. The more experimental operators have been relocated to the debug panel to be used by advanced users.
    • Fixed bug where doors and windows couldn't be part of assemblies.
    • Reverting and reloading IFCs have been consolidated.
    • Fixed critical bugs where loading cost items with no value from CSV could lead to a crash.
    • A number of validation bugs and UX issues which could lead to invalid data were fixed under the hood. These rarely affect users until its too late, and so it's our mission to ensure that everything we do in IFC is valid to ISO standards. Validation tool also now reports if no errors were found.
    • Objects that are copy pasted are now always unlinked. This prevents issues where people copy and paste across Blender sessions and get invalid IFC data.
    • A critical bug was fixed that allowed people to duplicate the IfcProject (yikes!) or be stuck in a loop where they couldn't unlink an invalid element.
    • There is now an indicator if your model contains unsaved data. Save early, save often!
    • Fixed a bug where trying to load a filtered IFC2X3 model didn't work.
    • The merge by type mode when loading models now doesn't break if your objects don't have names.
    • Loading also now skips excessivly voided objects for performance. If you have 1,000 booleans on a single object, that object needs to rethink its life goals.
    • A crash was fixed that could occur when removing booleans.
    • An important UX improvement was made to indicate when users tried to assign IFC elements when in edit mode.
    • A critical bug was fixed in the ExtractElements IfcPatch recipe that led to a lot of irrelevant elements being extracted if they shared a material.
    • The shader based section cutaway tool has been updated to work with Blender 4.0 and above.
    • Fixed a critical bug where sometimes an updated object placement could corrupt other objects.
    • A huge bugfix in IfcConvert now excludes bounding boxes by default which tended to get everybody pretty confused when they kept on seeing boxes instead of their model's elements.
    • Little usability improvements such as to support default Blender hotkeys for jumping to filepath locations. The two methods of generating spaces are also shown in the UI.
    • An important bug was fixed when editing psets to ensure that null properties are purged. A critical bug was also fixed where you couldn't remove psets from materials or profiles.
    • Critical crashes were fixed when reassigning classes in certain situations.
    • A common point of confusion about the mandatory nature of owner histories in IFC2X3 has been addressed in the API.
    • When editing a profile-based shape's axis (like a beam or member), its local Z rotation is no longer reset. You can also now join together multiple extruded objects for projects not using SI units.
    • Unit conversions for plane angle units (basically degrees and radians) are now available as a utility for developers.
    • Inherited quantity sets are now shown separately to property sets.
    • You can now assign XYZ coordinates from a spreadsheet in bulk with IfcCSV.
    • Selecting similar types is now much faster.
    • Opening IFC files can now be multithreaded.
    • IfcCSV had various bugs fixed related to importing data with invalid data types, summaries now have formatting.
    • A few bugs were fixed in the saved search / filter system when loading and saving searches.

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

       362  Andrej730
       185  Dion Moult
        38  Thomas Krijnen
        34  krande
        22  Dirk Olbrich
        20  Ryan Schultz
        19  Martin15135215
        16  Bruno Perdigão
        14  Bruno Postle
        14  dushyant basson
        12  Sigma Dimensions (Yass)
        11  Massimo Fabbro
         9  jgunstone
         9  Christoph Mellueh
         8  Benoit DAMAY
         8  CyrilWaechter
         7  Gorgious56
         4  c4rlosdias
         4  Igor.Sokolov
         3  Andrej
         3  Eduardo Schilling
         3  Vukas Pajic
         3  wangsenhui
         2  FabioPiccinini
         2  Geert Hesselink
         2  Jordan McManus
         2  M!l!nd
         2  marwiss
         1  Adrian Insaurralde Avalos
         1  Ian
         1  Ioannis P. Christovasilis
         1  MicheleBenedetti
         1  VDobranov
         1  ay-ex
         1  dependabot[bot]
         1  fescale
         1  mohamadalbaaj
         1  patrick.joerg
         1  sennhvi
         1  tim

    Donors since the last release:

    Cyril Waechter BIM Insight
    PlaniBIM SA
    E4tech Software SA
    Dion Moult
    Hannes Wörn
    Matthew Fuller
    Lukas Alberts
    Martin Wiss
    Sven Amiet
    Haritonov Alexander
    Jonny Knopp
    Dumitru Minciu
    Frode Lund Tharaldsen
    Louis Trümpler
    Bedrossian Ádám
    Henning Munzel
    Leon ten Brinke
    Omar Zerhouni
    Dmitriy Koptev
    Duarte Farrajota Ramos
    Marin Ljuban
    Johnson Bankole
    Rafel Bayarre
    Agents of Architecture
    Alexander Kleemann
    Ari Pikkarainen
    Christoph Mellüh
    Cordero Architecture
    Dirk Olbrich
    Fabian Emanuel Kitzberger
    Madars Siksna
    Stephen Cremin
    daniele rossi
    Benjamin Smith
    Bruno Perdigão
    Carlos Dias
    Felipe Raimann
    M. B.
    Marcin Boguslawski
    Marco T
    Tim McGinley
    Dawid Fedko
    Marco Andrade
    Smiljan Tukic
    Gaurav Rampal
    Sassi Hetman
    Taylor Horwood
    Matthias H.
    Valter Robson
    Andrej730doiappaawweeuusteverugiKoAraShegsArvOle_Marius_Svendsenbruno_perdigaoBedsonand 28 others.
Sign In or Register to comment.