Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4.b._Konspekt2.doc
Скачиваний:
115
Добавлен:
22.08.2013
Размер:
5.43 Mб
Скачать

5.4 Вывод символов на плоттерах

При выводе символов на плоттерах используются те же принципы, что и при выводе графики. Однако, для того, чтобы избежать необходимости составлять программу для вывода символа каждый раз, когда требуется вывести символ на чертёж, используется метод разработки микропрограмм для «отрисовки» каждого символа, входящего в состав алфавита плоттера и запись этих микропрограмм в ПЗУ. Большинство плоттеров содержит несколько разновидностей алфавитов. Предварительно каждый символ, входящий в алфавит плоттера, представляется на так называемой кодирующей сетке, с использованием которой составляется микропрограмма. На рис.5.7 приведены кодирующие сетки, на которых размещены контуры трёх символов различного размера – Е, Т, 1 и V(графопостроители машин серии ЕС ЭВМ и СМ 6415). Шаг сетки – 1 бит, (в графопостроителях ЕС ЭВМ), что позволяет каждую опорную точку символа кодировать одним байтом. Рассмотрим, как выглядит микропрограмма для вывода буквы «Е» при указанном стрелками направлении обхода пером контура символа (см. рис.5.7, а). Микропрог-рамма представлена таблицей.

БИТЫ:

7 6 5 4 3 2 1 0

КОММЕНТАРИЙ

(команды и данные)

1 1 1 1 1 0 1 1

Разделитель (интервал между символами)

1 1 0 0 0 1 0 1

Код (ASCII) символа (буква Е)

0 1 0 0 0 0 0 0

x y

Код точки 1 на кодирующей сетке

1 1 1 1 0 0 1 1

Приказ – перо опустить

0 0 0 0 0 0 0 0

x y

Код точки 2 на кодирующей сетке

0 0 0 0 0 1 1 0

x y

Код точки 3 на кодирующей сетке

0 1 0 0 0 1 1 0

x y

Код точки 4 на кодирующей сетке

1 1 1 1 0 0 1 0

Приказ – перо поднять

0 0 1 1 0 0 1 1

Код точки 5 на кодирующей сетке

1 1 1 1 0 0 1 1

Приказ – перо опустить

0 0 0 0 0 0 1 1

Код точки 6 на кодирующей сетке

1 1 1 1 0 0 1 1

Приказ – перо поднять

0 0 0 0 0 0 1 1

Код точки 7 на кодирующей

В плоттере СМ-6415 символ представляется на так называемом микрорастре (см. рис 5.7, б). В этом случае на каждый символ отводится только один микрорастр, а все варианты этого символа (размер по вер-

тикали и горизонтали, угол наклона и т.п.) реализуются с помощью специальных команд (см. ниже при описании языка HPGL). На рис. 5.7, а в микрорастре сплошными линиями помечены движения пера в опущенном положении, а пунктирными – в поднятом состоянии. Цифры, заключённые в скобки,– координаты точек в шагах микрорастра, цифры 1 и 2 – точки начала и конца вычерчивания символа.

5.5 Программное обеспечение плоттеров

Организация работы перьевых плоттеров основана на развитом программном обеспечении (ПО), включающем в себя три уровня программ.

а) Первый уровень– базисные программы. В этот уровень включены программы, обеспечивающие выполнение таких видов графических работ, как:

1) Вычерчивание линий различного типа;

2) Вычерчивание алфавитно-цифровых символов;

3) Проведение масштабирования.

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

1) Дуги, окружности, эллипсы;

2) Замкнутые контуры;

3) Угловые штампы и т.п.

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

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

Большинство плоттеров имеют разветвлённую систему команд, которые делятся на следующие группы команд (на примере ГП СМ 6415):

1) Команды вычерчивания векторов;

2) Команды вычерчивания дуг и окружностей;

3) Команды вычерчивания текста;

4) Команды управления пером;

5) Команды изменения масштабов;

6) Команды управления плоттером.

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

Каждое семейство плоттеров имеет свои строгие правила формирования графического файла, поэтому в состав ПО для каждого плоттера включают драйвер – программу, которая переводит графический файл на язык приказов данного плоттера.

К настоящему времени разработаны ряд языков высокого уровня, на которых пишутся программы для плоттера.

Таблица. Операторы языка HPGL

Мнемоника команды

Параметры

Комментарий и толкование

команды

1. Команды вывода векторов

PA

(Plot Absolut)

X1,Y1,…,Xn,Yn;

Команда вывода пера в точки с координа-тами Xi Yi, заданными абсолютными значениями. Координаты задаются попарно (количество координат должно быть чётным). При нечётном количестве параметров (координат) последний параметр игнорируется.

PR

(Plot Relativ)

X1,Y1,,Xn,Yn;

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

PD;

(Pen Down)

Команда опускания пера действует до подачи альтернативной команды

PU;

(Pen Up)

Команда поднятия пера отменяется командой PD.

Клавиши PEN↓ и PEN↑ имеют более высокий приоритет, чем PD и PU

2.Команды выбора типа линии

LT

(Line Type)

n, l;

Команда выбора типа линии:

nномер типа линии;

lдлина линии в шагах для самой длинной линии в заданном типе линии;

n=1 – сплошная линия (──────)

n=2 – пунктирная, длина штриха/промежутка равна 1: 1 (─ ─ ─)

n=3 – пунктирная, длина штриха - 2, промежуток - 1 (2:1) (─ ─ ─)

n=4 – пунктирно-пунктирная линия 2:1:1

(─ - ─ - ─)

n=5 – штрих-пунктирная линия 2:1

(─ · ─ · ─)

n=6 – штрих-пунктир-пунктирная линия

2:1:1 (─ · · ─)

XT;

YT;

Команда нанесения осей координат (совместно с командой TL tp,tn, см. рис.5.8)

TL

tp, tn;

Команда построения осей координат (совместно с предыдущей командой, см. рис.5.8)

3.Команды вывода текста

CP

a,b;

Команда вызывает перемещения пера на а пробелов и b строк из предыдущего положения. Параметры (a, b) могут быть как положительными, так и отрицательными

DR

DI

c, d;

c, d;

Обе команды определяют направление вы-вода текста. Направление определяется из условий:

≤1- горизонтальный шрифт;

tgα = d/c = >1- вертикальный шрифт;

<0- зеркальный шрифт;

где: cабсцисса, dордината.

SR

SI

w, h;

w, h;

Обе команды определяют размер текстового символа и имеют одинаковое действие: wширина символа как кратное базовой ширины, hвысота символа, как кратное базовой высоты.

Размеры растра базового символа: 5 (ширина) х 8 (высота) шагов. Между символами 2 шага

DT

Terminator;

Символ, следующий за DT (в коде КОИ-8), определяет конец текста. Терминатором не должен быть: «пробел», «;», «,». Рекомендуется использовать «!».

CR

n;

Команда определения типа набора симво- лов:

n = 1 – ASCII, КОИ-8,

n = 2 - пользовательский набор

LB

символ;

Команда задания символа, представленного в ASCII. Допускаются все символы, кроме <EXT>, CP, LF. NL трактуется как новая строка

SL

n;

Команда задания угла наклона символа:

n = 0, +1, +2, +3, + 4, +5 и т. д.

Угол накл.= ±0, ±9,±16, ±26, ±34,±40 и т.д

4.Команды вычерчивания дуг и окружностей

CI

r;

Команда вычерчивания окружности радиуса r. Текущее значение параметра (xm, ym) определяет центр окружности. Вычерчивание начинается с точки (xm,ym +r) по часовой стрелке

AA

AA

x,y,ά;

x,y ά;

Команды вычерчивания дуг. Дуга строится от точки, в которой находится перо перед исполнением команд. При φ>0 дуга строится против часовой стрелки, x и yкоординаты центра окружности (дуги)

φ=4r х 2ά/360

rв шагах, φ – в градусах ,α –угол дуги

5. Управляющие команды графопостроителя

IN;

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

DF;

Команда записи стандартных значений в память программы

IW

X1,Y1,X2,Y2;

Команда определения новых координат- ных окон. Координаты (X1,Y1) и (X2,Y2) описывают нижний левый и верхний правый углы окна. Перо передвигается в точку (X1,Y1); окно располагается параллельно осям рабочего поля ГП

VS

n;

Команда выбора скорости перемещения пера:

n=1 – минимальная скорость 12 см/cек;

n=2 – максимальная скорость 24 см/сек.

SW;

Команда задания виртуальной длины шага равного 0,25 мм; физическая длина шага 0,1 мм сохраняется. (После команды SW все значения параметров длины делятся на 4). Действие команды SW снимается командами DF, IN или при нажатии клавиши сброса

RO

α;

Команда вызывает вращение системы координат X,Y на угол α. Преобразован-ные координаты вычисляются:

X´=x Cos ά – y Sin ά

Y´= x Sin α – y Cos α

SS;

Команда задаёт постоянную скорость вы- вода графических элементов по осям X,Y, равную 6 см/сек

NR;

Команда окончания построения чертежа. После этой команды ГП переходит в ре- жим «не готов», перо поднимается

OI;

С помощью этой команды ГП передаёт ЭВМ комплекса своё имя и номер версии Программного Обеспечения (например, СМ 6415 8.310

Соседние файлы в предмете Системы ввода и вывода данных