From 3a5856511dca92a515512902da517c19e2759b8c Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Wed, 16 Oct 2024 12:29:16 +0500 Subject: [PATCH] bim.update_current_style - optimization for updating styles for multiple objects --- src/bonsai/bonsai/bim/module/style/operator.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/bonsai/bonsai/bim/module/style/operator.py b/src/bonsai/bonsai/bim/module/style/operator.py index 10a7f2ea29..5f8696af29 100644 --- a/src/bonsai/bonsai/bim/module/style/operator.py +++ b/src/bonsai/bonsai/bim/module/style/operator.py @@ -219,10 +219,12 @@ class UpdateCurrentStyle(bpy.types.Operator): context.scene.BIMStylesProperties.active_style_type = current_style_type return {"FINISHED"} + updated_materials = set() for obj in context.selected_objects: for mat in obj.data.materials: - if mat and mat.BIMStyleProperties.ifc_definition_id != 0: + if mat and mat not in updated_materials and mat.BIMStyleProperties.ifc_definition_id != 0: mat.BIMStyleProperties.active_style_type = current_style_type + updated_materials.add(mat) return {"FINISHED"}