From 8d352ea07a88820277aae20a814fb46182a2a556 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sat, 17 Jul 2021 09:13:37 +1000 Subject: [PATCH] Fix bug where editing a single material didn't quite work. --- src/blenderbim/blenderbim/bim/module/material/operator.py | 3 ++- src/blenderbim/blenderbim/bim/module/material/ui.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/material/operator.py b/src/blenderbim/blenderbim/bim/module/material/operator.py index ebeba9e020..07f541e777 100644 --- a/src/blenderbim/blenderbim/bim/module/material/operator.py +++ b/src/blenderbim/blenderbim/bim/module/material/operator.py @@ -473,7 +473,6 @@ class EditAssignedMaterial(bpy.types.Operator): obj = bpy.data.objects.get(self.obj) if self.obj else bpy.context.active_object props = obj.BIMObjectMaterialProperties product_data = Data.products[obj.BIMObjectProperties.ifc_definition_id] - material_set = self.file.by_id(self.material_set) if product_data["type"] == "IfcMaterial": bpy.ops.bim.unassign_material(obj=obj.name) @@ -482,6 +481,8 @@ class EditAssignedMaterial(bpy.types.Operator): bpy.ops.bim.disable_editing_assigned_material(obj=obj.name) return {"FINISHED"} + material_set = self.file.by_id(self.material_set) + attributes = {} for attribute in props.material_set_attributes: attributes[attribute.name] = None if attribute.is_null else attribute.string_value diff --git a/src/blenderbim/blenderbim/bim/module/material/ui.py b/src/blenderbim/blenderbim/bim/module/material/ui.py index 0c21497055..d083e4b07a 100644 --- a/src/blenderbim/blenderbim/bim/module/material/ui.py +++ b/src/blenderbim/blenderbim/bim/module/material/ui.py @@ -97,6 +97,8 @@ class BIM_PT_object_material(Panel): self.material_set_data = Data.lists[self.material_set_id] self.set_items = self.material_set_data["Materials"] or [] self.set_item_name = "list_item" + else: + self.material_set_id = 0 return self.draw_material_ui() row = self.layout.row(align=True)