From 8ac96124c9e120da02c382abf6e298e595313e99 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Tue, 29 Oct 2024 15:15:40 +0500 Subject: [PATCH] Fix UI errors opening non-IfcMaterials in Materials UI There was UI errors because ui data wasn't updated, now ui data update is tied to load_materials --- src/bonsai/bonsai/bim/module/material/operator.py | 2 -- src/bonsai/bonsai/tool/material.py | 4 ++++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/material/operator.py b/src/bonsai/bonsai/bim/module/material/operator.py index fe733031f9..ac56232a1e 100644 --- a/src/bonsai/bonsai/bim/module/material/operator.py +++ b/src/bonsai/bonsai/bim/module/material/operator.py @@ -751,8 +751,6 @@ class ExpandMaterialCategory(bpy.types.Operator): props.active_material_index = index break core.load_materials(tool.Material, props.material_type) - # Update UI data as material_styles_data depends on props.materials. - bonsai.bim.handler.refresh_ui_data() return {"FINISHED"} diff --git a/src/bonsai/bonsai/tool/material.py b/src/bonsai/bonsai/tool/material.py index 99fcef9a4a..7fdc70f854 100644 --- a/src/bonsai/bonsai/tool/material.py +++ b/src/bonsai/bonsai/tool/material.py @@ -134,6 +134,10 @@ class Material(bonsai.core.tool.Material): new.ifc_definition_id = material.id() new.total_elements = len(ifcopenshell.util.element.get_elements_by_material(tool.Ifc.get(), material)) + from bonsai.bim.module.material.data import MaterialsData + + MaterialsData.data["material_styles_data"] = MaterialsData.material_styles_data() + @classmethod def is_editing_materials(cls) -> bool: return bpy.context.scene.BIMMaterialProperties.is_editing