HPGL (иногда пишут HP-GL) является основным языком управления принтерами, используемым плоттерами Hewlett-Packard. Его название представляет собой аббревиатуру Hewlett-Packard Graphics Language. В данный момент он является стандартным почти для всех плоттеров. Принтеры Hewlett-Packard, как правило, также поддерживают HPGL наравне с PCL.
Команды языка представляют собой сочетание кода из двух букв и следующих за ним дополнительных параметров. Каждая команда заканчивается точкой с запятой. Координаты пера задаются в наименьших единицах, поддерживаемых плоттерами производства HP — 25 мкм (то есть 40 единиц на миллиметр, 1016 на дюйм) и задаются числами с плавающей точкой (запятой) в пределах ±230. Перечисление координат и других параметров, указанных в качестве параметра команды разделяются запятой, пробелы после запятой и кода команды необязательны, эквивалентно, например, PA 0, 0; и PA0,0.
Основные команды отрисовки и перемещения пере без отрисовки это PD и PU, например, отрисовка отрезка прямой от текущих координат пера до указанных в команде координат, здесь x = 55 и y = 99 PD55,99;.
Дуга может выводиться на отрисовку следующей командой:
AA X0,Y0, А;
здесь AA — код команды, аббревиатура от Arc Absolute, координаты указаны в абсолютной системе координат плоттера; X0, Y0 — абсолютные координаты центра дуги; A — угол прочерчиваемой дуги в градусах против часовой стрелке, если число положительное и по часовой стрелке, если число отрицательное.
Начало дуги задаётся координатами текущего положения пера поэтому радиус дуги будет равен расстоянию между точкой с текущими координатами пера и указанным в команде точкой центра дуги, то есть
Конкретный пример отрисовки дуги:
PA 0, 0; PD; AA0,100,180; PU;
Последовательность этих команд начертит полуокружность с центром в точке (0, 100) началом дуги в начале координат и диаметром 200. Команды PD и PU — команды опускания и поднятия пера.
Обычно HPGL файлы начинаются с нескольких команд, устанавливающие начальные настройки плоттера за которыми следует последовательность графических команд. Например:
Команда | Значение |
---|---|
IN; | инициализация процесса черчения |
IP; | определяет начальную точку, в данном случае по умолчанию 0,0 |
SC0,100,0,100; | устанавливает размеры страницы от 0 до 100 в направлениях X и Y |
SP1; | выбирает перо 1 |
PU0,0; | перемещает перо в начальную позицию |
PD100,0,100,100,0,100,0,0; | опускает и двигает перо по заданным позициям (чертит прямоугольник вокруг страницы) |
PU50,50; | поднимает и перемещает перо в позицию 50,50 |
CI25; | чертит окружность с радиусом 25 |
SS; | выбирает стандартный шрифт |
DT*,1; | устанавливает в качестве текстового разделителя символ * и запрещает его печать на бумаге (1 — «true») |
PU20,80; | поднимает и перемещает перо в позицию 20,80 |
LBHello World*; | чертит надпись |
Первоначальный язык HP-GL не поддерживал задание ширины линий. Этот параметр определялся номерами перьев, устанавливаемыми в плоттер. С появлением первых струйных плоттеров ширина линий «перьев», указанных в HPGL-файлах, должна была устанавливаться на плоттере для каждого пера, что представляло собой довольно трудоемкий процесс, чреватый ошибками. В версии языка HP-GL/2 данная возможность была предусмотрена непосредственно на уровне языка, что позволило назначать автоматически ширину линий на этапе создания графического файла в графическом редакторе. Среди прочих улучшений был добавлен вывод файла управления плоттером в двоичном формате. Это уменьшает размер файлов и время на их передачу. Также было увеличено разрешение.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .