From b3c4c056908f39788fb5c1ef240bcc9bd857fdef Mon Sep 17 00:00:00 2001 From: Gorgious56 Date: Tue, 11 Jul 2023 09:33:06 +0200 Subject: [PATCH] Keep active object when unlinking an IFC element Unlinking an element recreates a new blender object so the active object would be lost, jumping the properties to the scene panel which was slightly annoying --- src/blenderbim/blenderbim/bim/module/root/operator.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/root/operator.py b/src/blenderbim/blenderbim/bim/module/root/operator.py index 5faeabe056..3e90b3385b 100644 --- a/src/blenderbim/blenderbim/bim/module/root/operator.py +++ b/src/blenderbim/blenderbim/bim/module/root/operator.py @@ -168,6 +168,7 @@ class UnlinkObject(bpy.types.Operator): else: objects = context.selected_objects for obj in objects: + was_active_object = obj == context.active_object object_name = obj.name element = tool.Ifc.get_entity(obj) if element: @@ -189,6 +190,8 @@ class UnlinkObject(bpy.types.Operator): blenderbim.core.material.unlink_material(tool.Ifc, obj=material_slot.material) if "Ifc" in object_name and "/" in object_name: obj.name = object_name.split("/", 1)[1] + if was_active_object: + tool.Blender.set_active_object(obj) return {"FINISHED"} def draw(self, context):