Знакомьтесь — геометрическое ядро C3D
Год назад со скромного постера на Конгрессе о Будущем Инженерного Программного Обеспечения (COFES) начался путь геометрического ядра C3D на рынок. О том, что интересного произошло за это время, мы и расскажем в данной статье. Но в начале нужно пояснить, что же такое — это ядро геометрического моделирования и кому оно нужно.
Авторы статьи — «костяк» команды геометрического ядра C3D |
|||
Николай Голованов, архитектор, руководитель разработки, к.т.н. В АСКОН 17 лет |
Олег Зыков, директор по продукту C3D. В АСКОН 12 лет |
Юрий Козулин, руководитель разработки C3D Modeler, к.т.н. |
Александр Максименко, руководитель разработки C3D Solver. В АСКОН 13 лет |
Кому нужно геометрическое ядро?
Геометрическое ядро — это программный компонент для разработчиков прикладных решений. Оно представляет собой программную реализацию математических методов построения численных моделей геометрии реальных и воображаемых объектов, а также математических методов управления этими моделями. Численные модели используются в системах, выполняющих проектирование (CAD), расчеты (CAE) и подготовку производства (CAM) моделируемых объектов.
Каждый разработчик прикладного решения стоит перед выбором: писать ли необходимые математические алгоритмы самому или приобрести сторонний компонент. У каждого подхода есть свои плюсы и минусы.
Что дает разработчику использование стороннего ядра? Главное — это возможность быстро повысить функциональные возможности своего продукта, не занимаясь решением задач геометрического моделирования, а работая над прикладными задачами приложения. Следующим важным моментом является снижение затрат на разработку продукта, ведь математические алгоритмы — самая сложная и трудоемкая часть систем автоматизированного проектирования.
Основные потребители геометрического ядра — это разработчики САПР, производители 3Dпакетов. Но не стоит забывать о том, что ядро может пригодиться и учебным заведениям! Оно поможет в обучении студентов по курсам: начертательная геометрия, машинная графика, геометрическое моделирование и вычислительная геометрия, будет полезно в образовании будущих математиковпрограммистов и разработчиков САПР. Использовать напрямую ядро (а не API CADсистем) можно при выполнении научноисследовательских работ, требующих построения трехмерных геометрических моделей. Кроме того, ядро геометрического моделирования может использоваться как при написании вузовского специализированного программного обеспечения, так и для создания коммерческого ПО в рамках малых инновационных предприятий, активно создаваемых при университетах.
Кстати, о предприятиях. Если в организации есть сложные, узкоспециализированные задачи, для решения которых на рынке нет программного обеспечения (или оно по какимто причинам недоступно), то лицензирование ядра позволит такое ПО создать самостоятельно. Конечно, в штате предприятия должны быть программисты и аналитики, обладающие необходимым опытом и знаниями.
Как видите, задач для геометрических ядер много, а самих ядер — очень мало. Полноценные коммерческие ядра геометрического моделирования разработаны единичными командами в мире, а в России компания АСКОН — единственная, кому это удалось. И сейчас настало время поговорить о нашем C3D.
Что такое C3D?
Решение о написании собственного геометрического ядра было принято в компании АСКОН в 1995 году в рамках начала работ по созданию системы трехмерного моделирования КОМПАС3D, коммерческий выпуск которой состоялся в 2000 году. До 2012 года ядро не было коммерческим продуктом и использовалось только в составе собственной САПР КОМПАС3D. Все эти годы оно совершенствовалось, обеспечивая функциональное развитие КОМПАС3D. Перечислим основные этапы:
- 2000 год. Создание достаточного количества алгоритмов трехмерного твердотельного моделирования для использования в САПР;
- 2001 год. Реализация решателя геометрических ограничений и конвертеров в основные обменные форматы данных;
- 2002 год. Создание механизма построения ассоциативных видов по трехмерным моделям;
- 2003 год. Появление основ поверхностного моделирования;
- 2004 год. Описание математических алгоритмов создания элементов листового тела;
- 2005 год. Реализация многотельного моделирования;
- 2007 год. Поддержка каркасной модели;
- 2008 год. Реализация кинематических сопряжений для моделирования механизмов;
- 2009 год. Поддержка атрибутов геометрической модели;
- 2010 год. Появление полноценного поверхностного моделирования;
- 2011 год. Поддержка кроссплатформенности;
- 2012 год. Реализация элементов прямого моделирования.
Команда разработки 17 лет развивала геометрическое ядро: совершенствовала его архитектуру, создавала новую функциональность, модернизировала ранее реализованные методы. Без уникального опыта, основанного на практическом применении КОМПАС3D на десятках тысяч рабочих мест, невозможно было бы говорить о возможности выпуска C3D в свободное коммерческое плавание. Создать конкурентоспособное ядро без опыта практического применения просто невозможно.
В настоящий момент ядро C3D — единственное в мире, объединяющее в одном продукте три важнейших модуля САПР:
- геометрический моделировщик C3D Modeler, предоставляющий достаточный набор возможностей для твердотельного и гибридного моделирования, эскизирования и 2Dчерчения;
- решатель геометрических ограничений C3D Solver, позволяющий накладывать вариационные зависимости на 2D и 3Dэлементы геометрической модели;
- конвертер данных C3D Converter, обеспечивающий чтение/запись геометрической модели в основные обменные форматы.
Все эти модули теперь доступны не только командам разработки внутри АСКОН, но и всем желающим.
Первопроходцы
В эти дни, весной 2013 года, первый продукт, подготовленный на ядре АСКОН вне собственных подразделений разработки, представлен широкой публике. Это ESPRIT Extra CAD — простой в использовании трехмерный моделировщик, встроенный непосредственно в популярную CAMсистему ESPRIT. Интерфейс системы можно увидеть на рис. 1. Разработка выполнялась совместно компаниями ЛО ЦНИТИ и Rubius.
Рис. 1. ESPRIT Extra CAD
В конце 2012 года лицензию на ядро приобрела компания Базисцентр, которая будет использовать наш компонент в конструкторских модулях своей мебельной САПР. Два этих события уже говорят о том, что компания АСКОН не зря решила предоставить сторонним компаниям доступ к своему геометрическому ядру. Рынок действительно нуждался в новом игроке!
Говоря о заказчиках C3D, не будем обходить вниманием и компанию АСКОН, которая в феврале выпустила КОМПАС3D V14 (рис. 2) — 3DСАПР, построенную на новейшей, четырнадцатой, версии ядра C3D. Все текущие разработки АСКОН сегодня также базируются на нашем программном компоненте.
Рис. 2. КОМПАС-3D V14
Что нового в C3D V14?
Новая версия для нас особенная — ведь это первый релиз продукта после объявления о старте лицензирования ядра внешним разработчикам. Ранее все релизы выходили только в составе КОМПАС3D. Это уже оказало влияние на продукт: теперь в развитии ядра мы опираемся не только на мнение разработчиков КОМПАС3D, но и на пожелания новых клиентов. Начиная с V14, ядро имеет свою систему защиты и возможность покомпонентного лицензирования. В остальном же развитие идет так же, как и раньше — совершенствуются алгоритмы, расширяется функциональность, повышаются скорость и надежность.
C3D Modeler
Функциональные возможности модуля:
- моделирование тел;
- моделирование поверхностей;
- моделирование листовых тел;
- триангуляция геометрической модели;
- вычисление инерционных характеристик модели;
- анализ столкновений элементов модели;
- построение плоских проекций и разрезов модели.
В новой версии доработана операция скругления: появилась возможность остановки скругления (рис. 3в) и остановки с площадкой (рис. 3г).
В операциях Оболочка, Придание толщины и Эквидистантная поверхность, имеющих общие алгоритмы, появилась возможность обработки вырождения коротких ребер и поверхностей (граней). Для поверхностей возможна обработка как явного (невозможность создания эквидистанты), так и неявного вырождения (поглощение соседними гранями). Наглядно это видно на рис. 4.
Рис. 3. Доработана операция скругления: исходная ситуация (а), было возможно ранее (б) и (в), стала возможным остановка скругления (г)
Рис. 4. Оболочка: было (а), стало возможным (б, в)
Рис. 5. Эллиптическая обечайка и ее развертка
Следует также отметить такую крупную новинку, как построение развертки линейчатого тела (на рис. 5 показан пример Эллиптической обечайки).
C3D Solver
Сегодня C3D Solver — это мощный решатель 2Dограничений для 2Dчерчения и эскизов в 3D, а также решатель 3Dограничений для создания сборочных единиц и кинематического анализа.
В новой версии появилась возможность диагностики переопределенных систем ограничений. В КОМПАС3D данная функция реализована в виде выделения оранжевым цветом «лишних» ограничений (рис. 6).
Рис. 6. Переопределенный эскиз в КОМПАС-3D
Рис. 7. Параметризация NURBS
Доработана параметризация NURBSкривых: улучшилась решаемость системы ограничений, стало возможным множественное касание NURBS с другими кривыми. Особое внимание было уделено концевым случаям — теперь обеспечена гладкая стыковка контуров с участием сплайнов (рис. 7).
Кроме того, существенно доработаны алгоритмы наложения ограничений на эллипс и проекционную кривую, улучшена работа на крупномасштабных чертежах.
C3D Converter
В настоящее время модуль поддерживает следующие форматы:
- STEP (чтение/запись);
- Parasolid (чтение/запись);
- ACIS (чтение/запись);
- IGES (чтение/запись);
- STL (запись);
- VRML (запись).
В V14 cущественно улучшена работа с импортированными поверхностями: теперь конвертер всегда распознает элементарные поверхности при импорте NURBS. Также для всех поддерживаемых форматов решена задача преобразования NURBSповерхностей, описывающих цилиндры или конусы непосредственно в цилиндры или конусы, и задача объединения поверхностей вращения при импорте (например, из половинок цилиндра получаем один).
***
Мы перечислили только основные новинки, в новом релизе их гораздо больше. Большая их часть уже нашла свое применение в недавно вышедшей системе трехмерного моделирования КОМПАС3D V14. И мы надеемся, что эти и другие технологические находки еще найдут применение в новых системах, создаваемых нашими настоящими и будущими пользователями.
Ядро геометрического моделирования C3D доступно для лицензирования всем разработчикам САПР и прикладных решений, вузам и промышленным предприятиям. На три месяца компонент можно получить на бесплатное тестирование. Вся документация продукта доступна онлайн. Для удобства ознакомления с ядром разработано небольшое приложение под операционные системы Windows и Linux, которое доступно в исходных текстах. По всем вопросам, связанным с C3D, обращайтесь на почту c3d@ascon.ru.