SuperAPI AI 工具集

ifc-syntax-ifcxml

数据与分析

查看项目

更新于 10-15 22:18

技能介绍

用途:ifcXML 是 IFC 模型的 XML 编码,与 STEP 物理文件(.ifc)序列化同一 EXPRESS 模式,模型相同、仅呈现不同。本技能覆盖 ifcXML 文档结构、其标准 ISO 10303-28,以及以 XML 读写 IFC 数据的规则。

主要能力:识别 ifcXML 文档骨架——根元素 iso_10303_28 恰好包含一个 uos 子元素,每个 IFC 实体实例成为同名 XML 元素(如 IfcWall)。解析引用机制:定义用 id 属性,引用用 ref 或 href 加 xsi:nil="true"。区分按引用(by-reference)与按包含(by-containment)两种写法。

使用方式:判断编码时检查文件首字节,以 <?xml?> 和 iso_10303_28 开头即为 ifcXML,用 XML 解析器处理;以 ISO-10303-21; 开头则为 SPF。读取时须先将 ref/href 解析到拥有匹配 id 的元素,不可把 xsi:nil="true" 元素当作持有属性。

适用场景:需要与 XML 工具链集成(XSLT 转换、XPath 查询、XSD 校验)或需要 XML 原生可读性时选用 ifcXML;追求最广工具兼容或最小文本文件则选 SPF。

限制:ifcXML 从不序列化 DERIVE 与 INVERSE 属性,读取方须依模式重算;XSD 由 EXPRESS 模式按 ISO 10303-28 映射规则生成,不可手工编辑;每个 IFC 版本(IFC2x3、IFC4、IFC4.3)有各自生成的 XSD 与 Part 28 配置文件,不可跨版本套用;ifcXML 的 id 是文档局部字符串,非 IFC GlobalId 也非 SPF 的 #id,每次序列化都会重新生成,不可跨文件携带。未设置的可选属性以元素缺失表示,而非 $ 记号。