@Ace said: @MexiKiwiMike
There is also a little test library of elements that makes starting quicker,
It's super quick once you know the hotkeys and the walls are loaded:
Click -> load IFC library (below create IFC project) -> once loaded click the paper clip on the right to load each element
how about this blenderbim-demo-library.ifc files. Lot of viewer do not display them. The one I use very often even crashes. I came around these files here ... https://community.osarch.org/discussion/comment/8524/#Comment_8524
Are there any more information available? May be at the wiki or at buildingSMART?
@bernd that file is not meant to be displayed by a viewer - it is a partial file containing only library data, but no project. To be legal (and thus viewable) I guess I need to wrap it in a project, even if it seems redundant.
Thanks for bringing this to my attention, I thought I had once seen libraries used by themselves by an official buildingSMART example but I cannot find it now, and only find evidence that libraries can only exist wrapped in a project. Perhaps @geometrygym might know?
I relized myself the missing of the IfcProject. Since it has ifc file ending we need to do something in this regard (IMHO). If it has ifc file ending people will try to open it in a ifc viewer and will fail. The viewer could even crash. Viewer developer might say BlenderBIM does create non standard ifc. We should not let this happen.
Neverless I like the idea to use ifc to save libray data.
Hi Dion, you're probably referring to a geometry gym sample that isn't compliant with the specification. At present the IfcProject is a mandatory singular concept in an IFC serialization. Perhaps this could be relaxed to be an IfcContext (supertype of IfcProject and IfcProjectLibrary) but at present the library needs to be declared by an IfcProject to be legal. It would need a schema change but also some working groups have explored ifc "snippets" which are isolated IFC data sets not necessarily in context.
I still need to build a bunch of project library editing related UI - so that it shows up in the tree, and you can manage multiple library declaration (right now, only a single library declaration works). But at least it is legal now :)
Hi, I need help with the file “blenderbim-demo-library.ifc”. When loading in “IFC Project Library”
I’m getting an error message: “Ifcopenshell.Error: Unable to parse IFC SPF header”
Thanks in advance!
BlenderBIM Add-on v0.0.211031 has been released with 187 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/
Let's get into the details.
Upgrade to IfcOpenShell v0.7.0, for a 35% - 2,000% (yes!) speed boost and new developer toys
The biggest aspect of this release, which is why we delayed it for a month, was an upgrade to v0.7.0 of IfcOpenShell. This represents a significant impact for developers, thanks to the tireless efforts by aothms. We will now benefit from geometry caching (in future releases), a new drawing generator (WIP), a huge speed boost ranging from 35% to 20 times faster depending on what you're doing, visualise bounding boxes and fill areas, SVG analysis, and version tags. Users can start to play with the ongoing drawing features in upcoming daily builds, and generally see things faster everywhere.
New testable code architecture
On the Python side, code has been rearchitected to allow for a more robust test framework and UI rendering. For developers, this represents a maturation of the codebase and developer community, including code standards for licensing, QA, style (black), linting, and TDD. Over 800 tests were written for this release with the new architecture, spanning from unit tests to full integration tests. For users, this is largely responsible for the staggering 68 bugs zapped during this release, so users will likely notice less regressions, and that the BlenderBIM Add-on will start feeling more and more like a native authoring tool.
Partial project loading support
You no longer need to load an entire project. By enabling advanced mode when importing, you can filter what you want to import, allowing you to load huuuge models much faster and only related to what you're planning to edit or review. Choose from filtering by location or by type, as well as new collection hierarchies.
Parametric geometry is now default
One of the biggest user impacts when editing is now that parametric geometry is default. You can now push and pull things as a mesh, but under the hood the parametric geometry will be preserved when possible. This leads to much more natural modeling and less paying attention to geometry modes and updating representations. This feature is also a leap of faith in standardised parametric IFC geometry, so keep an eye out for issues!
Improved construction scheduling
Construction scheduling continues to improve with bugs fixed around date calculations, rendering animations, real time date visualisation, Primavera P6 XER and resource import support, a new Ifc4D command line tool, improved formwork calculations, and more.
So much more
Other notable improvements include more point cloud support, user UI presets, real time type filter, bulk property and attribute editing, a few MEP system visualisation tools, and upgrades to the ownership and context editing modules. A huge thanks to the growing volume of new contributors who are joining the team and changing the industry. You can too!
We now support importing 3D annotations, not just 2D ones. Neat.
Invalid annotation contexts coming from Revit are now accepted
IfcOpenShell validation now handles logical data types. Thanks rbertucat!
New feature to draw system arrows showing flow direction and port connections.
New MEP utility to select and print debug information about connected system elements
Importing resources for XER and XML files from P6 is now supported. Thanks HassanEmam!
Optimistically track all object edits whenever you toggle edit mode, not just meshes. Let's see how this goes.
Optimise owner check depending on your implementation and no longer create default users on IFC4. Can result in 50% faster script running on long scripted operations like imports.
You can now manually type in start/end dates for construction sequence visualisation instead of clicking the date picker hundreds of times.
New UI "persona" presets in preferences. Thanks vulevukusej!
Moving grid axes are now synchronised automatically
Resize object to storey now works for a variable number of storeys
Adding annotation now auto enables viewport decoration drawing.
First pass at connecting to new ifcopenshell.draw for drawing generation.
New hacktastic IFC patch to fix ArchiCAD spaces being loaded into Revit.
You can now split objects using a drawn edge, especially useful when creating slab pour breaks and fixing lazily modeled walls and columns. Thanks Gorgious56!
Ifc4D XER import now supports calendars. Thanks HassanEmam!
New feature to calculate side formwork, such as for columns.
Formwork area calculation now unions objects before remeshing to account for overlapping geometry
Types in type dropdowns are now sorted alphabetically for convenience.
Spatial elements in the import filter will now be sorted by elevation for convenience.
Users copying and pasting via ctrl-c/v will now also copy IFC objects.
Using duplicate move linked in a BIM project now also triggers IFC copying
Objects now sync spatial hierarchy more robustly on export, and clean the collection tree in case the user messed it up.
Fix bug where during import sometimes aggregation collections don't match object names
Fix bug where imported grids were not linked and didn't auto track edits
Fix bug where auto geolocation offset didn't occur if placements were relative
Fix bug where copying a type also copied its type relations which is invalid.
Fixing bugs for Scheduling Module IFC4D, where P6XML Parser failing on calendar type. Thanks HassanEmam!
Fix regression bug where you couldn't add a grid.
Fix bug where imported types with representations but no instances were not fully linked.
Fix bug where switching to an object with modifiers applied would double the effect of modifiers.
Fix bug where large resizing of walls could result in broken geometry.
Fix bug where copying elements didn't ensure that material usages were unique
Fix terrible bug #1819 where duplicating mapped elements didn't actually copy the geometry mapping.
Fix bug where you could reassign class to another product type and create invalid relationships
Fix bug where BCF header file info was not loaded. See #1816.
Fix geometry bug for some types of IfcIndexedPolyCurve. Thanks aothms!
Fix bug with invalid initialization of local variable "data" in bcf. Thanks Nitschi!
Fix bug where auto assignment in the collection hierarchy failed if you had filtered out aggregates and you were assigning a subelement of an aggregate
Fix bug where you couldn't bulk copy non-geometric elements to other spatial containers
Fix bug where when deleting representations it could sometimes overreach and delete geometric, style, or layer data of other elements.
Fix bug where copying objects may sometimes result in incorrect location in the Blender collection tree
Fix bug where copying objects did not necessarily retain the existing context assignment
Fix minor bug where Python warnings showed up when delete operations were called
Fix bug where importing multiple assets sharing an already imported material fails.
Fix bug where the derived placements interface didn't take into account rotations
Fix deep magick bug where copying elements without having one of them active didn't actually copy them in IFC too
Fix bug where you couldn't filter imported subelements without also selecting their parents
Fix bug where copying elements shared a placement. This fix speeds up copying parent elements in the decomposition significantly, like when copying a storey.
Fix bug where copying a container also copied its contents
Fix bug where duplicating a collection messes up the collection tree.
Unassigning the last unit now cleans up empty unit assignments
Changing aggregation now ensures spatial containment is mutually exclusive to prevent invalid IFC data
Assigning aggregations now protects against various invalid aggregation combinations
When assigning containers, ensure aggregates and containers are mutually exclusive
Fix bug where assigning a spatial container didn't work with non local placements
Changing spatial container now guards against invalid containment operations
Unlinking elements is now a bit more stable.
Upon element removal, empty aggregates prioritise null if possible. Fixes a variety of invalid IFC bugs.
Fix bug where removing addresses and roles could leave other elements in invalid states
Fix bug. Removing an organisation now properly handles references appropriately.
Fix bug where removing a person no longer has the potential to leave files in an invalid state.
Fix bug where 2D contexts were not created with the right dimensionality.
Fix bug where you could accidentally add a context other than what you selected in the UI
Fix possible invalid scenarios when adding fillings. Thanks Gorgious56!
Fix error when displaying a selected but inactive object's properties with the pin feature. Thanks Gorgious56!
Fix error when filling has no IFC type. Thanks Gorgious56!
Fix bug where you could add a filling twice or to multiple openings.
Fix bug where you could add an opening twice to the same element.
Fix bug where copying an opening didn't copy relevant boolean modifiers too.
Fix bug where copying a filled opening would create an invalid relationship
Fix bug where structural member data was not updated correctly.
Fix bug where demolition animations were not generated properly.
Fix bug where nested task resource-based durations failed to calculate
Fix task duration calculation bug where hourly work greater or equal to 24 hours were incorrectly parsed
Parametric object gizmo scale now follows scene unit, and fix miles and thou-inch units. Thanks Gorgious56!
Fix bug where assigning a new container would shift object placements incorrectly due to SI unit conversion
Fix bug when shifting object placements and their children.
Fix bug where IFC patch didn't work on case insensitive file extensions
Fix bug where filtering did not work for indirectly spatially contained elements
Fix bug where aggregates break with filtered elements during import.
Fix bug where editing styles didn't work if factors were stored instead of RGB colours
Fix bug where openings were not unlinked or renamed if they were removed from a non-dynamic object
Fix bug where removing an opening might remove an element twice
Fix bug where project libraries were not legal.
Add transaction support for adding elements. This fixes a variety of undo bugs.
Fix bug where project library browser could self reference.
Fix bug where element replacement would sometimes fail leading to various problems.
Fix typo in material style assignment code. Thanks Gorgious56!
Fix bug when copying objects, don't copy their decomposition to prevent invalid IFCs.
@Moult : Do you know if blenderbim has been tested with the real-time collaborative addons Mixer or Multi-User for blender? It would be awesome if they can be combined in order to get real-time IFC-editing and engineering capability for multiple users using blender. See this post for info on them.
Hi, I have an issue setting up BlenderBIM. I am using Blender 3.0 so that could be causing the issue.
I tried following Dion's quick demo but I don't have any of the circled options
I do have BlenderBIM checked in addons and I do have the IFC Derived Placements option, so it seems that BlenderBIM is installed. Any ideas?
EDIT: Seems I missed the create IFCProject step, it's solved now
@HaukMorten unfortunately those real-time collaborative add-ons work only with Blender, but there's a missing step to get it to synchronise with IFC edits. So without testing, I can tell you that out of the box it won't work (yet).
Thank you for your response @Moult . Well, it's a wish for later then. BlenderBIM still isn't mature enough for us to use in a production environment yet in either case, but perhaps some day in the not too distant future I can wish for some development funding internally to try to at least figure out what needs to be in place for us to begin to use in for engineering. I've already used it for geometry editing of IFC's that wouldn't open i Revit at all. Once one gets the hang the shortcuts, editing in blender is so much smoother than in Revit!
@HaukMorten said: @Moult : Do you know if blenderbim has been tested with the real-time collaborative addons Mixer or Multi-User for blender? It would be awesome if they can be combined in order to get real-time IFC-editing and engineering capability for multiple users using blender. See this post for info on them.
I've tested all the collaboration add-ons I could find and none of them completely support even the standard Blender functions, let alone any add ons.
BlenderBIM Add-on v0.0.220130 has been released with 252 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/
It's been 3 months since the last release. Unfortunately, development had been put intermittently on hold due to various factors, including presentations being prepared for the Boao Forum for Asia ISTIF conference, FOSDEM 2022, and the 1-month online course on OpenBIM and Python programming by E-Zigurat. In addition, there was a one month break from development during the holiday period. It's a marathon, not a sprint! :) Happy 2022, and we're back!
Let's get into the details.
Optimisations to authoring and geometry caching
A huge kudos to the exceptional optimisation work by Thomas Krijnen. Especially when modifying large files, expect operations to be in the scale of 100x faster, especially when dealing with proprietary BIM exports. Bulk movement checks are a minimum of 5 seconds faster. Importing files with booleans can be 2x to 3x faster. New performance logging in the core means that optimising is far from over.
A new geometry cache is now implemented, so reopening the same project will be much faster.
Increased stability
Native authoring stability was a huge priority for this release. An additional 450 tests were written since the last release, and 76 bugs were fixed. This is the return on investment in the new testable code architecture which was revealed in the previous release.
Brickschema integration
Brickschema is a way of describing system topologies for building management systems (BMS). When we talk about digital twins and clear away the marketing buzzwords, we're really talking about things like Brickschema and live building sensor data that Brickschema can reference. The BlenderBIM Add-on is the first in the industry to start providing a graphical Brickschema authoring environment that integrates with IFC.
It is now possible to create a 2-way link between IFC BIM models and Brickschema BMS models. This is possible due to new support for managing IFC libraries. Brickschema authoring is still very new, but it's ready for basic testing!
New bulk property editor
In our quest to help clean OpenBIM data in the industry, an incredibly suite of bulk property editing tools are now available by developer Vukas Pajic. Includes bulk renaming, data type changing, removal, and adding properties.
Chipping away at drawing generation and MEP support
Drawing generation is a huge task that still isn't ready for user testing, but all the same work has been done. Including improved section cutting booleans, geometry caching, fixing "the torus problem" for steel sections, new 2D elements in the demo library, paper scale annotations in the viewport, performance testing, native IFC roundtripping for annotations, associating objects for smart annotations, annotation variables, drawing sheets, and improved UI.
Also ... more rabbits!
MEP is one of the areas not really supported by the BlenderBIM Add-on but that is now changing. Support is now added for different types of building systems, selecting different types of systems, and displaying distribution ports.
Better docs and building for developers
A number of fixes to the build system makes life easier for developers on different environments to build IfcOpenShell thanks to Thomas Krijnen. Also really exciting is the new super secret demo module tutorial and improved developer guide for new developers who want to learn how to build your own BIM application on Blender and extend the BlenderBIM Add-on.
So much more
Other notable improvements include new UI grouping, IFC to P6 XML export support thanks to developer myoualid, viewing IFC metadata prior to loading with one-click IFC4 file upgrades thanks to developer Gorgious56. Blender 3.0 is now officially supported. In addition, new support for parsing EXPRESS schemas in the interface has been added, in preparation to support IFC4X3. The testing process for IFC4X3 support has begun, with the hundreds of tests in the suite being redirected to check IFC4X3 support, with very promising initial results.
A huge thanks to the growing volume of new contributors who are joining the team and changing the industry. You can too!
IFC element names no longer treat the Blender name suffix as significant
Object names now guard against duplicate IFC prefixes when assigning.
All element's spatial containment collections are now synced when assigning a class.
Structural items in the collection hierarchy are now auto synced.
Remove legacy unassign class feature in favour of just deleting objects. Thanks theoryshaw!
#1692 get_info_2() logical now supported Thanks Thomas Krijnen!
You can now specify a target view when creating a new drawing. See #1153.
Drawing collection hierarchy is now auto fixed if shuffled around manually. See #1153.
Drawings list now reads data from IFC, not Blender. See #1153.
Removing sheets now works in IFC. See #1153.
You can now create drawing sheets in IFC. See #1153.
You can now show and hide distribution ports of an element.
New diagrams on the developer guide.
Finish building minimum viable product of the IFC2P6 converter. Thanks myoualid!
Fix #1514. You can now customise the default names of occurrences create from a type.
New software architecture section in the developer guide.
New demo module to teach developers how to hack on the BlenderBIM Add-on.
Updates to space boundary geometry now auto updates on export.
IfcCSV now loads the selector by default so its much more fun to use a lib.
You can now remove bricks from a Brickschema model.
New utility function for getting ports of an element
Implement assign and unassign ports in IfcOpenShell API
Dynamically update section shader backface color (#2000) Thanks Gorgious56!
Nodes are now offset nicely for cutaway shader (#2000) Thanks Gorgious56!
Smart annotation variables for drawings now reimplemented. See #1153.
#1993 vs2022 hdf5 Thanks aothms!
Editing task times no longer tries to be clever with actual dates because you know what you're doing.
Fix #1576. Managing IfcSystem subtypes is now possible.
#1993 msvc 2022 config Thanks Thomas Krijnen!
Nicer looking gantt charts and make it easier to print to PDF.
Code licensing clarifications. See #1082.
Fix #1908. Extracting elements using IfcPatch now includes all properties.
Fix #1962. You can now easily append product assets using the API.
You can now reset and restore your API owner settings.
Header data previews for IFCZIP are now supported as well.
Fix #1956. One-button upgrade from IFC2X3 to IFC4.
Minor improvement to the sequence UI to always allow you to cancel editing mode.
ADD_COMMIT_SHA in build scripts Thanks Thomas Krijnen!
You can now associate annotations with objects for smart annotations in IFC. See #1153.
define the vector sass [0] as a std::vector<std::unique_ptr> Thanks Benjamin Dahl!
Remove broken and obsolete Blender clasher which is incompatible with the geom.tree broadphase approach.
Improvements to 2D booleaning Thanks Thomas Krijnen!
Implement adding plain bricks not based on IFC
Support type-based class checking for converting IFC2X3 models to Brickschema
The IFC Class panel now shows inherited predefined types
New utility to get predefined type
Show ifc specs in file selector (#1980) Thanks Gorgious56!
UI Simplification with Panel Groups (#1979) Thanks Vukas Pajic!
Implement auto and manual refresh of the Brick model navigator
You can now create a new blank Brick project
New debug feature to purge HDF5 cache in case the cache is corrupted.
Implement human readable rdfs labels in Brickschema navigator
Display IFC schema in file selector right hand side panel (#1978) Thanks Gorgious56!
New utility to get IFC all elements that are relevant in Brickschema
Basic implementation to bulk convert relevant IFC classes to a Brick model
New IFC to Brick class mapping utility
You can now select all system objects from the object panel for convenience.
Optimise all editing API functions to be 100x faster when you're dealing with proprietary BIM exports with loads of shared owner histories. See #1904 and #1905.
Schema versions are no longer locked to IFC4 and 2X3. You can now load express schemas at run time.
Purge obsolete IFC types mappings
Install to system local root Thanks Thomas Krijnen!
Fix: shift count negative or too big Thanks Thomas Krijnen!
#1960 BRepBuilderAPI_MakeFace on non-overlapping 2d subtraction Thanks Thomas Krijnen!
Log performance aggregates as logger messages Thanks Thomas Krijnen!
Logging statement for total file conversion Thanks Thomas Krijnen!
Update template.py main.schema_identifier doesn't exist Thanks Thomas Krijnen!
#1969 take uppercase in register_schema() Thanks Thomas Krijnen!
More slow progress in getting annotations round-tripping. See #1153.
You can now associate IFC elements with Brick elements and navigate to them
You can now assign and unassign library references
New UI to add / edit / remove library information and references.
Raise default section height from storey from 1.0 to 1.2 Thanks Bruno Postle!
A whole bunch of new usecases for managing IFC library information and references
New utility to get layers of an element. See #1869.
Rebuild text annotations to have leaders in the same object and use text literals. See #1153.
Viewport annotation decorations now scale based on paper size. See #1153.
Drawing annotations now are stored in IFC using ObjectType conventions. See #1153.
Reimplement roundtrip of most annotation elements for drawings. See #1153.
New experimental OBJ2IFC script
tree.protrusion_distances() Thanks Thomas Krijnen!
Purge old 2D element drawing system, so we don't get double the symbols on drawings.
Swapping a Blender material for another is now auto synchronised.
Optimise object placement change checking, so medium sized project exports are 5 seconds faster at minimum, but can be much higher since false positives are culled.
Load CJIO on execution instead of initialisation Thanks Laurens Oostwegel!
show property description in pset_template ui Thanks Vukas Pajic!
Geometry caching is now enabled for model importing
Changes are now synchronised prior to switching representations.
[BlenderBIM] Tools to load IfcRelSpaceBoundary (#1864) Thanks Cyril Waechter!
Scale changes are now auto synchronised on export.
Improve support for Powerproject 14.0 import (#1865) Thanks ecke101!
Integrate ifccityjson in BlenderBIM (#1859) Thanks Laurens Oostwegel!
Implement cache updating for drawings. See #1153.
Resolve #1836. Scaling in Blender is now auto resolved when representations are updated.
Purge old dumb door and dumb window tool to prevent confusing users
Add annotation symbols for doors, windows, and bunny to the demo library
New IfcOpenShell utility to get instances of an element type easily
#1785 omplete stored_settings / requested_settings check Thanks Thomas Krijnen!
Consistent setting type Thanks Thomas Krijnen!
Resolve #1860. Brickschema is now optional.
Drawing module now is in sync with latest C++ upgrades. See #1153.
Allow tree.select(BRepElement) Thanks Thomas Krijnen!
#1785 check settings in cache and upgrade to world coords Thanks Thomas Krijnen!
Fix casts in XML serializer Thanks Thomas Krijnen!
ifccityjson: it is now easier to extract one LOD Thanks Laurens Oostwegel!
ifccityjson: prevent interior holes in faces as there is a bug in the geometry generation Thanks Laurens Oostwegel!
New feature to select all objects in same container
New feature to select the container of an object
Resolve #1750. You can now save IFCs under a relative path to your Blend file.
only call expensive wstring_convert() when necessary Thanks Thomas Krijnen!
#1785 geometry caching caching Thanks Thomas Krijnen!
Resolve #1749. You can now save as another IFC filename.
Rename some files with more sensical names Thanks Thomas Krijnen!
#1153 #1852 project points to form SVG HLR cut plane Thanks Thomas Krijnen!
#1153 evenodd SVG styling. Thanks Thomas Krijnen!
IfcConvert : SEW_SHELLS on svg serializer Thanks Thomas Krijnen!
#1153 boolean subtraction on parts Thanks Thomas Krijnen!
--cache and subtraction in draw.py Thanks Thomas Krijnen!
Hello,
I installed Blender version 3.1.0 and it doesn't work with BlenderBIM Add-on v0.0.220130. I didn't have a previous version installed.
Is it necessary to use different versions?
@paulcaicedo said:
Hello,
I installed Blender version 3.1.0 and it doesn't work with BlenderBIM Add-on v0.0.220130. I didn't have a previous version installed.
Is it necessary to use different versions?
Thanks @theoryshaw
I installed version 3.0.1 and it works all ok. I am not sure how to change the python versions and where for version 3.1.0. This is good for now.
Comments
how about this blenderbim-demo-library.ifc files. Lot of viewer do not display them. The one I use very often even crashes. I came around these files here ... https://community.osarch.org/discussion/comment/8524/#Comment_8524
Are there any more information available? May be at the wiki or at buildingSMART?
cheers bernd
@bernd that file is not meant to be displayed by a viewer - it is a partial file containing only library data, but no project. To be legal (and thus viewable) I guess I need to wrap it in a project, even if it seems redundant.
Thanks for bringing this to my attention, I thought I had once seen libraries used by themselves by an official buildingSMART example but I cannot find it now, and only find evidence that libraries can only exist wrapped in a project. Perhaps @geometrygym might know?
I relized myself the missing of the IfcProject. Since it has ifc file ending we need to do something in this regard (IMHO). If it has ifc file ending people will try to open it in a ifc viewer and will fail. The viewer could even crash. Viewer developer might say BlenderBIM does create non standard ifc. We should not let this happen.
Neverless I like the idea to use ifc to save libray data.
Hi Dion, you're probably referring to a geometry gym sample that isn't compliant with the specification. At present the IfcProject is a mandatory singular concept in an IFC serialization. Perhaps this could be relaxed to be an IfcContext (supertype of IfcProject and IfcProjectLibrary) but at present the library needs to be declared by an IfcProject to be legal. It would need a schema change but also some working groups have explored ifc "snippets" which are isolated IFC data sets not necessarily in context.
https://standards.buildingsmart.org/IFC/DEV/IFC4_3/RC1/HTML/schema/ifckernel/lexical/ifcprojectlibrary.htm
https://standards.buildingsmart.org/IFC/DEV/IFC4_3/RC1/HTML/schema/ifckernel/lexical/ifcreldeclares.htm
If I read these two it seams one need to wrap it in a IfcProject.
Bet she speaks Python!
@bernd @geometrygym cheers, I've now fixed it. https://github.com/IfcOpenShell/IfcOpenShell/commit/a1b462a83b1b795addf77951533a54ab5140e1b2
I still need to build a bunch of project library editing related UI - so that it shows up in the tree, and you can manage multiple library declaration (right now, only a single library declaration works). But at least it is legal now :)
Hi, I need help with the file “blenderbim-demo-library.ifc”. When loading in “IFC Project Library”
I’m getting an error message: “Ifcopenshell.Error: Unable to parse IFC SPF header”
Thanks in advance!
No love for M1?

@Carozo it sounds like you have not downloaded the library file correctly. Try file save as from this page: https://raw.githubusercontent.com/IfcOpenShell/IfcOpenShell/v0.6.0/src/blenderbim/libraries/blenderbim-demo-library.ifc
@VDobranov not at the moment, no, we don't build for ARM. Would you mind posting at https://github.com/IfcOpenShell/IfcOpenShell/issues/1702 ? I think to solve it, we need to purchase an ARM MacOS machine. Perhaps we could fundraise for this?
Just to try the waters: are there any means to donate on particular goal?
@VDobranov not to a particular goal, sorry. But donation in general is supported at https://liberapay.com/dionmoult or https://opencollective.com/opensourcebim
BlenderBIM Add-on v0.0.211031 has been released with 187 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/
Let's get into the details.
Upgrade to IfcOpenShell v0.7.0, for a 35% - 2,000% (yes!) speed boost and new developer toys
The biggest aspect of this release, which is why we delayed it for a month, was an upgrade to v0.7.0 of IfcOpenShell. This represents a significant impact for developers, thanks to the tireless efforts by aothms. We will now benefit from geometry caching (in future releases), a new drawing generator (WIP), a huge speed boost ranging from 35% to 20 times faster depending on what you're doing, visualise bounding boxes and fill areas, SVG analysis, and version tags. Users can start to play with the ongoing drawing features in upcoming daily builds, and generally see things faster everywhere.
New testable code architecture
On the Python side, code has been rearchitected to allow for a more robust test framework and UI rendering. For developers, this represents a maturation of the codebase and developer community, including code standards for licensing, QA, style (black), linting, and TDD. Over 800 tests were written for this release with the new architecture, spanning from unit tests to full integration tests. For users, this is largely responsible for the staggering 68 bugs zapped during this release, so users will likely notice less regressions, and that the BlenderBIM Add-on will start feeling more and more like a native authoring tool.
Partial project loading support
You no longer need to load an entire project. By enabling advanced mode when importing, you can filter what you want to import, allowing you to load huuuge models much faster and only related to what you're planning to edit or review. Choose from filtering by location or by type, as well as new collection hierarchies.
Parametric geometry is now default
One of the biggest user impacts when editing is now that parametric geometry is default. You can now push and pull things as a mesh, but under the hood the parametric geometry will be preserved when possible. This leads to much more natural modeling and less paying attention to geometry modes and updating representations. This feature is also a leap of faith in standardised parametric IFC geometry, so keep an eye out for issues!
Improved construction scheduling
Construction scheduling continues to improve with bugs fixed around date calculations, rendering animations, real time date visualisation, Primavera P6 XER and resource import support, a new Ifc4D command line tool, improved formwork calculations, and more.
So much more
Other notable improvements include more point cloud support, user UI presets, real time type filter, bulk property and attribute editing, a few MEP system visualisation tools, and upgrades to the ownership and context editing modules. A huge thanks to the growing volume of new contributors who are joining the team and changing the industry. You can too!
All changes
New features:
... continued ...
... continued ...
New fixes:
@Moult : Do you know if blenderbim has been tested with the real-time collaborative addons Mixer or Multi-User for blender? It would be awesome if they can be combined in order to get real-time IFC-editing and engineering capability for multiple users using blender. See this post for info on them.
Hi, I have an issue setting up BlenderBIM. I am using Blender 3.0 so that could be causing the issue.
I tried following Dion's quick demo but I don't have any of the circled options
I do have BlenderBIM checked in addons and I do have the IFC Derived Placements option, so it seems that BlenderBIM is installed. Any ideas?
EDIT: Seems I missed the create IFCProject step, it's solved now
@HaukMorten unfortunately those real-time collaborative add-ons work only with Blender, but there's a missing step to get it to synchronise with IFC edits. So without testing, I can tell you that out of the box it won't work (yet).
Thank you for your response @Moult . Well, it's a wish for later then. BlenderBIM still isn't mature enough for us to use in a production environment yet in either case, but perhaps some day in the not too distant future I can wish for some development funding internally to try to at least figure out what needs to be in place for us to begin to use in for engineering. I've already used it for geometry editing of IFC's that wouldn't open i Revit at all. Once one gets the hang the shortcuts, editing in blender is so much smoother than in Revit!
I've tested all the collaboration add-ons I could find and none of them completely support even the standard Blender functions, let alone any add ons.
BlenderBIM Add-on v0.0.220130 has been released with 252 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/
It's been 3 months since the last release. Unfortunately, development had been put intermittently on hold due to various factors, including presentations being prepared for the Boao Forum for Asia ISTIF conference, FOSDEM 2022, and the 1-month online course on OpenBIM and Python programming by E-Zigurat. In addition, there was a one month break from development during the holiday period. It's a marathon, not a sprint! :) Happy 2022, and we're back!
Let's get into the details.
Optimisations to authoring and geometry caching
A huge kudos to the exceptional optimisation work by Thomas Krijnen. Especially when modifying large files, expect operations to be in the scale of 100x faster, especially when dealing with proprietary BIM exports. Bulk movement checks are a minimum of 5 seconds faster. Importing files with booleans can be 2x to 3x faster. New performance logging in the core means that optimising is far from over.
A new geometry cache is now implemented, so reopening the same project will be much faster.
Increased stability
Native authoring stability was a huge priority for this release. An additional 450 tests were written since the last release, and 76 bugs were fixed. This is the return on investment in the new testable code architecture which was revealed in the previous release.
Brickschema integration
Brickschema is a way of describing system topologies for building management systems (BMS). When we talk about digital twins and clear away the marketing buzzwords, we're really talking about things like Brickschema and live building sensor data that Brickschema can reference. The BlenderBIM Add-on is the first in the industry to start providing a graphical Brickschema authoring environment that integrates with IFC.
It is now possible to create a 2-way link between IFC BIM models and Brickschema BMS models. This is possible due to new support for managing IFC libraries. Brickschema authoring is still very new, but it's ready for basic testing!
New bulk property editor
In our quest to help clean OpenBIM data in the industry, an incredibly suite of bulk property editing tools are now available by developer Vukas Pajic. Includes bulk renaming, data type changing, removal, and adding properties.
Chipping away at drawing generation and MEP support
Drawing generation is a huge task that still isn't ready for user testing, but all the same work has been done. Including improved section cutting booleans, geometry caching, fixing "the torus problem" for steel sections, new 2D elements in the demo library, paper scale annotations in the viewport, performance testing, native IFC roundtripping for annotations, associating objects for smart annotations, annotation variables, drawing sheets, and improved UI.
Also ... more rabbits!
MEP is one of the areas not really supported by the BlenderBIM Add-on but that is now changing. Support is now added for different types of building systems, selecting different types of systems, and displaying distribution ports.
Better docs and building for developers
A number of fixes to the build system makes life easier for developers on different environments to build IfcOpenShell thanks to Thomas Krijnen. Also really exciting is the new super secret demo module tutorial and improved developer guide for new developers who want to learn how to build your own BIM application on Blender and extend the BlenderBIM Add-on.
So much more
Other notable improvements include new UI grouping, IFC to P6 XML export support thanks to developer myoualid, viewing IFC metadata prior to loading with one-click IFC4 file upgrades thanks to developer Gorgious56. Blender 3.0 is now officially supported. In addition, new support for parsing EXPRESS schemas in the interface has been added, in preparation to support IFC4X3. The testing process for IFC4X3 support has begun, with the hundreds of tests in the suite being redirected to check IFC4X3 support, with very promising initial results.
A huge thanks to the growing volume of new contributors who are joining the team and changing the industry. You can too!
All changes
New features:
main.schema_identifier
doesn't exist Thanks Thomas Krijnen!New fixes:
(\ (\
( ' · ' )
0 ( '')( '') Great work!
(\ (\
( ' · ' )
0 ( '')( '') Fantastic!
(\ (\
( ' · ' )
0 ( '')( '') Superb!
Hello,

I installed Blender version 3.1.0 and it doesn't work with BlenderBIM Add-on v0.0.220130. I didn't have a previous version installed.
Is it necessary to use different versions?
I just downloaded
blenderbim-220309
developer build from:https://github.com/IfcOpenShell/IfcOpenShell/releases
I tried to install the
blenderbim-220309-py39-win.zip
on Blender 3.0.1.I get the following error.
No module named 'blenderbim.core.document'
https://github.com/IfcOpenShell/IfcOpenShell/issues/2083
Thanks @theoryshaw
I installed version 3.0.1 and it works all ok. I am not sure how to change the python versions and where for version 3.1.0. This is good for now.
https://github.com/IfcOpenShell/IfcOpenShell/releases
The blenderbim-220316-py39-win.zip is not working on Windows with Blender 3.1.0
I think you have to use the "-py310-.zip" file