Корейцы купили российское геометрическое ядро для сапр. Общая структура ядра CAD, или CAD для "самых маленьких" требования к пмк управления процессом проектирования

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

Баранов Л.В.

В последнее время на страницах журнала «САПР и графика» развернулась живая дискуссия о геометрических ядрах, их функциональности, использовании этой функциональности в различных CAD/CAM-системах и «потенциале развития» различных САПР. В данной статье мы попытаемся изложить свою точку зрения по этому вопросу.

В настоящее время сложилось единое понимание основной архитектуры современной трехмерной параметрической САПР. В частности, в основе любой системы лежат два важных компонента – параметрическое и геометрическое ядра. Существуют разные взгляды на процедуру взаимодействия этих двух компонент. Главное теоретическое расхождение здесь касается того, какой компонент первичен – геометрический или параметрический. В первом случае мы получаем систему геометрического моделирования, во втором – систему параметрического моделирования, то есть систему, базирующуюся на конструкторскотехнологических элементах (feature-based). Первому принципу соответствуют системы CATIA

и Unigraphics, второму – SolidWorks, Solid Edge, Pro/ENGINEER. Конечно, это деление достаточно условно и приведено здесь лишь как иллюстрация того, какие подходы используются сегодня архитекторами САПР при разработке своих систем. На практике иногда имеет место архитектурный симбиоз разных подходов, но идеология любой системы и, как следствие, её функциональность и «потенциал развития» во многом определяется именно архитектурными решениями разработчиков.

Рис.1 T-FLEX CAD на ядре Parasolid позволяет создавать большие сборки и сложные модели

Рассмотрим подробнее ситуацию с геометрическими ядрами, оставив пока в стороне геометрические процессоры. О том, какие промышленные ядра сейчас присутствуют на рынке, написано достаточно много, так что не будем повторяться. Интереснее другое. История САПР насчитывает уже, по меньшей мере, сорок лет. За это время практически все известные фирмы неоднократно предпринимали попытки разработки собственных ядер. Специалисты, работающие в САПР не один десяток лет, помнят Unigraphics на собственном ядре, первые версии продуктов Autodesk на ядрах, отличных от ACIS – был же Autodesk Mechanical Extension

(AME)! Не говоря уже о том, что ядра поменяли SolidWorks – со своего на Parasolid и CADKEY - со своего на ACIS. Список подобных примеров довольно обширен. В то же время не приходят в голову примеры, так сказать «обратных замен» - отказа от готового ядра в пользу собственного (недавний пример Autodesk с отказом от ACIS в пользу своего ядра - ShapeManager не показателен, потому что пока это только смена вывески). Возникает резонный вопрос: почему это происходит, по какой причине крупные фирмы идут на значительные затраты, чтобы заменить собственную геометрическую базу на покупное ПО? Причин тому много, однако самая главная заключается в том, что это экономически выгодно и в конечном итоге с лихвой окупает все затраты по переходу. В наукоемкой продукции, каковой является геометрическое ядро, действуют те же тенденции, что и в машиностроительном производстве.

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

Заказать узел у завода, который на них специализируется, гораздо дешевле, чем производить все на одном предприятии. Входит ли стоимость заказного агрегата в стоимость готовой продукции? Безусловно, но она тем меньше, чем больше объемы производства у субподрядчика, и в любом случае существенно меньше содержания целого завода с малыми сериями. В случае геометрических ядер разница в затратах становится ещё больше, а помимо них в дело вступают и другие факторы, как-то: тестирование на сотнях тысяч рабочих мест, учет пожеланий от заказчиков разных областей и т.д. То есть начинает срабатывать феномен промышленного стандарта – человек, проектирующий сложное и ответственное оборудование, будь то двигатель самолета или системы аварийной защиты реакторов, должен быть уверен, что ядро работает с нужной точностью на всем спектре его задач и что до него уже многие пользователи это проверили, а изделия, полученные после моделирования, изготовлены и работают в реальных условиях. Трехмерное моделирование радикально отличается от подготовки чертежей на компьютере именно тем, что в оперативной памяти возникает некий электронный образ изделия, по которому будет работать изготавливающий станок, именно этот образ будет основой расчетной модели на прочность и жесткость. Это совсем другой уровень технологии, другой уровень требований и, как следствие, другой уровень трудозатрат на создание ядра. Все современные промышленные ядра это - 300-600 человеко-лет работы коллективов из десятков, а то и сотен квалифицированных инженеров и математиков, собранных со всего мира в 4-5 центрах разработки. Может быть не все знают, что основная группа разработки Parasolid превышает 60 человек, в Spatial Technology один только алгоритм

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

Рис.3 С помощью операции «Тело с параметрическим изменением профиля» можно создавать тела со сложной геометрией

Поэтому при рассмотрении вопроса о том, какое ядро использовать в качестве соответствующего компонента для системы T-FLEX CAD 3D, было очевидно, что попытки повернуть время вспять малопродуктивны. Базироваться надо на известных ядрах и предоставлять пользователям системы максимальную функциональность в области моделирования. Такое решение основано на убежденности, что пользователи системы, вопервых, не должны платить за исследовательский пыл разработчиков, которым вдруг захотелось пройти весь тернистый путь разработки нового ядра с функциями уже существовавших на момент начала работы ядер, а во-вторых, не должны выступать в роли «подопытных» - ведь если что-то пойдет не так, работу придется начинать сначала. Согласитесь, трудно предположить, что у людей, до той поры не разработавших ни одного промышленного ядра, все получиться правильно. Дело в том, что известные ядра созданы не на пустом месте. Костяк подобных команд составляют специалисты, делавшие ядра CATIA, Unigraphics, CADDS, - набившие шишки, но получившие богатый опыт. Именно наличие уникальной команды позволило в свое время PTC довольно быстро разработать свое ядро, которое сейчас известно как Granite One. Начинали же они одновременно с ShapeData – разработчиком первых версий Parasolid и STI – разработчиком ACIS почти 20 лет назад - в 80-е годы. А до этого было малоизвестное ядро Romulus…

К сожалению, в советский период в России так и не было создано свое твердотельное ядро, а строить здание без фундамента можно лишь тогда, когда не собираешься в нем жить…

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

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

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

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

Рис.4 Объединение геометрического ядра Parasolid с параметрическим ядром T-FLEX CAD приводит к эффективным проектным решениям

Как отмечалось выше, любая система ориентирована на определенный класс задач и развивается вместе с этим набором задач. Практика промышленного использования систем показывает, что при всей мощности стандартных ядер существуют различные практические задачи, которые не решаются обычной функциональностью ядер. В качестве простого примера можно привести операцию построения тела по сечениям с заданным трехмерным путем – траекторией центра сечений. В настоящее время такая функциональность отсутствует в Parasolid, однако этот факт не помешал тому, что в системах SolidWorks и T-FLEX CAD 3D

данная функция есть, хотя и работает по разным алгоритмам. Ещё один пример: в T-FLEX CAD 3D версии 7.1 по просьбам заказчиков, проектирующих обувь, была сделана функция «постелить профиль на набор граней табулированного цилиндра без искажений». Такой функции нет в Parasolid, а также в системах «среднего уровня», она имеется только в «больших» системах типа CATIA, Unigraphics, Pro/Engineer. Однако заказчикам она была нужна. То же касается пружин с поджатием и шлифованием и некоторых других функций. Спору нет – быстрое и качественное решение подобных задач во многом стало возможным благодаря мощным базовым инструментам, предоставляемым ядром, но основные алгоритмы все равно разрабатывались программистами и математиками фирмы «Топ Системы».

Есть ещё один вариант подъема решаемых задач на качественно новый уровень - за счет тесной интеграции параметрического и геометрического ядер, когда в ходе построения геометрической формы используется параметрически изменяемая геометрия. Примером таких построений служат «параметрический путь», «параметрический массив» и «параметрическое тело по траектории», реализованные в T-FLEX CAD.

Представленный на рис.4 пример компании Digital Marine Technology, выполненный в T- FLEX CAD 3D является полностью параметрическим - изменяя ширину, длину и высоту борта, а также некоторые другие параметры, можно автоматически получить новые обводы судна. Якорь и якорная ниша также подбираются автоматически.

Можно задать вопрос: «Все ли возможности Parasolid использует T-FLEX CAD?». Ответ на него следует из всего вышеизложенного - T-FLEX CAD использует всё то, что позволяет решать задачи пользователей, применяющих его в своей работе. В конце концов, вряд ли конечного пользователя должна интересовать внутренняя технология САПР. Назначение системы – во-первых, помогать пользователю решать задачи просто и эффективно, а во-вторых, динамично расти вместе со сложностью пользовательских задач. Именно в этом и состоит главное направление развития T-FLEX CAD. Что до геометрического ядра, то чем оно надежнее, быстрее и точнее, тем больше гарантий, что в созданном изделии не будет возникать проблем. Как будет называться ядро, может быть, и не столь важно, важно лишь точно знать, что реакторы, спроектированные при помощи этой математики, работают, а самолеты летают.

09.09.2015, Ср, 16:02, Мск , Текст: Владислав Мещеряков

«Дочка» компании «Аскон» C3D Labs сообщила о продаже лицензии на свое геометрическое ядро C3D южнокорейской SolidEng. В C3D Labs говорят о своем продукте как об одном из пяти самых распространенных коммерческих ядер на рынке.

Продажа ядра корейцам

Отечественный разработчик систем автоматизированного проектирования компания «Аскон» продал права на использование своего геометрического ядра C3D южнокорейской компании SolidEng.

Геометрическое ядро - это совокупность программных средств (библиотек), на основе которых строятся средства проектирования, управления станками с ЧПУ и различного инженерного ПО.

В частности, на ядре C3D базируются несколько продуктов самого «Аскона»: система трехмерного моделирования «Компас-3D», модули «Компас-График», «Компас-Строитель» и др.

Покупатель асконовского ядра компания SolidEng - говорит о себе как о ведущей южнокорейской консалтинговой компании и системном интеграторе, занятом трехмерным проектированием (3D PLM) в автомобильной, аэрокосмической, судостроительной отраслях.

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

Узел, разработанный системой на основе ядра C3D

Секретные условия продажи

Для каких работ SolidEng планирует использовать приобретенное у «Аскона» ядро C3D, корейцы не сообщают. Известно, что соглашение между компаниями не ограничивает число лицензий на ядро в пределах единого центра разработки (таким образом над проектом с применением ядра C3D смогут трудиться неограниченное число разработчиков).

Сумма сделки не раскрывается. Представители «Аскона» говорят, что это - обычная практика для сделок по лицензированию геометрических ядер, которые, как правило, всякий раз заключаются на отдельно оговариваемых условиях.

По информации с официального сайта «Аскон», лицензия на ядро C3D подразумевает ежегодную оплату. При выпуске заказчиком коммерческих продуктов или услуг на базе C3D, он должен ежеквартально перечислять роялти «Аскону». Величина роялти не зависит от стоимости продукта - она фиксированная. В качестве опции «Аскон» предлагает расширенную техподдержку и сопровождение с годовой оплатой.

Вторая похожая сделка

Интересно, что лицензирование ядра SolidEng - не первая подобная сделка, заключенная с южнокорейской компанией: до этого пользователем и дистрибьютором ядра стала компания Solar Tech.

Кроме того, весной 2015 г. о продаже лицензии ядра C3D шведской компании Elecosoft Consultec. Это была первая сделка такого рода в Западной Европе у «Аскона».

Как уточняют в «Асконе», сейчас у компании имеются 17 клиентов-покупателей ядра, среди которых есть РФЯЦ-ВНИИЭФ, частные компании и университеты из России («НТП Трубопровод», «НИП-Информатика», Центр «ГеоС», «Базис-центр», Мордовский государственный университет) и Украины.

C3D как популярный продукт

Непосредственный разработчик ядра - компания C3D Labs, «дочка» «Аскона» и резидент «Сколково».

Представитель C3D Labs Аркадий Камнев причисляет C3D к числу пяти самых известных геометрических ядер, доступных для коммерческого лицензирования. Остальные четыре это Parasolid (разрабатывается Siemens PLM Software), ACIS (Spatial, Dassault Systemes), CGM (Dassault Systemes), а также ядро с открытым кодом Open CASCADE, в создании которого принимает участие центр разработки в Нижнем Новгороде.

Более 20 лет руководил проектами и исследовательскими группами в НИИ ядерной физики МГУ. Затем - развитием новых проектов в Intel Technologies. С 2011 года - директор по науке и технологиям в ИТ-кластере «Сколково». Автор более двухсот научных публикаций и патентов, доктор физико-математических наук, эксперт в «Роснано» и РВК. Совмещает глубокую научную компетенцию с бизнес-экспертизой.

Алексей Ершов, гендиректор компании «Ледас»

В 1999 году пришел в «Ледас» на должность разработчика ПО. Впоследствии стал главным технологом, руководил ключевыми проектами компании в области геометрических решателей. В 2007 году защитил кандидатскую диссертацию в области геометрических ограничений. В 2011 году стал гендиректором группы. Автор 20 научных работ.

Кто разработал

С 1995 года разработкой ядра C3D руководит кандидат технических наук Николай Голованов. Юрий Козулин отвечает за разработку алгоритмов моделирования, Александр Максименко - за разработку решателя геометрических ограничений, Эдуард Максименко - за разработку прикладного ПО. Под их началом трудятся восемь математиков-программистов.

Разобраться со спецификой зарубежных рынков САПР команде C3D Labs помогают иностранные консультанты, специализирующиеся на компьютерном инжиниринге, - Кен Версприлл, Джоел Орр, Ральф Грабовски и другие.

Клиенты и партнеры

Помимо материнской компании «Аскон», в портфеле C3D Labs 16 заказчиков.

Ядро покупают компании различного профиля. Например, Solar Tech использует его в разработке программы для станков ЧПУ, а Elecosoft Consultec - в создании системы моделирования деревянных лестниц.

Коммерческие продукты на базе ядра C3D разрабатывают технологические партнеры C3D Labs - новосибирская компания «Ледас», томская компания Rubius , индийская компания ProtoTech Solutions и южнокорейская Solar Tech. Кроме того, «Ледас» выступает международным реселлером C3D, а Solar Tech - официальным дистрибьютором ядра на рынках Южной Кореи, Китая и Японии.

Аркадий Камнев

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

Как зарабатывают

Условия использования ядра обсуждаются индивидуально с каждым заказчиком. Сначала C3D Labs предоставляет бесплатную тестовую лицензию на 3 месяца, которая предполагает полноценную техподдержку от разработчиков. Дальше клиент выбирает лицензию на внутреннее использование, коммерческое использование или дистрибьюцию. Стартапам и вузам C3D Labs предоставляет ядро на льготных условиях.

Аркадий Камнев

менеджер по продукту C3D Labs

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

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

Конкуренты

На несколько сотен разработчиков САПР в мире приходится два десятка разработчиков геометрических ядер. Большинство ядер предназначено исключительно для внутреннего использования либо для слишком узкого спектра задач. «Геометрических движков немного из-за колоссальной трудности их создания и относительной молодости базовой для сферы автоматизированного проектирования науки - компьютерной геометрии», - объясняют в C3D Labs.

Полноценные САПР сторонние разработчики могут создать на базе всего пяти коммерческих ядер (Parasolid, ACIS, C3D, CGM и Open CASCADE). Лидеры глобального рынка - ACIS от французской Spatial (дочка Dassault Systemes) и Parasolid от немецкой Siemens PLM Software. На их основе разработано большинство мировых систем 3D-проектирования.

Николай Суетин

Геометрическое ядро – наиболее трудоемкий компонент систем трехмерного моделирования. Затраты на его разработку крайне высоки, поэтому на мировом рынке представлено так мало коммерческих ядер. А наиболее функциональные из них принадлежат крупным западным разработчикам САПР. Уже более 10 лет на рынке 3D-компонентов не появлялись новые игроки. Сейчас на этом сегменте лидируют Parasolid (Siemens PLM Software, Германия) и ACIS (Dassault Systemes, Франция).

Кстати, в 2011 году на базе МГТУ «Станкин» началась разработка еще одного российского геометрического ядра - RGK (Russian Geometric Kernel). В 2013 году проект был сдан заказчику - Минпромторгу, но на рынок пока не вышел.

Как говорят в C3D Labs, напрямую их продукт не конкурирует с остальными популярными коммерческими ядрами, заняв промежуточную ценовую нишу.

Аркадий Камнев

менеджер по продукту C3D Labs

ACIS, CGM и Parasolid слишком дороги для многих разработчиков. Да и большие компании не так отзывчивы к нуждам маленьких по их меркам клиентов - что естественно. А для разработчиков инженерного ПО скорость обработки их запросов часто довольно критична. Мы так же функциональны, как лидеры рынка, плюс очень быстро реагируем на запросы наших клиентов. Если говорить об OpenCASCADE, у него другая схема лицензирования. Само ядро предоставляется бесплатно, оплачиваются только сервисные функции. Им обычно пользуются небольшие ИТ-компании и предприятия, которые имеют ограниченные бюджеты на разработку и пытаются обойтись малой кровью.


Рынок ядер

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

Выводы

Алексей Ершов

гендиректор компании «Ледас»

Одно из важных преимуществ команды C3D - открытость, способность и желание учитывать специфические потребности и возможности партнеров. «Ледас» лицензировал C3D для встраивания в свою программную компоненту LGC контроля изменений в 3Д-моделях в том числе потому, что другие производители геометрических ядер не хотели с нами сотрудничать. Они привыкли работать только с производителями конечно-пользовательских продуктов, их типовые договора не учитывают других возможностей, и они не готовы адаптировать свои бизнес-процессы под конкретного клиента. А команда C3D легко пошла нам навстречу. По-моему, C3D Labs удалось найти свою нишу на рынке, а это залог успеха. Речь о компаниях, нуждающихся в качественном геометрическом ядре, которым недостаточно возможностей и производительности бесплатных аналогов, но не готовых платить столько, сколько требуют владельцы Parasolid и ACIS с их многомиллионными оборотами. Причем это достаточно широкий спектр компаний, в который попадают и разработчики САПР, и промышленные центры, которым C3D нужен для внутренного использования, и производители программных компонент, как моя компания «Ледас».

Николай Суетин

директор по науке ИТ-кластера «Сколково»

Создатели компании C3D Labs работали над алгоритмами C3D более 17 лет. Это позволило им преодолеть высокий порог входа на рынок, недоступный командам без опыта. C3D - единый компонент для решения всех трех задач геометрического моделирования: создание геометрической модели, наложение взаимных связей на элементы модели, конвертация данных. Другого такого универсального компонента на мировом рынке не существует. Инновационность геометрического ядра C3D состоит в использовании уникальных математических алгоритмов, заложенных в основу вычислений. Моделируемые объекты в геометрическом ядре C3D описываются точными математическими поверхностями, что позволяет «бесшовно» соединить их по краям. При этом форма поверхностей может быть сколь угодно сложной. Обрезка и стыковка поверхностей выполняется одновременно с построением модели. Это возможно благодаря оригинальным методам построения геометрической модели и организации данных.

Рекомендации устанавливают общие требования к архитектуре ядра САПР в целом и составляющих его частей. Рекомендации предназначены для использования на всех этапах разработки конструкторско-технологических САПР общемашиностроительного применения.

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР ПО СТАНДАРТАМ
(Госстандарт СССР)

Всесоюзный научно-исследовательский институт
по нормализации в машиностроении
(ВНИИНМАШ)

Утверждены

Приказом ВНИИНМАШ
№ 395 от 16.12.1987
г.

Общесистемное ядро САПР
машиностроительного применения.

Общие требования

Р 50-54-38-88

Москва 1988

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

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

Терминология по ГОСТ 22487-77.

1 . ОСНОВНЫЕ ПОЛОЖЕНИЯ

1.1 . Ядро САПР представляет собой программно-методический комплекс (ПМК «Ядро САПР»), предназначенный для построения объектно-ориентированных автоматизированных проектных процедур конструкторско-технологического проектирования.

1.2 . Автоматизированная проектная процедура, создаваемая с помощью средств ПМК «Ядро САПР», включает операции, выполняемые конечным пользователем.

1.3 . Средства ПМК «Ядро САПР» служат для создания процедуры трех типов.

1.3.1 . Определение объекта. В этом случае при выполнении процедуры в памяти системы последовательно строится информационная структура, отображающая конструкцию проектируемого объекта (детали, сборочной единицы). Конструкция создается из набора конструктивных элементов, ориентированного на данную предметную область.

1.3.2 . Преобразование объекта. Процедуры данного типа оказывают такие воздействия на объект, в результате которых происходят изменения его формы, конструкции и (или) масштаба. Операторы преобразования входят в состав ПМК «Ядро САПР».

1.3.3 . Установление отношений данного объекта с другими. Эта процедура позволяет создавать сложные композиции из элементарных объектов путем задания между ними различных типов отношений. Наборы таких отношений, ориентированные на данную предметную область, выполняют средствами ПМК «Ядро САПР». Таким образом, ПМК «Ядро САПР» объединяет совокупность инструментальных и технологических средств построения проектных процедур.

С помощью инструментальных средств создаются по определенной методике объектно-ориентированные компоненты САПР. Технологические средства представляют собой готовые компоненты САПР, актуализируемые конечным пользователем.

1.4 . ПМК «Ядро САПР» должно включать следующие функционально-связанные компоненты: ПМК управления процессом проектирования, управления информационной моделью проекта и ПМК «Базовые процессоры».

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

2 . ТРЕБОВАНИЯ К ПМК УПРАВЛЕНИЯ ПРОЦЕССОМ ПРОЕКТИРОВАНИЯ

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

2.2 . Рассматриваемый ПМК должен осуществлять:

настройку на тезаурус конечного пользователя;

генерирование диалоговых программ на основе формализованного описания сценария диалога;

трансляцию вводимых пользователем заданий на проектирование;

выдачу информации о результатах выполненных заданий, состоянии объекта или процесса проектирования;

корректировку сценария проектирования по его результатам;

подключение проектирующих и обслуживающих средств к комплексу средств автоматизированного проектирования.

3 . ТРЕБОВАНИЯ К ПМК УПРАВЛЕНИЯ ИНФОРМАЦИОННОЙ МОДЕЛЬЮ ПРОЕКТА

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

3.2 . Настоящий ПМК создается по принципам построения систем управления базами данных (СУБД).

3.3 . ПМК призван обеспечивать:

выполнение операций по формированию структуры проектных данных по требованиям пользователя;

манипулирование проектными данными и связями между ними;

выдачу справочной информации о состоянии структуры проектных данных;

физическую организацию проектных данных;

мультидоступ к проектным данным;

восстановление целостности проектных данных при сбоях системы;

обмен проектными данными с внешними базами данных;

ввод информации об объекте проектирования (ОП) на формальном языке, ее контроль и редактирование;

независимость средств СУБД от прикладных ПМК.

4 . ТРЕБОВАНИЯ К ПМК «БАЗОВЫЕ ПРОЦЕССОРЫ»

4.1 . ПМК «Базовые процессоры» предназначен для выполнения процедур обслуживания проектирования.

4.2 . Начальный состав ПМК «Базовые процессоры» ядра САПР включает следующие базовые процессоры: геометрического моделирования, визуализации результатов проектирования; документирования проектных решений.

4.2.1 . Базовый процессор геометрического моделирования призван обеспечивать:

формирование геометрической модели ОП;

преобразование геометрической информации в другие структуры проектных данных;

выполнение геометрических расчетов по вычислению инерционно-массовых, объемных и проекционных характеристик ОП;

подготовку данных для выполнения прочностных, теплофизических и других общетехнических расчетов;

связь с графической базой данных.

4.2.2 . Базовый процессор визуализации результатов проектирования обеспечивает:

отображение затребованной информации об ОП на устройствах графического вывода;

ввод и редактирование графической информации с одновременным внесением изменений в геометрическую модель ОП;

оперативное отслеживание изменений в геометрической модели ОП при визуализации результатов проектирования.

4.2.3 . Базовый процессор документирования проектных решений обеспечивает:

формирование информационных моделей рабочих чертежей проектируемых объектов;

создание информационных моделей спецификаций проектируемых объектов;

выдачу документации о проектных решениях в соответствии с требованиями ЕСКД.

ИНФОРМАЦИОННЫЕ ДАННЫЕ

РАЗРАБОТАНЫ И ВНЕСЕНЫ Институтом технической кибернетики Академии Наук БССР.

ИСПОЛНИТЕЛИ: В.П. Васильев (руководитель темы), В.И. Богданович, А.К. Куличенко, О.И. Семенков, Л.Г. Милькаян.

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

Схематически ядро можно представить, как показано на рис 1.

Рис 1. Структура ядра

Структура данных и топология

Топология определяет отношения между простыми геометрическими объектами, которые могут быть связаны между собой и представлять единый сложный геометрический объект. Структуры данных, используемые для описания объемных тел, обычно делятся на три типа в зависимости от того, какие тела ими описываются.

Первая структура представляет собой дерево, описывающее историю применения булевских операций к примитивам. Журнал операций носит название конструктивное представление объемной геометрии (CSG). А само дерево называется деревом CSG


Рис 2. Дерево CSG

Дерево CSG обладает следующими преимуществами :
· структура данных проста, а их представление компактно, что облег-чает обработку;
· объемное тело, описываемое деревом CSG, всегда является коррект-ным, то есть его внутренний объем однозначно отделен от внешнего. Примером некорректного объемного тела является тело с лишним ребром. Для него деление объема на внутренний и внешний вблизи вершины, к которой подходит это ребро, оказывается неоднознач-ным;
· представление CSG всегда может быть преобразовано к соответст-вующему представлению B-Rep. Это позволяет взаимодействовать с программами, ориентированными на использование B-Rep;
· параметрическое моделирование легко реализуется изменением па-раметров соответствующих примитивов
Недостатки :
· поскольку дерево CSG хранит историю применения булевских опе-раций, в процессе моделирования могут использоваться только они. Это требование жестко ограничивает диапазон моделируемых объек-тов. Более того, оно исключает использование удобных функций ло-кального изменения, таких как поднятие и скругление;
· для получения сведений о граничных поверхностях, их ребрах и свя-зях между этими элементами из дерева CSG требуется сложные вы-числения. К сожалению, сведения о границах нужны для множества приложений, в частности для отображения тел. Для того, чтобы ото-бразить затушеванное изображение или чертеж объемного тела, нужно иметь информацию о гранях или вершинах этого тела. Поэто-му представление CSG является недостаточным для интерактивного отображения тел и манипулирования ими. Другой пример – расчет траектории движения фрезы с ЧПУ для обработки поверхностей те-ла. Для этой задачи нужны сведения о поверхностях, их ребрах и связности. Получить все эти данные из дерева CSG очень непросто.

Из-за этих недостатков разработчики программ, основанных на представ-лении CSG, стараются добавить соответствующие сведения о границах. Такое комбинированное математическое представление называется гибридным и тре-бует поддержания согласованности между структурами данных.

Вторая структура содержит сведения о границах объема (вершинах, реб-рах, гранях) и их соединении друг с другом. Это представление называется гра-ничным представлением (boundary representation - B-rep). Многие структуры B-rep строятся по-разному в зависимости от того, какой элемент считается основ-ным при сохранении сведений о связности.
Допустим, есть тело, представленное на рис. 3.

Рис 3 Дерево CSG

В структуре B-Rep это тело будет выглядеть, как показано в табл. 1.

Табл 1. Представление тела в структуре B-Rep

В каждой строке таблицы ребер хранятся вершины, находящиеся на кон-цах соответствующего ребра, а в строках таблицы вершин хранятся координаты всех вершин. Эти координаты обычно определяются в модельной системе ко-ординат, связанной с данным телом. Если убрать отсюда таблицу граней, эту структуру данных можно будет использовать для хранения форм, созданных в системах каркасного моделирования. Структура данных для каркасной модели может использоваться в качестве базовой для систем автоматизированной раз-работки чертежей, если допустить указание двумерных координат для точек.
Структура данных B-Rep выглядит очень простой и компактной. Однако она не используется в развитых системах твердотельного моделирования из-за перечисленных ниже недостатков.
· Структура данных B-Rep ориентирована на хранение плоских много-гранников. Если потребуется сохранить данные о теле с криволиней-ными гранями и ребрами, то строки таблиц граней и ребер придется изменять таким образом, чтобы в них можно было включить уравне-ния поверхности и кривой соответственно (уравнения поверхностей и кривых, а также координаты вершин называют геометрическими данными, тогда как отношения между гранями, ребрами и вершина-ми называют топологическими данными. Данные в любой структуре B-Rep могут быть классифицированы либо как геометрические, либо как топологические). Уравнения для плоских граней сохранять не обязательно, поскольку плоские грани определяются находящимися на них вершинами.
· Грань с внутренними и внешними границами (рис. 4 а) не может быть сохранена в таблице граней, поскольку для нее нужно два списка ребер вместо одного. Такие грани появляются, например, при моделирова-нии объемных тел со сквозными отверстиями. Простым решением этой проблемы является добавление ребра, соединяющего внешнюю и внутреннюю границы (рис. 4 б). В этом случае два списка вершин мо-гут быть объединены. Соединительное ребро называется мостиком или перемычкой (bridge edge) и попадает в список ребер в двух экземплярах.


Рис. 4. Поверхность с двумя границами и метод их обхода
· Количество ребер у разных граней может быть различно (см. табл.1). Более того, невозможно определить заранее количество столбцов (по одному на каждое ребро), которые потребуются для конкретной грани, поскольку это количество может меняться в процессе моделирования. Следовательно, количество столбцов должно сохраняться в виде пере-менной в момент объявления таблицы граней. Работа с таблицей пере-менного размера создает некоторые неудобства.
· Получать сведения о связности непосредственно из данных, сохранен-ных в трех таблицах, может быть довольно утомительно. Представьте себе поиск двух граней с общим ребром в случае граничного представ-ления тела в трех таблицах. Придется просмотреть всю таблицу граней, чтобы найти строки, в которых присутствует нужное ребро. Если нужно найти все ребра, соединяющиеся в конкретной вершине, опять-таки придется просматривать всю таблицу ребер. Легко видеть, что при больших размерах таблиц поиск в них становится крайне неэффективным.

Есть две распространенные структуры данных, которые позволяют избе-жать перечисленные проблемы при сохранении граничного представления объ-емного тела. Это структура полуребер (список граней, каждой из которых со-ответствует двусвязный список ребер, главная роль отводится граням) и структура крыльевых ребер (главная роль отводится ребрам, для каждого реб-ра сохраняется список граней, которым оно принадлежит, ребер, с которыми оно имеет общие вершины, и вершин на его концах).

Третья структура представляет объем в виде комбинации элементарных объемов (например, кубов) – декомпозиционная модель (воксельное представ-ление, октантное дерево – совокупность шестигранников, ячеечное представле-ние).


Рис. 5. Декомпозиционная модель

Математический аппарат

Математический решает ряд задач. Это непосредственное представление кривых и поверхностей, пересчет координат при изменении параметров (это выполняет т.н. параметризатор), а также решение систем уравнений для нахождения пересечения поверхностей и кривых.
Для каждого криволинейного ребра в компьютере хранится либо уравнение кривой, либо эквивалентные характеристические параметры (центр, радиус, вектор нормали к плоскости, в которой лежит окружность, - примеры характеристических параметров, эквивалентных уравнению окружности).
Уравнения кривых можно разделить на два основных типа . К первому типу относятся параметрические уравнения, описывающие связь координат x, y и z точки кривой с параметром. Ко второму типу относят непараметрические уравнения, связывающие x, y и z некоторой функцией.
В САПР чаще всего используются параметрические уравнения кривых и поверхностей. В некоторых случаях точки пересечения кривых удобно искать, если одна из кривых задана в параметрической форме, а другая – в непараметрической. Поэтому в отдельных системах используется преобразование уравнений из параметрической формы в непараметрическую и обратно.
Чаще всего для описания кривых, используемых в программах CAD, используются уравнения третьего порядка, потому что они обладают важным свойством: две кривые, описываемые такими уравнениями, могут быть соединены таким образом, что вторые производные в точке соединения будут равны друг другу. Это означает, что кривизна в точке соединения остается постоянной, отчего кривые кажутся одним целым. Ту же непрерывность можно получить и для кривых более высоких порядков, однако работа с ними требует интенсивных вычислений.
Уравнения поверхностей, как и уравнения кривых делятся на два основных типа: параметрические, связывающие значения x, y и z со значениями параметра (самые распространенные), и непараметрические, связывающие координаты x, y и z непосредственно друг с другом какой-либо функцией.
Расчет точек пересечения кривых необходим для определения границ ксегментов при применении булевских операций. Ксегмент - часть кривой, по которой пересекаются две грани, относящиеся к разным объемным телам. Ксегмент принадлежит обеим граням. Границы ксегмента получаются путем вычисления точек пересечения кривой, ограничивающей пересекающие поверхности, с кривой, по которой пересекаются эти поверхности (относящиеся к разным телам). После получения границ ксегмента нужно сделать еще один шаг, чтобы разделить кривую пересечения в точках пересечения.

Модуль визуализации

Раньше почти все приложения работы с графикой имели свой внутренний графический движок. Сейчас же появились специализированные графические библиотеки.
Конкретное приложение может обращаться напрямую через аппаратно-зависимый драйвер устройства или через графическую библиотеку.
1) Приложение -> драйвер -> Устройство ввода/вывода.
2) Приложение -> Графическая библиотека -> Драйвер -> Устройство ввода/вывода
Недостаток первого подхода – требуется поддержка большого количества видеокарт.
Графическая библиотека представляет собой набор подпрограмм, предназначенных для решения определенных задач. Она основывается на командах драйвера устройства. В современных САПР для визуализации используется библиотека OpenGL.

Набор интерфейсов API

API (Application Program Interface) – интерфейс прикладной программы. Набор таких интерфейсов должен обеспечить взаимосвязь между внешними модулями прикладной программы и низкоуровневыми функциями ядра, а так же между компонентами ядра – различными библиотеками.

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

Литература

1. Ли К. Основы САПР (CAD/CAM/CAE). – СПб.: Питер, 2004. – 560 с.

Поделитесь с друзьями или сохраните для себя:

Загрузка...