:&:#*%)K* :(*AK & +($5(!%%)$
-%*#$A&F*:,&* ,$%+@*,:K :!+(
5@!"! 5
Развитие CBD-систем возможно в направлении дальнейшего упрощения программирования и,
следовательно, сокращения сроков разработки ПО, однако это происходит за счет снижения степени
универсальности соответствующих инструментальных средств. Такие более специализированные
средства представляют собой группу компонентов, взаимосвязанных некоторым зависящим от прило-
жения образом, и входят в системные среды САПР.
В общем случае компоненты системной среды объединены в несколько сценариев (потоков про-
цедур или маршрутов), в которых выделяются точки входа для вставки специфичных пользователь-
ских фрагментов и расширений. Имеются возможности не только вставки новых фрагментов, но и за-
мены исходных компонентов в потоках процедур на оригинальные с сохранением интерфейса. Собст-
венно многие системы, основанные на применении языков четвертого поколения (4GL), относятся
именно к таким системным средам, в которых последовательности инкапсулированных модулей об-
разуются с помощью операторов 4GL.
"8+/.8 8.:
D+?:=++ 7
4/340.0-04-48+.0-+849:0042 -.604D4@++ 9 *C"%.
Основные идеи
компонентно-ориентированной (объектной) технологии с созданием расширенных специализирован-
ных библиотек компонентов реализованы в системе CAS.CADE (Computer Aided Software/ Computer
Aided Design Engineering) фирмы Matra Datavision.
Система CAS.CADE состоит из нескольких частей. Основными частями являются библиотеки классов и инструмен-
тальная среда для создания программного обеспечения (ПО) технических и научных приложений.
Библиотеки (Object Libraries) в CAS.CADE представляют собой специализированные наборы заранее разработан-
ных компонентов на языке С++. Совокупность библиотек имеет иерархическую структуру. Базовые компоненты соответ-
ствуют классам объектной методологии. Примерами компонентов являются строки, списки, точки, матрицы, линии, по-
верхности, деревья, решатели уравнений, операторы сортировки, поиска на графах и т.п. Классы группируются в пакеты
(Packages), пакеты – в наборы (Toolkits), наборы – в домены (Resourse Domains).
В CAS.CADE выделено несколько библиотек. Во-первых, это библиотеки 2D и 3D моделирования, включающие
компоненты для определения, создания и манипулирования геометрическими моделями. Во-вторых, ряд библиотек пред-
назначен для связи с ОС и управления данными, для обмена данными с внешними CAD системами, для создания сеточ-
ных моделей и др. Так, в состав библиотеки обмена данными входят конверторы данных из формата CAS.CADE в Express-
файл прикладного протокола АР214 стандарта STEP и обратно. Аналогичные конверторы имеются для взаимного преоб-
разования данных из формата CAS.CADE в другие популярные в САПР форматы IGES и DXF/SAT.
Необходимо отметить, что основные приложения, на которые ориентирована CAS.CADE, — это приложения ма-
шинной графики и геометрического моделирования, поэтому в системе наиболее развиты библиотеки графических и гео-
метрических компонентов.
Геометрическое моделирование и визуализация в CAS.CADE поддерживаются соответствующим ПО. В это ПО
входят библиотечные наборы “Геометрия”, “Топология”, “Визуализация” и др. Для тестирования и демонстрации компо-
нентов перед их встраиванием в проектируемую прикладную САПР используются специальные язык, интерпретатор и
просмотрщик, составляющие подсистему “Тестирование”.
Набор “Геометрия” включает пак еты канонических геометрических элементов и массивов (множеств) этих элемент ов.
Пакеты gp, geom2d и geom включают 2D и 3D геометрические элементы (классы), используемые в качестве сущно-
стей в вычислительных процедурах, в том числе в таких операциях, как поворот, отражение, масштабирование и т.п. При-
мерами элементов могут служить декартовы координаты, точки, векторы, линии, окружности, квадратичные кривые, сфе-
рические, тороидальные и конические поверхности, кривые и поверхности Безье, В-сплайнов и др.
Большое число пакетов разработано для выполнения геометрических пост роений и метрических расчетов. Пакеты
gce, GC, GCE2d включают алгоритмы построения сущностей из элементов пакетов gp, Geom, Geom2d, например, постро-
ение прямых, дуг окружностей, кривых по заданным параметрам таким, как инцидентные точки, центральные точки и ра-
диусы, параллельные или нормальные прямые и т.п.
Набор “Топология” определяет структуры данных, описывающих связи (отношения) между геометрическими сущ-
ностями – классами предыдущего набора “Геометрия”. К структурам топологических данных относятся вершины, ребра,
линии каркасных моделей, участки поверхности, оболочки – совокупности связанных через ребра участков поверхности,
тела – части пространства, ограниченные оболочкой, совокупно сти тел, в том числе простые конструкции вида частей ци-
линдра, конуса, сферы, тора. В наборе имеются также средства: 1) для скругления острых углов и кромок, т.е. формиро-
вания галтелей постоянного или переменного радиуса; 2) для поддержания непрерывности при сопряжении разных по-
верхностей; 3) для метрических расчетов – определения длин ребер, площадей участков поверхности, объемов тел, цент-
ров масс и моментов инерции.
В подсистему “Тестирование” входят командный язык TCL (Test Command Language), на котором задается програм-
ма тестирования и просмотра библиотечных компонентов, интерпретатор TCL и 2D/3D визуализатор. В TCL имеются
обычные для языков программирования команды, такие как присвоение значения переменной, организация цикла, услов-
ный переход, так и специальные команды. Среди последних выделяют базовые, геометрические и топологические коман-
ды. Примеры базовых команд: задержка при исполнении программы (например, при презентациях), обращение к файлу,
&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&*
147