diff --git a/src/blenderbim/blenderbim/bim/module/sequence/operator.py b/src/blenderbim/blenderbim/bim/module/sequence/operator.py index c79503eab1..337a01c11f 100644 --- a/src/blenderbim/blenderbim/bim/module/sequence/operator.py +++ b/src/blenderbim/blenderbim/bim/module/sequence/operator.py @@ -1409,9 +1409,13 @@ class LoadProductTasks(bpy.types.Operator): return True def execute(self, context): - core.load_product_related_tasks( + result = core.load_product_related_tasks( tool.Sequence, product=tool.Ifc.get().by_id(context.active_object.BIMObjectProperties.ifc_definition_id) ) + if isinstance(result, str): + self.report({"INFO"}, result) + else: + self.report({"INFO"}, f"{len(result)} product tasks loaded.") return {"FINISHED"} diff --git a/src/blenderbim/blenderbim/core/sequence.py b/src/blenderbim/blenderbim/core/sequence.py index 510caa8a04..2289ce2951 100644 --- a/src/blenderbim/blenderbim/core/sequence.py +++ b/src/blenderbim/blenderbim/core/sequence.py @@ -593,17 +593,20 @@ def generate_gantt_chart(sequence: tool.Sequence, work_schedule: ifcopenshell.en sequence.generate_gantt_browser_chart(json, work_schedule) -def load_product_related_tasks(sequence: tool.Sequence, product: ifcopenshell.entity_instance) -> Union[None, str]: +def load_product_related_tasks( + sequence: tool.Sequence, product: ifcopenshell.entity_instance +) -> Union[list[ifcopenshell.entity_instance], str]: filter_by_schedule = sequence.is_filter_by_active_schedule() if filter_by_schedule: work_schedule = sequence.get_active_work_schedule() if work_schedule: task_inputs, task_ouputs = sequence.get_tasks_for_product(product, work_schedule) else: - return "No active work schedule" + return "No active work schedule." else: task_inputs, task_ouputs = sequence.get_tasks_for_product(product) sequence.load_product_related_tasks(task_inputs, task_ouputs) + return task_inputs + task_ouputs def reorder_task_nesting(