Navisworks文件的Autodesk Forge外部标识

时间:2017-10-04 15:33:19

标签: autodesk-forge autodesk-viewer autodesk-model-derivative autodesk-navisworks

我们正在尝试使用带有getBulkProperties方法的Forge Viewer导出元素的维度属性。对于Revit文件,该方法可以正常工作,但对于Navisworks文件,我们无法直接获得任何有用的属性。

在调查问题时,我们发现Navisworks文件的所有externalId都采用斜杠分隔整数的格式(例如1/2/2/1/1)。如果我们切断externalId的最后一个整数(在这种情况下,使用1/2/2/1),并获取相应元素的属性,那么我们可以有一些有用的维度属性,并且值与信息匹配我们在桌面版Navisworks上看到。

Navisworks编码的externalId是否意味着树结构? (我假设1/2/2/1在这种情况下是1/2/2/1/1的父级。什么可以解释我们的问题,通过切断最后一个整数,我们可以得到我们需要的信息?这是获得尺寸属性的可靠方法吗?

在Chrome控制台中重现此内容的小型实验:

selected = AutodeskViewer.getSelection()[0]

AutodeskViewer.getProperties(selected, console.log)
/* {dbId: Array(1), properties: Array(0), externalId: "12/6/0/0/0/0"} */
/* We don't have any useful properties here */

// Get External ID mapping
map = {}; AutodeskViewer.model.getExternalIdMapping(ext_map => {map = ext_map})

// Chopoff the last integer, and run getProperties again
AutodeskViewer.getProperties(map['12/6/0/0/0'], console.log)
/* {dbId: 78085, properties: Array(151), externalId: "12/6/0/0/0", name: "Floor"} */
/* We get useful dimensional properties */

0 个答案:

没有答案