diff --git a/src/blenderbim/blenderbim/bim/module/aggregate/operator.py b/src/blenderbim/blenderbim/bim/module/aggregate/operator.py index bf336ad69b..146ab4579b 100644 --- a/src/blenderbim/blenderbim/bim/module/aggregate/operator.py +++ b/src/blenderbim/blenderbim/bim/module/aggregate/operator.py @@ -44,7 +44,12 @@ class BIM_OT_aggregate_assign_object(bpy.types.Operator, Operator): def _execute(self, context): relating_obj = None if self.relating_object: - relating_obj = tool.Ifc.get_object(tool.Ifc.get().by_id(self.relating_object)) + element = tool.Ifc.get().by_id(self.relating_object) + if element.IsDecomposedBy: + relating_obj = tool.Ifc.get_object(tool.Ifc.get().by_id(self.relating_object)) + else: + assembly = element.Decomposes[0].RelatingObject + relating_obj = tool.Ifc.get_object(assembly) elif context.active_object: relating_obj = context.active_object if not relating_obj: