ifcopenshell.api.sequence.recalculate_schedule

Module Contents

class ifcopenshell.api.sequence.recalculate_schedule.Usecase
add_node(task)
backward_pass(node)
build_network_graph()
calculate_free_float(predecessor_date, successor_date, lag_time, predecessor_data, successor_data)
execute()
forward_pass(node)
offset_date(date, days, node)
update_task_times()
ifcopenshell.api.sequence.recalculate_schedule.recalculate_schedule(file: ifcopenshell.file, work_schedule: ifcopenshell.entity_instance) None

Calculate the critical path and floats for a work schedule

This implements critical path analysis, using the forward pass and backward pass method. When run, any tasks that have no float will be marked as critical, and both the total and free floats will be populated for all task times.

Cyclical relationships are detected and will result in a recursion error.

Parameters:

work_schedule (ifcopenshell.entity_instance) – The IfcWorkSchedule to perform the calculation on.

Returns:

None

Return type:

None

Example:

# See the example for ifcopenshell.api.sequence.cascade_schedule for
# details of how to set up a basic set of tasks and calculate the
# critical path. Typically cascade_schedule is run prior to ensure
# that dates are correct.