Перейти к основному содержимому

Подсистема 3D

Подсистема 3D (также группа сервисов 3D) позволяет разрабатывать веб-приложения просмотра 3D-моделей на трехмерной сцене, а также импортировать, конвертировать и отображать 3D-модели и их метаданные. Для просмотра свойств объекта 3D-модели предоставляется дерево метаданных.

Подсистема разработана на платформенно-микросервисной архитектуре.

Подсистема 3D

Поддерживаются форматы IFC, STEP, JT, OBJ.

Подсистема 3D состоит из пяти сервисов:

  • import3dservice: cервис управления импортом. Обеспечивает импорт файлов обменных форматов в подсистему.
  • converter3dservice: сервис конвертации. Обеспечивает конвертацию обменного формата во внутренний формат подсистемы.
  • metadata3dparserservice: сервис парсинга метаданных. Обеспечивает разбор метаданных модели.
  • metadata3dservice: сервис для отображения метаданных. Обеспечивает получение метаданных модели.
  • c3dservice: сервис работы со сценой. Обеспечивает открытие модели на трехмерной сцене.

Организация подсистемы 3D представлена на рисунке ниже.

Подсистема 3D

Сервисы подсистемы 3D работают следующим образом:

  • выполняют задачи параллельно: вместо вызова метода другого сервиса происходит передача управления другому сервису постановкой задачи через брокер сообщений.
  • Все операции разделены на команды и запросы данных:
    • запросы данных выполняются непосредственным обращением к методам сервисов;
    • команды являются асинхронными и работают через брокер сообщений.
  • Добавлены фасады как архитектурные решения из веб-методов для расширения возможностей интеграции командам — команду можно выполнить передачей сообщения непосредственно в брокер сообщений либо вызвав соответствующий веб-метод.

Архитектурное решение фасад показано на рисунке ниже.

Подсистема 3D

Процесс обработки 3D-модели состоит из следующих шагов:

  • Файл обменного формата импортируется в систему cервисом управления импортом. Файл размещается в файловом хранилище платформы.
  • Генерируется идентификатор импорта (GUID - importuuid).
  • Управление передается сервису конвертации.
  • Файл обменного формата конвертируется во внутренний формат сервисом конвертации и по модели собираются метаданные.
  • Генерируется идентификатор модели (GUID - modeluuid).
  • Управление передается сервису парсингу метаданных.
  • Метаданные парсятся и размещаются в базе данных.

После завершения процесса обработки 3D-модели пользователю будет доступно:

  • получение метаданных по идентификатору импорта и идентификатору 3D-модели с помощью сервиса для отображения метаданных;
  • открытие модели на сцене по идентификатору 3D-модели с помощью сервис работы со сценой.