mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-26 02:07:36 +00:00
Fix OverrideMoveAggregate to work for multiple layers of aggregates.
This commit is contained in:
@@ -3026,7 +3026,7 @@ class OverrideMoveAggregate(bpy.types.Operator):
|
|||||||
obj.select_set(False)
|
obj.select_set(False)
|
||||||
continue
|
continue
|
||||||
element = tool.Ifc.get_entity(obj)
|
element = tool.Ifc.get_entity(obj)
|
||||||
if not element or not element.is_a("IfcElement") or props.in_aggregate_mode:
|
if not element or not element.is_a("IfcElement"):
|
||||||
continue
|
continue
|
||||||
parts = ifcopenshell.util.element.get_parts(element)
|
parts = ifcopenshell.util.element.get_parts(element)
|
||||||
if parts:
|
if parts:
|
||||||
@@ -3039,9 +3039,8 @@ class OverrideMoveAggregate(bpy.types.Operator):
|
|||||||
aggregates_to_move = set(aggregates_to_move)
|
aggregates_to_move = set(aggregates_to_move)
|
||||||
for obj in aggregates_to_move:
|
for obj in aggregates_to_move:
|
||||||
obj.select_set(True)
|
obj.select_set(True)
|
||||||
if parts := ifcopenshell.util.element.get_parts(tool.Ifc.get_entity(obj)):
|
for part in tool.Aggregate.get_parts_recursively(tool.Ifc.get_entity(obj)):
|
||||||
for part in parts:
|
part_obj = tool.Ifc.get_object(part)
|
||||||
part_obj = tool.Ifc.get_object(part)
|
part_obj.select_set(True)
|
||||||
part_obj.select_set(True)
|
|
||||||
self.new_active_obj = obj
|
self.new_active_obj = obj
|
||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|||||||
Reference in New Issue
Block a user