Поддержка нескольких моделей в новой ModelStructurePanel
Поддержка нескольких моделей, вставленных в одну сцену, была долгожданной особенностью многих разработчиков и пользователей Viewer, но предстоящая версия API, скорее всего, обеспечит полную поддержку для нее, включая пользовательский интерфейс!
Мы еще не находимся в этой версии. На момент написания этой статьи текущая версия Viewer v.3.1.2 и недавние усовершенствования Model Structure Browser нарушают простую обходную процедуру, которая использовалась для переключения содержимого дерева модели, используя приведенный ниже подход:
- function setActiveModel(model) {
- var instanceTree = model.getData().instanceTree;
- viewer.modelstructure.setModel(instanceTree);
- }
Обходной путь теперь более сложен и требует внутренней модификации нескольких компонентов дерева модели. Вот почему я создал для вас сценарий замены вставкой. Просто включите этот код в свое приложение, и он позаботится о исправлении необходимых типов в API viewer3D.js. Вам все равно необходимо программно переключить активную модель в браузере с помощью приведенного выше кода, используя, например, AGGREGATE_SELECTION_CHANGED_EVENT.
Вот некоторые предыдущие статьи, которые могут оказаться полезными при работе в многомодельной среде:
Подготовка вашего приложения для просмотра многомодельных рабочих процессов - Часть I
Подготовка вашего приложения для просмотра многомодельных рабочих процессов - Часть II.
Демо-версия модели Loader доступна отсюда и вы также можете играть с 3-legged версией, которая может объединить ваши собственные модели из A360 и модели из галереи Forge RCDB.
Исходный код доступен здесь: https://gist.github.com/leefsmp/af38a1477a74ee8407eff4d2a37a0f71
Источник: https://forge.autodesk.com/blog/supporting-multiple-models-new-modelstructurepanel
Обсуждение: http://adn-cis.org/forum/index.php?topic=8101
Опубликовано 17.10.2017