Получить элемент из externalId Autodesk Forge

У меня есть внешний идентификатор, и я хочу получить его элемент, чтобы установить цвет темы, но я не могу найти метод для этого. Я тестировал, но не запускается.

viewer.getElementById(externalId);

viewer.getElementById () правильно? Я ищу в документе forge, но ничего не получаю. Кажется, что документ forge сложнее, чем документ revit api. Большое спасибо !


person Hoz.Coder    schedule 02.02.2021    source источник


Ответы (1)


Я не уверен, существует ли getElementById() в Forge или где это задокументировано.

Если вы хотите установить цвета объекта в своей модели, вам нужно использовать dbId вместо externalId. К счастью, есть отличная функция для получения dbId из externalId, которая называется 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, чтобы установить его цвет.

person Can777    schedule 02.02.2021
comment
Правильно, в программе просмотра нет getElementById метода. Можно запросить сопоставление внешних идентификаторов с идентификаторами dbID. - person Petr Broz; 02.02.2021
comment
Понял. Большое спасибо. - person Hoz.Coder; 03.02.2021