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

如何与Autodesk Construction Cloud现有Viewer集成,无需新建Forge Viewer?

复用ACC现有Viewer并获取数据的可行方案

核心结论

完全可以通过浏览器扩展实现对ACC现有Viewer的自定义和数据获取,无需单独开发独立的Forge Viewer应用。

具体实现路径

  • 获取现有Viewer实例:ACC页面加载完成后,Forge Viewer实例通常挂载在全局对象上(比如window.NOP_VIEWER,不同ACC环境可能有细微差异),你可以在浏览器扩展的内容脚本里直接访问这个全局变量,调用Viewer原生API获取模型数据(比如构件属性、几何信息、视图状态等)。
  • 注入自定义扩展:利用浏览器扩展的内容脚本,向ACC页面注入自定义的Viewer扩展代码。Viewer本身支持扩展机制,你可以通过viewer.loadExtension()方法加载自己的扩展,实现界面修改、功能新增等需求。
  • 数据获取示例代码:比如获取选中构件的属性:
// 先获取全局的Viewer实例
const viewer = window.NOP_VIEWER;
// 监听构件选中事件
viewer.addEventListener(Autodesk.Viewing.SELECTION_CHANGED_EVENT, (event) => {
  if (event.dbIdArray.length > 0) {
    // 获取选中构件的属性
    viewer.getProperties(event.dbIdArray[0], (props) => {
      console.log('选中构件属性:', props);
      // 此处可对数据进行后续处理
    });
  }
});
  • 界面自定义:通过内容脚本注入CSS或JS代码,修改ACC Viewer周边的UI元素,或者在Viewer工具栏添加自定义按钮,绑定你的扩展功能。

注意事项

  • 版本兼容性:ACC的Viewer实例挂载的全局变量或API可能随版本更新变化,需要在不同环境测试确保兼容性。
  • 合规性:操作需符合Autodesk的服务条款,不要获取超出权限范围的数据。
  • 调试技巧:用浏览器开发者工具的控制台先确认Viewer实例的全局变量名称,再编写扩展代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 17:20:07