mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-26 18:21:59 +00:00
bim.load_product_related_tasks - show info message when finished
to make ui a bit more responsive
This commit is contained in:
@@ -1409,9 +1409,13 @@ class LoadProductTasks(bpy.types.Operator):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def execute(self, context):
|
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)
|
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"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -593,17 +593,20 @@ def generate_gantt_chart(sequence: tool.Sequence, work_schedule: ifcopenshell.en
|
|||||||
sequence.generate_gantt_browser_chart(json, work_schedule)
|
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()
|
filter_by_schedule = sequence.is_filter_by_active_schedule()
|
||||||
if filter_by_schedule:
|
if filter_by_schedule:
|
||||||
work_schedule = sequence.get_active_work_schedule()
|
work_schedule = sequence.get_active_work_schedule()
|
||||||
if work_schedule:
|
if work_schedule:
|
||||||
task_inputs, task_ouputs = sequence.get_tasks_for_product(product, work_schedule)
|
task_inputs, task_ouputs = sequence.get_tasks_for_product(product, work_schedule)
|
||||||
else:
|
else:
|
||||||
return "No active work schedule"
|
return "No active work schedule."
|
||||||
else:
|
else:
|
||||||
task_inputs, task_ouputs = sequence.get_tasks_for_product(product)
|
task_inputs, task_ouputs = sequence.get_tasks_for_product(product)
|
||||||
sequence.load_product_related_tasks(task_inputs, task_ouputs)
|
sequence.load_product_related_tasks(task_inputs, task_ouputs)
|
||||||
|
return task_inputs + task_ouputs
|
||||||
|
|
||||||
|
|
||||||
def reorder_task_nesting(
|
def reorder_task_nesting(
|
||||||
|
|||||||
Reference in New Issue
Block a user