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

Статьи

31 января 2011

Верхом на ядре: интервью с автором геометрического ядра АСКОН

От редакции isicad.ru:

В ответ на недавнюю статью Дмитрий Ушакова "На ядре" с обзором доступных на рынке библиотек для твердотельного моделирования в САПР, Олег Зыков, руководитель перспективных проектов АСКОН, прислал нам свое интервью с автором геометрического ядра системы КОМПАС-3D Николаем Николаевичем Головановым, опубликованное недавно в журнале "Стремление" №4, корпоративном издании компании АСКОН. Думаем, тем читателям, что заинтересовались тематикой ядер, будет интересно ознакомиться с деталями одной из отечественных разработок в этой области.

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

Но выполнение данной операции может выглядеть и по-другому:

r(u,v) = p + ((c(u) - p)*i)i + (c(u) - p - ((c(u) - p)*i)i) cos v + i x(c(u) - p) sin v = p + r3(u) + r1(u) cos v + r2(u) sin v

Именно так описывает процесс создания поверхности вращения математическое ядро КОМПАС-3D.

Корреспондент «Стремления» Олег Зыков отправился в Коломну, чтобы узнать, как выглядит ядро КОМПАС-3D, непосредственно у его автора Николая Николаевича Голованова.

Что такое ядро? В САПР-сообществе не всегда есть четкое понимание, где закачивается ядро и начинается оболочка.

Мы называем геометрическим ядром часть системы, выполняющую построение численной модели реальных и воображаемых объектов. У нас ядро представляет собой отдельный модуль. Оно состоит из пяти групп объектов и алгоритмов:
    Первая группа — базовые объекты и алгоритмы, к которым относятся векторы, матрицы, точки, кривые, поверхности, алгоритмы построения проекций, пересечений, сопряжений.

    Вторая группа — объекты и алгоритмы построения тел.

    Третья группа — объекты и алгоритмы построения триангуляции, вычисления инерционных характеристик модели, проверки столкновений ее элементов, построения ассоциативных проекций модели.

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

    Пятая группа — объекты и алгоритмы конвертеров, которые обеспечивают обмен данными с другими системами.

Какие характеристики есть у ядер? По каким критериям их вообще можно сравнивать?

Прежде всего, геометрическое ядро характеризуется функциональностью, то есть набором выполняемых функций, операций, вычислений и других возможностей, предоставляемых системе геометрического моделирования. Другими его характеристиками являются скорость и надежность работы. От геометрического ядра в значительной степени зависит качество всей системы.

Для нас, разработчиков, большое значение имеют структурированность геометрического ядра, простота и понятность алгоритмов. Эти качества позволяют развивать ядро при минимальных затратах времени и других ресурсов.

Какова доля ядра в готовом продукте?

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

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

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

Появление терминов «поверхностное моделирование» и «твердотельное моделирование» обусловлено некоторыми особенностями последовательности и методов построения модели.

В поверхностном моделировании создают и модифицируют требуемым образом поверхности, описывающие отдельные элементы моделируемого объекта. Затем путём сшивки из полученных поверхностей собирают модель. Поверхностное моделирование позволяет сосредоточить усилия на сложных формах. В поверхностном моделировании действия выполняются над множеством точек, описывающем поверхность моделируемого объекта.

В твердотельном моделировании работа идёт с множеством точек, расположенных на поверхности моделируемого объекта и внутри него. Процесс построения модели начинается с создания модели простой формы. Далее модель изменяется необходимым образом.

В геометрическом моделировании также применяется процесс построения модели похожий на лепку. Для этого может использоваться модель любой стадии готовности: заготовка простой формы или почти готовая модель. Подобные возможности еще предстоит реализовать в нашей системе. Основы для этого заложены.

Вы пишите единственное в стране ядро для САПР. Что это для Вас значит?

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

Развивать геометрическое ядро мирового уровня не только сложно, но и чрезвычайно интересно. Мы гордимся результатами своего труда и получаем от него удовольствие.

Какое образование имеют специалисты, работающие над ядром? Куда пойти учиться, чтобы работать у вас?

Нашу область знаний мы называем геометрическим моделированием. Оно опирается на такие области математики, как дифференциальная геометрия и численные методы. Для практической реализации идей нам необходимо программирование.

Над геометрическим ядром работают специалисты с высшим техническим образованием, владеющие языком программирования С++, численными методами и знаниями высшей математики. Перечисленные знания можно получить в любом высшем техническом учебном заведении. Для нас важно, чтобы специалист имел опыт программной реализации численных методов и умение применять знания высшей математики для решения практических задач. Получить указанные опыт и умение можно во время учебы в вузе или во время работы после его окончания.

Расскажите о команде ядра.

В нашей команде работают как опытные специалисты, так и молодые сотрудники. Это выпускники МФТИ, МГУ им. Ломоносова и других вузов. «Костяк» команды составляют Александр Максименко, Андрей Пенкин, Юрий Козулин. Каждый из них отвечает за важный участок работы. Мы постоянно ведем поиск талантливых специалистов, которые могли бы развивать новые направления.

Человек ядра

Николай Голованов родился в Берлине, где служил его отец-офицер. Как и все семьи военных, они часто переезжали: Давлеканово, Патрикеево, Борисоглебск, Балашов. Среднюю школу Николай окончил в польском городе Шпротава. Поступил на машиностроительный факультет МВТУ им. Баумана и получил специальность конструктора космических ракет-носителей. Затем пришел в Конструкторское бюро машиностроения (г. Коломна), где работали будущие основатели АСКОН Александр Голиков и Татьяна Янкина и которое стало прародиной системы КОМПАС. Николай Голованов занимался прочностью: готовил эксперименты, выполнял расчеты, в том числе и с использованием вычислительных машин. В то время многие КБ и НИИ вели разработки прикладных программ, автоматизирующих работу своих предприятий. В КБМ разрабатывались системы, позволяющие с помощью компьютера выполнять различные инженерные расчеты и строить чертежи. Помимо других работ, Николай Николаевич разрабатывал программу для анализа прочности и устойчивости оболочечных конструкций.

В 1989 году Александр Голиков и Татьяна Янкина ушли из КБМ и создали компанию АСКОН. И хотя начиналось всё с электронного кульмана, уже тогда они задумывали систему трехмерного параметрического моделирования, которая позволила бы фиксировать конструкторскую мысль не в виде плоского чертежа, а в трёхмерной модели. Своими идеями основатели АСКОН поделились с Николаем Головановым, и в1996 году он перешел на постоянную работу в АСКОН.

В то время на рабочих станциях уже функционировали системы твердотельного и поверхностного моделирования. И разработчики КОМПАС мечтали создать что-то подобное и даже лучшее, но на обычном персональном компьютере. Математическими проблемами в АСКОН занимались трое — Юрий Покидов, Владимир Зорин и Николай Голованов. Сегодня из той тройки остался один Николай Николаевич. Владимир Зорин уехал из России, работал в PTC (разработчик Pro/Engineer), потом перешел в SolidWorks. Юрий Покидов скончался несколько лет назад после тяжелой болезни.

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

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

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