This is in preparation for partial loading and unloading for scaling up to larger IFC scenes.
Similarly, there are bits in place for different collection modes instead of the hardcoded collection hierarchy which we currently have.
This improves interface responsiveness.
Previously you would have to hover your mouse over the panel
After import to see the contents of the library visually update.
* Notify if file already contains library element
* Minor fix. See #1711.
* Test util.element module. See #1711.
* Test IFC file module. See #1711.
* Minor fix. See #1711.
* Move logic into operators
Co-authored-by: Dion Moult <dion@thinkmoult.com>
* Must be in object mode to update representation
This may prevent random CTDs due to invalidated data
* Use self.file instead of re-fetching from IfcStore
* Keep ifc parameters expanded when updating representation
* Clear previous ifc parameters when re-fetching
* Display project units instead of hardcoded ones
* Treat MapUnit as a regular attribute
* Remove left over attributes
* Refactor operator for MapUnit change
* Fix unit fetch failing because of wrong id type
* Remove container executes on all selected objects
* Pass silently if assigning or removing container on non-bim object
* Assign / Unassign Material executes on all selected objects
* AddRepresentation executes on all selected objects
* Assign / Unassign Constraint executes on all selected objects
* Fix error when trying to assign representation to non-mesh object
* Assign / Unassign Document executes on all selected objects
* Code Cleanup & Consistency
* Fix Attribute data type not being assigned when it makes sense
* Revert changes to geometry operator
* Revert "Fix Attribute data type not being assigned when it makes sense"
This reverts commit 1117c8670c.
* Revert changes to material operator
* Use attribute helper functions
* Filter select entities in import_attributes
* revert changes to attribute fetching
* Revert "Filter select entities in import_attributes"
This reverts commit 7f84c2ea63.
* Enforce new attribute data type to string
* Restrict import_attributes usecase
* Remove trailing spaces
* Revert changes to IfcProjectedCRS attributes
This is done prior to the planned unit refactor
* Enable Batch adding/removing objects from groups
Might hang up Blender for a few secs with a big number of object on execution
* Enable Batch adding/removing objects from systems
Might hang up Blender for a few secs with a big number of object on execution
* Add Group Panel in object properties
+ Transfer adding object(s) to group into the object properties
* Add Systems Panel in object properties
+ Transfer adding object(s) to system into the object properties
* Simplify group & systems operators
* Disabling Editing of groups/systems also disables individual edition