Геометрическое ядро – основа САПР
Геометрическое ядро - набор правил, объектов, интерфейсов, отвечающих за внутреннее представление модели и ее преобразования. Решение проблемы зависимости российского программного обеспечения от иностранных разработок, повышение конкурентоспособности.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 20.04.2019 |
Размер файла | 93,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Геометрическое ядро - основа САПР
Волкова С.Л.,
Воробьева И.В.,
Копорушкин П.А.
В настоящее время разработано огромное количество систем автоматизированного проектирования, которые помогают инженерам-конструкторам значительно сократить время на разработку изделия и обеспечить его высокое качество. Ежегодно количество таких систем растет, а их функционал становится все более сложным.
Основным компонентом САПР является геометрическое ядро, которое представляет собой набор правил, объектов, интерфейсов, отвечающих за внутреннее представление модели и ее преобразования.
В геометрическом ядре выделяют следующие модули:
1. базовые типы и операции;
2. моделирование топологии граничного представления;
3. геометрические объекты и операции над ними;
4. булевы операции и операции редактирования поверхностей;
5. удаление невидимых линий и рендеринг;
6. модули для чтения и записи геометрических файлов популярных форматов.[1]
Чаще всего ядра разрабатываются специализированными программными фирмами, и для того, чтобы сократить время на выпуск очередной САПР, можно приобрести лицензию на использование желаемого ядра. Главный плюс такой покупки заключается в том, что разработчик САПР может уделить все свое внимание функциям самой системы и не отвлекаться на сложные алгоритмы вычислительной геометрии. К тому же, создатели ядер не стоят на месте и используют самые современные алгоритмы для повышения конкурентоспособности своей продукции, что позволяет ей являться основой мощнейших САПР.
К сожалению, представленные на рынке CAD-продуктов системы автоматизированного проектирования, основаны на ядрах и технологических компонентах зарубежных разработчиков.
Ниже представлена сводная таблица геометрических ядер, распространенных на сегодняшний день.
Ядро |
Год |
Разработчик |
Страна |
САПР, использующие ядро |
|
ACIS |
1989 |
Spatial (Dassault Systemes) |
США |
ADEM 9.0, Bricscad V14, Creo Elements/Direct 6.0(частично), IRONCAD 2014 neXt Generation, KeyCreator 13.5.2, TurboCAD 21, SpaceClaim |
|
Parasolid |
1989 |
Siemens PLM Software |
США |
IRONCAD 2014 neXt Generation, MicroStation V8i 8.11.x, NX 10, Solid Edge ST7, SolidWorks SP1, T-FLEX 14 |
|
SMLib |
1998 |
Solid Modeling Solutions |
Япония |
- |
|
Open CASCADE |
1999 |
OPEN CASCADE (Areva) |
Франция |
CAD-Schroer MEDUSA4 5.1.2, FreeCAD 0.15 |
|
GRANITE |
2001 |
PTC |
США |
Creo Elements/Pro (Pro/Engineer) Creo 3.0 |
|
SOLIDS++ |
2004 |
IntegrityWare |
США |
Rhino 5.0 (частично) |
|
CGM |
2010 |
Dassault Systemes |
США |
CATIA V6, SolidWorks SP1 |
|
С 3D |
2013 |
Аскон |
Россия |
Компас V16 |
|
RGK |
2013 |
Ледас, T-FLEX |
Россия |
- |
Сложившаяся в 2007 году ситуация на рынке CAD-систем, подтолкнула правительство РФ к созданию собственного геометрического ядра, которое помогло бы решить проблему зависимости российского программного обеспечения от иностранных разработок, и повысило конкурентоспособность отечественной продукции. В рамках федеральной целевой программы "Национальная технологическая база" был объявлен тендер на выполнение научно-исследовательской и опытно-конструкторской работы "Создание отечественного лицензируемого программно-математического ядра трехмерного моделирования как базы для компьютерных систем автоматизированного проектирования сложной машиностроительной продукции".[2] Победителем тендера стал МГТУ "Станкин", под руководством специалистов которого проводилась разработка. Само геометрическое ядро впервые было представлено в 2013 году и получило название Russian Geometric Kernel (RGK).
Также в 2013 году известная российская компания Аскон, лицензировала ядро C3D, которое ранее использовалось только для собственных разработок. ядро интерфейс программный
Ядро RGK
Рассмотрим подробнее ряд преимущественных решений, которые были реализованы в проекте RGK.
1. Многопоточность.
Возможность внутреннего и внешнего распараллеливания ядра.
Распараллеливание может быть принудительно отключено или выключено как для всего ядра, так и для его отдельной сессии (документа). Также можно управлять количеством параллельных вычислительных потоков, которые допускается использовать в функциях ядра.
2. Использование вычислений на GPU
Часть вычислений, в зависимости от наличия аппаратных ресурсов, может быть перенесена на устройство GPU (графическую плату или специальный GPU-вычислитель). В таком случае, эти вычисления могут производиться на порядки быстрее, чем на центральном процессоре.
3. Многоплатформенность
При разработке кода ядра были учтены потребности современного парка вычислительных систем, а также перспективы его развития. Компоненты, входящие в состав ядра должны использоваться как на платформе Windows, так и на других платформах (например, Linux-системах).
4. Многодокументность
В модели ядра реализован набор инструментов, управляющий сессией ядра и обеспечивающий передачу информации о текущей сессии по всем функциям, задействованным в вычислениях. Таким образом, разработчики конечных CAD/CAM/CAE приложений, имеют готовую инфраструктуру для реализации работы с несколькими документами, имеющими свой набор трёхмерных объектов (например, тел), разные параметры точности вычислений и других специфичных настроек.
5. Многотельное и гибридное моделирование
Ядро RGK представляет полный набор инструментов для решения задач твердотельного, поверхностного и каркасного моделирования, а также одновременную работу с объектами разных типов. Причём, там, где это возможно, для работы с разными типами объектов модели, используются одни и те же инструменты.
6. Моделирование с управляемой точностью
Все вычисления в ядре выполняются с конечной точностью. В зависимости от типа вычислений используются разные значения точностей:
• Линейная точность используется для сравнения размерных величин. Если расстояние между точками или скалярными величинами меньше этой точности, то такие величины в системе неразличимы.
• Угловая точность используется для сравнения угловых величин.
В пределах этой точности углы неразличимы.
• Относительная точность для сравнения размерных величин на параметрических интервалах кривых и поверхностей. По умолчанию величина относительной точности подобрана с учётом возможной потери точности при преобразовании линейных и двумерных параметров в трёхмерное пространство.
Как и большинство геометрических ядер, RGK, поддерживает параметрическую функциональность в ограниченном объёме. В связи с чем возникает необходимость подключения параметрического ядра, для расширения функциональности разрабатываемых на его основе систем автоматизированного проектирования. В условиях импортозамещения, решатель геометрических ограничений должен быть представлен российской компанией. Самой известной российской разработкой на сегодняшний день является - LGS компании Ледас, но к сожалению права на интеллектуальную собственность в 2011 г. были проданы бельгийской компании Bricsys.
Ядро C3D
Еще одна российская разработка C3D - единственное в мире геометрическое ядро, объединяющее в себе три важнейших модуля САПР:[3]
1. Геометрический моделировщик C3D Modeler: выполняет построение геометрической модели, построение плоских проекций модели, построение триангуляции, вычисление инерционных характеристик модели, определение столкновений элементов модели
2. Решатель геометрических ограничений C3D Solver: обеспечивает взаимосвязи элементов геометрической модели и учитывает геометрические ограничения при редактировании модели
3. Конвертор данных C3D Converter: обеспечивает чтение/запись геометрической модели в основные обменные форматы: STEP, IGES, ACIS, XT, STL, VRML
Разработчику конечного приложения ядро позволяет:
• Улучшить функциональные возможности продукта
• Быстро создать 3D-продукт на основе существующей 2Dсистемы
• Снизить затраты на собственную разработку
• Повысить надежность и быстродействие программного продукта
Заключение
Геометрическое ядро определяет набор функций для создания и редактирования геометрических объектов, визуализации модели. Зачастую проектировщики САПР пользуются геометрическими ядрами сторонней разработки. В настоящее время наблюдается рост интереса отечественных компаний к созданию ядер и имеются конкурентоспособные продукты. Надеемся, что скоро основные компоненты САПР российского происхождения выйдут в лидирующие позиции на мировом рынке и составят основу многих автоматизированных систем.
Литература
1. Вопрос распараллеливания в разработке ядра геометрического моделирования: [Электронный ресурс ] // ООО "Сингулярис Лаб", Волгоградский Государственный Технический Университет. URL: http://academy.hpc-russia.ru/files/05_shapovalov_rgk_cka.pdf
2. Геометрические ядра в мире и в России: [Электронный ресурс ] // Дмитрий Ушаков. URL: http://isicad.ru/ru/articles.php?article_num=15185
3. Геометрическое ядро C3D: [Электронный ресурс ] URL: http://ascon.ru/products/c3d/
Размещено на Allbest.ru
...Подобные документы
Двухсторонний спутниковый интернет и используемое для него оборудование, оценка преимуществ и недостатков использования. Ядро одностороннего спутникового интернета, области его применения и предъявляемые требования. Wi-Fi: история разработок, доступ.
контрольная работа [50,6 K], добавлен 14.12.2014Linux - ядро операционной системы с монолитной архитектурой. Прародители операционной системы Linux, ее стабильные и экспериментальные версии. Процесс внедрения Linux и свободного программного обеспечения в школах и государственных учреждениях России.
реферат [18,2 K], добавлен 19.01.2013Структура и классификация систем автоматизированного проектирования. Виды обеспечения САПР. Описание систем тяжелого, среднего и легкого классов. Состав и функциональное назначение программного обеспечения, основные принципы его проектирования в САПР.
курсовая работа [37,7 K], добавлен 18.07.2012Ядро Windows 98. Роль 16-разрядных модулей ядра. Проблемы быстродействия. Кооперативная и вытесняющая многозадачность. Улучшенное использование ресурсов в Windows 98. Использование WordArt. Программа MS Outlook Express: создание и отправка сообщений.
контрольная работа [120,4 K], добавлен 14.04.2005Понятие и функции систем автоматизированного проектирования (САПР), принципы их создания и классификация. Проектирующие и обслуживающие подсистемы САПР. Требования к компонентам программного обеспечения. Этапы автоматизации процессов на предприятии.
реферат [19,8 K], добавлен 09.09.2015Три группы компонентов в составе современной операционной системы: ядро (планировщик и драйверы устройств), системные библиотеки, оболочка с утилитами. Типы архитектур ядер операционных систем: монолитное, модульное, гибридное, микро-, экзо-, наноядро.
курсовая работа [22,1 K], добавлен 27.05.2014Понятие технологии разработки программы. Основа проектирования программного обеспечения. Модели жизненного цикла, возникшие исторически в ходе развития теории проектирования программного обеспечения. Спиральная (spiral), каскадная и итерационная модели.
презентация [1,0 M], добавлен 11.05.2015Структурная организация операционной системы на основе различных программных модулей. Функции, выполняемые модулями ядра. Модули операционной системы, оформленные в виде утилит. Ядро в привилегированном режиме. Многослойная структура ядра системы.
презентация [705,2 K], добавлен 16.01.2012Задачи разработчиков следующего поколения многопроцессорных и многопоточных процессоров Oracle. Архитектура процессора SPARC T3. Интерфейсы когерентных связей, ядро процессора. Особенности конвейера, интегрированные сети, управление электропитанием.
реферат [1,9 M], добавлен 25.10.2012Основные понятия и определения кодирования информации. Кодовая комбинация и ее длина. Классификация кодов по различным признакам, способы их представления, назначение. Представление в виде кодовых деревьев или многочленов, матричное и геометрическое.
реферат [38,1 K], добавлен 05.08.2009Схемы взаимодействия между заказчиком и разработчиком программного обеспечения. Качество программного обеспечения и определение основных критериев его оценка на современном этапе, особенности управления на стадиях жизненного цикла, анализ достаточности.
презентация [114,7 K], добавлен 14.08.2013История создания, архитектура операционной системы и перечень возможностей, реализуемых в Linux. Инструментальные средства и цикл разработки новой версии ядра. Жизненный цикл патча. Структура принятия решений при добавлении новых функций (патчей) в ядро.
лекция [303,8 K], добавлен 29.07.2012Основные цели и принципы построения автоматизированного проектирования. Повышение эффективности труда инженеров. Структура специального программного обеспечения САПР в виде иерархии подсистем. Применение методов вариантного проектирования и оптимизации.
презентация [259,7 K], добавлен 26.11.2014Понятие программной надёжности объекта. Основные проблемы исследования надёжности программного обеспечения. Аппаратурные отказы. Среднее время безотказной работы. Математические модели. Уравнение для определения значения начального числа ошибок.
презентация [492,2 K], добавлен 08.11.2013Понятие и сущность матрицы. Правила выполнения операций над матрицами. Матричное представление преобразований, составные преобразования. Аффинное преобразование и его матричное представление. Для чего нужна трехмерная графика. Набор библиотек DirectX.
научная работа [181,3 K], добавлен 24.04.2015Понятие и ключевое отличие распределенной разработки программного обеспечения, его достоинства и недостатки. Концептуальное решение и выбор типа разработки. Особенности программного обеспечения с открытым исходным кодом. Идея и развитие Open Source.
курсовая работа [97,7 K], добавлен 14.12.2012Анализ графических пользовательских интерфейсов современных систем оптимизации программ. Создание математической модели и алгоритма системы управления СБкЗ_ПП, ее архитектурно-контекстная диаграмма. Техническая документация программного средства.
дипломная работа [1,1 M], добавлен 18.04.2012Общий календарный план выполнения этапов проекта программного обеспечения. Последовательность разработки согласно классической каскадной модели. Изображение хода работ по спиральной модели согласно Боему. Технические требования на продукт, WBS-структура.
лабораторная работа [614,1 K], добавлен 17.01.2014Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.
курсовая работа [30,4 K], добавлен 29.06.2010Определение параметров линейной зависимости из графика. Метод парных точек. Метод наименьших квадратов. Блок-схема программного комплекса в Microsoft Visual Studio и Microsoft Excel. Инструкция пользователя, скриншоты. Общий вид программного кода.
курсовая работа [2,1 M], добавлен 29.11.2014