javascript - 如何在 Javascript AutoDesk 中获取模型对象元数据属性

标签 javascript autodesk-forge autodesk-viewer autodesk-model-derivative

我正在使用 JavaScript 中的 AutoDesk Forge Viewer (2D) 和离线 svf 文件。 我已将 .dwg 文件转换为 svf 文件。

如何在 Javascript 中获取模型对象元数据属性,就像使用 api“https://developer.api.autodesk.com/modelderivative/v2/designdata/ {urn}/metadata/{guid}/properties”一样?

我尝试使用viewer.model.getProperties(dbId,function,funtion),但这只提供了该dbId的特定详细信息,但我想要属性列表。

请帮我解决这个问题。

最佳答案

首先,另一篇博客讲了模型导数如何提取属性。理论上,如果您得到“aka json (json.gz)”或“sqlLite (sdb/db)”,您将能够通过其他工具自行提取。 How properties.db is used in Forge Viewer? .

相信你已经知道http://extract.autodesk.io/正如你所说,你已经下载了SVF。 http://extract.autodesk.io/为您提供下载翻译数据的逻辑,包括 json.gz 和 sqlLite db。

如果您希望通过 Forge Viewer 转储浏览器中的所有属性,我能想到的唯一方法如下:

 function getAllDbIds(viewer) {
   var instanceTree = viewer.model.getData().instanceTree;

   var allDbIdsStr = Object.keys(instanceTree.nodeAccess.dbIdToIndex);

  return allDbIdsStr.map(function(id) { return parseInt(id)});
}

var AllDbIds = getAllDbIds(myViewer);
myViewer.model.getBulkProperties(AllDbIds, null,
   function(elements){
    console.log(elements);//this includes all properties of a node.
 })

实际上,我合并了两个博客: https://forge.autodesk.com/cloud_and_mobile/2016/10/get-all-database-ids-in-the-model.html

https://forge.autodesk.com/blog/getbulkproperties-method

关于javascript - 如何在 Javascript AutoDesk 中获取模型对象元数据属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50735701/

相关文章:

javascript - 为 Phonegap/Cordova iOS 应用强制执行正确的方向横向模式

javascript - 用户输入几秒钟后查询搜索 Meteor + React

node.js - SVF 模型衍生品下载为(几乎)空的 ZIP 文件 (Autodesk Forge)

javascript - 如何声明对运行时 JavaScript 包中可用的现有命名空间的引用

autodesk-forge - Autodesk Forge Viewer - SVF2 格式的 OGT header 无效

javascript - moment.js 和 spacetime 中的时区调整不正确

javascript - 填充不断插入相关元素

javascript - 如何使用纯 Javascript 在查看器中离线显示 2d (.dwg) 文件 Autodesk

autodesk-forge - 无法使用 Forge 查看器编译 React 应用程序 - 无法编译 - Autodesk 未定义 un-def

javascript - 如何在 Autodesk Viewer 中设置性能和外观设置?