From 7a89d8f5edb04fe9cf2a5fb841f3af9112232f86 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 5 Jul 2024 17:09:00 +0500 Subject: [PATCH] smal core.material.unassign_material refactor --- src/blenderbim/blenderbim/core/material.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/blenderbim/blenderbim/core/material.py b/src/blenderbim/blenderbim/core/material.py index 8181b74eab..3389658129 100644 --- a/src/blenderbim/blenderbim/core/material.py +++ b/src/blenderbim/blenderbim/core/material.py @@ -119,14 +119,18 @@ def unassign_material(ifc: tool.Ifc, material_tool: tool.Material, objects: list if element: material = material_tool.get_material(element, should_inherit=False) inherited_material = material_tool.get_material(element, should_inherit=True) - if material and "Usage" in material.is_a(): + if material: + if "Usage" in material.is_a(): + element_type = material_tool.get_type(element) + ifc.run("material.unassign_material", products=[element_type]) + else: + ifc.run("material.unassign_material", products=[element]) + elif inherited_material: element_type = material_tool.get_type(element) ifc.run("material.unassign_material", products=[element_type]) - elif not material and inherited_material: - element_type = material_tool.get_type(element) - ifc.run("material.unassign_material", products=[element_type]) - elif material: - ifc.run("material.unassign_material", products=[element]) + else: + # Has no material and has no inherited material, nothing to unassign. + pass def patch_non_parametric_mep_segment(