首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Forge Viewer Snapper?

如何使用Forge Viewer Snapper?
EN

Stack Overflow用户
提问于 2020-02-25 17:22:26
回答 1查看 272关注 0票数 1

我试图使用Forge中的Snapper功能,以要求用户选择一个点,然后检索所选点的点世界坐标。

我看过这个话题,但对我没有用:如何激活Autodesk Forge Snapper?

我像这样加载扩展:this.viewer.loadExtension('Autodesk.Snapping');

然后尝试像这样使用Snapper:

代码语言:javascript
复制
               console.log(this._viewer.toolController.getActiveToolName());
               var snapper = new Autodesk.Viewing.Extensions.Snapping.Snapper(this._viewer, {});

               this._viewer.toolController.registerTool(snapper);
               this._viewer.toolController.activateTool('snapper');

               console.log(this._viewer.toolController.getToolNames());
               console.log(this._viewer.toolController.getActiveToolName());

               var a = snapper.getSnapResult();
               console.log(a);

在日志中,管理器被激活,但我可以在查看器ann中选择一个点,以便使用getSnapResult函数获得结果。

提前谢谢你

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-26 12:54:14

该管理器工具适用于2d和3d模型,您将需要提供一个通过单击画布进行测试呈阳性的命中测试结果,因此可以这样说:

代码语言:javascript
复制
const snapper = new Autodesk.Viewing.Extensions.Snapping.Snapper(NOP_VIEWER)
const hitTestResult = NOP_VIEWER.impl.snappingHitTest(clickEvent.x, clickEvent.y)
snapper.snapping3D(hitTestResult)
snapper.getSnapResult()

您可以使用自定义工具订阅画布单击事件-有关详细信息,请参阅这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60400113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档