Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Методы организации функционального взаимодействия приложений в расширяемых графических САПР Малюх Владимир Николаевич

Методы организации функционального взаимодействия приложений в расширяемых графических САПР
<
Методы организации функционального взаимодействия приложений в расширяемых графических САПР Методы организации функционального взаимодействия приложений в расширяемых графических САПР Методы организации функционального взаимодействия приложений в расширяемых графических САПР Методы организации функционального взаимодействия приложений в расширяемых графических САПР Методы организации функционального взаимодействия приложений в расширяемых графических САПР Методы организации функционального взаимодействия приложений в расширяемых графических САПР Методы организации функционального взаимодействия приложений в расширяемых графических САПР Методы организации функционального взаимодействия приложений в расширяемых графических САПР Методы организации функционального взаимодействия приложений в расширяемых графических САПР
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - 240 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Малюх Владимир Николаевич. Методы организации функционального взаимодействия приложений в расширяемых графических САПР : диссертация ... кандидата физико-математических наук : 05.13.11.- Новосибирск, 2006.- 93 с.: ил. РГБ ОД, 61 06-1/909

Содержание к диссертации

Введение

Глава 1. Обзор существующих архитектурных решений САПР 11

Глава 2. Принципы построения архитектуры расширяемой функционально-геометрической модели САПР 18

2.1 Понятие и структура объектов САПР 18

2.1.1 Общее понятие объекта 18

2.1.2 Ограничения 19

2.1.3 Литеральные объекты 20

2.1.4 Понятие и структура функциональных моделей в САПР 21

2.2 Геометрическое представление объектов 23

2.2.1 Описание геометрии контурных объектов 24

2.2.2 Описание поверхностей 31

2.2.3 Твердые тела 34

2.3 Логическая организация проектных данных 37

2.4 Система управления прикладными данными в моделях объектов 40

2.4.1 Инкапсуляция произвольных прикладных данных 40

2.4.2 Инкапсуляция геометрических трансформируемых данных 42

2.4.3 Активные компоненты функциональной модели 44

2.4.5 Механизмы удовлетворения ограничений 49

Глава 3. Описание программных реализаций системы 52

3.1 Общие технические требования к системе 52

3.2 Дизайн и реализация системы 53

3.2.1 Основные подсистемы и базовые библиотеки 54

3.2.2 Model/View представление 58

3.2.3 Управление Undo/Redo 59

3.2.4 Реализация инструментов 60

3.2.5 Пользовательский интерфейс 60

3.2.6 Реализованные расширения системы 61

3.3 Экспериментальная оценка производительности системы 62

Глава 4. Примеры прикладных решений 69

4.1 Система проектирования промышленных коммуникаций 69

4.2 Моделирование кинематики 71

4.3 Программный стенд для геометрического решателя 72

4.4 Параметрическое моделирование судостроительных конструкций.. 73

4.5 Проектирование и конструирование мебели и торгово-выставочного оборудования 75

Заключение 78

Список использованной литературы

Введение к работе

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

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

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

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

ориентированных на использование в расширяемых системах автоматизированного проектирования промышленных изделий.

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

Основные задачи работы:

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

2. Выбор набора базовых алгоритмов, обеспечивающего расширяемость

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

3. Разработать эффективные методы представления, хранения,
внедрения в проектную базу данных и управления разнородными
данными, статическими ресурсами и активных компонентами

проблемно-ориентированных систем автоматизированного

проектирования.

4. Разработать программный и пользовательский интерфейс для доступа

к интегрированным функционально-геометрическим моделям.

5. Выработать требования и апробировать инструментальные средства

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

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

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

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

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

На основе этих принципов разработана архитектура базовой САПР и осуществлена ее программная реализация.

Практическая ценность работы заключается в том, что:

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

аппроксимации геометрии, так и в виде аналитических или эмпирических описаний.

  1. Предложенная технология обеспечивает внедрение активных компонент в статическую геометрическую модель.

  2. Созданы методы разработки интегрированных проблемно-ориентированных программно-информационных комплексов.

  3. Реализованы базовые и прикладные алгоритмы в виде законченных программных компонент, позволяющих разрабатывать прикладные системы автоматизированного проектирования.

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

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

На защиту выносятся основные положения и результаты, сформулированные в Заключении.

Апробация работы. Результаты работы докладывались и обсуждались на Международной научно-технической конференции "Авангардные технологии, оборудование, инструмент и компьютеризация производства оптико-электронных приборов в машиностроении" (г. Новосибирск, НГТУ 1995), выставках "Компьютерная графика в архитектуре и дизайне" (г. Новосибирск, НАрхИ 1995), ежегодной международной выставке "Сибкомпъютер" (г. Новосибирск, ежегодно с 1995 г), международной выставке СеВ1Т'96 (Ганновер, ФРГ, 1996г), международной выставке SMAU'97 (Милан, Италия, 1997г), научно-технических семинарах ИСИ

СО РАН и кафедры газодинамических импульсных устройств НГТУ, международных конференциях isiCAD-2004 и Graphicon-2005.

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

Новосибирский филиал ОКБ им. Сухого

Институт Прикладной Физики, г. Новосибирск

Концерн БФК, г. Новосибирск

Завод Торгового Оборудования, г. Новосибирск

ГУЛ СК "Краевая техническая инвентаризация", г. Ставрополь

ЗАО «Первая мебельная фабрика», г. Москва.

Новосибирский Государственный Технический Университет

Iowa State University, США

University of Maryland, США

Altendorf GmbH, ФРГ.

Структура и объем работы

Понятие и структура функциональных моделей в САПР

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

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

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

Характеристические признаки соответствуют идентификаторам и указывающим атрибутам объекта[25]. Эти признаки используются для идентификации конкретных объектов внутри объема одного понятия. И, наконец, валентные признаки соответствуют структурным переменным объекта и описывают связь между различными понятиями.

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

Агрегация понятий [21] представляет собой порождение нового понятия путем составления его из ранее существующих компонентов - понятий. Семантически агрегация выражается связью понятий как "часть-целое". Процесс обратный агрегации называется декомпозицией [21]. В ходе декомпозиции исходное понятие расчленяют на множество в конечном итоге независимых понятий. Каждая такая компонента обладает лишь подмножеством признаков исходного понятия. Семантически абстракция декомпозиции выражается связью понятий "состоит из".

Обобщение понятий [21] есть способ порождения нового понятия путем выделения их общих признаков и игнорирования различительных (как правило, более тонких и несущественных). В процессе обобщения происходит переход от понятий меньшего объема к понятиям большего объема с одновременным исключением из исходных понятий признаков, отличающих исходные понятия одно от другого. Для обобщения также возможен обратный процесс, носящий название специализации, заключающийся в делении исходного понятия на несколько более узких понятий. Абстракция обобщения семантически выражается отношением "есть некоторый".

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

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

В качестве базового элемента геометрии в описываемой архитектуре используется пространственный композитный контур (рис 2.1), представляющий собой сложный цельный односвязный объект, состоящий, в общем случае, из произвольной упорядоченной последовательности прямых, эллиптических дуговых и сплайновых сегментов. Сегменты, следующие друг за другом, имеют одну и только одну общую точку. Контур может иметь свойство замкнутости. Такое представление, достаточно традиционное для САПР [3, 9, 25], в описываемой реализации дополнено [23] существенным расширением: в узлах контура определены условия сопряжения сегментов -угол и радиус кривизны. На базе такого универсального описания формируются частные случаи контурных объектов, как двумерных, так и пространственных - окружности, эллипсы, прямоугольники, правильные многоугольники и т.п.

Логическая организация проектных данных

Традиционно в САПР используется одна из двух систем группирования и разделения объектов проекта. Первая, с использованием т.н. слоев [20] сложилась исторически по аналогии с чертежами, элементы которых вычерчены на нескольких листах прозрачного носителя. Наиболее характерным примеров использования такого решения является САПР AutoCAD компании Autodesk [3]. Такой подход позволяет эффективно и интуитивно ясно управлять видимостью элементов в сложных проектах. Следует оговорить, что под видимостью подразумевается понятие более широкое, нежели просто отображение объекта на носителе информации, а именно - набор динамически настраиваемых групповых прав доступа для произвольного набора объектов.

Второй подход представляет собой помещение объектов в иерархическое дерево[24], аналогично тому, как это устроено в файловой системе с директориями и файлами. В качестве примера системы, использующей можно назвать такую САПР как SolidWorks [9]. Этот подход чрезвычайно удобен для описания сборок, особенно в случае использования внешних ссылок на элементы сборок, описанные в отдельных проектах.

В полной мере достоинства обоих методов сочетает предлагаемый в настоящей работе комплексный подход [47], в котором в качестве основной структуры используется сборочная иерархия, а в качестве структуры для управления видимостью и правами доступа к частям проекта как документа -модифицированная иерархия слоев. Суть модификации послойного разделения проекта заключается в том, что любой из объектов сборочной иерархии (как геометрический, литеральный, так и собственно узел дерева) может ссылаться не на один слой, как это реализовано в AutoCAD [3] а на произвольное количество слоев одновременно. Таким образом, расширяется количество возможных комбинаций выставляемых признаков видимости объектов. Под управлением видимостью в данном случае понимается возможность формировать подмножества объектов, используемых как для визуального представления, так и для анализа, выбора и редактирования.

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

Кроме этого, в результате использования древовидной структуры в предлагаемой архитектуре достаточно легко реализуются внешние ссылки на подпроекты, путем сохранения в иерархии объекта типа вставка, то есть ссылки на расположение внешнего проекта [19, 24] с типовой внутренней структурой. В целях достижения переносимости проектов и быстродействия базы данных проекта предусмотрено кэширование экземпляра содержимого блока. Наличие в структуре данных модели внешних ссылок на подпроекты обеспечивает возможность организации коллективной работы над сложными проектами, а также естественное использование библиотечных и стандартизованных элементов.

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

Основные подсистемы и базовые библиотеки

Поведение и свойства остальных объектов остались фактически прежними. Нужно отметить, разделы (слои) предыдущей версии системы в текущей версии системы заменены группами, у которых выставлен дополнительный признак, что для операций пометки, снятия пометки и выбора объектов они как бы не существуют, что совпадает с поведением разделов (слоев) предыдущей версии системы. Такие группы предложено называть - папками (folders), по аналогии с файловой системой. Естественно возможны вложенные папки. Все без исключения папки и группы в модели имеют признаки видимости и "заморожености", что вносит дополнительную гибкость в управление правами доступа к содержимому модели.

Проведённый анализ исходных кодов предыдущей версии системы показал, что во многом производительность подсистемы отображения снижается ввиду неэффективного механизма отсечения объектов видимых в данном окне (полный просмотр всех геометрических объектов модели). На текущий момент реализован более эффективный механизм Model/View представления[58], который не только повышает эффективность при отображении геометрии модели, но также существенно упрощает и ускоряет операции поиска объектов в заданной области окна. Также применённая стратегия позволяет просто и эффективно не только расширять возможности системы по представлению для пользователя геометрии модели, но и реализовать любое произвольное представление всех без исключения объектов модели (например, браузер). Будучи плотно сопряжённым с управлением Undo/Redo, данный механизм позволил также упростить механизм обновления отображений при произвольных изменениях свойств и геометрии. Например, избежать разработки излишнего и часто повторявшегося в различных вариациях кода по обновлению окна в различных инструментах.

Проведённый анализ исходных кодов предыдущей версии системы и опыт разработки текущей версии показали, что во многих случаях основным источником ошибок при работе с Undo/Redo, связанных как с обновлением отображений, так и сохранением истории изменений модели, является неинкапсулированность операций [45]. В основном это проявилось при разработке браузера модели. При большинстве операций по изменению иерархии ОМ или непосредственно объектов модели, помимо всего прочего, требуется прямое или опосредованное резервирование памяти, то есть, возникает ситуация, которой не было в предыдущей версии системы: отображение модели и изменений стало потенциальным источником исключительных ситуаций. Исходя из всего выше сказанного, управление Undo/Redo в системы было перепроектировано с учетом новых требований.

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

Стратегия реализации инструментов, разработка которой начата ещё в предыдущей версии, в текущей версии системы показала правильность исходной идеи. Данный подход позволил сократить объем исходных кодов и привнес в реализацию дополнительную гибкость и структурированность, таким образом, в достаточно большой степени облегчил поддержку разработки интерфейса подсистемы интерактивного редактирования проекта пользователем. Переиспользование объектов-редакторов позволяет также сократить издержки на разработку и поддержание структуры и содержания справки (help). Базовый класс объекта-редактора реализует все необходимые операции по вводу координат, выбору объектов по их положению, поддержку подсказок и выдачу справки.

Программный стенд для геометрического решателя

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

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

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

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

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

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

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