autodesk-forge - 在单个网页中加载 2D 和 3D 伪造查看器
问题描述
我想在 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(...);
});
如果上面的例子是正确的,我仍然想念如何链接两个观众。我希望有人可以帮助我解决这个问题
解决方案
请注意,我们有一个查看器扩展可能已经为您提供了您正在寻找的内容:https ://github.com/Autodesk-Forge/forge-extensions/blob/master/public/extensions/NestedViewerExtension/README.md 。
如果您想自己实现两个查看器实例之间的交叉选择,您可以。只需在其中一个查看器中订阅SELECTION_CHANGED
事件,获取选定的 ID,然后使用常规viewer.select([...]);
方法在另一个查看器中选择相同的 ID。
顺便提一句。关于您的代码段:
- 整个
Autodesk.Viewing.Initializer
网页只需要调用一次 Autodesk.Viewing.Private.GuiViewer3D
实例应该在初始化器完成其工作后创建
推荐阅读
- azure-active-directory - 如何使用 Sql 身份验证方法 ActiveDirectoryInteractive 启用“记住我”?
- c++ - OpenCL 挂起 cl::Context 销毁
- sql-server - 我正在尝试将 ASP.NET CORE API 版本 3.1 部署到本地 IIS Hostiing 但无法连接到 SQL Server
- javascript - Ionic on change 事件无法正常工作
- javascript - 如何用 jest 运行 babel-plugin-tester?
- selenium-webdriver - 无法读取设备场上的属性文件:- src/test/resources/Properties/Android_Or.properties -error
- wildfly - 如何在 KeyCloak 中禁用所有形式的本地缓存?
- angular - Angular-slickgrid 无法读取未定义的属性“hostView”
- python - 如何获得有猫的列
- javascript - 等待处理结束后再将其保存到数据库 [解决]