Пример реализации компонентно-ориентированной технологии в САПР




Существующие САПР, как правило, имеют модульную структуру. В связи с этим имеются идеи предоставить самим пользователям создавать специализированные САПР под свои специфические требования из отдельных заранее созданных компонентов. Эта идея была реализована в системе CAS.CADE (Computer Aided Software/ Computer Aided Design Engineering) компанией Matra Datavision во второй половине 90-х годов прошлого века и в свое время пользовалась популярностью. Ниже приведено описание системы CAS.CADE.

Система CAS.CADE состоит из нескольких частей. Основными частями являются библиотеки классов и инструментальная среда для создания программного обеспечения (ПО) технических и научных приложений.

Библиотеки (Object Libraries) в CAS.CADE представляют собой специализированные наборы заранее разработанных компонентов на языке C++. Совокупность библиотек имеет иерархическую структуру. Базовые компоненты соответствуют классам объектной методологии. Примерами компонентов являются строки, списки, точки, матрицы, линии, поверхности, деревья, решатели уравнений, операторы сортировки, поиска на графах и т.п. Классы группируются в пакеты (Packages), пакеты — в наборы (Toolkits), наборы — в домены (Resource Domains).

В CAS.CADE выделено несколько библиотек. Во-первых, это библиотеки 2D и 3D моделирования, включающие компоненты для определения, создания и манипулирования геометрическими моделями. Во-вторых, ряд библиотек предназначен для связи с ОС и управления данными, для обмена данными с внешними CAD системами, для создания сеточных моделей и др. Так, в состав библиотеки обмена данными входят конверторы данных из формата CAS.CADE в Express-файл прикладного протокола AP214 стандартов STEP и обратно. Аналогичные конверторы имеются для взаимного преобразования данных из формата CAS.CADE в другие популярные в САПР форматы IGES и DXF/SAT.

Необходимо отметить, что основные приложения, на которые ориентирована CAS.CADE, — это приложения машинной графики и геометрического моделирования, поэтому в системе наиболее развиты библиотеки графических и геометрических компонентов.

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

Набор "Геометрия" включает пакеты канонических геометрических элементов и массивов (множеств) этих элементов.

Пакеты gp, geom2d и geom включают 2D и 3D геометрические элементы (классы), используемые в качестве сущностей в вычислительных процедурах, в том числе в таких операциях, как поворот, отражение, масштабирование и т.п. Примерами элементов могут служить декартовы координаты, точки, векторы, линии, окружности, квадратичные кривые, сферические, тороидальные и конические поверхности, кривые и поверхности Безье, B-сплайнов и др.

Большое число пакетов разработано для выполнения геометрических построений и метрических расчетов. Пакеты gce, GC, GCE2d включают алгоритмы построения сущностей из элементов пакетов gp, Geom, Geom2d, например, построение прямых, дуг окружностей, кривых по заданным параметрам таким, как инцидентные точки, центральные точки и радиусы, параллельные или нормальные прямые и т.п.

Набор "Топология" определяет структуры данных, описывающих связи (отношения) между геометрическими сущностями — классами предыдущего набора "Геометрия". К структурам топологических данных относятся вершины, ребра, линии каркасных моделей, участки поверхности, оболочки — совокупности связанных через ребра участков поверхности, тела — части пространства, ограниченные оболочкой, совокупности тел, в том числе простые конструкции вида частей цилиндра, конуса, сферы, тора. В наборе имеются также средства:

1. для скругления острых углов и кромок, т.е. формирования галтелей постоянного или переменного радиуса;

2. для поддержания непрерывности при сопряжении разных поверхностей;

3. для метрических расчетов — определения длин ребер, площадей участков поверхности, объемов тел, центров масс и моментов инерции.

В подсистему "Тестирование" входят командный язык TCL (Test Command Language), на котором задается программа тестирования и просмотра библиотечных компонентов, интерпретатор TCL и 2D/3D визуализатор. В TCL имеются обычные для языков программирования команды, такие как присвоение значения переменной, организация цикла, условный переход, так и специальные команды. Среди последних выделяют базовые, геометрические и топологические команды. Примеры базовых команд: задержка при исполнении программы (например, при презентациях), обращение к файлу, вывод на экран координат и других параметров геометрических объектов, создание окон для различных видов, масштабирование изображения, его поворот, установка цвета, выделение на экране одного заданного объекта и т.п. С помощью геометрических команд выполняют создание и модификацию кривых, поверхностей, геометрические преобразования типа поворота или зеркального отражения, вычисления координат, кривизн, производных, нахождение точек пересечения линий и поверхностей. Аналогичные действия производят по отношению к топологическим объектам с помощью топологических команд.

Инструментальная среда CAS.CADE включает интегрированную оболочку, подсистему проектирования пользовательского интерфейса, а также ряд многократно используемых специализированных программ, таких как 2D и 3D моделлеры, подсистема управления данными, прикладные программы анализа и т.п.

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

Для проектирования пользовательского интерфейса в CAS.CADE имеются специальные языковые и программные средства. Язык проектирования диалога состоит из команд создания интерфейса и доступа к компонентам.

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

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

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

В структуре прикладной программы, создаваемой в среде CAS.CADE, можно выделить диалоговый модуль (модуль пользовательского интерфейса GUI — Graphic User Interface), модуль связи с прикладной частью и собственно прикладную часть, включающую отобранные компоненты и БД, зависящую от приложения

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

С помощью CAS.CADE создают специализированные приложения (прежде всего специализированные САПР) с сравнительно малыми затратами времени и средств.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-11-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: