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

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

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

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

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

Подсистема 3D поддерживает следующие форматы IFC, STEP, JT, OBJ.

Подсистема 3D состоит из следующих сервисов:

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

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

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

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

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

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

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

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

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

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

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