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

如何将Viewer应用连接至Autodesk Construction Cloud项目并访问3D模型

访问ACC项目Document Management中3D模型的步骤

1. 获取有效访问令牌

  • 你已经完成应用和ACC账户的集成,接下来要走OAuth 2.0流程拿带用户上下文的访问令牌(别用客户端凭证令牌,因为要访问你有权限的项目资源)
  • 调用认证接口时,必须包含data:read、viewables:read这类必要权限范围
  • 令牌要带上用户的账户ID(account_id)和项目ID(project_id),确保能定位到目标项目

2. 找到项目对应的Document Management容器

  • 调用ACC API的项目接口:GET /data/v1/projects/{project_id}/containers,筛选出类型为DOCUMENT_MANAGEMENT的容器,拿到它的container_id

3. 查找目标3D模型文件

  • 用拿到的container_id调用文件列表接口:GET /data/v1/containers/{container_id}/items
  • 可以按文件名、CAD格式(比如.rvt、.dwg)过滤结果,找到你要的3D模型,重点记下文件的urn属性——这是后续Viewer加载模型的关键标识

4. 确认模型完成翻译

  • 调用Model Derivative API的翻译状态接口:GET /modelderivative/v2/designdata/{urn}/manifest
  • 如果模型还没翻译,触发翻译任务:POST /modelderivative/v2/designdata/job,指定输出格式为svf或svf2(Viewer支持的格式)
  • 必须等翻译完成,才能用Viewer加载模型

5. 用Viewer SDK加载模型

  • 在你的测试应用里初始化Viewer实例,传入刚才拿到的访问令牌
  • 用viewer.loadDocumentNode方法加载模型,代码示例:
const viewer = new Autodesk.Viewing.GuiViewer3D(document.getElementById('viewer'));
viewer.start();

const options = {
  env: 'AutodeskProduction',
  accessToken: '你的访问令牌'
};

Autodesk.Viewing.Initializer(options, () => {
  const documentId = 'urn:' + encodeURIComponent('模型的urn');
  Autodesk.Viewing.Document.load(documentId, (doc) => {
    const viewables = doc.getRoot().getDefaultGeometry();
    viewer.loadDocumentNode(doc, viewables);
  }, (error) => {
    console.error('加载文档失败:', error);
  });
});

注意事项

  • 确保访问令牌的权限覆盖了目标项目和文件的访问范围
  • 翻译模型时注意文件大小和格式兼容性,部分CAD格式可能需要特定参数
  • 如果碰到权限错误,检查你的开发者账户在目标项目里是否有Document Management的访问权限

内容的提问来源于stack exchange,提问作者Mateusz Sadowski

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:39:56