用途:在 IFC 模型中实现施工进度计划与 4D BIM 时间线,涵盖工作进度(WorkSchedule/WorkPlan)、任务、任务依赖、工作日历、关键路径与甘特图数据提取。
主要能力:使用 ifcopenshell.api.run("sequence.*", ...) 创建与编辑进度、任务、时间(IfcTaskTime);定义 FINISH_START 等四种依赖类型与滞后时间(assign_lag_time);建立工作日历与例外时间;通过 assign_process/assign_product 将任务与建筑构件关联实现 4D BIM;用 cascade_schedule 传播日期、recalculate_schedule 计算关键路径与浮动时间;用 ifcopenshell.util.sequence 查询任务层级、输入输出、资源、工作日与日期范围。
必要用法与约束:所有进度变更必须走 sequence.* API,不得用 model.create_entity() 直接创建 IfcTask/IfcWorkSchedule/IfcRelSequence;须先 add_task_time 再 edit_task_time;日期与工期用 ISO 8601 字符串(如 "2026-04-01"、"P5D"),不得传 Python datetime;时间数据只能赋给叶子任务,不得赋给父/汇总任务;add_task 的 work_schedule 与 parent_task 互斥;不得创建循环依赖,否则 cascade_schedule 会无限递归;修改工期或依赖后须调用 cascade_schedule;产品参数在 v0.8+ 需传列表;创建进度前须先建立项目引导(IfcProject、单位、上下文)。IFC2X3 与 IFC4+ 在日期/工期格式、任务与进度预定义类型、IfcWorkPlan、滞后时间与重复模式上存在差异,编码前须检查 model.schema。
适用场景:施工进度编排、WBS 层级、日历设置、4D 可视化、甘特图与关键路径分析、基线与实际进度对比。
限制:具体价格、平台与效果资料暂未提供。