From 58921e200c005e97a6f9f4b98b0bbdd8fde8c28c Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 14 Aug 2021 14:40:45 +1000 Subject: [PATCH] Fix #1647. Bug where auto spatial containment assignment failed when you were not in a container. --- src/blenderbim/blenderbim/bim/module/root/operator.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/root/operator.py b/src/blenderbim/blenderbim/bim/module/root/operator.py index d0a5910a84..d3207eca2e 100644 --- a/src/blenderbim/blenderbim/bim/module/root/operator.py +++ b/src/blenderbim/blenderbim/bim/module/root/operator.py @@ -189,6 +189,11 @@ class AssignClass(bpy.types.Operator): continue spatial_obj = bpy.data.objects.get(collection.name) if spatial_obj and spatial_obj.BIMObjectProperties.ifc_definition_id: + element = self.file.by_id(spatial_obj.BIMObjectProperties.ifc_definition_id) + if self.file.schema != "IFC2X3" and not element.is_a("IfcSpatialElement"): + continue + elif self.file.schema == "IFC2X3" and not element.is_a("IfcSpatialStructureElement"): + continue bpy.ops.bim.assign_container( relating_structure=spatial_obj.BIMObjectProperties.ifc_definition_id, related_element=obj.name )