From c81fe97cc22e344aed424d30d3294a8d56dbbeb6 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 28 Feb 2025 17:11:19 +0500 Subject: [PATCH] Fix bim.change_cardinal_point breaking if one of objects had no material --- src/bonsai/bonsai/bim/module/model/profile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bonsai/bonsai/bim/module/model/profile.py b/src/bonsai/bonsai/bim/module/model/profile.py index c094da200c..22f7fa5071 100644 --- a/src/bonsai/bonsai/bim/module/model/profile.py +++ b/src/bonsai/bonsai/bim/module/model/profile.py @@ -911,7 +911,7 @@ class ChangeProfileDepth(bpy.types.Operator, tool.Ifc.Operator): class ChangeCardinalPoint(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.change_cardinal_point" bl_label = "Update" - bl_description = "Update Cardinal Point" + bl_description = "Update Cardinal Point for all selected objects." bl_options = {"REGISTER", "UNDO"} cardinal_point: bpy.props.IntProperty() @@ -926,6 +926,8 @@ class ChangeCardinalPoint(bpy.types.Operator, tool.Ifc.Operator): if not element: continue material = ifcopenshell.util.element.get_material(element, should_skip_usage=False) + if not material: + continue if material.is_a("IfcMaterialProfileSetUsage"): material.CardinalPoint = self.cardinal_point objs.append(obj)