3 - 2002

Математическое ядро — «двигатель» САПР

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

САПР и графика: Начнем с определений. Что подразумевается под понятием «математическое ядро»?

Владимир Панченко: Математическое ядро — это набор функций, выполнение которых обеспечивает построение трехмерных моделей. Ядро не самоценно, оно создается для использования в прикладных программах. Доступ к функциям ядра конечному пользователю открывает CAD-система (как правило, через графический пользовательский интерфейс). Кроме того, ядро иногда называют «движком» системы геометрического моделирования. Подобно тому, как двигатель автомобиля определяет «потолок» его скорости, математическое ядро определяет предел функциональных возможностей использующей его САПР.

Евгений Бахин: При использовании множеством продуктов одного и того же ядра в пределе все они имеют одинаковые возможности и ограничения, а различаются только интерфейсом. В этих условиях появление конкурирующего ядра вносит «свежую струю», предотвращающую своеобразный «застой» на рынке.

Александр Голиков: Сегодня в мире существует несколько десятков сравнительно известных математических ядер. Помимо тройки признанных лидеров-«тяжеловесов» (Parasolid от EDS, ACIS от Spatial Corp и Open CASCADE от Matra Datavision) успешно развиваются и менее известные или более молодые геометрические ядра, например такие, как Thinkdesign kernel (think3, Inc.), VX Overdrive (Varimetrix Corp), КОМПАС-3D kernel (АО АСКОН).

С одной стороны, мощь математического ядра, используемого САПР, определяет потенциал системы, с другой — сам факт использования системой известного ядра отнюдь не гарантирует ее качество. Иногда приходится сталкиваться с такой ситуацией: производитель объявляет, что его САПР базируется, например, на ядре Parasolid (что соответствует действительности), и на этом основании ставит ее в один ряд с широко известными мощными системами. А на поверку оказывается, что в данном продукте не «открыты» для пользователя многие базовые функции.

СГ: Расскажите, по каким причинам компания АСКОН приняла решение о разработке собственного математического ядра для трехмерного моделирования?

Е.Б.: Хочется отметить, что политика лицензирования ядер ACIS и Parasolid ориентирована на производителей и потребителей ПО в странах с развитой экономикой и не способствует их широкому распространению в наших экономических условиях (разумеется, речь идет о легальном использовании САПР на базе этих ядер).

При использовании покупного ядра его стоимость «закладывается» в цену продукта. Даже за написание модулей импорта-экспорта в форматы покупных ядер нужно платить немалые деньги.

Ядро собственной разработки более гибко и управляемо, изменения вносятся в него настолько оперативно, насколько это требуется самому разработчику САПР. При использовании собственного ядра доля его стоимости в цене готового продукта, как правило, минимальна. Она не зависит от изменений лицензионной политики стороннего разработчика.

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

А.Г.: В дополнение к предыдущему ответу — по имеющейся у нас информации, производители САПР нередко сталкиваются с ошибками как в ACIS, так и в Parasolid. То есть покупное ядро не означает сверхнадежности. А исправлять свои ошибки проще и быстрее.

СГ: Как вы считаете, необходимо ли сегодня в России заниматься разработкой «национального» геометрического ядра?

Е.Б.: Да, необходимо. Но скорее не ради реализации национальной идеи, а для изменения распределения сил игроков в сфере САПР.

Пользователю в первую очередь важна функциональность, а не национальность ядра. Никто не будет покупать ядро (или базирующуюся на нем САПР), если оно ненадежно, а его функционал непригоден для использования, будь оно хоть трижды отечественным. Хотя, безусловно, создание российскими специалистами ядра, способного конкурировать с лидерами (ACIS и Parasolid), послужит укреплению престижа страны в области высоких технологий.

В.П.: Я бы сформулировал вопрос так: фирма, выпускающая САПР, должна использовать математическое ядро собственной разработки или покупное (лицензированное)?

А.Г.: Система должна прежде всего надежно выполнять декларированные функции. Если она это делает, то пользователю по большому счету все равно, какое ядро внутри, главное — решить свою задачу. Таким образом, использование собственного ядра или покупного — это вопрос закладываемого в систему функционала и цены продукта. Ну и, конечно, вопрос своих ресурсов, ведь разработка ядра — чрезвычайно наукоемкая и дорогостоящая вещь. Но если фирма-разработчик нашла средства на его создание — она более свободна в своей стратегии, менее зависит от макроэкономических процессов. Компания ComputerVision была лидером, сейчас ее вообще не существует; где гарантия, что разработчик ядра не станет банкротом или его не купит игрок, не желающий продавать ядро конкурентам?

СГ: Следует ли отечественным разработчикам объединить совместные усилия в этом направлении либо каждому лучше работать самостоятельно?

Е.Б.: Да, усилия объединить стоило бы. И в России есть коллективы, способные на такую работу и выполняющие ее. Собственные разработки в области моделирования используются в таких отечественных продуктах, как КОМПАС, ГеММа, К3, «Кредо», b-CAD.

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

А.Г.: Любой совместный проект такого уровня возможен, но при наличии источника финансирования. Поскольку внешнего финансирования не предполагается, то проект должен оплатить кто-то один. А в коллективный проект сложно поверить, он сейчас нереален.

СГ: Какие отечественные или зарубежные разработки вы считаете наиболее перспективными для дальнейшего развития? Что из них лучше взять за основу?

В.П.: На мой взгляд, самые перспективные ядра — те, которые либо сейчас имеют максимум пользователей («состоявшиеся звезды»), либо отличаются хорошей динамикой развития («восходящие звезды»). В данный момент ядром — лидером первой группы является Parasolid.

Parasolid изначально создавался как ядро САПР, это ядро «обкатывалось» и «шлифовалось» на огромном количестве рабочих мест на конкретных задачах. Ядро ACIS создавалось как некая общая математическая модель — оно слишком универсальное, решает множество общих задач.

А.Г.: Я не вижу большой разницы между ACIS и Parasolid. Если эти продукты конкурируют, — это означает, что отставание одного из них — дело времени. Через год-два ситуация может измениться на противоположную.

Е.Б.: В этой сфере довольно сложно найти цифры и факты, объективно отражающие «прогрессивность». Как известно, сравнивая два продукта приблизительно одного класса, всегда можно сформировать такой набор критериев и цифр, по которым заведомо «победит» один из них. Даже добросовестная и беспристрастная сравнительная оценка ядер в любом случае будет субъективна.

Для компании АСКОН, разумеется, наиболее перспективно собственное ядро КОМПАС, оно же является основой наших дальнейших разработок.

СГ: Сколько, по вашему мнению, потребуется финансовых, временных и человеческих ресурсов? Найдется ли в России коллектив, способный справиться с задачей такого уровня?

В.П.: Вообще говоря, ограничения по всем этим видам ресурсов назвать практически невозможно — чем их больше, тем лучше. Если говорить об определенном уровне функциональности и надежности, необходимом для выполнения большинства задач машиностроительного проектирования, то для разработки ядра «с нуля» до этого уровня потребуются приблизительно 20 человек и около 5 лет работы.

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

СГ: Потребуется ли государственная поддержка и финансирование проекта?

А.Г. Давайте не строить иллюзий. У нашего государства, к сожалению, нет денег на подобные внутренние инвестиции.

СГ: Удастся ли, по вашему мнению, в разумные сроки создать конкурентоспособное ядро, сопоставимое по функциональности с Parasolid?

В.П.: Если принципиально поставить цель реализовать тот же набор функций, что и Parasolid, то ее можно достичь в короткие сроки. Однако гораздо большую проблему составляет не собственно количество функций, а надежность их работы, «отшлифованность» ядра. А этого невозможно добиться только усилиями тестеров компании-производителя. Доказательством конкурентоспособного функционала и высокой надежности ядра может быть исключительно его успешное практическое применение в САПР на реальных рабочих местах. Иными словами, недостаточно написать ядро с тем же набором функций, как у Parasolid, и преподнести его мировому сообществу. Пока оно себя не зарекомендует положительно (хотя бы в САПР, изготовленных самим разработчиком этого ядра, как это было с Parasolid), его не будут покупать и использовать сторонние компании.

А.Г.: Что касается функциональности — несомненно. Но даже если закрывать в математическом ядре 90% функционала Parasolid и на базе этого ядра построить продукт, закрывающий 80-90% задач клиента — это тоже хорошее достижение. Ведь есть еще и такой параметр, как цена продукта, и если она в 2 раза ниже, а задачи подавляющей части клиентов успешно решаются, система будет занимать огромную нишу на рынке. Ведь есть задачи различной сложности, для них были, есть и будут решения различной весовой категории. А со временем дистанция между ними будет сокращаться.

Кстати, отличный пример сказанного — то, как руководители SolidWorks Corp позиционируют SolidWorks относительно системы CATIA компании Dassault Systemes.

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

Надо понимать, что при выборе лицензионного ПО (как и при покупке любого фирменного товара) решающим фактором является соотношение «цена/качество».

Мы имеем множество примеров, когда предприятие покупает несколько рабочих мест САПР «тяжелого» класса (Unigraphics) для выполнения наиболее сложных задач моделирования и десятки лицензий на систему КОМПАС-3D для решения оставшихся 80-90% задач на рабочих местах всех конструкторов. И такая связка всегда работает успешно. А вот случаи, когда все рабочие места на предприятии оснащены исключительно Unigraphics и в этой системе проектируются все изделия, вплоть до втулок и манжет, нам неизвестны (разумеется, речь идет об отечественных предприятиях).

СГ: Как разумнее распорядиться ядром? Может, сделать его открытым для всех разработчиков?

А.Г.: Это ведь бизнес, посмотрите, как его ведут владельцы Parasolid или ACIS. Все зависит от перспектив сбыта ядра после его открытия. В России игроков рынка CAD/CAM можно пересчитать по пальцам, и в настоящее время отсутствуют перспективы сбыта ядра, окупающие затраты на открытие.

СГ: Целесообразна ли разработка в России САПР высокого уровня для сквозного проектирования? Будет ли она конкурентоспособна?

А.Г.: Все продукты будут постоянно развиваться, это закон рынка. И уровень отечественных продуктов будет все время повышаться, иначе не выжить в конкурентной борьбе. Но понятие сквозного проектирования (сейчас примеры в полном понимании этого слова отсутствуют, можно говорить о степени близости модулей) отражает не только функционал продуктов, но и их интеграцию. Вряд ли идея получения «всего в одном флаконе» жизнеспособна, более перспективна компонентная модель с взаимозаменяемыми модулями.

В.П.: В принципе, в мире нет ни одной САПР высокого уровня для сквозного проектирования, полностью разработанной одной компанией. Даже у системы Unigraphics (которая, вероятно, подразумевается в данном вопросе в качестве образца) модули CAE, и не только они, лицензированы (разработаны не самой компанией EDS).

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

СГ: Как вы оцениваете сегодняшний уровень функциональности геометрического ядра КОМПАС-3D? Если возможно, было бы интересно провести параллели и сравнения с ACIS, Parasolid и CATIA.

В.П.: Наше ядро достаточно близко к этим ядрам по функционалу. В момент, когда начиналась разработка ядра КОМПАС (это было 5 лет назад), функциональность Parasolid была примерно такой, как функциональность нашего ядра сейчас.

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

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

СГ: Применяете ли вы решения, которые можно считать уникальными?

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

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

Именно поэтому основной упор в развитии ядра КОМПАС мы делаем на повышении надежности и быстродействия самых «ходовых» операций, разумеется, не забывая при этом и специфические, сложные функции.

СГ: С какими основными сложностями столкнулась ваша компания при разработке своего ядра?

Е.Б.: На первом этапе разработки это были отсутствие опыта подобной работы и определенная ограниченность материальных ресурсов — фактически вся прибыль от продажи редактора конструкторской документации КОМПАС-ГРАФИК инвестировалась в разработку нового математического ядра, не обеспечивавшую, естественно, в тот момент сиюминутной экономической отдачи.

Однако эти инвестиции впоследствии полностью оправдали себя благодаря усилиям квалифицированных математиков и программистов компании АСКОН. У нас работают лучшие российские специалисты в области 3D-моделирования. Кстати, в феврале в издательстве «Физматлит» (бывшее «Наука») выходит книга ведущего математика нашей компании Николая Голованова «Геометрическое моделирование». Надеемся, что она окажется полезной для широкого круга математиков и программистов, работающих в данной сфере.

СГ: Каковы дальнейшие направления развития математического ядра КОМПАС-3D?

В.П.: В очередной рабочей версии ядра уже реализован ряд функций поверхностного моделирования, в настоящий момент идет их тестирование. Совершенствуются конверторы, позволяющие обмениваться данными с САПР на базе ядер Parasolid и ACIS.

А.Г.: Мы не преследуем цель сделать ядро КОМПАС мощнее, чем Parasolid. Для нас главное — сделать КОМПАС-3D продуктом, успешно решающим подавляющее число задач заказчиков.

Е.Б.: Если ваш автомобиль обгоняет конкурента на трассе, так ли уж для вас важно, как именно сконструирован двигатель, скрытый под капотом? Раз машина быстра и хорошо управляется, значит, и двигатель в ней явно неплох.

Беседу провел Константин Евченко

«САПР и графика» 3'2002

Регистрация | Войти