SuperAPI AI 工具集

ifc-impl-version-migration

通用与其它

查看项目

更新于 10-15 22:18

技能介绍

用途:在 IFC2x3、IFC4、IFC4.3 之间迁移 IFC 模型的 schema 版本。迁移是对实例图的结构性变换,不是文本查找替换,也不是几何或文件格式转换。本技能只讲概念与机制,不教任何库 API;参考实现 ifcpatch Migrate 与几何工具 IfcConvert 仅作指引。

主要能力:迁移分两个有序阶段。阶段一实体映射:对每个实例,将源实体名映射到目标 schema,命运分为不变、重命名、弃用、删除四类。阶段二属性映射:对存活实例,按目标实体的属性列表重排位置属性,插入、删除、重排并处理 DERIVED。必须先做阶段一,再做阶段二;EXPRESS 记录按位置存储,盲目复制会在属性增删或重排时损坏数据。

七步策略:从 STEP 头读取 FILE_SCHEMA 检测源版本;选择目标与方向,降级需标记有损;构建实体映射;构建属性映射;保留 GlobalId 与引用;重写 STEP 头中的 FILE_SCHEMA 与 MVD 字符串;用 buildingSMART 校验流水线验证。

适用场景:下游工具只读 IFC2x3 或需要 IFC4.3 时做 schema 版本迁移;升级(IFC2x3→IFC4、IFC4→IFC4.3)较稳定,降级(IFC4.3→IFC4、IFC4→IFC2x3)为子集、有损。若需要 OBJ、glTF、DAE、STEP、SVG 等非 IFC 文件,应使用 IfcConvert 做几何/格式转换,而非本工作流。

限制与硬性规则:始终从 FILE_SCHEMA 读取源版本,不得假设;阶段一必须穷尽,否则严格导入器会拒绝;始终保留 GlobalId;迁移后必须校验,能在查看器中打开不算正确;禁止用正则重命名实体关键字;不得假设降级无损。IFC4.3 中 *StandardCase 家族、IfcProxy、IfcDoorStyle、IfcWindowStyle 已删除,IfcBuildingElement 改为 IfcBuiltElement,IfcBuildingSystem 改为 IfcBuiltSystem,IfcCivilElement 为弃用。完整变更日志以 IFC4.3 文档附录 F 为准。具体库 API、收费与平台信息暂未提供。