在单个网页中加载 2D 和 3D 伪造查看器
Posted
技术标签:
【中文标题】在单个网页中加载 2D 和 3D 伪造查看器【英文标题】:load 2D & 3D forge viewers in single web page 【发布时间】: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(...);
);
如果上面的例子是正确的,我仍然不知道如何链接两个查看器。 我希望有人可以帮助我解决这个问题
【问题讨论】:
【参考方案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
实例应该在初始化器完成其工作后创建
【讨论】:
以上是关于在单个网页中加载 2D 和 3D 伪造查看器的主要内容,如果未能解决你的问题,请参考以下文章