From 864eeb42e9a3a26b8a777f47d83c84ff75521469 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Perdig=C3=A3o?= Date: Sat, 18 Jan 2025 15:15:54 -0300 Subject: [PATCH] Add filling objectcs to `OverrideMove` --- .../bonsai/bim/module/geometry/operator.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/bonsai/bonsai/bim/module/geometry/operator.py b/src/bonsai/bonsai/bim/module/geometry/operator.py index 48168cc6c8..f174921e4d 100644 --- a/src/bonsai/bonsai/bim/module/geometry/operator.py +++ b/src/bonsai/bonsai/bim/module/geometry/operator.py @@ -3037,6 +3037,23 @@ class OverrideMove(bpy.types.Operator): return {"FINISHED"} def _execute(self, context): + # Get filling objects + selection = [] + for obj in context.selected_objects: + element = tool.Ifc.get_entity(obj) + if not element: + continue + selection.append(obj) + for rel in getattr(element, "HasOpenings", []) or []: + opening = rel.RelatedOpeningElement + for rel2 in getattr(opening, "HasFillings", []) or []: + filling = rel2.RelatedBuildingElement + selection.append(tool.Ifc.get_object(filling)) + for obj in selection: + obj.select_set(True) + self.new_active_obj = obj + + # Get aggregates props = context.scene.BIMAggregateProperties not_editing_objs = [o.obj for o in props.not_editing_objects]