使用外部按钮控制autodesk-forge查看器

问题描述 投票:0回答:2

[当前,我正在向公司内部网站添加伪造,我们可以在其中查看已制造或正在制造的所有机器。该网站的工作方式如下:用户选择一个机器号,然后将弹出有关该机器的所有信息。这包括机器内的工作站,以及每个工作站内的所有单个零件。我的任务是将autodesk-forge添加到网站。目前,我已经成功使用了autodesk-forge查看器,以便每当选择一台机器时,用户都可以按一个按钮,然后弹出整个机器的模型进行查看。下一步是使查看器由网站上的外部按钮控制。我们希望它像这样工作:

  1. 用户选择了机器。此后,将弹出所有信息,例如工作站以及机器中每个工作站内的零件的信息(完成)。

  2. 用户单击“视图模型”按钮,该按钮将使用伪造查看器使计算机弹出到网站上(这已由我完成)。

  3. 一旦带有模型的伪造查看器出现在屏幕上,我们希望查看器能够由站点上已有的外部按钮控制。

例如,如果有一台名称为MC-000的机器,并且在该机器中有一个名为ST010的工位,则该工位内有很多零件,例如齿轮。当用户正在查看机器MC-000时,我们希望能够单击已经设置的外部按钮(例如ST010),并且查看器将自动放大并突出显示机器中的该电台。我们也希望机器内的零件也一样。拾取机器后,其工作站以及工作站中的零件已在我们的网站上打印出来。现在,我们希望能够单击桩号或零件,并让查看器自动放大该零件号或桩号。我发现了类似的代码示例here。在此示例中,查看器的一部分由不在查看器内的按钮控制。例如,当单击“引擎”按钮时,查看器将自动放大引擎。这个示例的问题在于,所有位置都被硬编码到代码中,这意味着引擎的位置已经在代码中。我无法做到这一点,因为我们有许多不同的机器,其中有成千上万个零件,因此,我不可能将它们全部硬编码。使用autodesk-forge viewer可能会发生这种情况。任何帮助或指导将不胜感激。干杯!

编辑**

任何有关如何更改查看器放大位置的指导都将受到赞赏,并会有所帮助。当前,我有一些方法可以从GET:urn / metadata /:guid http请求中获取dbid和外部objectId。再次感谢!

autodesk-forge autodesk-viewer
2个回答
0
投票

0
投票

似乎您确实具有指定的引擎dbid,并且可以通过某种方式将查看器功能与外部代码链接。查看器的默认doubleclick行为是选择鼠标指针与之碰撞的项目。然后,相机会放大(或缩小)该项目以使其适合视图。

您可以使用:

select

fitToView

实现模拟交互。

例如在打字稿中:

// Your dbid is for example 1234
this.viewer.select(1234);
this.viewer.fitToView([1234]);
© www.soinside.com 2019 - 2024. All rights reserved.