如何配置Model Derivative API获取与ACC一致的完整IFC对象属性
结论
完全可以通过Model Derivative API获取和ACC内置查看器同等完整度的IFC对象属性。两者底层共用同一套IFC解析与转换引擎,属性展示的差异仅来自转换作业的参数配置不同,不需要额外开通服务,只要在触发模型转换时指定对应IFC专属参数即可。
具体配置实现
- 触发模型转换作业时,不要使用默认转换配置,在转换请求的输出参数中追加IFC高级转换开关:将
includeAllProperties设为true以导出全量属性,同时将exportIfcElementsAsGeometry设为false以保留IFC原生语义结构与属性关联关系。核心请求体示例如下:
{ "input": { "urn": "待转换IFC文件的Base64编码URN" }, "output": { "formats": [ { "type": "svf2", "views": ["3d"], "advanced": { "includeAllProperties": true, "exportIfcElementsAsGeometry": false } } ] } }
- 如果你之前用默认配置转换过同一份IFC,发起新的转换请求时必须携带
x-ads-force: true请求头,强制服务端跳过历史转换缓存重新生成模型,否则会直接返回之前裁剪过属性的旧转换结果。 - 等待转换作业完成后,不管是直接在自研Forge Viewer中加载生成的SVF2模型,还是调用元数据属性接口拉取单对象属性,拿到的字段、分组、属性值都和ACC查看器展示的内容完全一致,包含全部IFC原生Pset属性集、类型属性、系统关联属性、构件分类信息。
注意事项
- 优先选择
svf2作为转换输出格式,ACC当前默认使用SVF2转换管线,旧版SVF格式的IFC全量属性适配存在已知缺陷,部分跨构件关联的属性会丢失。 - 全量属性转换生成的模型包体积会比默认配置大30%~150%,大体积IFC文件的转换耗时会相应增加,属于正常情况。
- 如果按上述配置转换后仍有属性缺失,先检查源IFC文件导出时是否做了属性裁剪,ACC不会在上传环节修改源文件的属性内容,所有可展示属性均来自IFC文件本身的可解析字段。
内容的提问来源于stack exchange,提问作者Robin999
相关产品推荐
相关产品推荐

