【问题标题】:How to use Forge Viewer Snapper?如何使用 Forge Viewer Snapper?
【发布时间】:2020-06-09 12:16:24
【问题描述】:

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

我看这个话题,但对我不起作用:How to activate Autodesk Forge Snapper?

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

然后尝试像这样使用 Snapper:

               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);

在日志中 snapper 已激活,但我可以在查看器 ann 中选择一个点以使用 getSnapResult 函数获取结果。

提前谢谢你

【问题讨论】:

标签: autodesk-forge autodesk-viewer autodesk


【解决方案1】:

snapper 工具适用于 2d 和 3d 模型,您需要提供命中测试结果,该结果通过例如测试结果为阳性。点击画布,所以说:

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()

您可以使用自定义工具订阅画布点击事件 - 详情请参阅 here

【讨论】:

    猜你喜欢
    • 2020-02-17
    • 2020-10-21
    • 2021-09-21
    • 2019-11-18
    • 2018-03-26
    • 2020-05-11
    • 2016-12-18
    • 2021-05-21
    • 2021-10-10
    相关资源
    最近更新 更多