【问题标题】:load 2D & 3D forge viewers in single web page在单个网页中加载 2D 和 3D 伪造查看器
【发布时间】:2021-12-01 16:45:09
【问题描述】:

我想在 2D 图纸和 3D 模型中的元素之间建立链接,因此当我从 2D 中选择元素时,它应该在 3D 中反射和选择(隔离),如果我更改颜色,它在两者上的效果相同,例如反之亦然。

所以我可以使用文档浏览器扩展在第一个查看器上打开 2d 表,在第二个查看器上打开 3d 模型:

const firstModel = new Autodesk.Viewing.Private.GuiViewer3D(document.getElementById('MyViewerDiv1'));
 const secondModel = new Autodesk.Viewing.Private.GuiViewer3D(document.getElementById('MyViewerDiv2'));

 Autodesk.Viewing.Initializer(options1, function() {
  viewer1.start();
  viewer1.load(...);      
 });

 Autodesk.Viewing.Initializer(options2, function() {
  viewer2.start();
  viewer2.load(...);
 });

如果上面的例子是正确的,我仍然不知道如何链接两个查看器。 我希望有人可以帮助我解决这个问题

【问题讨论】:

    标签: autodesk-forge autodesk autodesk-bim360


    【解决方案1】:

    请注意,我们的查看器扩展程序可能已经为您提供了您正在寻找的内容:https://github.com/Autodesk-Forge/forge-extensions/blob/master/public/extensions/NestedViewerExtension/README.md

    如果您想自己实现两个查看器实例之间的交叉选择,您可以。只需在其中一个查看器中订阅 SELECTION_CHANGED 事件,获取选定的 ID,然后使用通常的 viewer.select([...]); 方法在另一个查看器中选择相同的 ID。

    顺便说一句。关于您的代码 sn-p:

    • Autodesk.Viewing.Initializer 只需要在整个网页中调用一次
    • Autodesk.Viewing.Private.GuiViewer3D 实例应该在初始化器完成其工作后创建

    【讨论】:

      猜你喜欢
      • 2019-06-08
      • 2021-11-01
      • 2021-05-01
      • 2018-05-12
      • 2020-02-03
      • 2020-02-27
      • 2017-03-28
      • 2020-07-13
      • 1970-01-01
      相关资源
      最近更新 更多