From d1e51fb05bfb5fad96a695e8581928eadfa246c9 Mon Sep 17 00:00:00 2001 From: bosonprojets Date: Wed, 28 Jul 2021 15:27:51 +0100 Subject: [PATCH] Fix BlenderBIM bug class assignement when PredefinedType is set as USERDEFINED --- .../blenderbim/bim/module/root/operator.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/root/operator.py b/src/blenderbim/blenderbim/bim/module/root/operator.py index 5ff17caf5a..1bf274fe86 100644 --- a/src/blenderbim/blenderbim/bim/module/root/operator.py +++ b/src/blenderbim/blenderbim/bim/module/root/operator.py @@ -99,10 +99,6 @@ class AssignClass(bpy.types.Operator): objects = [bpy.data.objects.get(self.obj)] if self.obj else bpy.context.selected_objects self.file = IfcStore.get_file() self.declaration = IfcStore.get_schema().declaration_by_name(self.ifc_class) - if self.predefined_type == "USERDEFINED": - self.predefined_type = self.ifc_userdefined_type - elif self.predefined_type == "": - predefined_type = None for obj in objects: self.assign_class(context, obj) return {"FINISHED"} @@ -121,7 +117,15 @@ class AssignClass(bpy.types.Operator): ) obj.name = "{}/{}".format(product.is_a(), obj.name) IfcStore.link_element(product, obj) - + if self.predefined_type == "USERDEFINED": + ifcopenshell.api.run( + "attribute.edit_attributes", + self.file, + **{ + "product": self.file.by_id(obj.BIMObjectProperties.ifc_definition_id), + "attributes": {"ObjectType": self.userdefined_type}, + }, + ) if self.should_add_representation: bpy.ops.bim.add_representation( obj=obj.name, context_id=self.context_id, ifc_representation_class=self.ifc_representation_class