diff --git a/src/bonsai/bonsai/bim/module/material/operator.py b/src/bonsai/bonsai/bim/module/material/operator.py index 49e23ef0c8..fe733031f9 100644 --- a/src/bonsai/bonsai/bim/module/material/operator.py +++ b/src/bonsai/bonsai/bim/module/material/operator.py @@ -888,5 +888,8 @@ class SelectMaterialInMaterialsUI(bpy.types.Operator): item_index, _ = material_item props.active_material_index = item_index - self.report({"INFO"}, f"Material '{material.Name}' is selected in Materials UI.") + self.report( + {"INFO"}, + f"Material '{tool.Material.get_material_name(material) or 'Unnamed'}' is selected in Materials UI.", + ) return {"FINISHED"} diff --git a/src/bonsai/bonsai/tool/material.py b/src/bonsai/bonsai/tool/material.py index c7d207f995..99fcef9a4a 100644 --- a/src/bonsai/bonsai/tool/material.py +++ b/src/bonsai/bonsai/tool/material.py @@ -429,3 +429,14 @@ class Material(bonsai.core.tool.Material): i += cls.purge_unused_materials() return i + + @classmethod + def get_material_name(cls, material: ifcopenshell.entity_instance) -> Union[str, None]: + ifc_class = material.is_a() + if ifc_class == "IfcMaterialList": + return None + elif ifc_class == "IfcMaterialLayerSet": + # Optional IfcLabel. + return material.LayerSetName + # Optional IfcLabel except for IfcMaterial. + return material.Name