From d23e32c64afcdd90fee77fbe11dfeddc51e659c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Perdig=C3=A3o?= Date: Thu, 23 Nov 2023 10:57:17 -0300 Subject: [PATCH] added report messages --- .../blenderbim/bim/module/geometry/operator.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index fedf7ffa86..437fc615bd 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -1062,13 +1062,16 @@ class RefreshLinkedAggregate(bpy.types.Operator): def handle_selection(selected_objs): selected_elements = [tool.Ifc.get_entity(selected_obj) for selected_obj in selected_objs] + if None in selected_elements: + self.report({"INFO"}, "Object has no Ifc Metadata.") + return None, None selected_parents = [] for selected_element in selected_elements: selected_element = get_element_assembly(selected_element) if not selected_element: self.report({"INFO"}, "Object is not part of a IfcElementAssembly.") - return {'FINISHED'} + return None, None selected_parents.append(selected_element) selected_parents = list(set(selected_parents)) @@ -1080,15 +1083,24 @@ class RefreshLinkedAggregate(bpy.types.Operator): if r.is_a("IfcRelAssignsToGroup") if self.group_name in r.RelatingGroup.Name ] - linked_aggregate_groups.append(product_linked_agg_group[0].id()) + try: + linked_aggregate_groups.append(product_linked_agg_group[0].id()) + except: + self.report({"INFO"}, "Object is not part of a Linked Aggregate.") + return None, None return list(set(linked_aggregate_groups)), selected_parents - active_element = tool.Ifc.get_entity(context.active_object) + if not active_element: + self.report({"INFO"}, "Object has no Ifc metadata.") + return {"FINISHED"} + active_element = get_element_assembly(active_element) selected_objs = context.selected_objects linked_aggregate_groups, selected_parents = handle_selection(selected_objs) + if not linked_aggregate_groups or not selected_parents: + return {"FINISHED"} if len(linked_aggregate_groups) > 1: if len(selected_parents) != len(linked_aggregate_groups):