From 2d5bc49ee0da6e45cbd9fc2ba42de4475c10f649 Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Wed, 8 Jan 2025 16:53:59 +0100 Subject: [PATCH] Going in and out of AGGREGATE mode doesn't overwrite other objects' display type anymore --- src/bonsai/bonsai/bim/module/aggregate/prop.py | 1 + src/bonsai/bonsai/tool/aggregate.py | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/aggregate/prop.py b/src/bonsai/bonsai/bim/module/aggregate/prop.py index 60e3545ee8..f49c0d3dc5 100644 --- a/src/bonsai/bonsai/bim/module/aggregate/prop.py +++ b/src/bonsai/bonsai/bim/module/aggregate/prop.py @@ -101,6 +101,7 @@ class BIMObjectAggregateProperties(PropertyGroup): class Objects(bpy.types.PropertyGroup): obj: PointerProperty(type=bpy.types.Object) + previous_display_type: bpy.props.StringProperty(default="TEXTURED") class BIMAggregateProperties(PropertyGroup): diff --git a/src/bonsai/bonsai/tool/aggregate.py b/src/bonsai/bonsai/tool/aggregate.py index fba4fa1b9a..a19c4a2f40 100644 --- a/src/bonsai/bonsai/tool/aggregate.py +++ b/src/bonsai/bonsai/tool/aggregate.py @@ -174,9 +174,10 @@ class Aggregate(bonsai.core.tool.Aggregate): if obj.original not in parts_objs: if obj == props.editing_aggregate: continue - obj.original.display_type = "WIRE" not_editing_obj = props.not_editing_objects.add() not_editing_obj.obj = obj.original + not_editing_obj.previous_display_type = obj.original.display_type + obj.original.display_type = "WIRE" else: editing_obj = props.editing_objects.add() editing_obj.obj = obj.original @@ -190,9 +191,9 @@ class Aggregate(bonsai.core.tool.Aggregate): def disable_aggregate_mode(cls): context = bpy.context props = context.scene.BIMAggregateProperties - objs = [o.obj for o in props.not_editing_objects] - for obj in objs: - obj.original.display_type = "TEXTURED" + for obj_prop in props.not_editing_objects: + obj = obj_prop.obj + obj.original.display_type = obj_prop.previous_display_type element = tool.Ifc.get_entity(obj) if not element: continue