在单个网页中加载 2D 和 3D Forge 查看器
load 2D & 3D forge viewers in single web page
我想 link 来自 2D sheet 和 3D 模型的元素,所以当我 select 来自 2D 的元素时,它应该反映并且 select ( isolate) 在 3D 中,如果我改变颜色,它也会在 3D 中做同样的事情,例如反之亦然。
所以我可以使用文档浏览器扩展程序在第一个查看器上打开 2d sheet,在第二个查看器上打开 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(...);
});
如果上面的例子是正确的,我仍然不知道如何 links 两个观众。
我希望有人能帮我解决这个问题
请注意,我们有一个查看器扩展程序,它可能已经为您提供了您正在寻找的内容:https://github.com/Autodesk-Forge/forge-extensions/blob/master/public/extensions/NestedViewerExtension/README.md。
如果您想自己实现两个查看器实例之间的交叉selection,您可以。只需在其中一个查看器中订阅 SELECTION_CHANGED
事件,获取 selected ID,然后使用通常的 viewer.select([...]);
方法在另一个查看器中 select 获取相同的 ID。
顺便说一句。关于您的代码片段:
Autodesk.Viewing.Initializer
整个网页只需要调用一次
Autodesk.Viewing.Private.GuiViewer3D
实例应该在 初始化器完成工作后 创建
我想 link 来自 2D sheet 和 3D 模型的元素,所以当我 select 来自 2D 的元素时,它应该反映并且 select ( isolate) 在 3D 中,如果我改变颜色,它也会在 3D 中做同样的事情,例如反之亦然。
所以我可以使用文档浏览器扩展程序在第一个查看器上打开 2d sheet,在第二个查看器上打开 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(...);
});
如果上面的例子是正确的,我仍然不知道如何 links 两个观众。 我希望有人能帮我解决这个问题
请注意,我们有一个查看器扩展程序,它可能已经为您提供了您正在寻找的内容:https://github.com/Autodesk-Forge/forge-extensions/blob/master/public/extensions/NestedViewerExtension/README.md。
如果您想自己实现两个查看器实例之间的交叉selection,您可以。只需在其中一个查看器中订阅 SELECTION_CHANGED
事件,获取 selected ID,然后使用通常的 viewer.select([...]);
方法在另一个查看器中 select 获取相同的 ID。
顺便说一句。关于您的代码片段:
Autodesk.Viewing.Initializer
整个网页只需要调用一次Autodesk.Viewing.Private.GuiViewer3D
实例应该在 初始化器完成工作后 创建