ifcopenshell.api.sequence.add_work_schedule

Module Contents

ifcopenshell.api.sequence.add_work_schedule.add_work_schedule(file: ifcopenshell.file, name: str = 'Unnamed', predefined_type: str = 'NOTDEFINED', object_type=None, start_time: str | datetime.time | None = None, work_plan: ifcopenshell.entity_instance | None = None) ifcopenshell.entity_instance

Add a new work schedule

A work schedule is a group of tasks, where the tasks are typically either for maintenance or for construction scheduling.

Parameters:
  • name (str) – The name of the work schedule.

  • predefined_type (str) – The type of schedule, chosen from ACTUAL, BASELINE, and PLANNED. Typically you would start with PLANNED, then convert to a BASELINE when changes are made with separate schedules, then have a parallel ACTUAL schedule.

  • start_time (str,datetime.time,optional) – The earlier start time when the schedule is relevant. May be represented with an ISO standard string.

  • work_plan (ifcopenshell.entity_instance,optional) – The IfcWorkPlan the schedule will be part of. If not provided, the schedule will not be grouped in a work plan and would exist as a top level schedule in the project. This is not recommended.

Returns:

The newly created IfcWorkSchedule

Return type:

ifcopenshell.entity_instance

Example:

# This will hold all our construction schedules
work_plan = ifcopenshell.api.sequence.add_work_plan(model, name="Construction")

# Let's imagine this is one of our schedules in our work plan.
schedule = ifcopenshell.api.sequence.add_work_schedule(model,
    name="Construction Schedule A", work_plan=work_plan)

# Add a root task to represent the design milestones, and major
# project phases.
ifcopenshell.api.sequence.add_task(model,
    work_schedule=schedule, name="Milestones", identification="A")
ifcopenshell.api.sequence.add_task(model,
    work_schedule=schedule, name="Design", identification="B")
construction = ifcopenshell.api.sequence.add_task(model,
    work_schedule=schedule, name="Construction", identification="C")
ifcopenshell.api.sequence.add_work_schedule.createIfcDateAndTime(file: ifcopenshell.file, dt: datetime.datetime)