27.11.2025 • C3D Vision, C3D Viewer

C3D Vision и C3D Viewer: ключевые нововведения и усовершенствования

Наталья Яковлева, инженер-программист, C3D Labs, рассказывает о том, что нового появилось в продуктах C3D Vision и C3D Viewer.

C3D Vision — это высокопроизводительная графическая библиотека, ориентированная на инженерные задачи и предназначенная для рендеринга 3D-моделей САПР на настольных компьютерах (рис. 1). Она позволяет визуализировать данные в полигональном представлении, предоставляет API для работы с 3D-моделями, позволяет задавать иерархию визуальных объектов и выполнять необходимые преобразования.

C3D Vision и C3D Viewer: ключевые нововведения и усовершенствования, фото 1
Рис. 1. Пример работы библиотеки C3D Vision

Остановимся на обновлениях C3D Vision. Была переработана архитектура модулей, связанных с интеграцией и использованием математических представлений. В результате появился отдельный open-source-модуль Mbvision, который служит связующим звеном между объектами Modeler и средствами визуализации (рис. 2). В его состав входит механизм генерации сцены, основанный на расширенной пользовательской модели MX Model Extension. Создание модуля стало ответом на запросы пользователей, которые нуждались в фильтрации объектов и построении индивидуальных алгоритмов генерации сцены. Теперь пользователь сам определяет, какие объекты и каким образом включать в сцену.

C3D Vision и C3D Viewer: ключевые нововведения и усовершенствования, фото 2
Рис. 2. Модуль Mbvision

Основными направлениями развития в области рендеринга стали повышение производительности, усовершенствование алгоритмов отрисовки полупрозрачности и улучшение вывода текста. Были достигнуты заметные улучшения производительности визуализации сцен. В первую очередь была оптимизирована система батчинга вызовов отрисовки, что дало значительное увеличение скорости.

C3D Vision и C3D Viewer: ключевые нововведения и усовершенствования, фото 3
Рис. 3а. Повышение производительности рендеринга. Безреберная модель

C3D Vision и C3D Viewer: ключевые нововведения и усовершенствования, фото 4
Рис. 3б. Повышение производительности рендеринга. Модель с ребрами

Работа нового алгоритма была протестирована на моделях большой сложности. Например, сцена из 45 миллионов треугольников с использованием прежнего алгоритма обеспечивала не более 4 кадров в секунду даже при включенной оптимизации Pixel Culling и отключении реберной геометрии. Новый алгоритм показал прирост производительности до 30–35 кадров в секунду при отрисовке без ребер и 19–25 кадров в секунду при их включении (рис. 3). Незначительное снижение производительности наблюдается только в момент снятия изображения с экрана и при сохранении его в формате GIF.

C3D Vision и C3D Viewer: ключевые нововведения и усовершенствования, фото 5
Рис. 4. Полупрозрачность при рендеринге

Для повышения производительности и качества визуализации был разработан дополнительный алгоритм отрисовки полупрозрачности (рис. 4). Ранее применявшийся метод Pixel Culling обеспечивал реалистичную картинку, в том числе при большом числе объектов с высокой степенью прозрачности, а также позволял управлять количеством слоев. Однако его основным недостатком оставалась низкая скорость работы. Чтобы найти баланс между качеством и производительностью, был реализован более простой алгоритм — Weighted Average Blending. Он отличается высокой скоростью и поддерживает сглаживание.

C3D Vision и C3D Viewer: ключевые нововведения и усовершенствования, фото 6
Рис. 5. Вывод текста с технологией SDF и без нее. Размер шрифта 14 пт и размер шрифта 72 пт

Одновременно была переработана система вывода текста. Старая технология не обеспечивала необходимого качества и производительности, поэтому было принято решение перейти на рендеринг на базе технологии Signed Distance Field (SDF). Новый подход демонстрирует заметное улучшение читаемости текста при различных размерах шрифта (рис. 5).

Кроме того, были усовершенствованы освещение и инструмент визуальных заметок («красный карандаш»). Добавлена возможность управления положением источника света: он может быть как статическим, так и привязанным к модели. Реализовано регулирование степени размытия границ освещения. Инструмент Markup расширен: теперь он поддерживает не только ввод текста, но и построение дополнительных графических примитивов — круга и эллипса.

Продолжается работа над примерами использования функциональности Vision. В будущих версиях будет реализован новый подход к созданию и структурированию примеров: пользователю станет проще формировать код, демонстрирующий возникающие затруднения. Запланировано создание стартовых макетов, которые будут применяться для проверки работы различных функций.

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

Перейдем к C3D Viewer. Это простое в использовании приложение для визуализации трехмерной геометрии, построенное на C3D Vision и других компонентах C3D Toolkit: Solver, Modeler и Converter. Оно поддерживает импорт и экспорт геометрии, предлагает разнообразные инструменты управления моделью, навигацию камеры и настройки производительности для работы с объемными моделями.

Существует корпоративная версия C3D Viewer, ключевым отличием которой является наличие встраиваемого компонента. Он предоставляет широкую функциональность через API и подходит разработчикам, которым требуется встроить визуализацию модели и базовые средства управления сценой в свое приложение. Интеграция компонента не требует глубоких знаний в области рендеринга или форматов 3D-моделей и занимает минимальное время.

C3D Vision и C3D Viewer: ключевые нововведения и усовершенствования, фото 7
Рис. 6. Инструмент Zoombox

В C3D Viewer внедрен ряд новых инструментов C3D Vision. Один из них — Zoombox — позволяет быстро приблизить нужный участок модели с помощью рамки масштабирования (рис. 6). Этот инструмент поддерживает настройку непрерывности процесса и особенно удобен при работе с крупными моделями.

C3D Vision и C3D Viewer: ключевые нововведения и усовершенствования, фото 8
Рис. 7. Инструмент Markup

Еще один новый инструмент — Markup — предназначен для создания заметок (рис. 7). Он позволяет выбрать цвет и толщину линии, а также один из шести типов заметок, включая текст с настраиваемыми шрифтом и размером. Заметки можно сохранять в таблицу, переименовывать, удалять и экспортировать в формате SVG. Поддерживается импорт заметок из файла. Этот инструмент особенно полезен при создании заметок на деталях и сборках.

C3D Vision и C3D Viewer: ключевые нововведения и усовершенствования, фото 9
Рис. 8. Визуализация технических требований

C3D Vision и C3D Viewer: ключевые нововведения и усовершенствования, фото 10
Рис. 9. Визуализация шероховатости

Пользователи, применяющие встраиваемый компонент C3D Viewer в связке с САПР КОМПАС-3D, давно испытывали потребность в удобной визуализации данных при разработке. Для передачи геометрии и аннотаций применяется формат MB-PMI. Хотя эти данные не являются интерактивными, C3D Viewer позволяет их просматривать. В первую очередь была реализована визуализация технических требований (рис. 8) и шероховатости (рис. 9). Для этого используется прозрачное окно поверх сцены и настраиваемая панель, аналогичная той, что применяется в КОМПАС. Такая реализация обеспечивает наглядное отображение информации вне зависимости от манипуляций в сцене.

В последних версиях C3D Viewer переработан список исполнений — теперь он представлен в виде дерева, аналогично КОМПАС-3D. Ранее использовался линейный список, что затрудняло навигацию при большом количестве исполнений.

Улучшения коснулись как дизайна, так и функциональности. Открытие нескольких файлов теперь не требует повторного вызова диалогового окна: пользователь может выбрать сразу несколько объектов и загрузить их одновременно. Обновлен и инсталлятор, упрощая процесс установки и обновления программы. Существенно повышены стабильность и скорость работы.

C3D Vision и C3D Viewer: ключевые нововведения и усовершенствования, фото 11
Рис. 10. Темная тема

C3D Vision и C3D Viewer: ключевые нововведения и усовершенствования, фото 12
Рис. 11. Фильтр видимости тел

C3D Vision и C3D Viewer: ключевые нововведения и усовершенствования, фото 13
Рис. 12. Настройка селектирования

При запуске приложения пользователю отображается логотип в центральной части окна, а лента интерфейса обновлена и стала более современной. Улучшена темная тема, доступная в настройках — теперь она более приятна глазу и подходит для длительной работы (рис. 10). Добавлен фильтр видимости тел, позволяющий скрывать объекты определенного типа — например, комментарии (рис. 11). Настройка селектирования теперь дает возможность выбирать только определенные элементы модели — к примеру, грани (рис. 12). Расширен список изометрических проекций, что помогает настраивать удобную ориентацию сцены.

Одним из ключевых направлений развития C3D Viewer остается расширение перечня поддерживаемых операционных систем. В дополнение к уже поддерживаемым Windows, Ubuntu, Debian и Astra Linux планируется выпуск версий для RedOS и Alt Linux. Кроме того, будут расширяться настройки, связанные с управлением сценой, в частности — параметры освещения. Функции измерений получат дальнейшее развитие.

Разрабатываются новые плагины, которые дополнят базовую функциональность C3D Viewer: они позволят перемещать объекты модели и изменять свойства материалов. Кроме того, в программу будут интегрированы новые возможности модулей C3D Toolkit, на которых основан C3D Viewer.

Наталья Яковлева, инженер-программист, C3D Labs
Наталья Яковлева,
инженер-программист,
C3D Labs
Поделиться материалом
Вверх