目前,我正在向公司内部网站添加伪造,我们可以在其中查看已制造或正在制造的所有机器。该网站的工作方式如下:用户选择一个机器号,然后将弹出有关该机器的所有信息。这包括机器内的工作站,以及每个工作站内的所有单个零件。我的任务是将autodesk-forge添加到网站。目前,我已经成功地使用欧特克锻浏览器,以便每当机器被拾取,用户可以按下一个按钮,整个机器的型号会弹出来看待。下一步是使查看器由网站上的外部按钮控制。我们希望它可以这样工作:
用户选择了机器。此后,将弹出所有信息,例如工作站以及机器中每个工作站中的零件的信息(完成)。
用户单击“视图模型”按钮,该按钮将使用伪造查看器使机器在网站上弹出(这已由我完成)。
一旦带有模型的伪造查看器出现在屏幕上,我们希望该查看器能够由站点上已经存在的外部按钮控制。
例如,如果有一台名称为MC-000的机器,并且该机器中有一个名为ST010的工位,则该工位内有很多零件,例如齿轮。当用户正在查看机器MC-000时,我们希望能够单击已经设置的外部按钮(例如ST010),并且查看器将自动放大并突出显示机器中的该电台。我们也希望机器内的零件也一样。拾取机器后,其工作站以及工作站中的零件已在我们的网站上打印出来。现在,我们希望能够单击桩号或零件,并让查看器自动放大该零件号或桩号。我发现了类似的代码示例here。在此示例中,查看器的一部分由不在查看器内的按钮控制。例如,单击“引擎”按钮时,查看器将自动放大引擎。这个示例的问题在于,所有位置都被硬编码到代码中,这意味着引擎的位置已经在代码中。我不能这样做,因为我们有许多不同的机器,其中有成千上万个零件,因此我不可能将它们全部硬编码。使用autodesk-forge viewer可以做到这一点。任何帮助或指导将不胜感激。干杯!
编辑**
任何有关如何更改查看器放大位置的指导都将受到赞赏,并会有所帮助。当前,我有一些方法可以从GET:urn / metadata /:guid http请求中获取dbid和外部objectId。再次感谢!
答案 0 :(得分:0)
似乎您确实具有指定的引擎dbid,并且可以将查看器功能与外部代码链接。查看器的默认doubleclick行为是选择鼠标指针与之碰撞的项目。然后,相机会放大(或缩小)该项目以使其适合视图。
您可以使用:
和
实现模拟交互。
例如在打字稿中:
// Your dbid is for example 1234
this.viewer.select(1234);
this.viewer.fitToView([1234]);
答案 1 :(得分:0)
viewer.select(dbid);
viewer.utilities.fitToView();
示例:https://github.com/Autodesk-Forge/forge-extensions/tree/master/public/extensions/IconMarkupExtension