Autodesk forge выделит дочерний объект

#visual-studio-code #powerbi #autodesk-forge #forge

Вопрос:

Недавно я работал над этим хранилищем https://github.com/xiaodongliang/forgeviewer_embed_in_powerbi_report чтобы создать пользовательский визуальный элемент в Power BI для визуализации проблем, извлеченных из API Bim track.

Идея заключалась в том, чтобы визуализировать их в ассоциации с КОМНАТАМИ модели. Для этого я работал с файлом NWC, поэтому я решил экспортировать комнаты в виде геометрии.

Что я хотел бы сделать сейчас, так это выделить комнаты, если из таблицы выбрана связанная проблема. Проблема в том, что когда я выбираю проблему из таблицы, в дереве выбора я вижу выделенное имя родительского объекта (КОМНАТА) вместо дочернего (сплошное), и я думаю, что именно поэтому я не могу достичь своей цели (если нет, пожалуйста, поправьте меня).

что у меня есть

что бы я хотел сделать

Кто-нибудь знает, как это сделать?

Ответ №1:

Если вы хотите изменить свой выбор (FIRST_OBJECT, LAST_OBJECT, LEAF_OBJECT) , вы можете изменить настройки выбора просмотра, чтобы проверить:

введите описание изображения здесь

Если вы хотите добиться этого программно :

 Viewer.setSelectionMode();
 

это тоже могло бы вам помочь.

Ответ №2:

Если я правильно понял, вы хотите выделить дочерний элемент (который содержит сетку) вместо родительского.

Выделение (изоляция) объекта выполняется /forgePowerbiView/src/visual.ts с помощью этого кода:

 const dbIds = options.dataViews[0].table.rows.map(r => 
                <number>r[0].valueOf());
console.log('dbIds: '   dbIds)
        
this.forge_viewer.showAll();
this.forge_viewer.impl.setGhostingBrightness(true); //for isolate effect 
this.forge_viewer.isolate(dbIds);
 

Взгляните на эту ссылку, перечисляющую конечные узлы в окне просмотра. Это поможет вам получить dbIds то, что вы хотите изолировать.