As this suite of tutorials by @Ace are turning into a comprehensive beginners course, I think it makes sense to include it in the documentation and / or linked to on the website. What do you think @Ace?
Hey @Moult thanks! and very cool! That's a bit of history right there. Good to know about the window insets! thanks that's very informative! I'm super keen for it to be included, What do you need from me?
Hi! I am trying out v230310 to test the roof generator (wow!), but I couldn't figure out what happened to the materials... when I try to create a new type from an empty with MaterialLayerSet I don't find the IFC Object Material in the menu anymore. Was it moved?
With the tutorials, I am creating sets of files and adhock adding them to the threads here but it would be nice for people to have a repository on the website that has files they can play with and try out
@Ace sorry for the delay, I've added your video series to the front page of the documentation website: https://blenderbim.org/docs/ - although I think it's always important to have a text tutorial as well as text-based detailed reference guides, I think the AEC industry is quite visual and a comprehensive video tutorial series should be the very first thing people are introduced to :)
It would be awesome to have a list of demo files! Perhaps a good start would be for you to host the files on a Git repo (that way they can be updated and versioned over time) somewhere that could be updated as the videos are updated? The docs website can also have a dedicated page just like Blender's demo files page which links to them. (the docs site are all coded in restructured text so it is easy for anybody to contribute to it).
BlenderBIM Add-on v0.0.230506 has been released with 534 new features and fixes. It's our built environment, help support the BlenderBIM Add-on: 100% free and open source software that lets you author and document BIM data fully to ISO standards. It's built by the AEC community, for the AEC community. Get it today: https://blenderbim.org/
The sheet, drawing, and schedule system has been made fully portable, storing relative paths in IfcDocumentReferences, and capturing all of the components needed to build sheets in IfcDocumentReferences. This means that it is finally practical to switch between multiple projects on the same computer, or package a project that someone else can open on their computer.
Note: drawing and IFC model from the Clothing Boutique project by Opening Design CC-BY-SA 4.0 produced with the BlenderBIM Add-on. A huge thank you to the Clothing Boutique project who helped battle test and report numerous bugs to help stabilise this release cycle.
All related drawing and sheet assets like titleblocks, view title templates, CSS stylesheets, symbols, markers, and patterns are all able to be stored alongside your IFC project as referenced URIs. Things like the titleblock dropdown now also shows your project specific titleblocks.
Renaming or renumbering drawings, sheets, and schedules is now much more practical and flexible.
Huge drawing system upgrades
Arbitrary metadata may now again be stored for any object in a drawing as a CSS class. Imperial dimension formatting improved. Spatial elements are now drawn on top so you can tag and colour code spaces without obscuring elements in the space. You can now bulk print or open drawings and change sheet title blocks after a sheet has been generated.
Two optional engines are now available for semantic projection fills. If you have elements in the background such as carpeted floor coverings that need hatch patterns or fills, you can now activate either a Shapely-based engine or an SVGFill-based engine which will properly semantically tag closed polygons in the background of your drawing.
Schedules from ODS now supports merged columns, row heights, cell text alignments, and multiline text wrapping. This means formatting of schedules in ODS can be preserved when rendering on sheets.
Section annotations in drawings now support truncated section lines, and disabled / custom section symbols at either end of the section.
The cut merging tool introduced in the previous release also got a bunch of much needed stability upgrades and now works on more complex projects at a fraction of the time.
Viewport drawing upgrades
There is a new cut decorator that clearly shows the cut line in drawings. Drawings also now activate target view specific representations (e.g. door swings in plan view). Parametric layered walls now have their layer slices shown in the viewport. Put together this means a significantly more user friendly drawing view that closely resembles the final generated vector drawing.
Viewports now also take into account include and exclude element filters for the drawings, as well as only showing element in view. This means that drawings now generate faster (easily twice as fast or more for larger projects) and your view isn't cluttered with excluded elements. This makes is practical to work on phased projects (e.g. demolished versus new construction statuses).
You can also now customise decorator colours. Using a light theme? Go for it.
Critical bugfixes
Tons of bugfixes were made, but certain bugs were so critical or have a big impact on usability that they deserve a special mention. During this release cycle, we managed to hunt down and fix a ton of these critical bugs.
Critical bug fixes include fixing tiny polygon hatch merging on drawing plans. Fix crash when editing with decorators. Fix data corruption on undo where IFC primitive editing was stored. Fix disappearing openings when splitting walls. Fix issue where copying objects could unnecessarily copy themselves recursively. Fix installation error of IfcSverchok. Fix bug where 2D elements were sometimes not loaded when loading IFCs. Fix UX issue that commonly led to users creating objects with unintended contexts. Fix issue where certain materials weren't appended when appending elements from a project library, or where types were recursively pulled in causing bloated type libraries. Fix crash in IFC array tool. Fix issue where editing layer thickness accidentally didn't consider the total thickness of all layers. Quantity take-off calculation now uses project units.
A number of critical save-time synchronisation issues were resolved. These would cause unnecessarily long file saves or significantly unnecessary data changes. For example, type objects used to incorrectly track placement and were all synced at save time.
Fix "repeat last operator" for duplicating elements. Fix unlinking bug which would break other material users in the file.
IFC Git version control integration
Incredible work by Bruno Postle and Bruno Perdigao have led to an integration with the IFC Git project. This allows you to track changes on an IFC project, merge changes from multiple users, and jump to points in the project change history.
You can now manage your BIM data in a local Git repository without leaving the BlenderBIM Add-on. Instead of just saving a file, you can create revisions with descriptions. These revisions are browsable and retrievable, changes between two revisions can be visualised in 3D. Any revision can be forked, creating a branch for developing options or playing with designs. There is an experimental tool to merge branches using an IFC specific three-way merge for conflict resolution.
IFC validation improvements
Lots of IFC validation issues resolved, including incorrectly using 3D coordinates for 2D profiles, or a number of orphaned relationships. The IFC validation utility now also has a number of fixes to false positives. The pset and qto authoring UI has been modified to prevent the ability to create invalid sets without properties.
Invalid IFCs may lead to unpredictable behaviour in native IFC authoring tools, or worse, complete incompatibility in other IFC software.
More parametric tools
New parametric railing tool. Two types of railings are now supported, including a frameless glass ballustrade and a wall mounted handrail.
Generated spaces now use their object placement as a space recalculation point when regenerating spaces. Parametric sliding doors are now supported.
New UI for generating roofs. You can also set roof angles so gable roofs as well as hipped roofs are now supported.
Parametric dimension fields in the BIM Tool (such as extrusion depth, length, X angle) are now aware of project units - a simple but significant usability improvement especially for imperial users.
New join tool means you can intelligently join objects. Meshes are merged into a single mesh object, whereas solids are joined into multiple solid representation items.
Faux-mirroring is now implemented, so you can mirror columns, furniture, walls, etc based on any arbitrary axis. Faux mirroring is similar to normal mirroring, except that there is no lateral inversion. This means that mirroring preserves the geometry exactly.
Improved control over bulk assigning and unassigning aggregates in prepration for elemented wall modeling at later design stages. Voids and fills may also be added to aggregates, so that you can have a single opening penetrating multiple coverings, members, and other objects.
Upgrades to text annotations
Text annotations got a big upgrade with support for multiple text literals. This means that you can view multiline text in the viewport, as well as have annotation symbols with multiple text components (e.g. a space annotation with a number, name, and area) in drawings. Text now respects multiple text sizes and box alignment in the viewport. Text may also have a background fill for readability in drawings.
Improved selector syntax now allows you to escape complex names and regex. There is also now support for chained relationship selections and list index selection, so you can select the material of a 2nd layer of a layer set, for instance. This means you can easily write queries that filter project phases, or common properties like fire ratings across many object types.
Text annotations may also use evaluated Python commands for advanced users to annotate substrings, special numerical formatting or rounding, or more. There are also more built-in symbols so that you don't need to create your own for simple tags.
New smart bulk annotation tool
There's a new annotation tool with a focus on making annotation as easy as possible. Annotations may now be typed, so that styles (such as classes) from the type, or representations (such as preset text tags) may be set once at the type level, then bulk applied to all instances.
When you add stair arrow annotations, preselected stairs will have arrows automatically added along the stair flight run. You may also bulk select instances and tag them using your own custom annotation type.
New fall annotation tool, allowing you to annotate falls and slope angles / grades.
BGL to GPU migration
Blender is deprecating its BGL library that the BlenderBIM Add-on uses for drawing viewport decorations. Decorations include profile highlights, and live drawing annotations like text notes, dimensions, and so on. A considerable amount of work was done to migrate to the new GPU library, which means that users on the latest Blender versions can still enjoy all of the decoration features.
Unfortunately, work is not yet finished and some MacOS users may be missing decorations. This will be resolved in time for the next release.
New edit mode and non-delayed element deletion
There is a completely new edit mode toggling system. This means that if you have a mesh-based representation (such as faceted breps or tessellation), your edits are tracked whilst you're in editing mode, and you are given the option to save or discard edits as you toggle edit mode. In the past, mesh edit modes were delayed and synchronised at file save, which led to synchronisation bugs. This new method helps fix a number of previously obscure bugs.
For non-mesh based representations, mesh editing is disabled, unless you have explicitly cast the geometry type to a mesh-compatible representation. This prevents people editing objects in an incompatible manner. This also allows us to enable representation-specific editing tools, such as profile editing for space boundary surfaces.
Similarly, element deletion now happens on demand, instead of delayed until synchronisation events. This also prevents a lot of obscure potential bugs. Element deletion is now also a lot faster, even thousands of times faster for dense mesh-like representations.
More ways to author space boundaries
Space boundaries are ways of representing boundaries between spaces for energy analysis. Previously, the features available to load, create, and edit boundaries were very clunky. Now, there is an easy way to create a new untyped space, bulk generate spaces from walls, and toggle boundaries on or off for selected spaces.
Space boundaries can now be easily selected, and automatically generated. Generation intelligently takes into account walls, openings, and fills like doors and windows, automatically creating inner boundaries for these objects correctly projected onto the plane of the boundary.
A new boundary profile editing tool makes it easier to edit inner and outer boundaries as profiles similar to how you'd edit slab profiles, and now supports filleted arcs and circles as well.
Improved resource management tools
Resources are used in the domain of scheduling and costing. There are now features to review and edit Resource productivity data on the fly, and add number of Resources used directly from resource tree. These two features now make it a lot faster to: parametrically calculate a Resource’s Required Work based on its productivity, and parametrically schedule the duration of a task based on the number of resources.
Cost management
You can now select unassigned cost schedule products - find out what's left to schedule!
Conveniently show total elements/tasks/resources assigned to a cost item. Enable displaying nested elements for Cost Items - elements, resources, tasks. The UI for adding cost item values has been improved.
You can now clear all assignments assigned to a cost item. New ability to change cost item parent in a tree, and re-order cost items in a tree.
Gantt chart and baselines for construction scheduling
Create & view work schedule baselines. You can now compare Baselines vs Planned with Gantt Charts. You can now conveniently print Gantt Charts in different Sheet Formats. Added support for multiple languages for Gantt Chart Headers. Enable displaying task tooltip when hovering over tasks in the Gantt Chart. Add resource columns in Gantt Chart. Improvements on the Gantt Chart page style layout.
Improved Work Schedule UX. Implement human readable durations in task tree. Edit durations with human readable durations.
Select individual Task Inputs & Task Outputs directly from the task quantity assignments. Display nested task resources/task inputs of the active task. Buttons to select a Work Schedule's assigned / unassigned products.
New viewport 4D/5D tools
Show list of tasks related to the current object selection. Highlight tasks related to the current object selection
Side-Panel Menu to retrieve cost items assigned to an object. Highlight cost items related to the current object selection
So much more
Utilities to get connected MEP elements in a distribution system is now supported for IFC4. Upgrades to the FixRevitTINs patch for fixing Revit-specific issues for loading TINs from Civil3D.
Titleblocks now support dynamic angles for north arrows. IFC Array now supports local or global coordinates, and getting coordinate offsets from the 3D cursor. New thick line section rendering for temporary sections. Site reference long/lats can now be edited. Loading IfcProxy now supported. Materials can now be duplicated. Quantity take off improvements include the ability to calculate weights based on material densities. Easily see related cost items and quantities of selected items.
A huge thanks to the growing volume of new contributors who are joining the team and changing the industry. You can too!
Also a huge thanks to the growing volume of new donors who have helped is raise funds here: https://opencollective.com/opensourcebim - thanks to you, we were able to sponsor development. Many of the features you have just read about would not have been possible to do in this timeframe without your help. Thank you!
All changes
All changes can view the directly via the Git logs here:
Credits for this release (in order of commits via git shortlog -sn --since "2023-03-04"):
184 Dion Moult
174 Andrej730
52 Sigma Dimensions
35 Thomas Krijnen
16 Massimo Fabbro
9 Bruno Perdigão
8 Bruno Postle
7 Carlos Villagrasa
5 Andres
5 Chun
5 Gorgious56
5 Kristoffer Andersen
5 Trashman247
4 Ryan Schultz
4 krande
3 Andrej
3 Vukas Pajic
2 CyrilWaechter
1 ArturTomczak
1 Nathan Hild
1 Shohei Kunimatsu
1 arun
1 ay-ex
1 dependabot[bot]
1 htlcnn
1 kzfile
Donors since the last release:
Mats Norén
PlaniBIM SA
Cyril Waechter BIM Insight
OpeningDesign
Daniel
Dion Moult
Sven Amiet
Guest
Aether Engineering s.a.s. (Aether Engineering)
carlopav
Matthew Fuller
Hans Hendriks
Losepacific
Bedrossian Ádám
Dumitru Minciu
Julio
Frode Lund Tharaldsen
Marin Ljuban
Felipe Hita Suárez
StefStap
Jonny Knopp
Johnson Bankole
Leon ten Brinke
bitenergie
Smiljan Tukic
rubicon
Sigve Pettersen
Marcin Boguslawski
Miguel
Madars Siksna
elo_elle
Kristoffer Hunnestad Andersen
Rafel Bayarre
Benny
Stephen Cremin
Carlos Dias
bimage
louistrue
Alexander Kleemann
Udo
Lukas Alberts
Incognito
cvillagrasa
casiovadal
bclmnt
Ari Pikkarainen
Fabian Emanuel Kitzberger
Dirk Olbrich
Roman
Gluboy
Cordero
Carlo
Tommi P.
Mehmet Cenk
Michael
"Two optional engines are now available for semantic projection fills. If you have elements in the background such as carpeted floor coverings that need hatch patterns or fills, you can now activate either a Shapely-based engine or an SVGFill-based engine which will properly semantically tag closed polygons in the background of your drawing."
Anyone quite know how this works?
I am assuming the process of:
assigning a IFC Object material
Labelling the material or material layerset usage something default like 'brick'
= get brick texture in background
Since it's still experimental, you enable it in the camera properties. Note that this is not stored in IFC yet. FYI don't enable both at once I have no idea what would happen if you did that.
Thanks @Moult and everyone who contributed! SO many updates, my voice started to crack
If I got anything wrong or if anyone knows something I don't keep me in the loop!
Simply beautiful! Many thanks Dion and all contributors!
@Moult said:
BlenderBIM Add-on v0.0.230506 has been released with 534 new features and fixes. It's our built environment, help support the BlenderBIM Add-on: 100% free and open source software that lets you author and document BIM data fully to ISO standards. It's built by the AEC community, for the AEC community. Get it today: https://blenderbim.org/
BlenderBIM Add-on v0.0.230701 has been released with 418 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/
Unfortunately, many of the features planned for this release didn't make it, and I personally had to take a step back from development for other life priorities. That said, I'm blown away by the progress made and this helps show that the project is maturing and does not rely on a single developer. This is possible thanks to the entire dedicated community and their amazing effort in coding, testing, reporting, and financial support.
OK. Deep breath. Get ready. Go!
Drawing improvements
A critical bug was fixed to allow drawings with different styles to be placed on the same sheet.
GPU migration is now finished, so MacOS users can now see drawing decorations again. Dimensions can have prefixes and suffixes.
Decorations are now on by default, smoother arc rendering, and minor colour polish. Fixed critical bugs related to level annotation calculation.
Huge optimisation for text annotations on larger projects with hundreds of text labels.
Custom scale support was apparently broken and has now been fixed.
There is a new revision cloud annotation. Note that these are not yet linked to revisions nor is there a revision management system yet.
Improved scheduling and arbitrary sheet references
Schedules now support print ranges, and more formatting such as bold, italic, font sizes, text colours, cell colours, and cell alignment.
You can now attach arbitrary referenced SVGs and include them on sheets. These are useful for legends, note blocks, stamps, and so on.
Raster underlay styles, External material styles, and glTF-compatible rendering shaders and textures
Drawing raster shading styles are now saved in IFC, so you can roundtrip fancy rendering styles. A number of bugs have been addressed related to underlays, so it should now be a lot more stable to use.
There is also now support for external shading styles. This means that IFC objects can have complex shader trees and textures in Blender, such as Cycles and Eevee materials. Switching to rendered mode will toggle external shading styles if they are compatible with Blender. You can also toggle whether to use IFC-only shading / rendering styles, or external styles.
Shader code has now been fixed to be language-independent, fixing a number of critical model loading bugs for non-English users.
There is also now a UI to generate IFC and glTF compatible shader graphs. This means that you can easily create different rendering styles for diffuse, glass, or glossy materials. Not just simple shaders, but also easily add diffuse, normal, metallic texture maps, and so on. All of these styling options cover the majority of simple PBR workflows for architectural visualisation and is fully supported in IFC (and glTF too, for that matter). Create beautiful models!
Incredible IFC Git development for collaborative native IFC authoring
A huge amount of work was done by Bruno Postle on IFC Git integration. IFC Git can now list, create and delete tags. You can also clone, fetch, and push repos, report merge conflicts, and auto-update information when selecting a revision. You can now view a visual diff and select new or changed objects. There is now support for multi-line commit and tag messages and to include commit summaries of merged branches.
The work on IFC Git represents a historic milestone in the ability to use native IFC collaboratively. Watch this incredible demo by Bruno Postle as 4 people around the world quickly start collaborating in a decentralised manner with purely free software on a BIM model - something no proprietary software is able to offer.
Parametric modeling upgrades
Parametric roofs now support asymmetrical gables, and ability to specify roof thicknesses.
Parametric railings, doors, windows, and so on now display with project length units for convenience. Same for length values in psets and qtos. This would make life much nicer for imperial users. A number of fixes made for parametric windows with multiple panels which had strange dimensions and non manifold geometry.
There is now IFC2X3 support for parametric doors, windows, and stairs.
IfcCSV upgrades
IfcCSV saves the filter query in addition to attributes. Exporting classes or reassigning classes also were polished with various bugs fixed.
IfcCSV also has had its function signatures made more developer-friendly. This includes new commonly requested documentation on how to use IfcCSV, as well as support for Pandas Dataframes.
Selection queries, used in filtering drawings and IfcCSV now support regex filters. This makes filtering for phases and other common psets significantly more convenient.
Experimental support for alternative IFC formats such as SQL and streaming
There is also now experimental support for IFC storage in SQLite and MySQL. There is an Ifc2Sql IfcPatch recipe to convert from IFC-SPF to SQL, with a number of toggles for different storage options such as entity reference list expansion, geometry blobs, full / partial or strict / lax schema, or dedicated property tables. This opens up IFC acccess to SQL-based developers or systems, as well as the ability to load significantly larger models with less memory at the expense of query speed and disk space. Instead of writing SQL queries, you may also use the ifcopenshell file and entity wrappers as an ORM. You can read the full details about this technology, its tradeoffs, and its significance on OSArch.
This has also helped identify a number of optimisation issues in the interface, which have been resolved, particularly around fetching properties and quantities.
(Note: the GIF shows an SQLite model where all data is fetched on the fly via SQL queries)
There is also now a highly experimental file stream option in ifcopenshell.open. This allows users to open (almost) arbitrarily huge IFC models (currently with geometry disabled) to do data processing on systems with limited memory. Currently, this is only read-only. You can also exclude classes from the stream for even more memory savings.
Even more bugfixes and UX polish
A number of bugs fixed related to 4D and 5D scheduling. The UI for cost schedules has continued to be polished. In particular, support for reviewing and assigning currencies. And the ability to choose an export location for cost schedules.
A small but significant change lets you edit parametric object profiles with the tab key, making it more seamless to users familiar with how you can toggle edit mode for mesh objects in Blender.
A significant optimisation was built for deleting very dense mesh objects. So objects that would previously freeze or crash Blender would now finish relatively quickly.
Some under the hood changes were made to further decouple Blender collections from the IFC spatial decomposition tree. This is a really fundamental change that removes a lot of legacy code, and should also lead to more stability on medium scale projects and larger and potentially fixed a lot of bugs people weren't even aware of. A few other potential sync bugs with styles were also fixed.
IfcOpenShell has also continued a lot of development in the background, fixing build issues, geometry bugs, the ability to fetch representation items, and potentially significant optimisations in drawing generation. However, many of these are not yet available to users but will be in the next release.
A number of crashes were fixed specifically for MacOS M1 devices. IfcClash is now bundled for MacOS M1, but it may still have some usability issues for now. A critical segfault preventing IfcClash usage on Linux has been fixed.
Work has also been done to fix issues for the upcoming Blender 3.6 release. Go ahead and upgrade!
Google Summer of Code 2023 Brickschema development project!
We'd also like to welcome Riley Wong! Riley has begun work on his Google Summer of Code 2023 project to upgrade, improve, and build an awesome interface for Brickschema. Brickschema is an open data schema that focuses on describing the topology of building services and systems, typically used in smart building operations. There is an existing very basic implementation which allows simple loading, viewing, and association of Brick TTLs with IFC. Riley's project will focus on updating Brickschema to the latest version, building undo / redo support, save project support, and a number of UI improvements to make it a practical tool for those building Brick models.
So far, Riley has upgraded Brickschema and is pending a merge for undo / redo and save project support. More will be reported in the next release!
So much more
There is now a file association on Linux, so you can auto-launch Blender when you have .ifc files in your file manager.
IfcTester is now shipped on PyPI.
For those using IfcOpenShell and the BlenderBIM Add-on in academia, there is now a citation file for all offered utilities.
Some critical bugs fixed related to material layers with no thickness that led to unloadable models. Improved type duplication and selection. Length values are now calculated and formatted the same way in the viewport and in rendered drawings.
Openings can be reassigned, and parametric layers can reassign to another layered class or type.
There is a new spatial and structural tool in your workspace, as a sign of how to start accommodating more usecases than the BIM tool can support. The structural tool is currently empty, but the spatial tool now includes relevant functions for creating spaces, regenerating spaces, and managing space boundaries. Space generation also now considers columns. The idea is to support various workflows in different tools, each which have optimised contextual options and hotkeys per workflow.
IFCs can now be linked to the Blend file via a relative path. This helps improve project portability.
There is a new building storey manager specifically to improve the UX around managing building storeys and level elevations.
IFC and CityJSON conversion has been upgraded to now support v1.1 CityObject types.
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-05-06"):
139 Andrej730
68 Dion Moult
46 Thomas Krijnen
39 Sigma Dimensions
30 Bruno Postle
18 D4ve-R
13 Totally a booplicate
11 Gorgious
9 Massimo Fabbro
8 Balázs Dukai
8 Gorgious56
8 Martin15135215
5 Ahmad Saleem Z
3 Kristoffer Andersen
3 Ryan Schultz
2 Trashman247
2 Vasile-Corjan
1 Bruno Perdigão
1 Burak Yildiz
1 Chetan
1 Nelson Henrique
1 arun
1 johanrd
Donors since the last release:
Cyril Waechter BIM Insight
PlaniBIM SA
Daniel
Dion Moult
Matthew Fuller
Losepacific
Aether Engineering s.a.s. (Aether Engineering)
Sven Amiet
Johnson Bankole
Leon ten Brinke
StefStap
bitenergie
carlopav
Dumitru Minciu
Frode Lund Tharaldsen
Julio
Andrew Bailey
Ari Pikkarainen
Arun
Bedrossian Ádám
Fabian Emanuel Kitzberger
Guest
Jonny Knopp
Marin Ljuban
Sebastian Duque
bclmnt
casiovadal
Alexander Kleemann
Benny
Carlos Dias
Cordero Architecture
Dirk Olbrich
Incognito
Kristoffer Hunnestad Andersen
Madars Siksna
Marcin Boguslawski
Miguel
Rafel Bayarre
Royner
Sebastian Monroe
Stephen Cremin
Tim McGinley
Udo
bimage
cvillagrasa
louistrue
Edgar Huebert
TROYYY
Work has also been done to fix issues for the upcoming Blender 3.6 release. Go ahead and upgrade!
Just a friendly reminder that if you setup dev environment like in the video Update BlenderBIM Automatically like a Pro
you can copy entire blender addons folder from 3.5 to 3.6 and keep the symlinks with the command below (works on Windows) xcopy /b /e "%appdata%\Blender Foundation\Blender\3.5\" "%appdata%\Blender Foundation\Blender\3.6\"
Thank you for the massive update everyone! It's really starting to feel like a major competitor to Closed software!
If I got something wrong or misunderstood let me know
IfcCSV also has had its function signatures made more developer-friendly. This includes new commonly requested documentation on how to use IfcCSV, as well as support for Pandas Dataframes.
That's cool. I missed this, will openpyxl also be included in the future?
Hi,
Can you make donation fund to hire one developer for MEP modeler (pipe and duct) like but with support for Apple silicon which blender has:
like, but based on IFC4, ifcpipe and ifcduct , I see that connection point for MEP are made in release from 2022
Pipes for water, swage, water and swage elements from IFC , and duct , distribution elements all what is support in new IFC 4.3, and generate 2d drawing by floor. and also blender.
Best regards,
@isain definitely! The donation fund is here: https://opencollective.com/opensourcebim - if you help sponsor development we can get there sooner. There is already basic functionality implemented related to parametric duct sizing, system connectivity and directionality, but there isn't any real UI in the workspace for it yet which is why users are not aware of it and why it isn't practical to use yet. I think it will take approximately 1,000-2,000USD to develop enough features for basic duct / pipe modeling that users can be productive with and it will take roughly a month. Would you like to help sponsor or find a sponsor?
But can you add special found for this ( is no problem to give 1000usd /yrs for developing MEP elements ), and one more do you have plan to add landscape modeling
@isain there is no special fund, just the https://opencollective.com/opensourcebim which goes towards all development. Development is then prioritised based on user requests - and MEP has been a popular one.
Landscape modeling is also planned but has been requested less than MEP so it has a lower priority. We plan to keep on building everything needed for all disciplines.
If the funding is large enough, we can hire another developer and completely dedicate work towards a single feature, leading to a huge speed up in development. For example, an Epic MegaGrant helped develop the first set of fundamental MEP features within a year (though again, no real graphical workflow).
Thank you, if there is a dedicated found on opencollective for MEP and Landspacing I would like to make donation but for the purposes or is better to give general donation and wait.
@isain I would recommend giving a general donation, preferably as a regular monthly donation (this helps with being able to consistently and sustainably budget and invest in growing a core development team).
Dedicated funds historically haven't worked as even though we've had a few people want a particular feature, it's only ever been a few people and never grown enough to "fundraise" anything significant. The result is that we don't have enough money to focus just on that one feature, and we also then get money parked away that can't be used on other significant developments. The only time a dedicated fund seems to work is if it's a sponsor with a larger sum of money say a minimum 1,000USD (e.g. Epic Games) where we can scope out exactly what it can cover. But it is rare we get this level of sponsorship - or perhaps this is what you're offering?
In any case, any donation will be really appreciated and will 100% be well spent on development with no wastage. I will begin planning for MEP :)
New apple Floorplan api in iOS v17 has export to usdz which can be imported into blender, can you make also converter to open this usdz and convert to ifc (or is too hard ). So we can scan floor plan with LiDAR export to usdz and import into blender as ifc entities
@isain Blender itself can read USD. This means that it is pretty trivial to convert USD to IFC via Blender. However the question isn't about bringing geometry into Blender, it's more about how intelligent that data will be. IFC is not just a 3D format (read more here https://blenderbim.org/docs/users/introduction_to_bim.html) - so the usefulness of the IFC will vary depending on what semantic information you have. For example, does the floorplan API ins iOS know what is a floor, a wall, furniture, ground floor, level 1, etc? That criteria will determine how useful your IFC ends up being.
Comments
Awesome video as usual @Ace ! Fun fact, all historic builds are available here https://blenderbim.org/builds/ .
BTW for the inset window you can just adjust the lining offset parameter. See a diagram of what the parameters mean here:
As this suite of tutorials by @Ace are turning into a comprehensive beginners course, I think it makes sense to include it in the documentation and / or linked to on the website. What do you think @Ace?
Hey @Moult thanks! and very cool! That's a bit of history right there. Good to know about the window insets! thanks that's very informative! I'm super keen for it to be included, What do you need from me?
Hi! I am trying out v230310 to test the roof generator (wow!), but I couldn't figure out what happened to the materials... when I try to create a new type from an empty with MaterialLayerSet I don't find the IFC Object Material in the menu anymore. Was it moved?
@elo_elle I think it is on the material tab now...
https://github.com/IfcOpenShell/IfcOpenShell/commit/7666463751e9d2269f958e0e7d27327f676826ae
Thank you, but empties don't have the material tab - I am probably missing something
@elo_elle it was a mistake to move it, it's now been moved back!
Hey @Moult Have you considered creating a demo file page for people to download?
similar to the Blender splash screen demo files:
https://www.blender.org/download/demo-files/
With the tutorials, I am creating sets of files and adhock adding them to the threads here but it would be nice for people to have a repository on the website that has files they can play with and try out
@Ace sorry for the delay, I've added your video series to the front page of the documentation website: https://blenderbim.org/docs/ - although I think it's always important to have a text tutorial as well as text-based detailed reference guides, I think the AEC industry is quite visual and a comprehensive video tutorial series should be the very first thing people are introduced to :)
It would be awesome to have a list of demo files! Perhaps a good start would be for you to host the files on a Git repo (that way they can be updated and versioned over time) somewhere that could be updated as the videos are updated? The docs website can also have a dedicated page just like Blender's demo files page which links to them. (the docs site are all coded in restructured text so it is easy for anybody to contribute to it).
BlenderBIM Add-on v0.0.230506 has been released with 534 new features and fixes. It's our built environment, help support the BlenderBIM Add-on: 100% free and open source software that lets you author and document BIM data fully to ISO standards. It's built by the AEC community, for the AEC community. Get it today: https://blenderbim.org/
OK. Deep breath. Get ready. Go!
Splash image generated by @cvillagrasa using Midjourney CC BY-NC 4.0.
Drawings and sheets are now portable
The sheet, drawing, and schedule system has been made fully portable, storing relative paths in IfcDocumentReferences, and capturing all of the components needed to build sheets in IfcDocumentReferences. This means that it is finally practical to switch between multiple projects on the same computer, or package a project that someone else can open on their computer.
Note: drawing and IFC model from the Clothing Boutique project by Opening Design CC-BY-SA 4.0 produced with the BlenderBIM Add-on. A huge thank you to the Clothing Boutique project who helped battle test and report numerous bugs to help stabilise this release cycle.
All related drawing and sheet assets like titleblocks, view title templates, CSS stylesheets, symbols, markers, and patterns are all able to be stored alongside your IFC project as referenced URIs. Things like the titleblock dropdown now also shows your project specific titleblocks.
Renaming or renumbering drawings, sheets, and schedules is now much more practical and flexible.
Huge drawing system upgrades
Arbitrary metadata may now again be stored for any object in a drawing as a CSS class. Imperial dimension formatting improved. Spatial elements are now drawn on top so you can tag and colour code spaces without obscuring elements in the space. You can now bulk print or open drawings and change sheet title blocks after a sheet has been generated.
Two optional engines are now available for semantic projection fills. If you have elements in the background such as carpeted floor coverings that need hatch patterns or fills, you can now activate either a Shapely-based engine or an SVGFill-based engine which will properly semantically tag closed polygons in the background of your drawing.
Schedules from ODS now supports merged columns, row heights, cell text alignments, and multiline text wrapping. This means formatting of schedules in ODS can be preserved when rendering on sheets.
Section annotations in drawings now support truncated section lines, and disabled / custom section symbols at either end of the section.
The cut merging tool introduced in the previous release also got a bunch of much needed stability upgrades and now works on more complex projects at a fraction of the time.
Viewport drawing upgrades
There is a new cut decorator that clearly shows the cut line in drawings. Drawings also now activate target view specific representations (e.g. door swings in plan view). Parametric layered walls now have their layer slices shown in the viewport. Put together this means a significantly more user friendly drawing view that closely resembles the final generated vector drawing.
Viewports now also take into account include and exclude element filters for the drawings, as well as only showing element in view. This means that drawings now generate faster (easily twice as fast or more for larger projects) and your view isn't cluttered with excluded elements. This makes is practical to work on phased projects (e.g. demolished versus new construction statuses).
You can also now customise decorator colours. Using a light theme? Go for it.
Critical bugfixes
Tons of bugfixes were made, but certain bugs were so critical or have a big impact on usability that they deserve a special mention. During this release cycle, we managed to hunt down and fix a ton of these critical bugs.
Critical bug fixes include fixing tiny polygon hatch merging on drawing plans. Fix crash when editing with decorators. Fix data corruption on undo where IFC primitive editing was stored. Fix disappearing openings when splitting walls. Fix issue where copying objects could unnecessarily copy themselves recursively. Fix installation error of IfcSverchok. Fix bug where 2D elements were sometimes not loaded when loading IFCs. Fix UX issue that commonly led to users creating objects with unintended contexts. Fix issue where certain materials weren't appended when appending elements from a project library, or where types were recursively pulled in causing bloated type libraries. Fix crash in IFC array tool. Fix issue where editing layer thickness accidentally didn't consider the total thickness of all layers. Quantity take-off calculation now uses project units.
A number of critical save-time synchronisation issues were resolved. These would cause unnecessarily long file saves or significantly unnecessary data changes. For example, type objects used to incorrectly track placement and were all synced at save time.
Fix "repeat last operator" for duplicating elements. Fix unlinking bug which would break other material users in the file.
IFC Git version control integration
Incredible work by Bruno Postle and Bruno Perdigao have led to an integration with the IFC Git project. This allows you to track changes on an IFC project, merge changes from multiple users, and jump to points in the project change history.
You can now manage your BIM data in a local Git repository without leaving the BlenderBIM Add-on. Instead of just saving a file, you can create revisions with descriptions. These revisions are browsable and retrievable, changes between two revisions can be visualised in 3D. Any revision can be forked, creating a branch for developing options or playing with designs. There is an experimental tool to merge branches using an IFC specific three-way merge for conflict resolution.
IFC validation improvements
Lots of IFC validation issues resolved, including incorrectly using 3D coordinates for 2D profiles, or a number of orphaned relationships. The IFC validation utility now also has a number of fixes to false positives. The pset and qto authoring UI has been modified to prevent the ability to create invalid sets without properties.
Invalid IFCs may lead to unpredictable behaviour in native IFC authoring tools, or worse, complete incompatibility in other IFC software.
More parametric tools
New parametric railing tool. Two types of railings are now supported, including a frameless glass ballustrade and a wall mounted handrail.
Generated spaces now use their object placement as a space recalculation point when regenerating spaces. Parametric sliding doors are now supported.
New UI for generating roofs. You can also set roof angles so gable roofs as well as hipped roofs are now supported.
Parametric dimension fields in the BIM Tool (such as extrusion depth, length, X angle) are now aware of project units - a simple but significant usability improvement especially for imperial users.
New join tool means you can intelligently join objects. Meshes are merged into a single mesh object, whereas solids are joined into multiple solid representation items.
Faux-mirroring is now implemented, so you can mirror columns, furniture, walls, etc based on any arbitrary axis. Faux mirroring is similar to normal mirroring, except that there is no lateral inversion. This means that mirroring preserves the geometry exactly.
Improved control over bulk assigning and unassigning aggregates in prepration for elemented wall modeling at later design stages. Voids and fills may also be added to aggregates, so that you can have a single opening penetrating multiple coverings, members, and other objects.
Upgrades to text annotations
Text annotations got a big upgrade with support for multiple text literals. This means that you can view multiline text in the viewport, as well as have annotation symbols with multiple text components (e.g. a space annotation with a number, name, and area) in drawings. Text now respects multiple text sizes and box alignment in the viewport. Text may also have a background fill for readability in drawings.
Improved selector syntax now allows you to escape complex names and regex. There is also now support for chained relationship selections and list index selection, so you can select the material of a 2nd layer of a layer set, for instance. This means you can easily write queries that filter project phases, or common properties like fire ratings across many object types.
Text annotations may also use evaluated Python commands for advanced users to annotate substrings, special numerical formatting or rounding, or more. There are also more built-in symbols so that you don't need to create your own for simple tags.
New smart bulk annotation tool
There's a new annotation tool with a focus on making annotation as easy as possible. Annotations may now be typed, so that styles (such as classes) from the type, or representations (such as preset text tags) may be set once at the type level, then bulk applied to all instances.
When you add stair arrow annotations, preselected stairs will have arrows automatically added along the stair flight run. You may also bulk select instances and tag them using your own custom annotation type.
New fall annotation tool, allowing you to annotate falls and slope angles / grades.
BGL to GPU migration
Blender is deprecating its BGL library that the BlenderBIM Add-on uses for drawing viewport decorations. Decorations include profile highlights, and live drawing annotations like text notes, dimensions, and so on. A considerable amount of work was done to migrate to the new GPU library, which means that users on the latest Blender versions can still enjoy all of the decoration features.
Unfortunately, work is not yet finished and some MacOS users may be missing decorations. This will be resolved in time for the next release.
New edit mode and non-delayed element deletion
There is a completely new edit mode toggling system. This means that if you have a mesh-based representation (such as faceted breps or tessellation), your edits are tracked whilst you're in editing mode, and you are given the option to save or discard edits as you toggle edit mode. In the past, mesh edit modes were delayed and synchronised at file save, which led to synchronisation bugs. This new method helps fix a number of previously obscure bugs.
For non-mesh based representations, mesh editing is disabled, unless you have explicitly cast the geometry type to a mesh-compatible representation. This prevents people editing objects in an incompatible manner. This also allows us to enable representation-specific editing tools, such as profile editing for space boundary surfaces.
Similarly, element deletion now happens on demand, instead of delayed until synchronisation events. This also prevents a lot of obscure potential bugs. Element deletion is now also a lot faster, even thousands of times faster for dense mesh-like representations.
More ways to author space boundaries
Space boundaries are ways of representing boundaries between spaces for energy analysis. Previously, the features available to load, create, and edit boundaries were very clunky. Now, there is an easy way to create a new untyped space, bulk generate spaces from walls, and toggle boundaries on or off for selected spaces.
Space boundaries can now be easily selected, and automatically generated. Generation intelligently takes into account walls, openings, and fills like doors and windows, automatically creating inner boundaries for these objects correctly projected onto the plane of the boundary.
A new boundary profile editing tool makes it easier to edit inner and outer boundaries as profiles similar to how you'd edit slab profiles, and now supports filleted arcs and circles as well.
Improved resource management tools
Resources are used in the domain of scheduling and costing. There are now features to review and edit Resource productivity data on the fly, and add number of Resources used directly from resource tree. These two features now make it a lot faster to: parametrically calculate a Resource’s Required Work based on its productivity, and parametrically schedule the duration of a task based on the number of resources.
Cost management
You can now select unassigned cost schedule products - find out what's left to schedule!
Conveniently show total elements/tasks/resources assigned to a cost item. Enable displaying nested elements for Cost Items - elements, resources, tasks. The UI for adding cost item values has been improved.
You can now clear all assignments assigned to a cost item. New ability to change cost item parent in a tree, and re-order cost items in a tree.
Gantt chart and baselines for construction scheduling
Create & view work schedule baselines. You can now compare Baselines vs Planned with Gantt Charts. You can now conveniently print Gantt Charts in different Sheet Formats. Added support for multiple languages for Gantt Chart Headers. Enable displaying task tooltip when hovering over tasks in the Gantt Chart. Add resource columns in Gantt Chart. Improvements on the Gantt Chart page style layout.
Improved Work Schedule UX. Implement human readable durations in task tree. Edit durations with human readable durations.
Select individual Task Inputs & Task Outputs directly from the task quantity assignments. Display nested task resources/task inputs of the active task. Buttons to select a Work Schedule's assigned / unassigned products.
New viewport 4D/5D tools
Show list of tasks related to the current object selection. Highlight tasks related to the current object selection
Side-Panel Menu to retrieve cost items assigned to an object. Highlight cost items related to the current object selection
So much more
Utilities to get connected MEP elements in a distribution system is now supported for IFC4. Upgrades to the FixRevitTINs patch for fixing Revit-specific issues for loading TINs from Civil3D.
Titleblocks now support dynamic angles for north arrows. IFC Array now supports local or global coordinates, and getting coordinate offsets from the 3D cursor. New thick line section rendering for temporary sections. Site reference long/lats can now be edited. Loading IfcProxy now supported. Materials can now be duplicated. Quantity take off improvements include the ability to calculate weights based on material densities. Easily see related cost items and quantities of selected items.
A huge thanks to the growing volume of new contributors who are joining the team and changing the industry. You can too!
Also a huge thanks to the growing volume of new donors who have helped is raise funds here: https://opencollective.com/opensourcebim - thanks to you, we were able to sponsor development. Many of the features you have just read about would not have been possible to do in this timeframe without your help. Thank you!
All changes
All changes can view the directly via the Git logs here:
https://github.com/IfcOpenShell/IfcOpenShell/commits/v0.7.0?since=2023-03-04&until=2023-05-06
Credits for this release (in order of commits via
git shortlog -sn --since "2023-03-04"
):Donors since the last release:
"Two optional engines are now available for semantic projection fills. If you have elements in the background such as carpeted floor coverings that need hatch patterns or fills, you can now activate either a Shapely-based engine or an SVGFill-based engine which will properly semantically tag closed polygons in the background of your drawing."
Anyone quite know how this works?
I am assuming the process of:
assigning a IFC Object material
Labelling the material or material layerset usage something default like 'brick'
= get brick texture in background
How does one select an engine to use?
Since it's still experimental, you enable it in the camera properties. Note that this is not stored in IFC yet. FYI don't enable both at once I have no idea what would happen if you did that.
Thanks @Moult ! Working perfectly
It crashes BlenderBim, I couldn't help myself
Thanks @Moult and everyone who contributed! SO many updates, my voice started to crack
If I got anything wrong or if anyone knows something I don't keep me in the loop!
Simply beautiful! Many thanks Dion and all contributors!
BlenderBIM Add-on v0.0.230701 has been released with 418 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/
Unfortunately, many of the features planned for this release didn't make it, and I personally had to take a step back from development for other life priorities. That said, I'm blown away by the progress made and this helps show that the project is maturing and does not rely on a single developer. This is possible thanks to the entire dedicated community and their amazing effort in coding, testing, reporting, and financial support.
OK. Deep breath. Get ready. Go!
Drawing improvements
A critical bug was fixed to allow drawings with different styles to be placed on the same sheet.
GPU migration is now finished, so MacOS users can now see drawing decorations again. Dimensions can have prefixes and suffixes.
Decorations are now on by default, smoother arc rendering, and minor colour polish. Fixed critical bugs related to level annotation calculation.
Huge optimisation for text annotations on larger projects with hundreds of text labels.
Custom scale support was apparently broken and has now been fixed.
There is a new revision cloud annotation. Note that these are not yet linked to revisions nor is there a revision management system yet.
Improved scheduling and arbitrary sheet references
Schedules now support print ranges, and more formatting such as bold, italic, font sizes, text colours, cell colours, and cell alignment.
You can now attach arbitrary referenced SVGs and include them on sheets. These are useful for legends, note blocks, stamps, and so on.
Raster underlay styles, External material styles, and glTF-compatible rendering shaders and textures
Drawing raster shading styles are now saved in IFC, so you can roundtrip fancy rendering styles. A number of bugs have been addressed related to underlays, so it should now be a lot more stable to use.
There is also now support for external shading styles. This means that IFC objects can have complex shader trees and textures in Blender, such as Cycles and Eevee materials. Switching to rendered mode will toggle external shading styles if they are compatible with Blender. You can also toggle whether to use IFC-only shading / rendering styles, or external styles.
Shader code has now been fixed to be language-independent, fixing a number of critical model loading bugs for non-English users.
There is also now a UI to generate IFC and glTF compatible shader graphs. This means that you can easily create different rendering styles for diffuse, glass, or glossy materials. Not just simple shaders, but also easily add diffuse, normal, metallic texture maps, and so on. All of these styling options cover the majority of simple PBR workflows for architectural visualisation and is fully supported in IFC (and glTF too, for that matter). Create beautiful models!
Incredible IFC Git development for collaborative native IFC authoring
A huge amount of work was done by Bruno Postle on IFC Git integration. IFC Git can now list, create and delete tags. You can also clone, fetch, and push repos, report merge conflicts, and auto-update information when selecting a revision. You can now view a visual diff and select new or changed objects. There is now support for multi-line commit and tag messages and to include commit summaries of merged branches.
The work on IFC Git represents a historic milestone in the ability to use native IFC collaboratively. Watch this incredible demo by Bruno Postle as 4 people around the world quickly start collaborating in a decentralised manner with purely free software on a BIM model - something no proprietary software is able to offer.
Parametric modeling upgrades
Parametric roofs now support asymmetrical gables, and ability to specify roof thicknesses.
Parametric railings, doors, windows, and so on now display with project length units for convenience. Same for length values in psets and qtos. This would make life much nicer for imperial users. A number of fixes made for parametric windows with multiple panels which had strange dimensions and non manifold geometry.
There is now IFC2X3 support for parametric doors, windows, and stairs.
IfcCSV upgrades
IfcCSV saves the filter query in addition to attributes. Exporting classes or reassigning classes also were polished with various bugs fixed.
IfcCSV also has had its function signatures made more developer-friendly. This includes new commonly requested documentation on how to use IfcCSV, as well as support for Pandas Dataframes.
Selection queries, used in filtering drawings and IfcCSV now support regex filters. This makes filtering for phases and other common psets significantly more convenient.
Experimental support for alternative IFC formats such as SQL and streaming
There is also now experimental support for IFC storage in SQLite and MySQL. There is an Ifc2Sql IfcPatch recipe to convert from IFC-SPF to SQL, with a number of toggles for different storage options such as entity reference list expansion, geometry blobs, full / partial or strict / lax schema, or dedicated property tables. This opens up IFC acccess to SQL-based developers or systems, as well as the ability to load significantly larger models with less memory at the expense of query speed and disk space. Instead of writing SQL queries, you may also use the ifcopenshell file and entity wrappers as an ORM. You can read the full details about this technology, its tradeoffs, and its significance on OSArch.
This has also helped identify a number of optimisation issues in the interface, which have been resolved, particularly around fetching properties and quantities.
(Note: the GIF shows an SQLite model where all data is fetched on the fly via SQL queries)
There is also now a highly experimental file stream option in ifcopenshell.open. This allows users to open (almost) arbitrarily huge IFC models (currently with geometry disabled) to do data processing on systems with limited memory. Currently, this is only read-only. You can also exclude classes from the stream for even more memory savings.
Even more bugfixes and UX polish
A number of bugs fixed related to 4D and 5D scheduling. The UI for cost schedules has continued to be polished. In particular, support for reviewing and assigning currencies. And the ability to choose an export location for cost schedules.
A small but significant change lets you edit parametric object profiles with the tab key, making it more seamless to users familiar with how you can toggle edit mode for mesh objects in Blender.
A significant optimisation was built for deleting very dense mesh objects. So objects that would previously freeze or crash Blender would now finish relatively quickly.
Some under the hood changes were made to further decouple Blender collections from the IFC spatial decomposition tree. This is a really fundamental change that removes a lot of legacy code, and should also lead to more stability on medium scale projects and larger and potentially fixed a lot of bugs people weren't even aware of. A few other potential sync bugs with styles were also fixed.
IfcOpenShell has also continued a lot of development in the background, fixing build issues, geometry bugs, the ability to fetch representation items, and potentially significant optimisations in drawing generation. However, many of these are not yet available to users but will be in the next release.
A number of crashes were fixed specifically for MacOS M1 devices. IfcClash is now bundled for MacOS M1, but it may still have some usability issues for now. A critical segfault preventing IfcClash usage on Linux has been fixed.
Work has also been done to fix issues for the upcoming Blender 3.6 release. Go ahead and upgrade!
Google Summer of Code 2023 Brickschema development project!
We'd also like to welcome Riley Wong! Riley has begun work on his Google Summer of Code 2023 project to upgrade, improve, and build an awesome interface for Brickschema. Brickschema is an open data schema that focuses on describing the topology of building services and systems, typically used in smart building operations. There is an existing very basic implementation which allows simple loading, viewing, and association of Brick TTLs with IFC. Riley's project will focus on updating Brickschema to the latest version, building undo / redo support, save project support, and a number of UI improvements to make it a practical tool for those building Brick models.
So far, Riley has upgraded Brickschema and is pending a merge for undo / redo and save project support. More will be reported in the next release!
So much more
There is now a file association on Linux, so you can auto-launch Blender when you have .ifc files in your file manager.
IfcTester is now shipped on PyPI.
For those using IfcOpenShell and the BlenderBIM Add-on in academia, there is now a citation file for all offered utilities.
Some critical bugs fixed related to material layers with no thickness that led to unloadable models. Improved type duplication and selection. Length values are now calculated and formatted the same way in the viewport and in rendered drawings.
Openings can be reassigned, and parametric layers can reassign to another layered class or type.
There is a new spatial and structural tool in your workspace, as a sign of how to start accommodating more usecases than the BIM tool can support. The structural tool is currently empty, but the spatial tool now includes relevant functions for creating spaces, regenerating spaces, and managing space boundaries. Space generation also now considers columns. The idea is to support various workflows in different tools, each which have optimised contextual options and hotkeys per workflow.
IFCs can now be linked to the Blend file via a relative path. This helps improve project portability.
There is a new building storey manager specifically to improve the UX around managing building storeys and level elevations.
IFC and CityJSON conversion has been upgraded to now support v1.1 CityObject types.
All changes
All changes can view the directly via the Git logs here:
https://github.com/IfcOpenShell/IfcOpenShell/commits/v0.7.0?since=2023-05-06&until=2023-07-01
Credits for this release (in order of commits via
git shortlog -sn --since "2023-05-06"
):Donors since the last release:
Just a friendly reminder that if you setup dev environment like in the video Update BlenderBIM Automatically like a Pro
you can copy entire blender addons folder from 3.5 to 3.6 and keep the symlinks with the command below (works on Windows)
xcopy /b /e "%appdata%\Blender Foundation\Blender\3.5\" "%appdata%\Blender Foundation\Blender\3.6\"
Thank you for the massive update everyone! It's really starting to feel like a major competitor to Closed software!
If I got something wrong or misunderstood let me know
That's cool. I missed this, will openpyxl also be included in the future?
@Moult
Then this Pull Request could be closed I guess?
Hi,
Can you make donation fund to hire one developer for MEP modeler (pipe and duct) like but with support for Apple silicon which blender has:
like, but based on IFC4, ifcpipe and ifcduct , I see that connection point for MEP are made in release from 2022
Pipes for water, swage, water and swage elements from IFC , and duct , distribution elements all what is support in new IFC 4.3, and generate 2d drawing by floor. and also blender.
Best regards,
Ivo
@Coen cheers, I've responded on the PR.
@isain definitely! The donation fund is here: https://opencollective.com/opensourcebim - if you help sponsor development we can get there sooner. There is already basic functionality implemented related to parametric duct sizing, system connectivity and directionality, but there isn't any real UI in the workspace for it yet which is why users are not aware of it and why it isn't practical to use yet. I think it will take approximately 1,000-2,000USD to develop enough features for basic duct / pipe modeling that users can be productive with and it will take roughly a month. Would you like to help sponsor or find a sponsor?
But can you add special found for this ( is no problem to give 1000usd /yrs for developing MEP elements ), and one more do you have plan to add landscape modeling
@isain there is no special fund, just the https://opencollective.com/opensourcebim which goes towards all development. Development is then prioritised based on user requests - and MEP has been a popular one.
Landscape modeling is also planned but has been requested less than MEP so it has a lower priority. We plan to keep on building everything needed for all disciplines.
If the funding is large enough, we can hire another developer and completely dedicate work towards a single feature, leading to a huge speed up in development. For example, an Epic MegaGrant helped develop the first set of fundamental MEP features within a year (though again, no real graphical workflow).
Thank you, if there is a dedicated found on opencollective for MEP and Landspacing I would like to make donation but for the purposes or is better to give general donation and wait.
thank you for great work all the team
@isain I would recommend giving a general donation, preferably as a regular monthly donation (this helps with being able to consistently and sustainably budget and invest in growing a core development team).
Dedicated funds historically haven't worked as even though we've had a few people want a particular feature, it's only ever been a few people and never grown enough to "fundraise" anything significant. The result is that we don't have enough money to focus just on that one feature, and we also then get money parked away that can't be used on other significant developments. The only time a dedicated fund seems to work is if it's a sponsor with a larger sum of money say a minimum 1,000USD (e.g. Epic Games) where we can scope out exactly what it can cover. But it is rare we get this level of sponsorship - or perhaps this is what you're offering?
In any case, any donation will be really appreciated and will 100% be well spent on development with no wastage. I will begin planning for MEP :)
Came upon this article lately:
https://ondsel.com/blog/software-bounties-are-a-dumb-idea/
Thanks you guy for clarification
Best regards
Maybe a little bit boring but one more question
New apple Floorplan api in iOS v17 has export to usdz which can be imported into blender, can you make also converter to open this usdz and convert to ifc (or is too hard ). So we can scan floor plan with LiDAR export to usdz and import into blender as ifc entities
@isain Blender itself can read USD. This means that it is pretty trivial to convert USD to IFC via Blender. However the question isn't about bringing geometry into Blender, it's more about how intelligent that data will be. IFC is not just a 3D format (read more here https://blenderbim.org/docs/users/introduction_to_bim.html) - so the usefulness of the IFC will vary depending on what semantic information you have. For example, does the floorplan API ins iOS know what is a floor, a wall, furniture, ground floor, level 1, etc? That criteria will determine how useful your IFC ends up being.
will blenderbim release this month?
@sahrul nope, the BlenderBIM Add-on has a 2-month release cycle. You can see the project board, planned date, and todo list here https://github.com/orgs/IfcOpenShell/projects/6