A significant amount of people think about Blender as a 3D modeler and platform to render realistic images to visualize your designs. It can help a lot in this regard, but that is only part of its role in architecture. With Add-pons like BlenderBIM, you can expand Blender and include authoring and document BIM data. That opens a world of possibilities for Blender to have an entire open-source workflow.
When using the BlenderBIM Add-on, you can create IFC files in compliance with ISO standards. A new version released recently has about 153 new features and multiple bug fixes!
Here is a list of the new features and bug fixes from version v0.0.210829:
- New bunny rabbit furniture asset 🙂 It’s the BlenderBIM Bunny!
- You can now insert doors, and we distribute a sample demo and site library
- You can now calculate costs from direct resources and indirect task-based resources
- You can now edit resource base quantity
- BCF is now available on PyPI!
- Choose from project units instead of hardcoded ones for georeferencing map units.
- Resource base costs are now supported with all the features coming from the cost module.
- You can now edit nested arithmetic cost values by using spreadsheet-like formulas
- Many more operators now apply to all selected objects insted of one-by-one.
- Cost values are now serialised and shown as formulas
- You can now count elements, tasks, and resources parametrically for cost items
- Only equipment and labour resources can now have time-based usages
- You can now store productivity rates and calculate resource work parametrically based on productivity
- You can now manage psets on resources
- You can now parametrically derive task durations from resource utilisation
- Improve groups and systems interface to be accessible from individual objects.
- IDS code for GSOC is now finalised with IDS schema 0.4.1 implemented.
- Detect units from project libraries, and convert nested double aggregates
- Implement new ICOM-based UI for managing process inputs, outputs, and resources
- Non-rooted subcontract resources are now allowed.
- Block the user from creating sub resources under a subcontract resource.
- Simple prototype integration to run an OpenLCA analysis from Blender
- Project libraries are now sorted alphabetically for convenience
- Hide types collection when importing assets.
- Improved file selection filters to filter by the right file type.
- Various code cleanup, optimisations, tooltips, and descriptions.
- Minor iterator optimisation to prevent inverse check for associated materials
- Rudimentary handling of purging voids and fills
- Windows now move with openings and walls when toggled.
- Filtered imports is now much faster and works with omitted aggregates
- IfcZip and IfcXML can now be set manually, and prevent double loading when importing, which can save 20 seconds for large file imports.
- Improve usability by distinguishing disable versus remove icons.
- Work schedule psets are now supported, so you can set work day/week/month durations
- OpenCDE API now validates data against the schema.
- Complete IfcSIUnitName exponents are now available.
- Keep active object as active when creating ifc file.
- Keep active object when removing from containers.
- Add tooltip to CopyToContainer Operator.
- IfcCobie : Prevent executing operator if no ifc file.
- BlenderBim : Improve BCF project UX.
- New site project library for stuff like site sheds and cranes
- Improve UX of task tree by shifting buttons and changing column widths
- Cost subtotals that are calculated from per X units are now supported
- Cleanup : Use clear instead of while…remove loop for optimised list refreshing.
- Extract Docs is bundled with IfcPatch module.
- You can now assign rates from a schedule of rates to a cost plan
- You can now browse a schedule of rates alongside a cost schedule
- UoM and unit rates are now shown for schedule of rates in costing
- You can now insert windows in walls.
- You can now assign / unassign cost items in a schedule of rates to type products
- You can now add and edit context dependent units including dimensional exponents
- Import of CSV-based schedule of rates is now possible
- Half complete “add window” tool prototype
- Implement metric constraints in the ifcopenshell.api.
- Improve ifc patch arguments User Experience.
- Improved accuracy of boolean modifiers for dynamic voids
- Demo library now includes a window type. Neat.
- Walls and slabs (or any vertical or horziontal layer) now auto recalculate origins after editing
- Adding openings now intelligently detect the shape of the element you are voiding.
- A Blender material is now always applied even if indirectly applied through a set or usage.
- New feature to select the type’s Blender object of the active object.
- New convenience button to add an empty for a type with no representation
- You can now create shapes of profiles when debugging.
- Bug where auto spatial containment assignment failed when you were not in a container.
- You can now edit psets of profiles
- New profile browser with basic profile edit and remove feature.
- You can now import profile definitions from a library
- Added some named dimensions for units.
- Implement cost identification numbers and big cleanup to cost schedule UI
- New utility to get the exponential dimensions of named unit types
- Implement ability to add SI units
- New feature to toggle default project unit assignment
- You can now edit the unit basis of a cost value for a schedule of rates
- You can now assign resource-based parametric quantities to cost items
- Implement task-based parametric cost item quantities
- Changing task scheduled dates now auto updates its related quantity take off data
- You can now remove cost quantities in bulk.
- Parametric quantity breakdowns for cost items are now shown
- Assigning a product to a cost item now also assigns a quantity in one step
- New interface to view physical products assigned to a cost item
- Distribution IFC-extended pset definitions for parametric costing and modeling
- Implement resource quantity sets for parametric quantification
- Implement task quantity sets for parametric quantification
- Parametric types can how define a default layer set direction.
- You can now parametrically create profile / layer based objects of any type, no longer limited to walls, slabs, etc.
- You can now add and edit monetary units, and basic editing of other unit types.
- Updating model quantities now auto refreshes parametric quantities in cost schedules
- Copying an object / class now also copies pset and qtos
- BlenderBIM and ifcopenshell.api features to enable adding and editing resource time information
- You can now import a cost schedule from an IFC project library
- You can now create curve shapes from the debug panel too
- You can now customise cost category columns in the cost schedule tree
- Ifc5d can now parse cost category breakdowns in CSV form
- You can now import cost schedules as CSVs into IFC in Blender
- New Ifc5D utility for converting and generating analysis of IFC cost data
- Feature to enable assigning Construction Resources to Tasks
- You can now import materials from a project library
- A whole bunch of drawing improvements, though not yet exposed to the user. Watch this space!
- Deleting a material set from a type now also purges usages from type instances
- New feature to copy the material of the active object to selected objects.
- Switching BCF viewpoints is now sigificantly faster on large projects.
- BCF cameras now support global absolute coordinates with a Blender offset
- Clearer licensing across codebase.
- New feature to extend columns, beams, and members to a target
- Units for cost items are now autodetected
- New utility to derive the unit of a property or quantity.
- You can now delete unit assignments
- New unit utility to auto detect SI unit dimensional exponents
- You can now view all assigned project units
- You can now toggle whether decomposed elements are parented in blender when editing, so voids/fills etc move with you.
- Walls are now dynamically voided when joining, so you can join/unjoin voided walls
- Add new inverse_relationship in selector for bounded by relationships.
- New BCF-API client and OpenCDE Foundation-API client system.
- Add sample docstring and type hints for IfcPatch recipe.
- IfcClash is now able to be built as an isolated Python binary. Hooray!
- Using global keyword is not mandatory but may help debugging
- Add documentation for how to use IfcClash.
- New hppfcl IfcClash packaged for the BlenderBIM Add-on. New MacOS support.
- Improve Debug Panel UI.
- Improve UI for multi input string fields.
- New ifcopenshell.geom.tree based broadphase collision for IfcClash instead of aabbtree.
- Add descriptions to IFC Search function.
- WIP experimental hpp-fcl and aabbtree-based IfcClash
- Fix bug where style attributes couldn’t be edited.
- Fix example and document quirk to prevent memory related bug.
- Fix warnings when no people or organisations existed.
- Fix bug where removing material from IfcMaterialList removes all occurences of the material.
- Fix bug where the pset templates with multiple applicable entities only checked the first entity
- Fix errors if no ifc file.
- Fix errors in console due to accessing empty enum.
- Fix error when trying to select type if type is not set.
- Fix error when adding opening with None object.
- Fix error when filling opening with None object.
- IFC Cobie : Fix Elements not being assigned in selector.
- Fix bug where changing slab layer thicknesses didn’t work if it didn’t have a solidify modifier already.
- Fix bug where walls now grow or shrink from their origin point.
- Fix bug where you could accidentally have a layer set with zero thickness which caused object creation to fail.
- Fix bug where removing objects fails. Now using a breadth-first search and maintain insertion order on remove_deep().
- Fix bug in work schedule cascading where some cascades wouldn’t work and non-working dates would lead to an infinite recursion
- Fix bug where editing a schedule finish date by itself wouldn’t work
- Fix bug where you couldn’t delete non active task columns
- IfcClash now has logging and fix bug where exclude clash filters on large files was very slow
- Fix bug where IFC project libraries could not be imported as a file.
- Fix bug where you couldn’t load the add-on in background mode.
- Fix bug to prevent users from appending a project library asset twice
- Fix bug where you couldn’t use userdefined types for type elements
- Fix bug where wall origin recalculations will shift openings
- Fix bug where FM types for COBie were not selected properly
- Fix bug where undoing broke the IFC link for child objects
- Fix builds to use name “blenderbim” instead of “blender28-bim” which now confuses people since 2.9 is out.
- Fix bug where materials weren’t created when importing assets from a library
- Fix error due to trying to patch non-existent file
- Fix IfcPatch pyinstaller script to make it easier to distribute ifcpatch.