isicad.ru :: портал САПР, PLM и ERP :: версия для печати

Статьи

16 января 2017

C3D Vision. Визуализатор для САПР

Аркадий Камнев, менеджер по продукту C3D

Аркадий Камнев

От редакции isicad.ru: Продолжая расширять своё 3D-ядро геометрического моделирования в сторону многоцелевой платформы для разработчиков инженерного софтвера, C3D Labs, дочернее предприятие компании АСКОН, летом 2016 года выпустило визуализатор C3D Vision 2016. Сегодня мы публикуем две статьи, которые подробно характеризуют новый продукт.

Статья А.Камнева представляет общую проблематику и излагает главные свойства продукта, а одновременно с ней публикуемая статья Э.Максименко, как видно из названия «Визуализация сцены в C3D Vision. Основные характеристики и особенности работы» описывает необходимые профессионалам технологические подробности.

Сегодня все, кто занимается рендерингом при разработке САПР и пробует использовать сторонние визуализаторы, так или иначе сталкиваются с проблемами сочетаемости универсальных движков для визуализации и разрабатываемых приложений. Объясняется это тем, что большинство визуализаторов, представленных на рынке программного обеспечения, изначально создавались для игровой и анимационной индустрий. На деле оказывается, что для CAD-, CAM- и CAE-систем такое ПО не совсем подходит. Именно поэтому в C3D Labs было принято решение о создании специализированного визуализатора C3D Vision. Его главное преимущество состоит в том, что разработчики САПР делают вспомогательное решение для таких же разработчиков САПР. Мы отлично понимаем потребности отрасли и не понаслышке знакомы с особенностями данного сегмента, ведь компания C3D Labs является частью софтверной группы АСКОН, которая разрабатывает популярную CAD-систему КОМПАС-3D.
C3D Vision Камнев

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

Второй вариант — это создание собственного визуализатора. Он хорош тем, что разработчики будут знать программный код, отвечающий за рендеринг, как свои пять пальцев, но компания потеряет десятки и сотни часов труда специалистов, которым, кстати, нужно ежемесячно платить зарплату (в том числе и за поддержку разработанного непрофильного функционала САПР). Есть и более весомый аргумент в пользу того, чтобы отказаться от данного варианта — это смещение фокуса разработки от основного ноу-хау программы, несущего главную ценность для пользователя, в сторону интерфейсной части САПР. Несомненно, это очень важная составляющая любой современной PLM-системы, но её создание легко ускорить за счет использования унифицированных методов и процедур, широко представленных платными пакетами.
C3D Vision Камнев

И вот мы плавно подошли к третьему варианту — использованию коммерческих движков для визуализации данных, в частности модуля C3D Vision, входящего в состав набора C3D Toolkit для разработчиков инженерного программного обеспечения. Конечно, может ошибочно показаться, что визуализация является новой функциональностью геометрического ядра C3D Modeler. Но это не так. С одной стороны, четвертый компонент действительно замкнул линейку инструментальных средств от C3D Labs для разработки инженерного софта. А с другой — C3D Vision представляет собой самостоятельный программный модуль, который можно лицензировать и использовать независимо от остальных компонентов ядра C3D.
C3D Vision Камнев

Свойства C3D Vision

При отрисовке трехмерной сцены модуль визуализации C3D Vision оперирует полигональными моделями, при этом сцена представляется в виде дерева графов и делится на сегменты. Каждый узел графа имеет свои характеристики:
  • Абсолютную и относительную матрицы — используются при разработке механизмов наследования родительских характеристик дочерними элементами сцены.
    • Позволяют сегментировать сцену в произвольном порядке, формировать связи между элементами сцены в заданном контуре и централизованно управлять группами элементов, объединенными по какому-либо признаку.
  • Ссылочное представление на геометрию — используется для экономии вычислительных ресурсов при отрисовке сцены с большим количеством повторяющихся элементов.
    • Позволяет загрузить в оперативную или видеопамять отображение элемента, прописать для него ссылку и далее ссылаться на это представление каждый раз при появлении аналогичного элемента в трехмерной сцене.
  • Массив представлений геометрии — применяется для ускорения отрисовки элементов сцены с динамически изменяющейся геометрией.
    • Позволяет задавать различные представления геометрии для одних и тех же элементов трехмерной сцены и настраивать механизмы их отрисовки в зависимости от выбранного пользователем режима работы приложения, стиля отображения 3D-модели, а также при селектировании элементов, подсвечивании активных элементов из дерева построения и т.д.
C3D Vision Камнев C3D Vision Камнев

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

В состав библиотеки C3D Vision включен целый набор специализированных функций для управления ориентацией сцены и настройки отображения геометрической модели: каркас, только видимые ребра, тонированная модель с ребрами и без. Для всех перечисленных режимов доступна функция перспективного отображения сцены, которая в активном состоянии также позволяет перемещаться внутри 3D-модели. Дополнительно можно задавать различные свойства объектам модели, такие как видимость, прозрачность, цвет, текстуры, материал и т.д.

Используя функционал C3D Vision, можно работать с текстами и настраивать OpenGL, например включать шейдеры, вертикальную синхронизацию или акселерацию графических расчетов за счет использования возможностей видеокарты.

Для разработчиков САПР, в которых скорость взаимодействия с пользователем имеет критичное значение, в модуле визуализации присутствует тонкая настройка динамической сцены. Во время панорамирования и вращения C3D Vision может скрывать ребра геометрических моделей, осуществлять сглаживание полигонов, и даже исключать из расчетов незначительные элементы визуальной сцены или объекты, находящиеся за пределами сцены.

Модуль визуализации C3D — это удобный инструмент, который позволяет разрабатывать программное обеспечение для работы со сложными визуальными сценами. Использовать C3D Vision просто, визуальные сцены с ним получаются яркими и красивыми, а приложения на его основе работают быстро, обеспечивая таким образом необходимый уровень комфорта пользователям при работе с большими геометрическими моделями в разрабатываемых САПР.

Более подробно ознакомиться с устройством нового технологического продукта от C3D Labs можно, прочитав статью Эдуарда Максименко «Визуализация сцены в C3D Vision. Основные характеристики и особенности работы».


Все права защищены. © 2004-2024 Группа компаний «ЛЕДАС»

Перепечатка материалов сайта допускается с согласия редакции, ссылка на isicad.ru обязательна.
Вы можете обратиться к нам по адресу info@isicad.ru.