Autodesk Forge Markup3D标注,如何把上次添加的标注信息,下次进入该模型后显示出来?

Autodesk Forge3D标注,用户在该页面,添加标注信息,记录下坐标数据,退出该页面,等到该用户下一次进入该页面,页面重载的时候,如何显示出用户上次标记的信息?

https://github.com/Autodesk-F...,用的是这个扩展包。

Markup3D.PinPoint.js:

constructor(viewer, worldPoint) {
    ......

    this.activateLock3d(viewer);
    this.setWorldPoint(worldPoint);

    this.timeoutId = 0;
  }

setWorldPoint({"x":32.04636390620801,"y":218.75012207031264,"z":13.843699405939578})为设置开始坐标

Markup3D.Label.js:

onMouseMove (event) {

    if (this.parent.dragging) {

      this.parent.setLeaderEndPoint({
        x: event.clientX,
        y: event.clientY
      })
    }
  }

setLeaderEndPoint({"x":800, "y":500})设置结束坐标

如何在页面重载进入的时候,执行这方法,绘制自己的坐标点?或者是有其它方式操作?

阅读 5.9k
2 个回答

可以通过 viewer.getState() 获取 Philippe MarkUp3D 的 Markup 信息,把这个信息记录到数据库里;之后重载模型后执行 viewer.restoreState( viewstate ) 就可以回复了,原因是因为载入 MarkUp3D 扩展后,你的 viewState 会多了一个叫 Markup3D 的属性,在回复时 MarkUp3D 扩展会去读取这个属性将 Markup 回复到画面上,我的测试代码如下:

var viewstate = viewer.getState();
viewer.restoreState( viewstate );

数据结构:
图片描述

希望对您有帮助

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题