mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 17:31:45 +00:00
fix cascading schedule when parent tasks have sequence relationships #3772
This commit is contained in:
@@ -426,3 +426,23 @@ def get_tasks_for_product(product, schedule=None):
|
||||
]
|
||||
|
||||
return inputs, outputs
|
||||
|
||||
|
||||
def get_sequence_assignment(task, sequence="successor"):
|
||||
if sequence == "successor":
|
||||
relationship_attr = "IsPredecessorTo"
|
||||
elif sequence == "predecessor":
|
||||
relationship_attr = "IsSuccessorFrom"
|
||||
else:
|
||||
return []
|
||||
|
||||
relationship = getattr(task, relationship_attr, None)
|
||||
if relationship:
|
||||
return relationship
|
||||
|
||||
for rel in task.Nests or []:
|
||||
result = get_sequence_assignment(rel.RelatingObject, sequence)
|
||||
if result:
|
||||
return result
|
||||
|
||||
return []
|
||||
|
||||
Reference in New Issue
Block a user