从 externalId Autodesk Forge 检索元素

Retrieve Element from externalId Autodesk Forge

我有一个外部 ID,我想检索它的元素以设置主题颜色,但我无法搜索方法来执行此操作。 我测试了,但不是 运行.

viewer.getElementById(externalId);

viewer.getElementById() 是对的吗? 我在伪造文件中搜索但没有得到结果。 好像forge的文档比revit的文档难api。 非常感谢!

我不确定 getElementById() 是否存在于 Forge 中或记录在何处。

如果您想在模型中设置对象的颜色,您需要使用 dbId 而不是 externalId。幸运的是,有一个非常好的函数可以从 externalId 中获取 dbId,它被称为 getExternalIdMapping().

您可以在此处的文档中找到它: https://forge.autodesk.com/en/docs/viewer/v2/reference/javascript/model/

getExternalIdMapping(onSuccessCallback,onErrorCallback)
Returns an object with key values being dbNodeIds and values externalIds. 
Useful to map LMV node ids to Fusion node ids.

示例用法可以是:

viewer.model.getExternalIdMapping(data => console.log(data))

用这个你可以检索 dbId 来设置它的颜色。