BlenderBIM Add-on new release!

1789101113»

Comments

  • edited April 2

    Good morning and a wonderful update we have.
    Now the challenge I have is that I have the wall tool activated but the option tools are not showing. I am using Blender 4.1 and with the blenderbim-240216-py311-win.zip version. Find the attached image below;

  • @Owura_qu said:
    Good morning and a wonderful update we have.
    Now the challenge I have is that the option tools are not showing. I am using Blender 4.1 and with the blenderbim-240216-py311-win.zip version. Find attached image below;

    Hi! You're using old version from 16 February, this issue is fixed in the release available on https://blenderbim.org/.

  • awesome work from the developers

    carlopav
  • edited April 2

    On windows official BBIM 240402 from Download of the homepage is with py11, but Blender 3.6.x is with Python 10 ... on activation the error attached pops. But on the homepage is written it works with Blender 3.6.
    If blenderbim 240402 with py10 from https://github.com/IfcOpenShell/IfcOpenShell/releases is used it works well ...

    Traceback (most recent call last):
      File "C:\Users\BHA\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\blenderbim\libs\site\packages\ifcopenshell\ifcopenshell_wrapper.py", line 14, in swig_import_helper
        return importlib.import_module(mname)
      File "C:\0_BHA_privat\progr\PortableBlender\3.6\python\lib\importlib\__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 674, in _load_unlocked
      File "<frozen importlib._bootstrap>", line 571, in module_from_spec
      File "<frozen importlib._bootstrap_external>", line 1176, in create_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
    ImportError: DLL load failed while importing _ifcopenshell_wrapper: Das angegebene Modul wurde nicht gefunden.
    

    ...

        import ifcopenshell.api.owner.settings
      File "C:\Users\BHA\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\blenderbim\libs\site\packages\ifcopenshell\__init__.py", line 69, in <module>
        raise ImportError("IfcOpenShell not built for '%s'" % python_distribution)
    ImportError: IfcOpenShell not built for 'windows\64bit\python3.10'
    
  • edited April 3

    I am not even able to link just one ifc ...

    • load a ifc
    • go to Scene --> Project Overview --> Project Setup --> Links --> click on Link IFC --> open another ifc ...
    • error in report view
    • both ifc are in 2x3 if this matters ...

      Python: Traceback (most recent call last):
        File "C:\Users\BHA\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\blenderbim\bim\module\project\operator.py", line 868, in execute
          bpy.ops.bim.load_link(filepath=filepath, false_origin=self.false_origin)
        File "C:\0_BHA_privat\progr\PortableBlender\3.6\scripts\modules\bpy\ops.py", line 113, in __call__
          ret = _op_call(self.idname_py(), None, kw)
      RuntimeError: Error: Python: Traceback (most recent call last):
        File "C:\Users\BHA\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\blenderbim\bim\module\project\operator.py", line 947, in execute
          self.link_ifc()
        File "C:\Users\BHA\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\blenderbim\bim\module\project\operator.py", line 989, in link_ifc
          self.link_blend(blend_filepath)
        File "C:\Users\BHA\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\blenderbim\bim\module\project\operator.py", line 951, in link_blend
          with bpy.data.libraries.load(filepath, link=True) as (data_from, data_to):
      OSError: load: C:\0_BHA_privat\BIMTesterAll\BIMTester\0_modelle_ablage\19104\TAZ_Datenstruktur_Projekt\19104_ING_TB_TAZ_Projekt_Neubau_20240315a_bimtester.ifc.cache.blend failed to open blend file
      Location: C:\0_BHA_privat\progr\PortableBlender\3.6\scripts\modules\bpy\ops.py:113
      

    EDIT: The problem has been solved ... or better the problem is vanished and linking modells works great. Amazing feature :-)
    EDIT: The problem has not been solved ... but it has been found what does the problem triggers ... https://community.osarch.org/discussion/2067/problem-on-linking-file-depending-on-the-file

  • Hi! You're using old version from 16 February, this issue is fixed in the release available on https://blenderbim.org/.

    My bad! Downloaded the wrong version. Thank you.

  • Cheers, we sorted out the issue with @bernd in a video call. It was probably a local environment issue.

    Owura_qu
  • ImportError: IfcOpenShell not built for 'windows\64bit\python3.10'
    

    Just in case anyone else meet this error installing BBIM from blenderbim.org, for Blender <= 4.0 you'll need to follow unstable installation as it's using different python version - https://blenderbim.org/docs/devs/installation.html#unstable-installation

  • I can read the LCA module is removed. Is this due to restrains and bugs for this feature?

  • @Moult said:
    Cheers, we sorted out the issue with @bernd in a video call. It was probably a local environment issue.

    Some news here. It was not the environment it was the file. By accident at the beginning I only used files which makes problems. The time beeing I have rare of them. See https://community.osarch.org/discussion/2067/problem-on-linking-file-depending-on-the-file for continue the disscussion ...

  • @Ole_Marius_Svendsen it was basically unmaintained and did barely anything useful.

  • @Moult said:
    @Ole_Marius_Svendsen it was basically unmaintained and did barely anything useful.

    Understood. Thanks for the feedback! Would we ever see a reentrance of analytical tools? I understand it need to be up to date for us to apply it. Never used the LCA module, though would hope it can be relevante on day for my line of work.

  • Yes, definitely. When there is a clearer definition of how it should be integrated, it can be reintroduced.

    Ole_Marius_SvendsenAce
  • edited June 2

    BlenderBIM Add-on v0.0.240602 has been released with 561 new features and fixes. It's our built environment, help support the BlenderBIM Add-on: 100% free and open source software that lets you author and document BIM data fully to ISO standards. It's built by the AEC community, for the AEC community. Get it today: https://blenderbim.org/

    This is a release with lots of small changes that add up.

    OK. Deep breath. Get ready. Go!

    The documentation shown below is 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!

    Drawing improvements

    It's now much faster to print multiple drawings, as drawing synchronisation is now done only once. When drawings fail to create, there is now a drawing debug operator to help users and developers discover what the problem is.

    Default settings are now available in case you delete them from a drawing's pset. Drawing decorators, such as smart text annotations, are now correctly refreshed after any edit in the UI. Smart text also responds correctly to actual line breaks now.

    The underlay cache is now working as intended instead of being ignored.

    There were many unnecessary operations happening during drawing loads, saves, or property edits. These were mostly wasteful and have been removed.

    Any missing sheets will now be regenerated when needed, just like missing drawings.

    It is now almost 3x faster to save models when syncing collections. Activating and switching drawing is now about twice as fast.

    Continued work on style and material consolidation

    The styles UI now works in a more similar way to the materials and profiles UI. All of the panels which used to exist in the Blender Material's tab have now been migrated to the IFC Geometry and Materials tab.

    It's now nicer to expand and contract materials in bulk in the material manager without losing your position.

    Material total now counts a particular class, not all material classes. You can now add a description and category when creating a new material. You can now add category-specific material psets (such as for concrete or steel). You can now add manual classification references for materials. There is now support for copying material sets and lists, and reuses presentation styles.

    Quantity take-off completely redesigned with IfcOpenShell-based calculations

    The quantity take-off procedure has been redesigned. Previously, there were multiple quantity take-off utilities that were spread around the interface and all used different quantification methods. These have now been consolidated into the Ifc5D tool and can be run agnostic of Blender. This is critical for those who run automated server model processing.

    When doing QTO, it is now possible to choose between different calculation engines. Each calculation engine offers different capabilities with pros and cons with respect to speed, accuracy, and capability. Users can also use custom queries to filter the type of object, and map quantity requirements to calculator functions. This also means that automated QTO can be done for quantities that are not part of the Qto base quantities standard, such as in IFC2X3, or if you have custom QTO requirements. Powerusers can code their own calculation engine.

    The old guess quantity feature has been deprecated.

    Quantification panel interfaces have been redesigned and are now all in the Costing and Scheduling tab. It should now be easier to use. All of the remaining panels in the N toolbox have already been relocated into their relevant areas in the IFC tabs. There should now be almost no custom panel interface outside this area.

    The Blender calculation engine's flooring height and ceiling height are now more accurate.

    Packaging improvements

    PyPI now consistently releases between Python 3.9 and 3.12. We now also ship the correct Python version for MaxOS.

    The bSDD library, IfcPatch, IfcCSV, and IfcClash is now distributed on PyPI. IfcOpenShell and IfcTester's PyPI dependencies have been fixed.

    Packaging has been cleaned up somewhat for the BlenderBIM Add-on, with version locks removed for a lot of dependencies and versions bumped and fetched using pip. We also now ship a Python 3.12 variant of the BlenderBIM Add-on.

    Improved error reporting

    All IFC operations now have improved error reporting. When an error occurs, the system will let you know and show that your file is potentially in an unstable state. You can continue to work with your file, but it is generally not recommended. It also stores the last 10 actions you performed, as well as a journal of detailed logs that occured during those actions. It will direct you to an online troubleshooting page which includes how to ask for help, how to debug it further, and how to copy paste the debug logs when filing a bug report. This will make sure that developers will get all the information they need (ideally, sometimes they still need your model) to fix the issue.

    If an error occurs during installation, it's smart enough to show your Python version, Blender version, and platform. It'll figure out the correct installation link for you to reinstall (some users get confused between the many versions we have available).

    IfcOpenShell API design upgrades

    This is mostly for developers, but it is significant enough to highlight in these release notes.

    The API previously functioned one elements one at a time. The API now supports batch commands, so this means that there will be an overall small speed up everywhere. For those who are writing scripts that manipulate IFCs, this can be the difference between a script taking hours and a script taking seconds.

    The API now has a much cleaner set of static functions you can call directly. For those using the api.run command, this is still fully compatible, and there have been some small optimisations done. However, it is now recommended to use the static functions where possible. For example, instead of ifcopenshell.api.run("root.create_entity", model, ifc_class="IfcWall"), you can call ifcopenshell.api.root.create_entity(model, ifc_class="IfcWall"). This also means that the developer experience for those using IfcOpenShell in interactive environments such as the Blender Python Console, Jupyter Notebooks, IPython, or those with Intellisense or similar LSP support in their code editor will be much nicer.

    The API documentation also got flattened and easier to browse, with a lot more introductory docs written and improved cross referencing of modules, functions, and methods with improved visual styling.

    The module initialisation conventions have also been made more consistent, with all modules requiring explicit importing and dependencies across modules removed, such as the util module requiring the api. Modules which require optional dependencies also now give clear error messages if they are unavailable.

    The element utility has had a large number of small optimisations done. These will all add up, especially when running scripts. There are also a large number of new utility functions, such as getting the groups of an element, or traversing void and fill relationships, and parents up the spatial heirarchy.

    Now that we are dropping support for older Python versions, a huge amount of type hinting has been added throughout the codebase.

    IFC4 and IFC2X3 test suites have been consolidated, so there are significantly more tests and this helps catch and fix all sorts of invalid "default" behaviour that the API might do.

    Documentation has continued to be improved throughout - too much to enumerate but expect new code examples, function docstrings, and explanation everywhere. This includes examples of how to use filters for IfcConvert and how to use IfcTester.

    Custom properties

    This sounds like a strange one, but we now support adding arbitrary custom properties and quantities without the need to first create a property set template. This is not good practice (e.g. data types are autodetected) but still convenient when you want to quickly throw in some data or for educational purposes. We still highly recommend everybody to use templates.

    Google Summer of Code 2024

    This will be the 4th year that IfcOpenShell / the BlenderBIM Add-on will be participating in the GSoC programme! This year, we have three students with winning proposals. Please welcome Kshitij Roodkee, who will be working on an IfcTester web interface to author IDSes with Vukas. Please also welcome Chirag Singh, who will be working on integrating IFC data with Radiance light simulation. Please also welcome Ziad Ibrahim, who will be working on building a web-based UI that can be run alongside the Blender interface for things like scheduling, gantt charts, and BCF issue management.

    Coding has just begun, so expect interesting things happening in the coming updates!

    iNEST innovation grant

    Development isn't just coding, of course! One significant event is that the BlenderBim Add-on and IfcOpenShell will be part of a research program funded by Italian consortium iNEST (Interconnected Nord-Est Innovation Ecosystem) featuring the participation of Italian companies Cadline Software Srl, 888 Software Products Srl, 3 Face Engineering Srl, Donadello & Partners Stp Srl.

    This will likely help with project funding and may result in some interesting future features.

    We're hiring again!

    Thanks to all our financial donors the time is right to hire another (part-time) developer to join the party! If you know C++ and Python and are passionate about open source software, please see the job advertisement and get in touch!

    Ifc5D improvements

    Many thanks to those testing and using cost related features! This really helps us fix issues. Here's a bunch of improvements:

    • The ordering of cost items (via the nesting relationship) is now maintained.
    • We now distinguish between a quantity of zero vs a null quantity (which implies that the cost value is the total cost)
    • There are now restrictions to prevent mixing quantity types per cost item.
    • Improved UX when assigning cost items to product types.
    • Improve UI to indicate that exporting cost schedules expects a directory
    • Fix bug when removing cost schedule columns
    • Disable adding cost schedule columns without a name
    • Different cost schedules can have different custom columns
    • Fix bug exporting a schedule of rates when a cost item has no quantities but controls objects with quantities.

    IFC2X3 improvements

    • Assigning nested objects now works in IFC2X3
    • Fix bug in IFC2X3 where sheet has no description
    • Fix invalid shapes in IFC2X3 where profiles have a non-optional position and need 2D coordinates
    • Auto create a default user and organisation if not specified in IFC2X3
    • Fix bug where some IFC2X3 files would fail to link
    • Fix bug when trying to trace outlines for a new representation in IFC2X3
    • Fix bug where removing document information didn't work on IFC2X3
    • Fix bug where appending material assets didn't work in IFC2X3
    • Fix bug to remove inventories of people in IFC2X3
    • Removing, copying, materials now handles IFC2X3 properties
    • Removing library references now supports IFC2X3

    So much more

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

    • Bug fixed when linking a model with no chunks
    • Blender UI panels are now consistently located in tabs depending on your workspace settings
    • There is now a default shading style if yours is missing
    • Fixed bug when adding a ceiling from a wall elevation
    • Linked models now include material data and CAD layers
    • Doc links have been updated to the latest documentation websites
    • Fix bug where random objects would get drawing psets unnecessarily
    • Fix possible infinite recursion bug when generating drawings
    • Fix bug where there were extra equal signs when loading saved queries
    • Linked models with no materials now default to the Blender default material
    • The "IFC4X3" shorthand now references the "IFC4X3 Add2" standard, the final standard
    • Don't show scary error messages if trying to search with no query
    • New UI List in Sandbox panel to access, flip, remove, add, edit clipping planes
    • The CCI classification is now available as a preset
    • New help button next to search queries to help users find documentation
    • Add convenience link to launch type manager when no types exist.
    • Show invisible newlines and allow newline editing in attributes.
    • Fix fundamental bug where get_pset would return nothing or inherited props with a False value
    • Document how MacOS Steam users should still use Mac Intel
    • Fix bug where verbose mode broke when getting complex properties
    • Calculating schedule dates now handles time lags defined as a ratio
    • Fix IfcTester BCF exports
    • Clarify in the UI whether you are seeing type or occurrence properties
    • Indicate whether the predefined type is inherited
    • Disable editing predefined types on occurrences which inherit a predefined type
    • Fix bug where saved drawing filters didn't load in the UI
    • Fix bug where creating new document references were invalid IFC
    • Fix bug where deleting grid axes weren't handled properly
    • IfcTester can now export "Excel-safe" ODSes due to poor support for ODS in Excel
    • Improved error reporting when loading IfcSverchok
    • IfcSverchok builds are updated
    • Clipping planes can now be stored to a JSON file
    • You can now merge projects with different units
    • Add support for updating relative coordinates for adhering elements in IFC4X3
    • Fix bug so that spaces created with the spatial tool now have a coincident origin and zero elevation
    • Prompt for a name when creating an aggregate
    • More informative messages after running RegenerateGlobalIds
    • Fix bug if the user explicitly removes a Blender material linked to an IFC material or style
    • Consolidate debug buttons "convert to blender file" and "purge ifc links"
    • Fix bug trying to launch type manager in an empty project
    • Reload the current shading style after editing it
    • Fix bug when linking in a material which didn't have an external location pointing to a .blend
    • Show preview of external shading style material when selecting from a .blend
    • Prevent switching representations in edit mode
    • Fix bug where saved filters with "not" operators wouldn't load
    • Show success messages when saving / loading spreadsheets
    • New IfcTester report which just shows a summary spreadsheet view of requirements
    • The API now supports wildcard listeners
    • The API can now serialise API settings for detailed debug logs (mostly)
    • IfcFM has vanilla IFC names changed to reflect IFC naming jargon and fixed colours
    • Fix bug where autodetection of a false origin might fail
    • Removing products now also removes port connections
    • Fix bug where editing pset template enums left behind orphaned entities
    • Restrict annotation psets to their predefined type to prevent inapplicable psets
    • Drawing cache is now copied if the file is somehow locked or has a permission error
    • Users are now prevented from creating incompatible context-representation combinations
    • You can now create a new representation from external objects
    • Profiles is now an available keyword in the selector syntax
    • Fix bug when all spatial elements are deleted and the spatial manager is open
    • Accommodate invalid IFCs coming from Cadwork
    • Fix bug in BCF module due to xsdata dependency
    • Fix ridiculous bug where setting boolean attributes to false using the spreadsheet import set it to true instead
    • Users can now configure the font used to render viewport text
    • Schedules can now have custom CSS and configure their own font and font scaling parameters
    • Null properties in psets are now purged instead of left as null to prevent cruft build-up. Empty enums can now also be purged
    • When handling invalid duplicate psets, we now merge values instead of arbitrarily taking the first/last one
    • Optimisation to remove deep, especially when dealing with attempting to remove histories with lots of inverses
    • Show error if a user tries to apply an opening to a type
    • Fix bug where IfcTester fails to verify negative numbers
    • Fix small openings being generated for parametric doors / windows
    • Basic support added for including linked models when generating drawings
    • Fix bug when loading profiles with a non-mesh selected
    • Fix bug where changing class using a spreadsheet import might fail
    • Remove the incredibly annoying "do you want to save" popup when editing geometry
    • You can now drag and drop to load and link IFCs
    • Resource quantity types are now limited based on the type of resource.
    • IFC4X3 pset templates have been regenerated since the release
    • Fix bug where two materials sharing a style would break the Blender <-> IFC link
    • Fix bug where you couldn't change the aggregate of a locked spatial element
    • Users can now choose between a whole or a part when changing the aggregate parent
    • Support adding IfcQuantityCount quantities in IFC4X3
    • Fix bug where "not equals" filters didn't work properly for locations or groups
    • Fix UI bug when editing multiple profile items in a material set
    • You can now format custom thousands and decimal separators in IfcCSV.

    All changes

    All changes can view the directly via the Git logs here:

    https://github.com/IfcOpenShell/IfcOpenShell/commits/v0.7.0?since=2023-11-04&until=2024-04-02

    Credits for this release (in order of commits via git shortlog -sn --since "2024-04-02"):

       304  Andrej730
       179  Dion Moult
        21  Ryan Schultz
         8  Massimo Fabbro
         7  Bruno Perdigão
         6  Bruno Postle
         6  Thomas Krijnen
         5  Gorgious56
         5  ppaawweeuu
         3  Gorgious
         2  Vukas Pajic
         1  Alper Kantarci
         1  Andrej
         1  Benoit DAMAY
         1  Dirk Olbrich
         1  E Shattow
         1  Hilko
         1  Kaare Hansen
         1  Kristof Semjen
         1  Kurt Battisti
         1  Manu Varkey
         1  Sigma Dimensions (Yass)
         1  dependabot[bot]
         1  jaymeandretta
         1  sebphi
         1  stefkeB
    

    Donors since the last release:

    BIMvoice
    Rhomberg Sersa Rail Group
    Tomasz
    Sailor
    Randolph
    PlaniBIM SA
    Lawrence Giroux
    Cyril Waechter BIM Insight
    Incognito
    carlopav
    Matthew Fuller
    Dion Moult
    Udo
    StefStap
    Sven Amiet
    OpeningDesign
    cvillagrasa
    Losepacific
    Jonny Knopp
    Haritonov Alexander
    tlang
    Marcos
    Louis Trümpler
    Guest
    Frode Lund Tharaldsen
    Dumitru Minciu
    ppaawweeuu
    dominik
    bitenergie
    bimage
    Smiljan Tukic
    Omar Zerhouni
    Leon ten Brinke
    Kimmo Hentinen
    Kevin Schnippkoweit
    Ivo
    Henning Munzel
    Giorgio Nocentini
    Duarte Farrajota Ramos
    Dmitriy Koptev
    Benjamin Smith
    Bedrossian Ádám
    Arun
    Abdelmalek HARRAG
    Rodas
    Madars Siksna
    Krande
    Arjan
    Angelo
    14.4    Hjalti
    casiovadal
    bclmnt
    Vinícius De Souza Lima
    Tim McGinley
    Stephen Cremin
    Royner
    Rafel Bayarre
    N1k0
    Miguel
    Marcin Boguslawski
    Gaurav Rampal
    Fabian Emanuel Kitzberger
    Dirk Olbrich
    Dayo Ayadi
    Dawid Fedko
    Cordero Architecture
    Christoph Mellüh
    Choong1219
    Bruno Perdigão
    Benny
    Barneyyy
    Ari Pikkarainen
    Alexander Kleemann
    Agents of Architecture
    Marco Andrade
    daniele rossi
    WILTON
    RITA FERREIRA
    Carlos Dias
    
    Andrej730steverugiAceMartinRomanLarsKoArabdamaypaulleecarlopavpstrokapand 22 others.
  • My word @Moult this is great!

Sign In or Register to comment.