Мы, компания ООО «ВР Концепт», уже 5 лет ведем разработку программного обеспечения VR Concept для организации коллективной работы с любой 3D моделью, в том числе САПР, в шлемах виртуальной реальности.

В данной статье мы хотели бы поделиться опытом интеграции нескольких загрузчиков для чтения различных форматов и подробнее остановиться на том, как мы реализовали поддержку формата STEP с помощью загрузчика C3D и сравнение с загрузчиком OpenCascade, который был интегрирован в наше ПО ранее.



Немного предыстории


Цель нашего программного обеспечения — помочь компаниям ускорить согласование проектов между лицом, принимающим решение, руководителем проекта, исполнителями, партнерами и заказчиками, за счет переноса обсуждения из плоскости чертежей, картинок на мониторе и натурных макетов в виртуальную реальность, работа с проектов в масштабе 1:1 (на основе 3D-модели) с возможностью рассмотреть его будто он уже реализован или построен. Использование технологии виртуальной реальности позволяет повысить эргономические характеристики проектируемого объекта, снизить количество и стоимость ошибок в проекте, повысить эффективность обучения сотрудников на производстве и снизить риск возникновения чрезвычайных ситуаций. Кроме того, технология применяется в сфере обучения.

Для реализации поддержки САПР форматов мы используем разные подходы, начиная от самостоятельной реализации по открытым стандартам, использования Open Source и, в том числе, с помощью коммерческих решений, включая ядра САПР.

Реализация поддержки JT формата и знакомство с загрузчиком C3D Labs


По результату работы с текущими заказчиками, мы приняли решение по реализации формата JT, который сильно востребован в машиностроении, особенно у заказчиков, которые работают с программным обеспечением Siemens NX. Мы провели анализ разных способов по реализации такого загрузчика, основными критериями выбора такого решения были качество загрузки JT, скорость поддержки, условия использования (ежегодная оплата, процент с продаж, возможности и условия тиражирования) и цена. В результате выбрали решение компании C3D Labs, тем более, что к этому моменту мы уже начинали прорабатывать интеграцию с САПР Компас-3D, компании Аскон. А C3D является ядром этого САПР.

Также C3D Labs представляет доступ и к другим форматам, таким как: JT, C3D, X_T, X_B, STEP, IGES и ACIS SAT. Но часть из этих форматов, а конкретно STEP и IGES, уже были реализованы в VR Concept с помощью другого продукта — Open Cascade.

Партнерство с компанией C3D Lab заключили в июне 2019 года. В июле начали работу над реализацией загрузчика формата JT с помощью C3D. У нас ушло примерно 3 человека-месяца и уже осенью был готов загрузчик. Первые пользователи получили сборку VR Concept с поддержкой JT в сентябре. А уже в октябре были реализованы и другие форматы JT, C3D, X_T, X_B, STEP, IGES и ACIS SAT. Новую версию VR Concept мы выпустили в декабре и в ней уже присутствовала поддержка всех этих форматов с помощью ядра C3D.

Тестирование загрузчиков STEP


Самый популярный из перечисленных форматов — это машиностроительный формат STEP. И у нас было две реализации загрузки с помощью разных библиотек. Стояла задача сделать выбор или оставить обе реализации.

Мы решили провести тестирование сравнения двух загрузчиков STEP в VR Concept, реализованных на разных платформах.

Для тестирования мы использовали 64 различных модели формата STEP с различными характеристиками. Варьировался размер файлов (от 43 Кб до 269909 Кб) и количество объектов/тел модели (от 45 до 18483)


Модель предоставлена компанией АСКОН

В зависимости от вышеуказанных характеристик по результатам теста сформировали следующую таблицу, показывающую время загрузки моделей с различным количество тел/объектов:
Диапазон количества объектов (тел) Количество моделей в выборке Среднее время загрузки VR Concept c Open Cascade (сек) Среднее время загрузки VR Concept с C3D(сек)
1-1000 39 32,5 9,84
1000-3000 23 93,4 54,2
более 3000 2 454 57,5

Также отобрали три модели для детального показательного сравнения. Компрессор (ниже по тексту), троллейбус (предыдущая картинка) и экскаватор LEGO. Модели эти довольно объемные, с количеством тел более 2000. Одну из них можно посмотреть и проверить самостоятельно по ссылке. А вот так она выглядит у нас:



В зависимости от вышеуказанных характеристик по результатам теста сформировали следующую таблицу:



Вместо выводов


Мы не ожидали получить такой результат, если честно! C3D оказался намного шустрее в чтении формата STEP, чем Open Cascade, при одинаковых настройках и визуального качества результата. Кроме того, как нам кажется, при этом качество отображения модели с C3D даже чуть лучше.


Еще одно сравнение качества визуализации в увеличенном масштабе: сверху Open Cascade, снизу C3D. Модель компрессора предоставлена компанией АСКОН

Да, мы не сравнивали оба этих конвертера вне нашего решения, поэтому если у вас есть данные на этот счет, будем рады им! Возможно, у вас есть мысли в защиту Open Cascade? Поделитесь, пожалуйста, в комментариях.

Мы продолжаем тестировать и сравнивать Open Cascade и C3D на разных 3D-моделях. Будем рады, если поделитесь своими 3D-моделями — мы проведем тестирование на них и поделимся результатом!