ifcopenshell.api.sequence.unassign_sequence¶
Module Contents¶
- ifcopenshell.api.sequence.unassign_sequence.unassign_sequence(file: ifcopenshell.file, relating_process: ifcopenshell.entity_instance, related_process: ifcopenshell.entity_instance, sequence_type: str | None = None) None¶
Removes a sequence relationship between tasks
Two tasks may be sequenced more than once with different types — see
ifcopenshell.api.sequence.assign_sequence()— so removing “the” relationship between a pair is ambiguous. Left unspecified, every sequence between the two is removed, which is what “make them unrelated” means and what this did before the parameter existed. Name a type to remove only that one and leave any others in place.- Parameters:
relating_process – The previous / predecessor task.
related_process – The next / successor task.
sequence_type – Optionally, remove only the sequence of this type. Choose from FINISH_START, FINISH_FINISH, START_START, or START_FINISH.
- Returns:
None
Example:
# Let's imagine we are creating a construction schedule. All tasks # need to be part of a work schedule. schedule = ifcopenshell.api.sequence.add_work_schedule(model, name="Construction Schedule A") # Let's imagine a root construction task construction = ifcopenshell.api.sequence.add_task(model, work_schedule=schedule, name="Construction", identification="C") # Let's imagine we're building 2 zones, one after another. zone1 = ifcopenshell.api.sequence.add_task(model, parent_task=construction, name="Zone 1", identification="C.1") zone2 = ifcopenshell.api.sequence.add_task(model, parent_task=construction, name="Zone 2", identification="C.2") # Zone 1 finishes, then zone 2 starts. ifcopenshell.api.sequence.assign_sequence(model, relating_process=zone1, related_process=zone2) # Let's make them unrelated ifcopenshell.api.sequence.unassign_sequence(model, relating_process=zone1, related_process=zone2)