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 146 new features and multiple bug fixes!
Here is a list of the new features and bug fixes from version v0.0.201207:
- Add support for quads in meshes when converting from DXF to IFC
- Work plan attributes can now be modified
- Work schedule attributes can now be modified
- Work calendar attributes can now be modified
- You can now assign and unassign project declarations for project libraries
- Geolocation MicroMVD now supports checking true north
- You can now add/remove material profiles in a profile set
- You can now assign parameterized profiles to material profiles
- You can now edit cost schedule attributes
- Cost items can now be added to cost schedules, as well as child cost items
- You can now just select doors/windows when adding voids for usability
- You can now create IFC project libraries
- Assigning aggregates can now be done in bulk
- Structural member axis orientation can now be specified
- Spatial container assignment can now be done in bulk
- You can now assign summary tasks to a work schedule
- You can now toggle expansion of the cost schedule tree.
- Material profile set usages are now supported
- Spatial aggregations are now auto-assigned upon creation.
- Spaces are now always imported by default, using the same spatial tree structure for consistency.
- Multiple cost item summaries are allowed, and you can now remove cost items.
- You can now assign task trees to work schedules
- Removing subgraphs of the IFC now uses batching by default
- If you are already authoring a file, exporting no longer prompts for a file location
- You can now copy classes in bulk
- You can now edit task attributes
- New UI to edit both task trees and task attributes.
- You can assign task predecessors and successors
- Collection assignments for spatial structure are now auto-synced on export
- You can now load project libraries and browse type products
- Selecting an IFC file dialog now only filters IFC files for convenience
- In a project library, you can now toggle declared products
- New support for task times
- Work schedule UI now shows start and finish times.
- You can now assign / unassign building elements as constructed products to tasks
- You can now generate Gantt charts from work schedules
- You can now append product types from another project or project library into your project
- You can now assign products to cost items
- You can now import work schedules from P6 XML exports
- You can now add crew and subcontractor resources
- New bSDD library for developers
- Resources may now be assigned and unassigned to products
- You can now edit cost item quantities.
- You can now edit cost item values with subtotal calculations.
- New “cha-ching” noise when you’re checking out cost schedules
- You can now assign derived quantities from products to cost items
- You can now import predecessors and successors from P6 XML
- “Counting” cost quantities now auto count the number of assigned products for convenience
- Work schedules can now be assigned to work plans
- OAuth support in bSDD now available.
- New work calendar UI.
- New system to modify calendar working and exception/holiday times, with support for recurring times.
- Improved time and date support in date utilities.
- Support all recurrence types and time periods in work schedules
- Pset API use cases are now decoupled from the BlenderBIM Add-on
- P6 XML root level activities are now supported on import
- Support assign, edit, and unassign lag times for task sequence relationships
- Support importing calendars from P6
- Support multiple versions of P6 XML imports
- Support importing P6 sequence types
- You can now edit sequence relationship attributes
- You can now select all products assigned to a task
- New support for IfcDuration in date utility.
- Support purging when removing nested tasks in a schedule
- Grouped tasks now support deriving start, finish dates, and elapsed durations in the task tree
- Support importing activity and calendar assignments from P6
- You can now visualize construction progress at a particular date in your work schedule
- You can now generate construction sequencing animations within a date range
- You can now change animation speeds for generated construction sequences with different speed controls
- You can now add, edit, and remove structural load cases
- Microsoft Project XMLs can now be imported as construction sequencing schedules
- Support nested tasks in MS Project XML imports
- Add support for point orientations for structural analysis
- Implement support for adding/removing load groups
- Arithmetic formulas are now supported for cost value components
- New IfcPatch recipe for cleaning up IFCs that store quantities in properties instead of quantity sets
- New IfcPatch recipe to convert units of an IFC file
- Calendars can now be shown in the work schedule task tree
- Derived durations now calculate working days based on the working calendar
- Calendar task inheritance is now supported
- P6 XML lag times are now imported
- Updating durations of a task now auto-refresh the finish dates based on the calendar
- New module structure for BCF XML v2.1 and v3
- You can now edit a structural connection coordinate system
- User-friendly drop down to select relevant quantities for associated products on cost items
- Links cost item products now auto-update quantities when they are assigned or unassigned
- New utility functions for copying and deep copying IFC elements
- You can now copy cost values from one cost item to another
- You can now filter products assigned to a cost item or schedule
- Implement structural load management and assigning activities with named loads
- Importing IFC4 files with tessellation meshes are now significantly faster (like 8x)
- Qto module has now various methods to do bulk object quantification and quantity populating
- IFC drawings now roundtrip as a Blender camera object
- Mesh evaluation when updating geometries is now faster thanks to disabling boolean calculations
- You can now select all products that are part of a group
- Old annotation system now creates IFC elements again. Text and misc animations now work with the new WIP drawing system.
- Users can now regenerate the linework or annotation layers in the new WIP drawing system.
- BCF imports now autodetect the BCF version
- 2D representations are now reimplemented in the new WIP drawing system.
- OCC is now no longer necessary, resulting in fewer conflicts with other addons and a significantly smaller file size.
- Assigning a representation to a type product now syncs the mapped representations of all product type instances
- Project and version data for BCF XML v3 is now supported in the library
- New support for API listeners for parametric modifications when authoring native IFCs.
- The search UI is only shown if an IFC is present.
- New UI to add type instances.
- Adding a new type instance now snaps it to the storey you’re working on
- Typed dumb walls now inherit wall thicknesses from the type of material
- You can now generate walls from sketching
- New wall join tool with support for T-junction joints, butt joints, and miter joints
- You can now unjoin walls
- You can now join walls in bulk
- Stroke generated walls now auto-detect joints where possible
- You can now generate walls from the cursor position, perpendicular to walls in the current storey
- Improved handling of non-manifold elements with openings
- Polygons coplanarity is ensured when updating geometry
- New wall align tool with support for the center, interior, and exterior alignment
- New formwork calculation tool to generate formwork meshes
- Dumb walls now auto-calculate length, width, height, and simple volumes
- Dumb walls now auto-generate wall axis upon updating
- 2D curve geometry can now be created again
- Copying objects in Blender now auto-copy them in IFC too
- Layer set usages now inherit the layer set from the typed product.
- Total layer set thickness is now shown in the UI
- BCF XML v3 now supports all aspects of BCF XML v3 except for the new documents system in the library.
- Dumb walls now auto-update thickness if the layer thickness changes.
- New date picker UI in the visualization interface
- New wall tool with hotkeys for rapid wall creation.
- New wall flipping feature, with support for aligned walls.
- Super barebones UI to show space boundaries for energy analysis.
- Point lights (IfcLightSourcePositional) are now supported and can be exported
- New wall split feature.
- MVDs now reflect the design transfer view by default.
- IFC header metadata can now be edited.
- API listeners can now be removed
- IfcOpenShell API now uses standardized Pythonic setting names
- Raster underlays are now supported in the new WIP drawing system.
- New walls are now selected when created.
- Project data directory is now customizable and actually works.
- Dumb slabs are now parametric and inherit thicknesses from their type materials
- Changing wall types now auto-updates the thickness
- Updating any attribute (duration, start, or finish now calculates the other attributes)
- Parametric engines are now loaded on startup
- Experimental use case serialization feature in preparation for version control and logging
- Dumb slabs now update thicknesses based on layer thicknesses and type assignment if changed
- Dumb slabs now roundtrip the Blender solidify modifier
- New feature to recalculate schedule metadata, including early start and finish dates, late start and finish dates, total float, and critical paths.
- Schedule metadata is now calculated using calendar dates
- Dumb walls and slabs are now always exported as parametric solids instead of meshes
- Fix rotation check-in geolocation MicroMVD validation
- Fix bug where people and organization Id data was not recorded in IFC2X3
- Fix bug where syncing upon export was just broken
- Fix bug where extrusion direction was incorrectly detected for some mesh to solid conversions
- Fix bug where partial imports broke when whitelisting only spatial elements
- Fix bug where presentation layers couldn’t be added
- Fix bug where dropdowns didn’t refresh when you started a new file
- Fix bug where adding a new material didn’t make it available for assignment to objects
- Fix bug where editing pset templates just broke
- Fix bug where saving is done twice in authoring mode
- Fix bug where box representations could be duplicated when adding new bodies and ensure that styles are synced
- Fix bug where edit mode syncing didn’t work if you edited many objects at once
- Fix bug where you couldn’t assign objects to a freshly created layer
- Fix bug where import mesh cleaning would inadvertently mark meshes as edited
- Fix bug where syncing was not maintained across file saves
- Fix bug where you shouldn’t be able to reassign classes of non-rooted elements
- Fix bug where deletion syncing may fail on freshly created objects
- Fix bug where a new Blender file will remember old pset templates and libraries.
- Fix crash when pressing undo after assigning an IFC class to an object.
- Fix bug where UI didn’t update when a type name was changed
- Fix bug where migrating an IFC version may explode the filesize.
- Fix bug where activities not in WBSes wouldn’t import from P6 XML.
- Fix bug where empty material slots caused errors
- Fix bug where edit pset use case didn’t import the right module
- Fix bug where related openings weren’t deleted if you deleted a product.
- Fix bugs related to grid name syncing, axis delete and copy, and grid deletion
- Fix bug where objects might be unlinked from non-IFC collections
- Fix bug where the logic behind detecting swept disk geometry was faulty
- Fix bug where assigning types and synchronizing geometry was unstable.
- Fix crash when switching representations for type products
- Fix bug where IFC2X3 files did not correctly generate 2D representations
- Fix bug where you were unable to remove a representation
- Fix bug where type instance cubes were missing a face.
- Fix bug where active object edits would not be synced
- Fix bug where certain objects couldn’t be deleted
- Fix bug where objects with the same name failed to be synchronized
- Fix bug where switching drawings didn’t work when in a local view.
- Fix bug where drawings couldn’t have a slash in their name