用途:ifcJSON 是 IFC 数据模型的 JSON 编码,面向构建 Web 与 JavaScript 应用、且不熟悉 EXPRESS 或 STEP 文件的开发者。它与其他 IFC 编码一样派生自 EXPRESS schema,schema 是唯一事实来源。
主要能力与结构:文件扩展名为 .json,MIME 类型 application/json,无 ISO 标准,状态为临时/候选,相对文件大小约为 STEP 物理文件的 148%。顶层为单个 JSON 对象,含元数据信封与 data 数组,键包括 type(字面量 "ifcJSON")、version、schemaIdentifier、originatingSystem、preprocessorVersion、timeStamp、data。data 中每个实体对象含 type(IFC 类名,精确大小写)、globalId(UUID 字符串)以及 camelCase 属性名。跨引用不使用 SPF 的 #id,而是 { "type": ..., "ref": ... } 对象,ref 值为目标实体的 globalId。
使用方式:先读取顶层信封的 type、schemaIdentifier 与元数据,再遍历 data;通过 globalId 建立查找映射解析 ref,不依赖数组顺序;DERIVE 与 INVERSE 属性不作为键出现;不要用内联实体替代 ref。规范仓库为 buildingsmart-community/ifcJSON,旧 IFCJSON-Team 谱系已废弃。
适用场景与限制:适合接受临时格式的 Web/JavaScript/REST 应用,需固定仓库提交或标签。长期归档、合同交付或跨工具 BIM 交换应使用 STEP 物理文件(.ifc);XML 工具链应使用 ifcXML。该格式不保证无损往返,转换时须保留原始 SPF 作为权威副本。
官方来源:https://github.com/buildingsmart-community/ifcJSON