41969

ДОСЛIДЖЕННЯ ВЕКТОРНИХ ПЛОТТЕРІВ

Лабораторная работа

Коммуникация, связь, радиоэлектроника и цифровые приборы

Все рассматриваемые здесь команды находятся в основной части языка HPGL 2. Первыми идут команды ини рйализации для установки размера изображения и другие параметры после них следуют команды для прорисовки линий фигур и трок символов а также одна или две команды для завершения процесса. Некоторые команды имеющие числовые аргументы требуют целых значений в то время как другие команды допускают наличие чисел с десятичной точкой. Некоторые команды передают результаты обратно хосткомпьютеру: например 01 сообщает идентификацию модели...

Украинкский

2013-10-27

78.68 KB

3 чел.

Лабораторна робота № 2

ДОСЛIДЖЕННЯ  ВЕКТОРНИХ ПЛОТТЕРІВ

Мета роботи - вивчити принцип дiї, систему команд та методику програмування векторного плоттера .

1. Програма роботи

1.1. Ознайомитися з принципом дії,  системою команд плоттера та  програмою-емулятором splоt (див. окремий файл).

1.2. Дослiдити роботу плоттера у автоматичному режимi роботи з допомогою   програми-емулятора splоt (див. Окрему папку) .

1.2.1. Користуючись командами мови управління плоттерами HPGL  “ПIДНЯТИ”, “ОПУСТИТИ”, “АБСОЛЮТНЕ ПЕРЕМIЩЕННЯ” з допомогою текстового редактора підготувати файли (з розширенням ,plt)  для побудуви  стандартної рамки  (рис.1) на аркуші паперу формату А4 та  зображень геометричних фiгур (Рис.2).

Рис1. Загальний вигляд рамки


a

a

a

Рис.2     Фігура 1               Фігура  2                        Фігура 3

Примiтки: 1. Габаритнi розмiри зображень геометричних фiгур вибираються в залежності від номера студента в списку академічної групи з наступної таблиці 1.

                     Розмір  а для креслення геометричних фігур та їх координати X,Y на аркуші паперу формату А4 (початок системи координат – верхній лівий кут формату А4, координата X – вздовж короткої, координата Y – вздовж довгої сторони аркуша паперу). Координати X,Y  визначають верхній лівий кут прямокутника, описаного навколо геометричної фігури.

                           2. При побудовi використовувати абсолютнi координати плоттера.

Таблиця 1.

Номер студента за

списком

Геометрична фігура1, мм

Геометрична фігура 2, мм

Геометрина фігура3, мм

Геометрична фігура коло,

радіус,  мм

Координати X,Y,
мм

1

50

55

66

81

100,100

2

38

43

78

90

50,50

3

54

65

78

89

40,40

4

67

62

89

56

30,30

5

55

66

77

88

20,20

6

76

83

93

124

90,90

7

111

132

78

59

80,80

8

72

98

50

135

70,70

9

115

56

139

128

60,60

10

129

58

62

90

100,50

11

147

143

167

65

50,100

12

87

90

106

119

90,60

13

45

83

92

115

80,40

14

77

88

99

115

80,100

15

87

48

94

114

30,50

16

90

128

119

57

50,30

17

82

101

69

77

70,80

18

88

61

73

84

80,70

19

49

53

112

96

40,90

20

66

57

89

48

90,40

21

129

107

58

62

50,60

22

76

98

65

44

60,50

23

83

89

107

59

40,55

24

51

90

80

77

55,45

25

99

61

71

55

65,85

26

53

64

46

105

85,65

27

42

113

58

92

25,35

28

109

47

63

85

35,25

1.2.2. Виконати побудову фiгур, вказаних у п. 1.2.1. з використанням команди “ВIДНОСНЕ ПЕРЕМIЩЕННЯ”.

1.2.3. Користуючись відповідними командами  побудувати координатну сiтку з кроком 1 см. При цьому використовувати режим роботи плоттера з абсолютними координатами.

1.2.4. Встановити користувацькi одиницi вимiрювання по осям X та Y таким чином, щоб параметри команд можна було вказувати в мiлiметрах. Пiсля цього виконати побудування по пп. 1.2.1. - 1.2.3.

1.2.5. Користуючись командами “Вiдмалювати дугу” A, R та iнш., викреслити наступнi умовнi позначення компонентiв електронних схем:

1.2.6. Дослiдження плоттера у текстовому режимi роботи. Для цього необхiдно написати програму для виводу двох рядкiв тексту.

Кафедра информационных технологий и программирования

Студент гр.  . Ф.И.О.

Рядки вказаного тексту викреслити в двох масштабах за допомогою плоттера з наступними кутами нахилу вiдносно горизонтальноi осi: 0, 45, 90, 180.

2. Змiст звiту

  1.  Мета та програма роботи.
  2.  Принципи дiї та основнi команди плоттера.
  3.  Основні функціональні можливості емулятора плотера.
  4.  Команднi послiдовностi та результати їх виконання по пп. 1.2.1- 1.2.6, отримані в результаті моделювання роботи плоттера з допомогою   програми-емулятора splt (екранні форми).
  5.  Висновки по роботi.

3. Контрольнi питання

  1.  Пояснiть принцип дiї плоттера.
  2.  Формат команд плоттера.
  3.  Як встановити користувацькi одиницi вимiрювання?
  4.  За допомогою яких команд можна викреслити координатну сiтку?
  5.  Якi команди необхiдно використовувати для виводу рядка тексту?
  6.  Як встановлюється масштаб символiв при виводi тексту?
  7.  Основні функції програми- емулятора плотера?
  8.  Як вибирається тип плоттера та встановлюється розмір паперу для креслення в програмі-емуляторі?
  9.  Як можна дослідити правильність виконання кожної команди програми з допомогою емулятора плоттера?

ДОДАТОК  1      Мова програмування векторних плоттерів HP-GLта  hp-gl/2

Наименование HP-GL(Hewlett-Packard Graphics Language -

графический язык Hewlett-Packard)

ТИП Изображения Линейный рисунок

Предположительное     Первоначально для управления
Использование карандашными плоттерами; сейчас - также и

для лазерных принтеров

Владелец Hewlett-Packard Co, San Diego Printer

Operations, 16399 W. Bernardo Drive, San Diego CA 92127-1899

Последняя версия/      hp-gl/2, 1990

Изменения/

Дата выпуска

Платформы Карандашные плоттеры HP, многие другие

плоттеры и лазерные принтеры, см. Таблицу 20-1

Поддерживающие Все программы CAD, многие картирующие

Приложения программы и текстовые процессоры

Сходства Форматы CAD

Общая оценка Стандартный язык для печатания линейных

изображений; также полезен как низкоуровневый формат векторного рисунка

 

   Преимущества

Широко применяется, удобен, не зависит от размера листа бума-|ги, хотя очень большие изображения должны были рисоваться по I частям.

   Недостатки

Их несколько, если требуется напечатать линейный рисунок. Для  формата рисунка слишком низкоуровневый.

|    Варианты

Первоначальный язык HP-GL имел большое количество менее I значимых вариаций в 25 реализациях в одном HP. HP-GL/2 лучше  стандартизован и имеет необязательные модули, которые могут присутствовать или отсутствовать.

   Обзор структуры файла

 HP-GL представляет собой язык команд для карандашных плотте-I ров Hewlett-Packard. Благодаря широкому применению HP плотте-I ров, язык HP-GL фактически стал стандартным языком управления I плоттерами и широко реализуется как в карандашных плоттерах,  так и в лазерных принтерах. Непохожий на большинство других форматов рисования, язык HP-GL почти всецело состоит из читабельных ASCII строк, что делает его удобным для синтеза и отладки (Команда HP-GL/2 Polyline Encoded представляет собой главное исключение, так как она кодирует числовые значения, используя двойные значения символов; но эта команда еще не получила широкого использования).

Первоначально язык HP-GL был реализован в 1976 году для HP карандашных плоттеров 7400 серий. Впоследствии он был заново реализован много раз и в HP, и в других системах для карандашных плоттеров, и для некоторых видов принтеров. В то время, как сущность языка осталась совершенно неизменной, появилось много дополнений. В 1990 году HP реализовал язык HP-GL/2, который представляет собой, в основном, совместимое вверх расширение языка HP-GL. Язык HP-GL/2 имеет основную часть и несколько дополнительных установок. Расширение Technical Graphics (техническая графика) обеспечивает лучший контроль над деталями рисунка и присутствует практически во всех реализациях и HP-GL, и HP-GL/2. Расширение Palette (палитра) поддерживает цветные струйные и подобные принтеры. Расширение Dual Context (двойной контекст) поддерживает язык HP-GL/2, встраиваемый в потоки данных лазерных принтеров с PCL. Расширение Digitizing (оцифровка) поддерживает использование карандашного плоттера в качестве средства для оцифровки. Предполагается, что любая особая реализация из языка HP-GL/2 включает в себя целую основную часть языка, а также полностью включает или исключает каждое расширение. Например, лазерный принтер включил бы в себя Technical Graphics и Dual Context, но не Palette или Digitizing.

Представление полного ряда всех команд из языков HP-GL и HP-GL/2 заняло бы несколько сотен страниц, поэтому здесь мы сосредоточимся на командах, которые являются общими для большинства реализаций языков HP-GL и HP-GL/2. Все рассматриваемые здесь команды находятся в основной части языка HP-GL/2.

Детали формата

HP-GL-файл представляет собой последовательность команд, необходимых для прорисовки изображения. Первыми идут команды ини-

■рйализации для установки размера изображения и другие параметры, после них следуют команды для прорисовки линий, фигур и ■трок символов, а также одна или две команды для завершения процесса. Каждая команда состоит из двух букв (например, CI для Ьруга), которые следуют за определенным количеством параметров; шапример, параметром может служить радиус окружности. Параметры обычно представляют собой числа, но для нескольких команд они рыглядят как строки текста.

I Модель рисования основывается на модели самого карандашном шлоттере. Имеется ряд карандашей, обычно разного цвета или, для шонохромного принтера, - разной ширины, которые могут использо-шаться для прорисовки. В процессе рисования карандаш может находиться в верхнем положении, при этом карандаш передвигается, но -ничего не рисует, или в нижнем положении, в этом случае оставляемый карандашом след становится частью изображения. В настоящем карандашном плоттере типы и цвета карандаша устанавливаются при помощи физически загруженных в плоттер карандашей. В лазерном или струйном принтере карандаши эмулируются программным способом. Для карандашных цветов устанавливаются условные обозначения: 0 - белый, 1 - черный, 2 - красный, 3 - зеленый, 4 -желтый, 5 - синий и 6 - пурпурный или голубой. Выбор нулевого карандаша в карандашном плоттере заставляет плоттер удалить текущий карандаш. Белые карандаши - прозрачные, поэтому выполнение прорисовки белым карандашом не имеет видимого эффекта. В монохромном принтере, таком как лазерный принтер, обычно задействованы только карандаши, имеющие условное обозначение 0 и 1. Карандаши с более высоким порядковым номером могут быть черными карандашами различной ширины.

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

Некоторые команды, имеющие числовые аргументы, требуют целых значений, в то время как другие команды допускают наличие чисел с десятичной точкой. Отрицательным числам предшествует знак минус. Максимальное значение числа изменяется от реализации к реализации и может составлять 2 для старых HP-GL плоттеров, но для плоттерах, использующих HP-GL/2, максимальное значение, по крайней мере, равно 2   . Справа от десятичной точки, как минимум, четыре цифры являются значимыми.

Некоторые команды передают результаты обратно хост-компьютеру: например, 01 сообщает идентификацию модели плоттера. Эти команды работают только в плоттерах, которые соединяются с помощью двухнаправленного интерфейса, такого как серии RS-232 или GP-IB. Они не работают ни в простом параллельном интерфейсе Centronics, ни в плоттерах, соединяемых через сеть. Эти команды обычно отсутствуют в файлах HP-GL-данных, потому что они имеют смысл только в контексте программы, которая подготавливается для чтения возвращаемых результатов, и в дальнейшем здесь обсуждаться не будут.

Геометрия

Зона рисования в HP-GL представляет собой прямоугольник, начало координат которого обычно располагается в нижнем левом углу. Ось X возрастает вправо, а ось Y возрастает вверх.

Физическая единица измерения для HP-GL обычно приравнивается к 1/1000 дюйма. Для HP-GL/2 каждая физическая единица измерения приравнивается к 1/40 мм, что представляет собой 1/1016 дюйма. Логические единицы устанавливаются с помощью картографирующих точек в логических единицах относительно точек в физических единицах измерения. Существуют две физические ссылочные точки, известные как Р1 и Р2. По умолчанию Р1 находится в нижнем левом углу пригодной к печати зоны страницы, а Р2 располагается в верхнем правом углу, т.е. существуют "жестко установленные" границы. В большинстве HP-GL-плоттеров начало по умолчанию находится в центре страницы. В HP-GL/2-плоттерах начало по умолчанию располагается в точке Р1 в нижнем левом углу. Команда IP определяет точки Р1 и Р2 в обозначениях физических единиц измерения; наиболее типично точка Р1 определяется для того, чтобы установить начало в некотором другом месте, например, в середине страницы. Команда масштабирования SC устанавливает логические координаты, которые соответствуют точкам Р1 и Р2. Из-за того, что по умолчанию Р1 и Р2 находятся в крайних углах страницы, обычные аргументы команды SC представляют собой используемые границы логических координат, поэтому чертеж заполняет   страницу   независимо   от   ее   размера.   Различные   сочетания команд IP и SC могут установить любой требуемый масштаб, включая зеркальные координаты. В языке HP-GL/2 имеются особые аргументы для команд SC, которые могут усилить изоморфическое масштабирование; т.е. обеспечить одинаковые масштабы по двум  осям.

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

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


Кодирование команд

Язык HP-GL был разработан для облегчения генерирования даже в таких языках программирования с ограниченными возможностями выводных форматов, как микрокомпьютерные версии Basic. Каждая команда начинается мнемонической командой, состоящей из двух заглавных букв; например РА для Plot Absolute. За мнемоническим именем может следовать определенное количество аргументов. Численные аргументы отделяются друг от друга пробелами или запятыми. Строки аргументов разграничиваются с помощью завершающего символа, равного по умолчанию ASCII ETX или шестнадцатиричное 03. Команды завершаются точкой с запятой, которая для большинства команд может быть опущена, если за данной командой непосредственно следует другая команда. Например:

РА 1000,2000;

определяет перемещение к позиции с координатами (1000, 2000). В большинстве случаев любые необязательные символы должны опускаться для экономии пространства и минимизации времени передачи. Команды:

РА  100,200;   SP  3;   РА  200,200;   РА  200,300;

 могли быть записаны как:

PA100,200SP3PA200,200PA200,300;

или, вследствие того, что команда РА может иметь любое количество аргументов, следующим образом:

pa100,200sp3pa20o,2oo,2oo,300;

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

Начало и завершение рисунка

 IN (Initialize, инициализировать)

Устанавливает все параметры по умолчанию, перемещает карандаш в начало и подготавливает к новому построению. Многие HP-GL-рисунки не начинаются с IN, и поэтому они могут объединяться в большие рисунки.

 DF (Defaults, умолчания)

Устанавливает все параметры по умолчанию, но не изменяет Р1 и Р2.

 SC (Scale, масштаб) Х0,Х1,У0,У1

Устанавливает масштаб построения. Координаты (ХО,УО) находятся в нижнем левом углу, а (Х1,У1) - в верхнем правом. Построение может выполняться слева направо или сверху вниз, делая XI меньше, чем ХО, или У1 меньше, чем УО. (Выполнение не поддерживается некоторыми более ранними моделями HP/GL-плотте-ров).

 IP (Input Points, точки входа) Х1,У1,Х2,У2

Изменяет точки масштабирования. (XI,У1), выраженная в физических единицах измерения, становится новой точкой масштабирования Р1, а (Х2,У2), выраженная также в физических единицах, становится новой точкой масштабирования Р2. Если передаются координаты Х2 и У2, то точка Р2 перемещается таким образом, что масштаб остается неизменным, и в этом случае эта команда только перемещает начало.

 IW (Input Window, окнсГввода) Х0,У0,Х1,У1 Устанавливает границы отсечения. Последующий вывод будет отсечен, если он не попадает в прямоугольник, определяемый координатами (ХО,УО) и (Х1,У1). Команда IW без аргументов отменяет    отсечение.

 RO (Rotate, вращение) Angle

Поворачивает систему координат на данное в Angle число градусов против часовой стрелки. В языке HP-GL угол должен быть равным 0 или 90, а в HP-GL/2 он также может быть равен 180 или 270. Вращение вызывает преобразование, отличающееся от зеркального преобразования, выполняемого с помощью команды SC. Текстовый рисунок, повернутый на 180 градусов, оказывается перевернутым "вверх дном", тогда как текстовый рисунок с отрицательным масштабированием по X оказывается выполненным "задом наперед".

 PG (Page, страница)

Прогоняет лист бумаги или продвигает рулон к следующему началу страницы. Это обозначает конец построения. Игнорируется принтером Laser Jet III и некоторыми ранними HP/GL-плоттера-ми.

Линии

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

SP (Select Pen, выбрать карандаш) PenNo ...

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

 PU (Pen Up, поднять карандаш) Х1,У1, ...

 PD (Pen Down, опустить карандаш) XI,Y1, ...

Отводит карандаш от бумаги для команды PU, или опускает карандаш на бумагу для команды PD. Затем перемещает карандаш к точке с координатами (Х1,У1) и т.д. Пары (Х,У) интерпретируются как абсолютные или относительные координаты, в зависимости от того, какая из команд - РА или PR - выполнялась перед этим.

 PA (Plot Absolute, абсолютное построение) Х1,У1,Х2,У2, ...

Производится церемещение к точке (Х1,У1), затем к точке (Х2,У2) и т.д. Если карандаш находится в нижнем положении, он рисует серии линий.

 PR (Plot Relative, относительное построение) Х1,У1,Х2,У2, ...

Производится перемещение к новой текущей позиции за счет добавления координат (XI,У1), затем к новой позиции добавления (Х2,У2) и т.д. Если карандаш находится в нижнем положении, он рисует серии линий.

 LT (Line Type, тип линии) Туре

Устанавливает тип линии, указанный в Туре. По умолчанию устанавливается сплошная линия. Тип О - это всего лишь точка в конце линии. Тип 1 - пунктир, 2 - короткий штрих, 3 - длинный штрих, 4 - штрих с точкой, 5 — чередующиеся длинные и короткие штрихи, б - один длинный и два коротких штриха. Отрицательные значения определяют адаптивные типы линий, которые регулируют длины штрихов так, что в каждой линии присутствует полный набор штрихов. Тип 99 восстанавливает тип линии, который предшествовал команде LT.

 SM (Symbol Mode, символьный режим) Character

Рисует заданный в Character символ в конце каждой линии, даже если карандаш находится в верхней позиции. В случае, когда символ (Character) опускается, символьный режим отключается.

РЕ  (Plot  Encoded,   кодированное  построение,   только  в  языке HP-GL/2) encoded string

Рисует серии линий. Из-за того, что HP-GL-рисунки обычно включают в себя огромное количество перемещений карандаша, эта особая функция обеспечивает эффективный способ для передачи множества команд передвижения карандаша. Закодированная строка символов, представленная посредством encoded stringy определяет поток флаговых байтов и значений данных, оканчивающихся точкой с запятой. Для этих команд точку с запятой опускать нельзя.

При отсутствии флагов пары значений данных берутся в таком виде, чтобы они были относительными перемещениями с координатами (Х,У), как в команде PR, и рисуются карандашом, опущенным вниз. Знак равенства (=) рассматривает следующую пару как абсолютные координаты. Знак "меньше" (<) рассматривает свою пару координат таким образом, что карандаш перемещен вверх. Двоеточие (:) рассматривает следующее единственное значение как номер карандаша, предназначенного для последующей прорисовки.

Значения кодируются в б- или 5-битными частями. Если плоттер использует 8-битовые данные, то по умолчанию назначаются 6-битовые части. Если операционная система определяет старший бит каждого символа в качестве бита паритета, то применяются 5-битные части. Число 7, следующее за командой РЕ, обозначает использование   5-битных   частей.   Каждое   значение   может   иметь нулевые или дробные разряды. По умолчанию значения принимаются целыми, т.е. дробные разряды отсутствуют. Флаг >, который следует за одним значением, устанавливает определенное количество дробных разрядов для последующих значений. В каждом значении младший разряд закодированного значения представляет собой знак: 0 - для положительного значения или 1 — для отрицательного. Слева от знака находятся дробные разряды, а слева от дробных разрядов располагается целое значение. Например, если там были два дробных разряда, то значение 11,5 должно было бы представляться в двоичном виде как 1011 10 0. Пробелы показывают границы между целой частью, дробной частью и знаком. Значение в двоичной записи разбивается на 5- или 6-битные фрагменты, начинающиеся справа и кодируемые в символы. Каждый последующий фрагмент значения кодируется при помощи прибавления 63 (3FH). Последний фрагмент значения кодируется прибавлением 191 (BFH) для 6-битных фрагментов или 95 (5FH) - для 5-битных фрагментов. Чтобы закончить кодирование числа 11,5 в виде 5-битных фрагментов, необходимо, например, перегруппировать разряды в виде фрагментов 10 и 11100 (2Н и 1СН). Сначала передайте младший фрагмент как 1C+3F или 5В. Затем передайте старший фрагмент как 2-f 5F или 61. Одно значение может при кодировании занять до восьми байтов, в зависимости от его величины и количества дробных разрядов.

Дуги и окружности

Язык HP-GL аппроксимирует дуги и окружности при помощи коротких отрезков линий, где каждый отрезок обычно занимает 5 градусов окружности. Это иногда вызывает затруднения при использовании режима многоугольника (описано ниже), если количество отрезков переполняет буфер многоугольника, и при использовании адаптивных типов линий, поскольку адаптация выполняется для каждого отрезка, а не для всей окружности или дуги. Если же в действительности применяется анизотропное масштабирование (т.е. изменения масштаба по оси X и оси Y отличаются друг от друга), то круги рисуются в виде эллипсов, а дуги принимают эллиптическую форму.

АА (Arc Absolute, абсолютная дуга) Х,У,Angle

Рисует дугу круга, центр которого находится в точке с координатами (Х,У) и который проходит через текущую позицию. Дуга начинается в текущей позиции и продолжается на определенный угол, выраженный в градусах в Angley против часовой стрелки (при отрицательном значении угла - по часовой стрелке).

 AR (Arc Relative, относительная дуга) X,Y,Angle

Рисует дугу круга, центр которого расположен на расстоянии (Х,У) от текущей позиции и который проходит через текущую позицию. Дуга начинается в текущей позиции и продолжается на определенный угол в градусах, задаваемый Angle, против часовой стрелки (при отрицательных значениях угла — по часовой стрелке).

 CI (Circle, круг) Radius,Angle

Рисует круг, центр которого расположен в текущей точке и для которого дан радиус (Radius). Круг всегда рисуется опущенным карандашом. Необязательный угол Angle определяет, какой угол должен покрывать каждый отрезок линии, аппроксимирующий круг. Например, при заданном угле в 60 градусов должен получиться шестиугольник.

Многоугольники

Некоторые HP-GL-устройства и все устройства, использующие язык HP-GL/2, имеют буфер многоугольников, который хранит вер-

Щшны многоугольника для его прорисовки. Буфер инициализируется Командой РМ, затем рисуется многоугольник с использованием ко-шанд АА, AR, CI, PA, PD, РЕ, PR и PU, завершается построение шногоугольника командой РМ2, а затем используются основные ■ивета, чтобы очертить или заполнить многоугольник. Положение ка-юандаша при исполнении команды РМ становится первой вершиной Многоугольника. Для изображения сложных зон одновременно очерчиваются больше одного многоугольника; например, один много-^угольник внутри другого для изображения пустой зоны. Ряд команд fрисуют фигуру и вносят ее в буфер многоугольника: ЕА, ER, EW, RA, RR и WG.

В реализациях, в которых отсутствует буфер многоугольника, команды РМ и FP опускаются.

РМ (Polygone Mode, режим многоугольника) Flag

Если флаг в Flag равен 0 или опущен, производится заполнение буфера многоугольника и начало нового многоугольника. Если флаг равен 1, при необходимости завершается текущий многоугольник (добавляется ребро к первой вершине) и начинается новый многоугольник при помощи следующей команды рисования. Если флаг равен 2, текущий многоугольник завершается.

 FP (Fill Polygon, заполненный многоугольник)

Заполняется текущий многоугольник. Команда FT устанавливает шаблон заполнения.

ЕР (Edge polygon, ребро многоугольника) Очерчивает текущий многоугольник.

ЕА (Edge rectangle Absolute, грань прямоугольника в абсолютном выражении) X9Y

Очерчивает прямоугольник, определенный при помощи текущей позицией и координатами (Х,У), и помещает этот прямоугольник в буфер многоугольника.

ER (Edge  rectangle Relative,  грань прямоугольника в относительном выражении) X9Y

Очерчивает прямоугольник, определенный при помощи текущей позиции и текущей позиции плюс (Х,У), и помещает этот прямоугольник в буфер многоугольника.

 EW (Edge Wedge, грань сектора) Radius, Start, Sweep

Очерчивает круговой сектор. Изображает дугу круга с центром в текущей точке и указанного радиуса Radius, начиная со значения Start в градусах и выполняя изгиб на заданное значение угла изгиба Sweep в градусах. Начало измеряется против часовой стрелки (при отрицательном значении угла - по часовой стрелке) от точки с координатами (значение радиуса, равное О) относительно центра. Изгиб измеряется против часовой стрелки от начала (если угол отрицательный - по часовой стрелке). Линии рисуются от концов дуги к центру.

 RA (Rectangle Absolute, прямоугольник в абсолютном выражении) X,Y

Заполняет прямоугольник, определенный при помощи текущей позиции и координат (X,Y), и помещает этот прямоугольник в буфер многоугольника.

 RR (Rectangle Relative, прямоугольник в относительном выражении) X,Y

Заполняет прямоугольник, определенный с помощью текущей позиции плюс координаты (X,Y), и помещает его в буфер многоугольника.

 WG (Fill wedge, заполненный сектор) Radius, Start, Sweep Заполняет круговой сектор. Аргументы такие же, как и для EW.

 FT (Fill Type, тип заполнения) Туре, А, В

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

Текст

Язык   HP-GL   обеспечивает   возможность   включения   текстовых строк   в   рисунок.   Диапазон   пригодных   символов   различается   от  одной реализации к другой, но всегда включает в себя, по крайней мере, обычный набор ASCII. Символы могут быть нарисованы в любом размере и в любом направлении. Они также могут быть наклонены для создания эффекта курсива.

LB (Label, метка) String

  Изображает строку, заданную в String и начинающуюся в текущей позиции. Строка заканчивается вместе с символом ЕТХ (ОЗН),     если команда DT не имеет другого завершителя.

СР (Character Position, положение символа) X,Y

   Перемещает пустые символы из текущей позиции к точке с координатами (Х,У). Команда СР похожа на PR, за исключением того,    что значения  представлены  в обозначениях размеров символов.     Команда СР всегда выполняется с карандашом,  находящимся в   верхнем положении.

DI (Absolute Text Direction, направление текста в абсолютном выражении) X,Y .

DR (Relative Text Direction, направление текста в относительном выражении) X,Y.

Команды DI и DR устанавливают угол, под которым рисуется I текст. Команда DR относительна к точкам Р1 и Р2, тогда как I      команда DI не зависит от них. Угол определяется из выражения

arctg(Y/X). Общие значения включают в себя

      1,0 - горизонтально, 0,1  - вертикально,  начало текста вверху,

      -1,0 - перевернутый и 0,-1 - вертикально, начало текста внизу.

 DT (Define Terminator, определение завершителя) С

     Символ, следующий непосредственно после команды DT, становится новым завершителем метки. Если символ пропущен, завершитель   переустанавливается   в   ЕТХ   (ОЗН).   Эта   команда   всегда требует точки с запятой.

 ES (Extra Space, дополнительный пробел) W,H

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

 SA (Alternate Font, альтернативный шрифт)

 SS (Standart Font, стандартный шрифт)

Организует переключение между двумя внутренними шрифтами плоттера.

 SI (Absolute Character Size, размер символа в абсолютном выражении) X,Y Устанавливает размер рисуемых символов в сантиметрах.

 SR (Relative  Character Size,  размер символа в относительном выражении) Х,У

Устанавливает размер рисуемых символов в процентах страницы. Размер 1,1 определяет высоту и ширину каждого символа равными 1% размера страницы, соответственно, по вертикали и горизонтали.

 SL (Slant, наклон) Tan

Устанавливает наклон рисуемых символов. Tan представляет собой тангенс угла наклона. Общие значения включают в себя О для вертикального расположения, 1.0 для наклона вперед на 45 градусов и —1.0 для наклона на 45 градусов назад.

Взаимодействие с PCL 5

Принтеры, использующие язык PCL 5, такие как HP Laser Jet III, реализуют HP-GL/2. Используя команды из PCL, можно определить субпрямоугольник на странице, на которой выполнен HP-GL/2-рису-нок, так что HP-GL/2-рисунки могут быть введены в документы PCL5.

Примеры

Приведенные примеры отформатированы таким образом, чтобы их могли прочитать люди: в реальных HP-GL-файлах обычно удаляются дополнительные пробелы и знаки препинания. Реальные HP-GL-файлы зачастую очень просты по структуре. Многие используют только команды SC, SP, PU, PD, РА и PR, явно рисуя формы и заполняющие их фигуры.

 Команды для HP-GL-примеров

IN; SP1;

РА 1000,1000 FT3,100,45 ER 1000,1000 RR 1000,1000;

РА 2200,1000 FT4,100,0; ER 1000,1000 RR 1000,1000;

РА 3000,3000 EW 500,0,120 EW 500,120,120 WG 500,120,120;

PR 100,-100 EW 500,0,-120 FT 3,45 WG 500,0,-120;

Таблица  показывает команды для выполнения рисунков, изображенных на Рис. 1, более типичные HP-GL-файлы используют только несколько различных команд. Рассмотренный  ниже файл рисует спираль в виде длинных серий коротких отрезков линий.

Рис.1. Образец HP-GL-рисунка.

Рис.2. Образец HP-GL-спиральной фигуры.

Команды для HP-GL-спиральной фигуры

IN;SP1;PU;

РА4000,3000PRPD,0,0,3,0,3,1,3,1,3,2,3,2,2,3,2,4,1,4,0,4,0,5

-1,5,-2,5,-3,5;

PD-3,5,-4,5,-5,5,-6,4,-6,4,-7,3,-8,3,-8,2,-9,1,-9,0,-10,-1,10,-2,-10,-3;

PD-10,-4,-10,-5,-10,-6,-9,-7,-9,-8,-8,-9,-8,-10,-7,-11,-6,12,-5,-13,-4,-13;

PD-3,-14,-1,-14,0,-15,1,-15,3,-15,4,-15,6,-15,7,-15,9,-14,10,-14,11,-13;

PD13,-12,14,-11,15,-10,16,-8,17,-7,18,-5,19,-4,19,-2,20,0,20,2,20,4,2 0,6;

PD19,7,19,9,18,11,17,13,16,15,15,17,14,18,12,20,10,21,9,22,7,23,5,24,2,25;

PDO,25,-2,26,-5,26,-7,26,-9,25,-12,25,-14,24,-17,23,-19,22,-21,20,-23,19;

PD-25,17,-27,15,-28,12,-29,10,-31,7,-32,5,-32,2,-33,-1,-33,-4,-33,-6,-32,

-9; PD-32,-12,-31,-15,-30,-18,-29,-21,-27,-23,-25,-26,-23,-28,-21,-30,-18,-32; PD-15,-34,-12,-36,-9,-37,-б,-38,-3,-38,1,-39,4,-39,7,-39,11,-38,14,-37,18,

-36; PD21,-35,24,-33,27,-31,30,-29,33,-26,35,-23,37,-20,39,-17,41,-14,42,-10; PD43,-б,44,-3,44,1,44,5,44,9,43,13,42,17,41,21,39,25,37,28,34,32,32,35,29,

38; PD25,41,22,43,18,45,14,47,10,48,6,49,1,50,-3,50,-8,50,-12,50,-17,49,-21,48; PD-25,46,-30,44,-34,41,-37,39,-41,35,-44,32,-47,28,-50,24,-52,20,-54,15; PD-56,11,-57,б,-57,1,-58,-4,-57,-9,-57,-14,-56,-19,-54,-24,-52,-29,-50,-33; PD-47,-38,-44,-42,-40,-4 б,-36,-49,-32,-53,-28,-56,-23,-58,-18,-60,-13,-62; PD-7,-63,-2,-64,4,-64,9,-64,15,-63,20,-62,26,-60,31,-58,36,-55,41,-52,46,

-48; PD50,-44,54,-40,57,-35,60,-30,63,-25,65,-19,67,-13,68,-7,69,-1 ; PUPA4000,5000; СР-2 0,0; PG;


 

А также другие работы, которые могут Вас заинтересовать

7034. Процесс управления. Понятие процесса управления 437 KB
  Тема 8 Процесс управления В этой теме для изучающих менеджмент будут освещены следующие вопросы: понятие процесса управления свойства процесса управления содержание процесса управления этапы процесса управления стадии процесса управлен...
7035. Оценка эффективности автоматизированных информационных технологий управления 71.5 KB
  Оценка эффективности автоматизированных информационных технологий управления Подходы к оценке эффективности автоматизированных информационных технологий управления Показатели общественной эффективности автоматизированных информационных т...
7036. Производство по административно-правовым жалобам и спорам 109.5 KB
  Тема 8. Производство по административно-правовым жалобам и спорам Основные вопросы: Общая характеристика производства по административно-правовым жалобам и спорам. Стадии производства по административно-правовым жалобам. Принципы производст...
7037. Управленческие стратегии. Методы стратегического анализа и формирования стратегий 157.5 KB
  Тема 8 Управленческие стратегии Стратегия и процесс ее формирования. Виды стратегий. Процесс стратегического планирования. Методы стратегического анализа и формирования стратегий. Общая концепция того, как достигаются главные цели организа...
7038. Организационная структура. Понятие организационной структуры 549.5 KB
  Тема 7 Организационная структура Эта тема позволит начинающим менеджерам пополнить свои знания по следующим вопросам: понятие структуры любой системы понятие организационной структуры диалектическое единство функции и структуры структура ...
7039. Организационная структура управления 201.5 KB
  Тема 7 Организационная структура управления Понятие организационной структуры управления. Факторы, определяющие организационную структуру управления. Классификация организационных структур управления. Организационное проектирование управленческих ст...
7040. Функции управления. Понятие и значение функции управления 567 KB
  Тема 6 Функции управления В настоящей теме заинтересованный читатель найдет ответы на следующие вопросы: понятие и значение функции управления место функции управления среди категорий менеджмента виды функций управления об...
7041. Регистрационное, лицензионно-разрешительное и контрольно-надзорное производства 139.5 KB
  Тема 6. Регистрационное, лицензионно-разрешительное и контрольно-надзорное производства Основные вопросы: Регистрационное производство. Лицензионно-разрешительное производство. Контрольно-надзорное производство. Литература: Федеральный закон О лице...
7042. Функции управления. Планирование, организация, мотивация и контроль в управлении 303.5 KB
  Тема 6 Функции управления Понятие функции управления. Функция планирование. Функция организация. Функция мотивация. Функция контроль. Суть любого управления - это достижение организацией целей при наиболее оптимальном использовании ресурсов. До...