【问题标题】:Creating a measurement from existing points using measure.js in the Autodesk Forge Viewer在 Autodesk Forge 查看器中使用 measure.js 从现有点创建测量
【发布时间】:2019-02-27 10:22:43
【问题描述】:

我目前正在为 Autodesk Forge Viewer 编写扩展应用程序,我需要能够从现有点创建测量值。

详细地说,我已经能够将每个测量点的 XYZ 坐标数据保存到 JSON 中,然后存储在本地。

例如,如果您创建一个角度测量,它将保存 制作角度所需的三个点中的每一个的坐标数据 测量。

我现在遇到的问题是,当重新加载查看器时,我很难重新创建此测量值。我可以将坐标点放入 measure.js,但似乎没有简单的方法可以从这些点实例化新的测量值,这似乎是因为测量值是从单击事件返回的 SnapResults 创建的。

有什么方法可以实现这个功能吗?我需要新的测量显示它在创建时的样子,带有标签和可编辑的点,但只使用坐标点来创建它。非常感谢 Forge 团队的任何帮助。

【问题讨论】:

    标签: javascript autodesk-forge viewer


    【解决方案1】:

    虽然不完全支持, 面积测量工具的修改版本包含源代码以及有关如何保存和恢复测量结果的详细信息。

    博客和视频:https://forge.autodesk.com/blog/area-planning-tool-forge-viewer-and-mysql

    现场演示:https://wallabyway.github.io/area-markup/ (注意:开始前点击测量工具)

    源代码 - GitHub:https://github.com/wallabyway/area-markup

    如果这有你要找的东西,请告诉我。

    【讨论】:

    • 感谢您的回复迈克尔。这绝对是我正在寻找的,但是,使用 loadJson 函数时,我遇到了与我自己尝试创建测量选择时遇到的类似错误:未捕获的 TypeError:Autodesk.Viewing.Extensions.Measure.SnapResult 不是构造函数 这发生在以下行: var p = _currentMeasurement.setPick(json.id, new Autodesk.Viewing.Extensions.Measure.SnapResult()) 我不确定为什么会发生这种情况或如何解决它,因为我使用未经编辑的新版本 viewer3D.js
    • 好的,经过进一步分析,这似乎与版本有关。切换到版本 3.3.5 允许我使用 SnapResult 作为构造函数,但是,我的扩展的其他部分由于使用旧版本而中断。有什么方法可以在版本 6+ 中构造 SnapResult?
    • 啊。好的。我需要将代码升级到版本 6。你能在 GitHub 问题中添加一个问题吗?谢谢。我不想忘记。
    • 已添加问题。希望您能在 v6 中找到一种方法来做到这一点,因为我仍在努力寻找一种方法。
    猜你喜欢
    • 2021-11-12
    • 1970-01-01
    • 2020-10-13
    • 2021-09-19
    • 2021-02-24
    • 2023-04-07
    • 2020-07-05
    • 2020-10-23
    • 2017-01-07
    相关资源
    最近更新 更多