Компания C3D Labs представляет новую версию набора инструментов для разработки инженерного программного обеспечения C3D Toolkit 2021. В релизе обновлены основные компоненты: геометрическое ядро C3D Modeler, параметрический решатель C3D Solver, конвертеры данных C3D Converter и модуль визуализации C3D Vision.
Помимо традиционных обновлений компонентов в C3D Toolkit появились также и совершенно новые модули C3D FairCurveModeler и C3D Web Vision. Тесно связанные между собой, они составляют целостное решение для создания настольных, мобильных, облачных и веб 3D-приложений.
В релизе 2021 были учтены потребности разных софтверных рынков, и сегодня C3D Toolkit предлагает мощный инструментарий для разработки классических CAD/CAM/CAE-систем, а также продуктов в сфере BIM, VR, 3D-сканирования и цифрового производства.
Ключевые приобретения новой версии связаны с поверхностным, твердотельным и листовым моделированием, 3D визуализацией и чтением всех форматов.
C3D FairCurveModeler
Компания C3D Labs разработала новый раздел C3D FairCurveModeler для геометрического ядра C3D, расширяющий возможности последнего в части построения кривых и поверхностей.
Большинство существующих ныне CAD-систем позволяет моделировать сложные кривые и поверхности, однако, даже если CAD-система поддерживает моделирование кривых и поверхностей класса А, она не обеспечивает надлежащего качества так называемых функциональных кривых (кривых класса F) по критериям плавности.
Мы провели изыскания в области геометрического моделирования и вывели ряд специальных требований, соблюдение которых позволило нам получить необходимые параметры плавности кривых. Ниже приведен список этих требований:
- минимальное число опорных точек моделируемой сплайн-траектории движения и высокий, не ниже 4-го, порядок гладкости
- плавное кручение пространственной кривой
- ограничение максимального значения кривизны и скорости ее изменения
- минимизация функционала потенциальной энергии
Так на свет и появился C3D FairCurveModeler, методы которого полностью отвечают приведенным выше требованиям и позволяют моделировать кривые и поверхности самого высокого качества.
Область применения C3D FairCurveModeler распространяется на проектные задачи, возникающие в разных отраслях техники. Использование данного раздела в области моделирования изделий – это быстрый и недорогой способ улучшения проектных характеристик изделий только лишь за счет улучшения плавности их геометрии.
Поверхностное моделирование
В геометрическом ядре C3D Modeler 2021 активное развитие получила функциональность сложного поверхностного моделирования, которую традиционно относят к «тяжелому» классу. Она открывает путь к решению САПР-задач в авиационной промышленности, двигателе- и судостроении.
Основной новинкой является поверхность конического или переменного сечения, которая уже была представлена в прошлом году, однако сейчас получила серьезные доработки. Сечение этих поверхностей может меняться в процессе движения вдоль направляющей кривой по заданному закону и иметь форму окружности, дуги эллипса, параболы, гиперболы, заданного сплайна, отрезка прямой. Поверхности конического сечения могут гладко стыковаться с заданными поверхностями.
Произведены крупные доработки поверхностей по сети кривых (ППСК). Составные кривые теперь можно задавать как границы поверхности по сети кривых, ранее такая возможность была недоступна.
Внутри функционала ППСК реализовано достраивание сечений с учетом сопряжений, которые можно задавать на границах поверхности. Также реализована функциональность авто-цепочки, которая в автоматическом режиме при достраивании сечений выстраивает их в нужном порядке для обеспечения ровной формы поверхности по сети кривых.
В операции продления поверхностей была проведена работа по устранению зубцов на стыке граней, подлежащих продлению.
Твердотельное моделирование
В функционале срединной оболочки доработаны операции подрезки и продления строящейся оболочки. Для срединной оболочки также появилась возможность задания атрибутов толщин для сохранения информации о расположении срединной оболочки относительно твердого тела.
Доступен новый функционал объединения гладко стыкующихся граней по одному ребру.
Моделирование листовых тел
C3D Modeler содержит уникальную для геометрических ядер функциональность листового моделирования. В версии 2021 разработан метод распознавания листового тела буквально в один клик после импорта модели. В результате работы новой операции для полученного тела будут доступны все методы листового моделирования.
Метод преобразования твердого тела в листовое теперь представлен официально. Ранее мы уже анонсировали данную операцию в заметке в нашем блоге, однако, теперь она полностью функционирует и доступна в геометрическом ядре.
Доработаны операции штамповки произвольным телом и отбортовки. В частности, была улучшена производительность работы этих операций и увеличена область их применения, т.е. операции теперь обрабатывают и более сложные конфигурации тел.
Параметрический решатель
В параметрическом решателе C3D Solver паттерны (массивы) вращения теперь работают и по двусторонней схеме: появилась возможность по экземпляру паттерна получить положение оригинала, т.е. решить обратную задачу паттерна. Помимо этого, для массивов теперь можно задавать способы выравнивания их экземпляров: линейное или ротационное.
Реализовано моделирование роликовых кулачковых механизмов посредством добавления нового объекта толкателя в сопряжение кулачок-толкатель – цилиндр. Теперь Solver может обрабатывать касание цилиндрической грани в подобных механизмах.
Возможности Solver при работе со сплайнами, на которые уже наложены какие-либо ограничения, пополнились функцией добавления и удаления его точек. Теперь при внесении любых изменений в существующий сплайн все ограничения сохраняются.
Для каркасных моделей была доработана функция драггинга, которая теперь учитывает специфику перетаскивания вершин не только твердотельных моделей, но и каркасных.
Поддержка всех форматов
Являясь частью C3D Toolkit, C3D Converter поддерживает наиболее популярные обменные форматы, но имеет определенные ограничения в части реализации проприетарных форматов, например, нативных форматов сторонних CAD-систем. Это связано с тем, что геометрическое ядро не должно поддерживать форматы, являющиеся специфичными для определенных отраслей.
Команда C3D Converter пришла к выводу, что необходимо создать такую систему интеграции, которая позволила бы подключать к приложению на базе C3D сторонние модули для поддержки других форматов. Так и появился плагин для C3D Converter, позволяющий подключать к приложению любые сторонние пакеты.
Для пользователя C3D работа плагина реализуется посредством двух новых функций API C3D Converter:
- IConvertor3D::LoadForeignReader( path_to_plugin, settings)
- IConvertor3D::ForeignRead( ItModelDocument&, … )
Первая функция загружает сторонний пакет и считывает специфичные для него настройки, а вторая читает формат и формирует модельный документ.
Схема интеграции стороннего пакета в приложении на основе плагина продемонстрирована выше. В верхней части схемы имеется ядро C3D и приложение на его основе, которому необходимо передать файл с настройками пакета, определяющий нюансы его работы и являющийся частью плагина. В нижней части имеется сторонняя подключаемая библиотека и поставляемые с ней модули, в которых реализован интерфейс для C3D. После загрузки пакета через LoadForeignReader все данные импортируются в ядро C3D.
Также в C3D Converter реализован импорт моделей в формате OBJ, позволяющий передавать полигональное представление, визуальные атрибуты и текстуры.
3D-визуализация
Разработанный для инженерных 3D-приложений движок C3D Vision нацелен, в первую очередь, на точность отображения геометрических построений и высокую производительность при работе с большими моделями.
В версии 2021 впервые реализованы представления для объединения геометрии в один объект. Основным преимуществом таких представлений является многократное повышение производительности за счет того, что все элементы находятся в одной геометрии и вызов функции отрисовки происходит только один раз.
Первое такое представление PolygonGeometry объединяет большое количество кривых в пределах одной геометрии. Для редактирования данного геометрического представления в C3D Vision имеется ряд функций, таких как динамическое добавление кривых, назначение материала для каждой кривой и т.д.
Следующее геометрическое представление MathGroupGeometry позволяет объединять большое количество любых тел, при этом возможность изменения свойств каждого отдельного тела, например, изменение его цвета, положения и т.д., сохраняется.
Доработано представление аннотационной геометрии CommentGeometry, которое теперь позволяет создать произвольное количество меток.
Также в C3D Vision 2021 были произведены доработки представленных в прошлом году новинок, таких как манипуляторы для интерактивного редактирования геометрии, инструменты для управления ее визуальными свойствами и инструменты для выделения объектов и масштабирования камеры.
Веб-визуализация
Помимо улучшения существующего модуля визуализации мы разработали новый программный компонент C3D Web Vision 2021, предоставляющий возможности десктопного модуля визуализации C3D Vision разработчикам инженерных веб-приложений.
C3D Web Vision, используя возможности трехмерной визуализации C3D Vision, позволяет повысить качество отображения моделей на сцене, управлять свойствами рендеринга элементов моделей и, что самое главное, существенно ускорить разработку инженерного веб-софтвера.
Более подробная информация о новом компоненте уже опубликована в новости в нашем блоге.
Всего в C3D Toolkit 2021 насчитываются десятки новых разработанных методов, сотни улучшений и доработок имеющихся команд. Подробнее о них можно будет узнать из записей докладов на прошедшей конференции C3Days 2021 на нашем youtube-канале.