Научная статья на тему 'Представление модели в среде построения функционально адаптированных САПР на базе Open cascade'

Представление модели в среде построения функционально адаптированных САПР на базе Open cascade Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
205
39
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ / АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ / САПР / CASE ИНСТРУМЕНТАЛЬНЫЕ ТЕХНОЛОГИИ / ФУНКЦИОНАЛЬНО АДАПТИРОВАННАЯ САПР

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Горбачев Иван Владимирович, Похилько Александр Фёдорович

Рассматривается подход к представлению модели в среде построения функционально адаптированных САПР. Представлено описание графического ядра Open CASCADE

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Горбачев Иван Владимирович, Похилько Александр Фёдорович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Представление модели в среде построения функционально адаптированных САПР на базе Open cascade»

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

УДК 658.512.22

И. В. ГОРБАЧЕВ, А. Ф. ПОХИЛЬКО

ПРЕДСТАВЛЕНИЕ МОДЕЛИ В СРЕДЕ ПОСТРОЕНИЯ ФУНКЦИОНАЛЬНО АДАПТИРОВАННЫХ САПР НА БАЗЕ OPEN CASCADE

Рассматривается подход к представлению модели в среде построения функционально адаптированных САПР. Представлено описание графического ядра Open CASCADE.

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

ВВЕДЕНИЕ

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

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

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

ОБЩАЯ КОНЦЕПЦИЯ СРЕДЫ ПОСТРОЕНИЯ ФУНКЦИОНАЛЬНО АДАПТИРОВАННЫХ САПР

Для выхода из сложившейся ситуации предлагается обмениваться результатами в виде ис-

© И. В. Горбачев, А. Ф. Похилько, 2007

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

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

ОПИСАНИЕ OPEN CASCADE

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

цина, трёхмерная картография, оптика, разработка дизайна внешних форм изделий и т. д.[3].

Open CASCADE представляет собой мощный инструмент разработчика универсальных и специализированных программных решений [3]. Родственные классы Open CASCADE сгруппированы в пакеты (Package) для предотвращения конфликта имён (рис. 1). Так, имена классов имеют префикс, соответствующий имени пакета. В свою очередь пакеты сгруппированы в библиотеки (Library), которые используются при компоновке приложений. Все библиотеки сгруппированы по функциональному назначению в соответствующие модули (Module).

Module

Librar/

Package

Class

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

Open CASCADE содержит шесть основных модулей:

Foundation Classes Modeling Data Visualization Modeling Algorithms Data Exchange Application Framework

Foundation Classes содержит базовые классы библиотеки CASCADE и математические средства для работы с ними, такие как:

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

базовые типы, такие как Boolean, Character, Integer и Real;

базовый класс управления исключениями; потоки, используемые в С++; классы строк, предоставляющие возможность работать как с символами ASCII, так и с форматом Unicode;

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

классы векторов и матриц, содержащие вещественные значения и поддерживающие операции сложения, умножения, транспонирования и определения обратных матриц;

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

ции многих переменных, решать системы уравнений и многое другое.

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

создавать 20-геометрические; создавать ЗО-геометрические объекты; использовать математические методы при создании и анализе геометрических объектов (методы аппроксимации и интерполяции кривых и поверхностей, анализ положения точки на геометрических объектах), основанные на методах описания сплайнами Безье и В-сплайнами;

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

В модуль Modeling Algorithms вошли классы, с помощью которых можно управлять топологическими геометрическими образами и выполнять над ними операции, такие как:

создание топологических объектов из геометрических примитивов;

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

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

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

создание объектов с сохранением истории построения.

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

Наряду с функциями отображения геометрических образов в модуле реализованы функции выбора объектов в интерактивном режиме.

В модуле Data Exchange содержатся классы, позволяющие сохранять и читать информацию об объектах в таких форматах, как IGES и STEP.

Модуль Open CASCADE Application Framework использует архитектуру «документ-

представление» и упрощает разработку приложения благодаря:

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

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

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

чтению и использованию моделей, созданных в других CAD-системах;

использованию механизма сохранения и восстановления данных, в том числе и при использовании связей с другими документами; использованию функции Undo-Redo. Графическое ядро Open CASCADE построено по такому принципу, что позволяет пользователю вносить изменения в исходный код любой из его библиотек. Таким образом было предложено по возможности пересобрать библиотеки базового модуля и модуля Modeling Data по принципу «одна функция - одна библиотека».

ПРЕДСТАВЛЕНИЕ МОДЕЛИ Любая САПР геометрического моделирования предполагает хранение и представление данных о модели. С другой стороны, поставленная задача требует параметризации модели. Одним из путей решения данной проблемы могло быть протоколирование действий пользователя, и параметризация данного протокола, то есть принцип, используемый при создании внешних систем по отношению к Solid Works, то есть, когда приложение использовало записанный макрос Solid Works, затем на этапе повторного использования в макросе подставлялись необходимые значения требуемым параметрам. Но средствами только графического ядра Open CASCADE сделать это было невозможно.

Следовательно, для решения задачи требовалось найти другой путь. Решение было найдено путём представления модели в виде дерева построения (рис. 2).

Каждая модель состоит совокупности простых тел, находящихся в определённом взаимодействии между собой. Для примера рассмотрим рис. 2, модель которого условно строится из трёх тел, хотя реально третье тело строится путём операции между двумя первыми телами - вырез из тела Т1 тела Т2. В свою очередь, каждое из этих двух тел получается следующим образом: тело Т1 получается путём построение контура эскиза, последующего преобразования контура в поверхность и преобразования поверхности в тело посредством, например, операции вытягивания.

Рис. 2. Дерево построения

Для получения контура эскиза строятся, допустим, три линии. Для преобразования контура из трёх линий в поверхность требуется выполнить операцию преобразования замкнутой последовательности линий в контур (так требует принцип работы Open CASCADE). Затем полученный контур можно преобразовать в поверхность, и затем уже применить к поверхности операцию вытягивания.

Аналогично происходит построение и второго тела. Следующим шагом является операция Вырез (Т1, Т2), в результате которой получается тело ТЗ, которое по сути и является требуемой моделью.

Решение вопроса стало возможным по следующим причинам:

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

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

Таким образом, внутренне представление данных определяется следующими множествами объектов:

Множество Тел, Тела{Тело1 <ID, Name, ID-Model, Des, Nom, Num>};

ID - уникальное число-идентификатор: Name - имя тела;

IDModel - идентификатор модели, к которому относится данное тело;

Des - комментарии;

Nom - номер тела по порядку, в модели которой оно принадлежит;

Num - количество операций, из которых создаётся данное тело;

Множество Операций, Onep{Onepi <ID, ТуреГО, IDSolid, Name, Des, Nom, Num>};

ID - уникальное число-идентификатор операции;

ТуреЮ - идентификатор типа операции;

IDSolid - идентификатор тела, которому принадлежит данная операция;

Name - имя операции;

Des - комментарии;

Nom - номер операции по порядку, в теле которому она принадлежит;

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

Множество Переменных Операции, ПО-nep{ÎIonepi <ID, Name, Des, IDOper, TypelD, Nom, IsConst, Value, VarNodeID>};

ГО - уникальное число-идентификатор переменной операции;

Name - имя переменной операции;

Des - комментарии;

IDOper - идентификатор операции, которой принадлежит данная переменная;

ТуреГО - тип переменной операции;

Nom - номер переменной по порядку;

IsConst - переменная является константой (если значение флага TRUE), если ИСТИНА, то всегда присваивается значение из графы Value, в противном случае берется значение переменной узла, которому принадлежит ;

Value - значение переменной, в случае если флаг IsConst равен ИСТИНА;

VarNodelD - идентификатор переменной узла, с которой связанна данная переменная операции, если флаг IsConst равен ЛОЖЬ;

МЕХАНИЗМ ФУНКЦИОНАЛЬНОЙ АДАПТАЦИИ

По завершению разработки проекта вызывается процедура компиляции исполняемого модуля.

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

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

Затем по информации об использованной функциональности к программному модулю копируются необходимые файлы библиотек. И, наконец, создаётся база данных новой ФА САПР, в её таблицы копируется информация из базы данных системы, относящаяся непосредственно к данному проекту.

ЗАКЛЮЧЕНИЕ

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Похилько, А. Ф. Технология представления проектной деятельности в интегрированной среде САПР / А. Ф. Похилько // Вестник УлГТУ. Сер. Информационные технологии. - 2000. - №3.

2. Похилько, А. Ф. Построение модели классов объектов и типовых методик проектирования в интегрированной интероперабельной среде САПР / А. Ф. Похилько // Вестник УлГТУ. Сер. Информационные технологии. - 2001. - №4.

3. Бычков, И. Инструмент для разработки корпоративной САПР / И. Бычков, В. Прусенко, А. Мазурин // САПР и графика. - 2001. - №8.

Горбачев Иван Владимирович, аспирант кафедры САПР УлГТУ\ Имеет работы в области информационных технологий. Похилько Александр Фёдорович, кандидат технических наук. Профессор кафедры «Системы автоматизированного проектирования» (САПР) УлГТУ. Имеет статьи в области информационных технологий построения САПР, о методах и моделях принятия решений.

i Надоели баннеры? Вы всегда можете отключить рекламу.