资讯专栏INFORMATION COLUMN

「翻译」使用 Autodesk.Viewing.MarkupsCore 括展

alighters / 1893人阅读

摘要:让我们来体验的功能。在来我们就可以将刚刚取得的和传送到自己的服务器上,同时储存到数据库里面。将来要回复的话,就可以先从数据库获取和,并透过下面的方法来回复开启涂丫工具回复先前制作涂丫时的画面的状态在图层上重现涂丫原文

让我们来体验 Viewer v2.16 Autodesk.Viewing.MarkupsCore 的功能。首先要先确保你使用的 viewer 版号是正确的:



你知道可以透过浏览器的开发者工具直接测试代码吗?透过开发者工具就不用重整网页页面来载入新写好的代码,是不是很方便呢?!现在我们透过 Promise 来载入扩展:

let markup;
NOP_VIEWER.loadExtension( "Autodesk.Viewing.MarkupsCore" ).then( ( markupsExt ) => {
  markup = markupsExt;
});

这是上面代码在 Console 执行的结果:

现在让我们在画面上加入云形线标注涂丫:

markup.enterEditMode();
const cloud = new Autodesk.Viewing.Extensions.Markups.Core.EditModeCloud( markup );
markup.changeEditMode( cloud );

那么他的执行结果就像这个样子:

那么我们有哪些形式的标注涂丫可以使用呢?在 Viewer 里有提供这些选项可以使用:

Autodesk.Viewing.Extensions.Markups.Core.EditModeArrow
Autodesk.Viewing.Extensions.Markups.Core.EditModeCircle
Autodesk.Viewing.Extensions.Markups.Core.EditModeCloud
Autodesk.Viewing.Extensions.Markups.Core.EditModeFreehand
Autodesk.Viewing.Extensions.Markups.Core.EditModeHighlight
Autodesk.Viewing.Extensions.Markups.Core.EditModePen
Autodesk.Viewing.Extensions.Markups.Core.EditModePolycloud
Autodesk.Viewing.Extensions.Markups.Core.EditModePolyline
Autodesk.Viewing.Extensions.Markups.Core.EditModeRectangle
Autodesk.Viewing.Extensions.Markups.Core.EditModeText

那现在如果我们想要保存画面的标注涂丫要怎么做呢?我们可以像这个样子取得标注涂丫转的代表字串以及当前画面的状态

// 将刚刚产生的标注涂丫转换成字串
const markupsPersist = markup.generateData()
// 当前画面的状态 (zoom, direction, sections)
const viewerStatePersist = markup.viewer.getState()
// 离开编辑模式
markup.leaveEditMode()
// 隐藏涂丫工具,并回复导览工具
markup.hide()

小提醒:在我们离开标注涂丫的编辑模式后就没办法在修改这些涂丫了,它会被转换成 SVG 的图片。

在来我们就可以将刚刚取得的 markupsPersist 和 viewerStatePersist 传送到自己的服务器上,同时储存到数据库里面。将来要回复的话,就可以先从数据库获取 markupsPersist 和 viewerStatePersist,并透过下面的方法来回复:

// 开启涂丫工具
markup.show();

// 回复先前制作涂丫时的 Viewer 画面的状态
markup.viewer.restoreState( viewerStatePersist );
// 在 MyLayer 图层上重现涂丫
markup.loadMarkups( markupsPersist, "MyLayer" );

原文:https://forge.autodesk.com/bl...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84944.html

相关文章

  • 如何在 Forge Viewer 里获取含 Markups 的截图

    摘要:截图据我所知是目前在最常被使用的功能,你可以在官方博客里头找到不少关于这个的文章,但要如何制作含的截图呢要做到这个其实挺容易的,关键在于这个方法,但在调用时必需注意的截图的大小。下面的样例是调用这个方法通过将画在的画布上。 showImg(https://segmentfault.com/img/bV1Cei?w=992&h=490); 截图据我所知是目前在 Forge Viewer ...

    liaoyg8023 评论0 收藏0
  • 翻译」在Forge Viewer上实作简易的模型版本比较

    摘要:现在让我们修改这个示例让他可以展示两个同项目但不同版号的模型及。示例执行结果如下这边是这个比较模型的括展代码英文原文 showImg(https://segmentfault.com/img/bVOmjp?w=1542&h=925); 熟悉 BIM360 Team 的朋友可能知道他有一个很牛的模型文档版本比较的功能,但如果模型是放在 Google 云盘或是百度云盘上有可能做到吗? Au...

    JowayYoung 评论0 收藏0
  • 通过调用 API 设置量测工具的长度单位

    摘要:最近有一则来自客户的问题咨询我要如何通过编程的方式来设置量测工具的长度单位的量测括展有提供一系列的函式让开发者在通过编写来调用,但不幸的是目前你没办法找到详细说明这些函数用法的帮助文档。 showImg(https://segmentfault.com/img/bV1Ztz?w=641&h=377); 最近有一则来自客户的问题咨询:我要如何通过编程的方式来设置量测工具的长度单位? Fo...

    ruicbAndroid 评论0 收藏0
  • 自定义 Forge Viewer 右键菜单(Context Menu)

    摘要:前阵子有些圈的朋友们都在询问同一个问题要怎么在的自带右键菜单上添加自定义项目或是只显示自订义项目以下将针对在自带右键菜单上添加自定义项目和只显示自订义项目的右键菜单进行说明。 前阵子有些 Autodesk Forge 圈的朋友们都在询问同一个问题『要怎么在 Viewer 的自带右键菜单上添加自定义项目或是只显示自订义项目』~ 以下将针对『在自带右键菜单上添加自定义项目』和『只显示自订义...

    Harriet666 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<