用途:处理 IFC 文件因声明的 FILE_SCHEMA 与实体、属性所属 schema 不一致而校验失败或被读取器误读的问题。核心原则是把 FILE_SCHEMA 视为契约,文件中每个实体名、属性槽、可选性和枚举值都必须对该 schema 合法。
主要能力:给出各版本 FILE_SCHEMA 标识(IFC2X3、IFC4、IFC4X3_ADD2)及对应 ISO 版本;列出硬重命名(如 IfcBuildingElement→IfcBuiltElement、IfcBuildingSystem→IfcBuiltSystem)与属性类型变化(如 IfcRoot.OwnerHistory 在 IFC4 起变为可选、IfcMonetaryUnit.Currency 由枚举改为 IfcLabel);区分移除、弃用、重命名三种状态及其后果;提供症状到成因的对照与决策树,判断文件是否自洽、应声明哪个 schema、升级还是降级。
使用方式:先读 STEP 头中的 FILE_SCHEMA 标识,确认是否为已知 schema;再扫描实体名是否在声明 schema 中合法;检查属性数量与可选性;检查枚举与标签槽类型;将发现分类为错误(移除/重命名)或警告(弃用)。迁移时优先升级而非降级,逐实体、逐属性映射,DERIVED 槽必须保留 * 占位,无对应实体的应删除并记录,不得伪造,最后重新校验。
适用场景:IFC 文件校验报“未知实体类型”、读取器丢弃 OwnerHistory 或崩溃、货币字段为空或枚举错误、属性值整体错位、文件在元素检查前即被拒绝等。
限制:资料未提供具体工具命令、安装方式、收费与平台信息;实际断言实体或属性前应核对 buildingSMART 官方规范。