用途:在 IFC 模型的磁盘编码之间转换,并在交换场景中选择合适的编码。核心前提是 IFC 是同一 EXPRESS schema 的多种派生编码,转码只是把同一模型总体重新渲染为另一种编码,绝不改变 schema 版本,也绝不改变几何。
主要能力:覆盖四种编码——SPF/STEP(.ifc,ISO 10303-21,官方)、ifcXML(.ifcXML,ISO 10303-28,官方)、ifcZIP(.ifcZIP,官方,纯压缩)、ifcJSON(.json,临时/候选,无 ISO 标准)。提供转码与版本迁移的区分、目标编码选择决策、无损性判断,以及 SPF↔ifcXML、ifcJSON、ifcZIP 包装等模式。
使用方式:以 EXPRESS 总体为枢纽,先解析源编码,再渲染为目标编码;转码前后核对 FILE_SCHEMA、schema 命名空间或 schemaIdentifier。SPF↔ifcXML 在模型层无损,但 #id 编号、位置属性、未设属性($)、注释与文本布局不保留,应校验模型总体而非逐字节比对。ifcZIP 使用 PKZip 2.04g(DEFLATE),不得加密或使用 deflate64,主目录须恰好含一个 .ifc 或一个 .ifcXML 文件,包装与解包始终无损。ifcJSON 为临时格式,大小约为 SPF 的 148%,以 GlobalId 作交叉引用,不保证无损往返。
适用场景:需要 XML 工具链(XSLT、XPath、XSD 校验)时选 ifcXML;Web/JavaScript、REST API、JSON 原生消费方选 ifcJSON;传输或存储且体积优先时选 ifcZIP;最广兼容与最小文本选 SPF。
限制:不涉及 schema 版本迁移(IFC2x3 到 IFC4 等应走版本迁移技能),也不涉及几何导出(网格、glTF、OBJ、COLLADA)。DERIVE 与 INVERSE 属性在任何编码中都不序列化,因此转码不会丢失它们。转码中需注意实例标识符、无序聚合(SET、BAG)顺序、头部元数据、注释与 IfcReal 数值格式等风险项。本技能不教授库 API,工具选择另见相关技能。具体命令与安装方式资料未提供。