Содержание материала

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

  1. В решении различных задач одни и те же программы графических операций реализуются в различной последовательности, и только после выполнения последней программы информацию необходимо преобразовать в команды графопостроителя или дисплея.
  2. Результат может отображаться на нескольких графических устройствах, имеющих различные системы команд управления. Например, сформированный чертеж можно сначала отобразить на экране дисплея, визуально проверить, а затем дать указание вычертить рабочий чертеж на графопостроителе.
  3. Отображение может производиться по частям или полностью, непосредственно после формирования графического элемента или с любой задержкой во времени.
  4. Набор программ графических операций и системы команд устройств отображения могут со временем изменяться. При этом комплекс проблемных программ машинной графики не должен подвергаться коренным изменениям.
  5. Взаимодействие ЭВМ с различными графическими устройствами является сложным процессом, в котором наряду со специфическими для каждого устройства действиями есть много общих черт.

В связи с этими соображениями результаты работы проблемных программ записываются на некотором промежуточном языке, который еще не является языком команд устройств отображения, но позволяет при необходимости быстро преобразовать данные в команды управления графопостроителя или дисплея. Это преобразование осуществляется программным блоком постпроцессоров. Кроме программы постпроцессора существует программный блок связи ЭВМ с устройствами отображения. Именно эти программы приходится в большей или меньшей степени дорабатывать при включении в подсистему графических устройств новых средств отображения. Все остальные программные средства являются инвариантными по отношению к комплексу технических средств машинной графики. Такая структура программного обеспечения делает ее гибкой и быстро приспосабливаемой к составу конкретной САПР.
Следует отметить, что общесистемное программное обеспечение машинной графики базируется на общесистемном программном обеспечении САПР (см. § 3.4).
Из сказанного следует, что общесистемное программное обеспечение машинной графики должно включать либо специальные пакеты программ, либо специализированные языки для описания и ввода графической информации с соответствующими трансляторами.
В СССР среди графических пакетов программ наибольшее распространение получили PAD—ЕС [101], ФАП-КФ [99], ОГРА [102], ГРАФОР [103], графический пакет ЕС ЭВМ [41] и ряд других, а среди языков — ГРАФИК [104] и ИНКАНЭЛ [105].
Пакет программ PAD-ЕС используется в качестве основы для создания прикладных программ машинной графики применительно к ЕС ЭВМ.
С учетом универсального характера функциональных операций и необходимости их реализации на разных графопостроителях пакет PAD-ЕС разделен на два внутренних пакета:
пакет программ аппаратно-ориентированного уровня — базисный пакет (PADB);
пакет программ функционального уровня — функциональный пакет (PADF).
В настоящее время функционируют пакеты PADB для чертежных автоматов типа ЕС-7054 и др.
Пакет PADB включает 9, а пакет PADF — 29 основных подпрограмм, кроме них имеются еще внутренние подпрограммы. Все программы, за исключением некоторых служебных, написаны на ФОРТРАН-4.
Пакеты имеют простую структуру, т. е. в них нет специально выделенной управляющей программы. Если пользователь хочет расширить или сузить функции пакетов, он должен составить новую ФОРТРАН-программу и включить ее в состав пакета, а ненужную — исключить. Таким образом, пакет PAD-EC является открытым для расширения со стороны пользователей.
Пакет PADB предназначен для выполнения операций формирования графических элементов чертежа (линий, символов), управления параметрами чертежа и подготовки программы управления графопостроителем. Программы, включенные в состав пакета, выполняют в основном служебные функции:
ZBEGIN — «открытие» чертежа с типизацией параметров (т. е. начало программы формирования чертежа);
ZENDE — «закрытие» чертежа;
ZPANEU — изменение параметров в специальном массиве (изменение системы координат, номера пера, масштабного коэффициента и т, д.);
ZPAR — чтение значения элемента массива PAR с номером PAR и его использование в арифметических операциях;
ZPUNKT — вычерчивание совокупности точек;
ZLINIE— вычерчивание соединения точек отрезками прямых и вычерчивание отрезков;
ZKURVE — интерполяция вычерчивания кривой, заданной множеством точек;
ZKRIB — вычерчивание дуги окружности;
ZTEXT — построение и вычерчивание алфавитно-цифровых символов.
Программы пакета формируют и выводят из ЭВМ перфоленту — программу управления графопостроителем; программа может быть введена из ЭВМ непосредственно в графопостроитель, минуя перфорацию.
Обращение к программам пакета осуществляется с помощью оператора CALL. К двум программам ZBEGIN и ZENDE можно обращаться только из программ пользователя, ко всем остальным программам пакета можно обращаться из программ пользователя и из программ PADF.
При составлении программы все операторы обращения к PADB и PADF записываются между CALL ZBEGIN и CALL ZENDE. Программы пакета PADB реализуют внутри пакета следующие связи: со своими внутренними подпрограммами; с другими программами базисного уровня.
Программы пакета PADF предназначены для автоматического выполнения операций, наиболее часто встречающихся при формировании в ЭВМ графических представлений результатов машинного расчета и проектирования. Все операции выполняются в двухмерном пространстве (на плоскости). Исходные данные для них формируются программами пользователя и передаются через входную систему данных пакета соответствующим программам.
Результаты выполнения операций являются исходными данными для программ пакета PADB. Вычерчивание результатов операций осуществляется только с помощью базисного пакета.
По выполняемым функциям 29 программ пакета PADF разделены на пять групп:

  1. Программы построения графических элементов и унифицированных геометрических фигур: отрезок прямой; прямоугольник; многоугольник; семейство параллельных отрезков; система координат с градуировкой осей; окружность, дуга окружности, эллипс, дуга эллипса.
  2. Программы построения контуров различных типов (замкнутых или незамкнутых):

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

  1. Программы штриховки произвольных связных и несвязных областей.
  2. Программы построения различных размеров: линейного размера;

размера радиуса или диаметра; углового размера.

  1. Программы преобразования и черчения сложных графических изображений, состоящих из линий различных типов и текстовых фрагментов:

вычерчивание заданного изображения; линейное перемещение изображения; вращение изображения; построение симметричного изображения; перевод изображения в необходимый масштаб.
В пакет включена программа, позволяющая в удобной унифицированной форме печатать сообщение об ошибках, которые автоматически распознаются в программах пакета PADF.
Обращение к программам пакета также осуществляется с помощью оператора CALL. Выходная система данных пакета PADF включает множество совокупностей параметров, необходимых для обращения к пакету PADB, и некоторые общие параметры.
Программы пакета PADF в процессе выполнения заданной графической операции обращаются к внутренним подпрограммам, другим программам пакета PADF или программам базисного пакета PADB.
Пошаговая обработка графической информации позволяет пользователям разделить процесс счета задач графического документирования на несколько этапов, что дает возможность:
накапливать в архиве BAZIS, организованном на магнитной ленте или пакете дисков, информацию о графическом документе, полученную на уровне обращений к программам пакета PADB;
накапливать в архиве ITEKAN информацию о графическом документе иа уровне команд графопостроителя;
реализовывать задачи большого объема, так как значительно экономится память ЭВМ;
обнаруживать и исправлять ошибки до получения графического документа. Запись данных в архив BAZIS осуществляется на уровне обращений к программам базисного пакета PADB. Таким образом, при работе с архивом BAZIS счет задачи разбивается на два независимых этапа в соответствии со схемой, приведенной на рис. 6.4.
На первом этапе проектирования в памяти присутствуют проблемные прикладные программы, необходимые для графического оформления счета программы пакета PADF и переходного пакета. На втором этапе работают программа разгрузки архива и программа пакета PADB.
Пакет переходных программ написан на языке ФОРТРАН-4 и играет роль унифицированного программного интерфейса для связи пакетов PADF и PADB. Его выходом является структура данных в виде переменных и массивов с определенными именами фактических параметров. Программы переходного пакета сведены в библиотеку объектных модулей.


Рис. 6.4. Схема функционирования и взаимодействия пакетов PADF и PADB и архива BAZIS
Пакет ФАП-КФ ориентирован на решение задач моделирования плоских и пространственных механизмов, расчеты размерных цепей на изображении детали, создание алгоритмов вывода конструкторской документации, подготовки программ для станков с ЧПУ, раскроя материала и других задач, решаемых путем геометрического моделирования.
Операторы пакета ФАП-КФ являются синтаксически правильными конструкциями ФОРТРАНА. Результаты их работы — координаты различных точек вычерчиваемой фигуры и топология их соединения — хранятся в двух специальных массивах, длина которых должна быть заранее определена.
Особенностью пакета ФАП-КФ является то, что его параметрами могут быть, кроме арифметических переменных, геометрические переменные, которые организованы в массивы той размерности, которую допускает базовый транслятор с ФОРТРАНа. Элементами одного массива одновременно -могут быть геометрические переменные любых типов. Другой важной особенностью пакета ФАП-КФ является возможность с помощью операторов, содержащих геометрические переменные, производить различные действия: перенос, вращение, объединение нескольких геометрических объектов под одним именем, построение эквидистантных и локальных кривых, вычисление геометрических характеристик, аппроксимация кривых, построение линий пересечения поверхностей, сечений, проекций и т. д.
Для тех же целей, что и ФАП-КФ, разработан пакет программ ОГРА. Принципиальное различие двух пакетов заключается лишь в методе программной реализации. Все операторы пакета ОГРА оформлены как макрокоманды АССЕМБЛЕРа. Однако возможность обращения к операторам пакета из ФОРТРАН-программ обеспечивается.
Наибольшее распространение в последнее время получил пакет программ ГРАФОР, который является универсальным пакетом, поскольку может работать с любым графическим устройством при любом способе его подключения к ЭВМ. Пакет ГРАФОР представляет собой набор подпрограмм на ФОРТРАНе, за исключением программы связи с операционной системой ЭВМ и графическим устройством, написанной на АССЕМБЛЕРЕ. Следовательно, для перехода на работу с новым типом устройства или новой версией ОС достаточно изменить только одну программу, которая как бы находится в острие перевернутой пирамиды (рис. 6.5). На следующем уровне находятся программы, реализующие графические утилиты: перевод пера в указанную точку, вычерчивание вектора, дуги, произвольного текста, различных маркеров и т. д. На этих программах базируется второй уровень программ пакета, предназначенный для отображения плоских изображений. Примером таких программ являются программы разметки числовых осей в различных системах координат, программы аффинных преобразований на плоскости, программы штриховки и экранирования произвольной плоской области и т. д.
К третьему уровню пакета ГРАФОР относятся программы, реализующие алгоритмы проекционной машинной графики: аффинные преобразования в трехмерном пространстве, вычерчивание пространственных кривых, вычерчивание изолиний функций двух переменных и др.

Рис. 6.5. Структура пакета ГРАФОР

Характеристика
пакета

ГРАФОР

| ФАП-КФ

ГП

PAD-EC

Тип

Совокупность обращений к подпрограммам

Расширение ФОРТРАНА

Совокупность обращений к подпрограммам

Совокупность обращений к подпрограммам

Технические
средства

Графопостроители: ЕС-7051, ЕС-7052, ЕС-7053, ЕС-7054, АП-7252, ИТЕ- КАН, АТЛАС Графические дисплеи: ЕС-7064, СИГДА

Графопостроители: ЕС-7051, ЕС-7052, ЕС-7053, ЕС-7054

Графопостроители: ЕС-7051, ЕС-7052, ЕС-7053, ЕС-7054

Графопостроители: ИТЕКАН-2, ИТЕКАН-3, ИТЕКАН-4, ЕС-7054

Назначение

Является интерфейсом между прикладной программой и конкретным графическим устройством

Ориентирован на автоматизацию геометрического моделирования и инженерно-графических работ

Позволяет создать программы на ФОРТРАНЕ для получения различных графиков, рисунков, чертежей

Является средством автоматизации программирования графической информации

Характерные
особенности

Функциональное разнообразие

Параметрами функций и подпрограмм могут быть арифметические и геометрические переменные

Основные понятия

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

Элементарные геометрические объекты: точка, прямая, окружность, отрезок прямой, дуга окружности, кривая второго порядка, вектор
дуга кривой второго порядка

Графический элемент

Графический элемент

Характеристика
пакета

ГРАФОР

ФАП-КФ

ГП

PAD-ЕС

Структура

Простая

Простая

Простая

Простая

Количество операторов

330

156

40

43

Наименование групп операторов

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

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

Базисные; общего назначения для научно- технических задач; чертежные

Инициализации, базисные; функциональные

Наличие средств моделирования

Нет

Есть

Нет

Нет

В табл. 6.1 приведены сравнительные характеристики рассмотренных графических пакетов. Эти характеристики наглядно отражают функциональную направленность и возможности пакетов, общими чертами которых являются связь с процедурноориентированным языком ФОРТРАН и функционирование в среде операционной системы ЕС ЭВМ.
Наряду с графическими пакетами программ для ЕС ЭВМ начали создавать графические языки. Отличием графических языков от обычных языков программирования является наличие в них средств для описания специфических графических действий, таких как аффинное преобразование изображений, определение аппарата проецирования, формирование структур графических данных и др. По такой схеме построен язык ГРАФИК, имеющий синтаксис, подобный синтаксису языка АЛГОЛ. Ключевыми словами языка являются названия графических утилит: точка, прямая, кривая и т. д. При помощи операторов, аналогичных АЛГОЛУ (перехода, цикла и др.), можно описать различные геометрические фигуры и их сочетания.
Специальные графические средства разрабатываются для мини-ЭВМ, АРМ на базе мини-ЭВМ и т. д. Эти средства, так же как и для ЕС ЭВМ, являются расширением языка ФОРТРАН и предназначены для взаимодействия программы пользователя на ФОРТРАНЕ с графическими устройствами. В табл. 6.2 приведены основные характеристики следующих пакетов:
графического языка программиста и конструктора ДОС АРМ (ГЯПК ДОС АРМ);
графических операций ОС РАФОС;
системы программирования графического диалога ДИФОР;
базовой интерактивной графики DISPL2.
Основные принципы развития машинной графики получили свое отражение в международном стандарте GKS, который начал разрабатываться в 1976 г. в ФРГ, а с 1979 г. — международной группой ISO на международном уровне.
GKS аппаратно- и проблемно-независимая система, которая описывает функции определенных процедур для графической переработки данных, а также соответствующих структур в форме, не зависящей от языков программирования.
GKS обеспечивает следующее:
графический ввод — вывод на одном или нескольких графических рабочих местах;
растровую графику;
временное хранение графической информации в аппаратно-независимой форме во время выполнения прикладной программы;
постоянное хранение графической информации в портативном файловом формате;
линейные преобразования между системами пользователя и устройств;
возможности корректировки способа действия прикладных программ для использования возможностей имеющихся рабочих мест.
Реализация GKS требует относительно много времени и памяти ЭВМ. Однако, поскольку с развитием вычислительной техники эти характеристики играют все меньшую роль, комплексное применение стандартизированных графических систем становится экономически более оправданным.

Характеристика

ГЯПК ДОС АРМ

Графические операции ОС РАФОС

ДИФОР

DISPL3

Тип

Совокупность обращений к подпрограммам

Совокупность обращений к подпрограммам

Совокупность обращений к подпрограммам

Совокупность обращений к подпрограммам

Технические
средства

УПГИ

ПКГИО, УПГИ, графопостроитель АП-7251

УПГИ

УПГИ, ЭПГ-400, графопостроитель АП-7251, АП-7252, ПКГИО

Назначение

Интерфейс между прикладной программой и УПГИ; формирование изображений

Интерфейс между прикладной программой и УПГИ; формирование изображений

Интерфейс между прикладной программой и УПГИ; формирование изображений

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

Характерные
особенности

Наличие режима «окна»

Наличие режима «окна»

Основные понятия

Графический элемент, узел

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

Графический элемент, фрагмент

Примитив, сегмент, поверхность обзора, атрибут, текст, окно обзора, уровень

Структура

Простая

Простая

Простая

Простая

Наименование
групп

Формирования, перекодировки, обмена, ввода чисел

Масштабирования, вычерчивания графических элементов

Формирования элементов, организации диалога, определения изображения

Формирования примитивов, работы с сегментами

Наличие средств моделирования

Нет

Нет

Нет

Нет