Подсистема 3D
Подсистема 3D (также группа сервисов 3D) позволяет разрабатывать веб-приложения просмотра 3D-моделей на трехмерной сцене, а также импортировать, конвертировать и отображать 3D-модели и их метаданные. Для просмотра свойств объекта 3D-модели предоставляется дерево метаданных.
Подсистема разработана на платформенно-микросервисной архитектуре.
Поддерживаются форматы IFC
, STEP
, JT
, OBJ
.
Подсистема 3D состоит из пяти сервисов:
- import3dservice: cервис управления импортом. Обеспечивает импорт файлов обменных форматов в подсистему.
- converter3dservice: сервис конвертации. Обеспечивает конвертацию обменного формата во внутренний формат подсистемы.
- metadata3dparserservice: сервис парсинга метаданных. Обеспечивает разбор метаданных модели.
- metadata3dservice: сервис для отображения метаданных. Обеспечивает получение метаданных модели.
- c3dservice: сервис работы со сценой. Обеспечивает открытие модели на трехмерной сцене.
Организация подсистемы 3D представлена на рисунке ниже.
Сервисы подсистемы 3D работают следующим образом:
- выполняют задачи параллельно: вместо вызова метода другого сервиса происходит передача управления другому сервису постановкой задачи через брокер сообщений.
- Все операции разделены на команды и запросы данных:
- запросы данных выполняются непосредственным обращением к методам сервисов;
- команды являются асинхронными и работают через брокер сообщений.
- Добавлены фасады как архитектурные решения из веб-методов для расширения возможностей интеграции командам — команду можно выполнить передачей сообщения непосредственно в брокер сообщений либо вызвав соответствующий веб-метод.
Архитектурное решение фасад показано на рисунке ниже.
Процесс обработки 3D-модели состоит из следующих шагов:
- Файл обменного формата импортируется в систему cервисом управления импортом. Файл размещается в файловом хранилище платформы.
- Генерируется идентификатор импорта (GUID - importuuid).
- Управление передается сервису конвертации.
- Файл обменного формата конвертируется во внутренний формат сервисом конвертации и по модели собираются метаданные.
- Генерируется идентификатор модели (GUID - modeluuid).
- Управление передается сервису парсингу метаданных.
- Метаданные парсятся и размещаются в базе данных.
После завершения процесса обработки 3D-модели пользователю будет доступно:
- получение метаданных по идентификатору импорта и идентификатору 3D-модели с помощью сервиса для отображения метаданных;
- открытие модел и на сцене по идентификатору 3D-модели с помощью сервис работы со сценой.