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

Статьи

16 апреля 2013

Знакомьтесь — геометрическое ядро C3D

Николай Голованов, Олег Зыков, Юрий Козулин, Александр Максименко

От редакции isicad.ru: Вслед за темой BIM, обсуждение геометрических ядер стало столь популярным на нашем портале, что эта популярность уже не нуждается в напоминании и обосновании. Данный факт тем более приятен, что тема геометрии — глубоко технологична и не имеет непосредственных проекций, скажем, в строительство метро в Лондоне или в экономические аспекты возведения сооружений Олимпиады в Сочи. Все же, стремясь расширить круг обсуждения темы ядер и дать возможность некоторым читателям глубже воспринять эту тему, напомним некоторые недавние публикации портала isicad.ru:

Подробную справку о геометрических ядрах можно найти в статье PLMpedia «Ядро геометрического моделирования».

Сегодня мы рады представить читателю хорошо сбалансированное и достаточно подробное описание сферы применения ядер вообще, поучительную историю возникновения и развития геометрического ядра АСКОНа, характеристику общей архитектуры и функциональности ядра C3D, описание особенностей его свежей версии, а также упоминание преимуществ C3D перед распространенными на мировом рынке продуктами. Эксперты портала isicad, хорошо знакомые с тематикой геометрических ядер, склонны согласиться с тем, что формально «На сегодняшний день ядро C3D — единственное в мире, объединяющее в одном продукте три важнейших модуля САПР» (имеется в виду: моделлер, решатель, конвертер), хотя читателю полезно знать, что в практическом плане основные поставщики ядер, конечно, обеспечивают пользователей указанным набором функций: Spatial: ядро ACIS или CGM + решатель GGCM или CDS + трансляторы 3dInterOp, Siemens PLM: Parasolid + D-Cubed components + Parasolid Translators...

Главное состоит в том, что, как справедливо утверждают авторы статьи: «... задач для геометрических ядер много, а самих ядер — очень мало. Полноценные коммерческие ядра геометрического моделирования разработаны единичными командами в мире, а в России компания АСКОН — единственная, кому это удалось».


Ровно год назад со скромного постера на Конгрессе о Будущем Инженерного Программного Обеспечения (COFES) начался путь геометрического ядра C3D на рынок. О том, что интересного произошло за это время, мы и расскажем в данной статье. Но в начале нужно пояснить, что же такое ядро геометрического моделирования и кому оно нужно.

Кому нужно геометрическое ядро?

Геометрическое ядро — это программный компонент для разработчиков прикладных решений. Оно представляет собой программную реализацию математических методов построения численных моделей геометрии реальных и воображаемых объектов, а также математических методов управления этими моделями. Численные модели используются в системах, выполняющих проектирование (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 и будет анонсирована для международной общественности на конференции ESPRIT World Conference 2013 в г. Тампа, США.

Рис. 1 ESPRIT Extra CAD

В конце года лицензию на ядро приобрела компания Базис-центр, которая будет использовать наш компонент в конструкторских модулях своей мебельной САПР. Уже два этих события говорят о том, что компания АСКОН не зря решила предоставить сторонним компаниям доступ к своему геометрическому ядру. Рынок действительно нуждался в новом игроке!

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

Рис. 2 КОМПАС-3D V14

Что нового в C3D V14?

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

C3D Modeler

Функциональные возможности модуля:

  • моделирование тел;
  • моделирование поверхностей;
  • моделирование листовых тел;
  • триангуляция геометрической модели;
  • вычисление инерционных характеристик модели;
  • анализ столкновений элементов модели;
  • построение плоских проекций и разрезов модели.
В новой версии доработана операция скругления: появилась возможность остановки скругления (рис. 3в) и остановки с площадкой (рис. 3г).

Рис. 3а
Исходная ситуация

Рис. 3б
Было возможно ранее

Рис. 3в
Остановка скругления

Рис. 3г
Остановка с площадкой

В операциях Оболочка, Придание толщины и Эквидистантная поверхность, имеющими в своей основе общие алгоритмы, появилась возможность обработки вырождения коротких ребер и поверхностей (граней). Для поверхностей возможна обработка как явного (невозможность создания эквидистанты), так и неявного вырождения (поглощение соседними гранями). Наглядно это видно на рисунке 4.

Рис. 4а Оболочка: было

 

Рис. 4б Оболочка: стало возможным

Из крупных новинок также стоить отметить построение развертки линейчатого тела (на рис. 5 показан пример эллиптической обечайки).

Рис. 5 Эллиптическая обечайка и ее развертка

C3D Solver

Сегодня C3D Solver — это мощный решатель 2D-ограничений для 2D-черчения и эскизов в 3D, а также решатель 3D-ограничений для создания сборочных единиц и кинематического анализа.

В новой версии появилась возможность диагностики переопределенных систем ограничений. В КОМПАС-3D данная функция реализована в виде выделения оранжевым цветом «лишних» ограничений (см. рис. 6).

Рис. 6 Переопределенный эскиз в КОМПАС-3D

Доработана параметризация NURBS-кривых: улучшилась решаемость системы ограничений, стало возможным множественное касание NURBS с другими кривыми. Особое внимание было уделено концевым случаям — теперь обеспечена гладкая стыковка контуров с участием сплайнов (см. рис. 7).

Рис. 7 Параметризация NURBS

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

C3D Converter

На сегодняшний день модуль поддерживает следующие форматы:

  • STEP (чтение/запись);
  • Parasolid (чтение/запись);
  • ACIS (чтение/запись);
  • IGES (чтение/запись);
  • STL (запись);
  • VRML (запись).
В V14 cущественно улучшена работа с импортированными поверхностями: теперь конвертер всегда распознает элементарные поверхности при импорте NURBS. Также для всех поддерживаемых форматов решена задача преобразования NURBS-поверхностей, описывающих цилиндры или конусы, непосредственно в цилиндры или конусы и задача объединения поверхностей вращения при импорте (например, из половинок цилиндра получаем один).


Мы перечислили только основные новинки, всего их в новом релизе намного больше. Большинство из них уже нашли свое применение в только что вышедшей системе трехмерного моделирования КОМПАС-3D V14. И, мы надеемся, еще найдут свое применение в новых системах, создаваемых нашими текущими и будущими пользователями.

Ядро геометрического моделирования C3D доступно для лицензирования всем разработчикам САПР и прикладных решений, вузам и промышленным предприятиям. На три месяца компонент можно получить на бесплатное тестирование. Вся документация на продукт доступна онлайн. Для удобства ознакомления с ядром разработано небольшое приложение под операционные системы Windows и Linux, которое доступно в исходных текстах. По всем вопросам, связанным с C3D, обращайтесь на почту c3d@ascon.ru.

Также не забывайте, что у вас есть возможность лично задать вопросы авторам статьи на семинаре «Геометрическое ядро C3D», которое состоится 30 мая в Петергофе.

Об авторах

Авторы статьи — «костяк» команды геометрического ядра C3D:

Николай Голованов

Николай Голованов,
архитектор, руководитель разработки, кандидат технических наук.
В АСКОН 17 лет.

Олег Зыков

Олег Зыков,
директор по продукту C3D.
В АСКОН 12 лет.

Юрий Козулин

Юрий Козулин,
руководитель разработки C3D Modeler, кандидат технических наук.
В АСКОН 7 лет.

Александр Максименко

Александр Максименко,
руководитель разработки C3D Solver.
В АСКОН 13 лет.

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

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