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



我正在使用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(',你将能够通过其他工具提取自己。 属性.db如何在 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

最新更新