Предисловие автора: Название статьи отсылает к высказыванию основателя Dassault Systèmes Франсиса Бернара о том, что «не следует развивать софтверный продукт, руководствуясь только запросами пользователей и сравнением с конкурентами». (редакционная статья «Пользователь – далеко не единственный источник истины для вендора»). Но главный редактор isicad, видимо, намеренно подчеркнул слово «только», подразумевая (как мы полагаем), что и без учета мнения пользователей развивать продукт также не следует. В этой заметке мы расскажем, как пожелания разработчиков САПР, использующих геометрическое ядро C3D, повлияли на его новую версию.
В июне этого года вышел обновленный комплект инструментов для разработки инженерного программного обеспечения C3D Toolkit 2018. Геометрическое ядро C3D Modeler, параметрический решатель C3D Solver, конвертеры C3D Converter – все компоненты C3D Toolkit пополнились новыми возможностями, прибавили в производительности и увеличили свою надежность. За многими улучшениями стояли запросы заказчиков C3D Labs, представляющих все разнообразие индустрии инженерного ПО – CAD, EDA, BIM, CAE.
CAD
Наш самый первый заказчик и материнская компания АСКОН обратил внимание на потребность в покомпонентном проецировании в системе КОМПАС-3D. Речь шла о случае, когда создавалась сборка с набором компонент и построенными по ним проекциями. В результате редактирования (изменения или перемещения) одной из компонент все проекции необходимо было пересчитывать заново. Задача геометрического ядра C3D Modeler состояла в том, чтобы спроецировать заново только указанные измененные компоненты и те компоненты, которые могли быть затронуты при проецировании. Это существенно ускорило построение проекций сборки при различных модификациях ее частей. Очевидно, что чем меньшее количество компонент сборки оказалось затронутым данными изменениями, тем больше и заметнее эффект в скорости построения проекций.Покомпонентное проецирование.
3D-модель установки вакуумно-технологической, разработчик «ЭСТО-Вакуум» (г. Москва)
Частные случаи скругления
Скругление трех граней
Скругление трех граней
Ребро усиления и развертка листового тела с контурами ребер усиления
Упрощение развертки
Теперь разработчик CAD может объединять набор геометрических объектов (кривых) в жесткое множество, то есть закреплять их положение друг относительно друга. И дальше в ограничениях они коллективно перемещаются в ходе решения системы ограничений.
Жесткие множества двумерных объектов
Стыковка двумерных кривых по G2
Работа по JT очень важна, так как формат имеет несомненные достоинства. Например, он позволяет передавать одни и те же данные синхронно, но в разных представлениях. Если модифицируется изделие или деталь, то работа ведется с той частью JT-файла, которая записана в граничном представлении. Если достаточно просмотреть изделие, визуально оценить, то используется плоскогранное (полигональное) представление. Если нужны характеристики, например плотность или информация об авторах изделия, то речь идет о метаданных. Такая работа с данными очень удобна, однако при любой модификации формы изделия потребуется синхронно изменить все уровни детализации. Формат JT – нетривиальная и гибкая система, но очень востребованная нашими заказчиками.
Чтение моделей формата JT
EDA
По запросу компании ЭРЕМЕКС, разрабатывающей САПР электроники Delta Design, в ядре C3D Modeler были ускорены операции с регионами – связными областями двумерного пространства, ограниченными одним внешним и, возможно, одним или несколькими внутренними составными кривыми (контурами). Булевы операции над такими объектами достаточно распространены, если вы работаете с большим количеством компонентов при создании плат. С увеличением количества вершин регионов растет и трудоемкость операции над каждой парой. А если таких пар в созданной модели огромное количество, то потребуются модификации алгоритма для того, чтобы пользователь мог работать с программой в комфортных условиях. Что и было сделано.Сложная печатная плата в Delta Design
BIM
C точки зрения геометрического ядра, архитектура мало чем отличается от машиностроения, однако время от времени эта отрасль ставит перед нами новые задачи. Например, в этом году разработчикам семейства BIM-программ Renga из Renga Software потребовалось от C3D Modeler затенение кривых телами и скрытие части ребер при построении проекций.Затенение кривых телами при проецировании
CAE
С подачи НТП «Трубопровод», который использует C3D Modeler в системах ПАССАТ и Штуцер-МКЭ, были усовершенствованы операции: усечение оболочки, выдавливание и вращение, построение линий разъема и проекционных кривых.Построение 3D-моделей для последующих расчетов имеет свои особенности. Мы столкнулись с ситуацией, когда не создавались некоторые из линий разъема и после операции не объединялись назад некоторые ребра. Для быстрого получения множественных линий разъема был сформирован пример для разработчиков НТП «Трубопровод», как их делать напрямую без операции, непосредственным конструированием топологических элементов оболочки.
Модель, на которой возникали проблемы с линиями разъема
Cabinet & Interior
К этому классу инженерного ПО относятся продукты, которые обычно называют «мебельными САПР». Для компании БАЗИС-Центр, разрабатывающей на ядре C3D систему БАЗИС-Мебельщик, была реализована гибка нелистовых тел. Чтобы согнуть любое, даже нелистовое, тело, достаточно задать режущую плоскость, количество и толщину кусков, на которые будет разбито тело, а также для каждого куска задать расположение оси сгиба и его радиус нейтрального слоя. Согласно заданным параметрам, из кусков тела будут сформированы цилиндрические сгибы, у которых слой, отстоящий на расстояние нейтрального радиуса от оси, не будет испытывать сжатия или растяжения. Теперь пользователи БАЗИС-Мебельщик смогут моделировать гнутые фасады с фрезеровками.Сгиб нелистового тела
Так пользователи – от крупных научных центров до стартапов – двигают вперед C3D Toolkit, ставя перед разработчиками актуальные задачи и откликаясь на результаты проделанной работы.
P.S. Как справедливо заметят читатели, в статье показаны запросы только от российских заказчиков C3D Labs. Причина в том, что с зарубежными заказчиками мы связаны строгими соглашениями о неразглашении. Мы не имеем права публиковать подробности сотрудничества и часто даже называть компании, которые используют C3D Toolkit. Имена некоторых зарубежных заказчиков вы можете увидеть на этой странице.