You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需将模型上传至Viewer,从Manifest获取aecModelData?

无需上传至Viewer即可获取aecModelData的方法

你可以通过Autodesk Forge的Model Derivative API直接从模型Manifest中提取aecModelData,具体操作步骤如下:

1. 获取模型的Manifest文件

首先调用Forge的Manifest查询接口,获取目标模型的完整Manifest数据。请求需要携带有效的Forge访问令牌(需包含data:read权限),请求格式如下:

GET https://developer.api.autodesk.com/modelderivative/v2/designdata/{encodedUrn}/manifest

其中{encodedUrn}是你的模型URN经过Base64 URL安全编码后的字符串(编码后需去掉末尾的=符号)。

2. 从Manifest中定位aecModelData资源

遍历返回的Manifest JSON结构,找到type为AECModelData的衍生条目。通常该条目下的children数组中会包含对应的资源节点,你可以从中提取资源的urn或url字段,这就是aecModelData的资源地址。

以下是一段JavaScript示例代码,用于自动遍历Manifest并提取aecModelData的资源标识:

function findAecModelDataResource(manifest) {
    function traverseDerivatives(derivatives) {
        for (const deriv of derivatives) {
            if (deriv.type === 'AECModelData') {
                if (deriv.children?.length) {
                    const resource = deriv.children[0].resources[0];
                    return resource.urn || resource.url;
                }
            } else if (deriv.children) {
                const result = traverseDerivatives(deriv.children);
                if (result) return result;
            }
        }
        return null;
    }
    return traverseDerivatives(manifest.derivatives);
}

3. 直接请求获取aecModelData

拿到aecModelData的资源标识后,再次调用Model Derivative API获取该资源的具体数据,请求格式如下:

GET https://developer.api.autodesk.com/modelderivative/v2/designdata/{encodedUrn}/manifest/{aecResourceUrn}

同样需要携带有效的Forge访问令牌,返回的结果就是完整的aecModelData JSON数据,无需将模型加载到Viewer中。

注意事项

  • 确保模型已经完成转换流程,Manifest中存在AECModelData类型的衍生输出,否则无法提取对应数据
  • 访问令牌必须具备data:read权限,否则会返回权限错误
  • 若资源地址是相对路径,需要拼接Forge API的基础域名后再发起请求

内容的提问来源于stack exchange,提问作者Igor Barcelos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 13:25:06