ifcopenshell.api.sequence.recalculate_schedule#

Module Contents#

class ifcopenshell.api.sequence.recalculate_schedule.Usecase(file, work_schedule=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.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.
add_node(self, task)#
backward_pass(self, node)#
build_network_graph(self)#
calculate_free_float(self, predecessor_date, successor_date, lag_time, predecessor_data, successor_data)#
execute(self)#
forward_pass(self, node)#
offset_date(self, date, days, node)#
update_task_times(self)#