Упрaжнение 15. HPGL, PS

From Ilianko

Цел на упражнението

Запознаване със специализираните програмни езици за управление на плотери и принтери, като подробно се разглежда езикът HP-GL.

Теоретична част

Управлението на принтери и плотери се извършва със специализирани програмни езици наречени PDL (Page Description Language - език за описване на страници). В началото съществуват два вида устройства за отпечатване – ударни принтери за печат на текст и плотери, които се ползват за възпроизвеждане на векторна графика. С развитието на технологиите в началото на осемдесетте години на миналия век, започва и развитието на PDL езици като Postscript (Adobe) и HP-GL/2, PCL (Hewlett-Packard). Те дават възможност за едновременна обработка на изображението като съвкупност от линии, символи и растерни картинки.

Какво точно прави PDL езика?

Когато използваме софтуер за създаване на чертеж, например AutoCad, той приема нашите команди за създаване на линии и текст, и за това как да разположи тези обекти на виртуалната страница. Софтуерът има информация също за дебелината на линиите и за техния цвят. Ние виждаме тази информация на екрана като картинка, но реално картинката съществува записана в байтове, като набор от инструкции, които AutoCad може да изпълни, за да възпроизведе картинката отново по всяко време. При натискане на бутон „Print“, драйверът на принтера спомага кодът с инструкциите на картинката да бъде изпратен в PDL формат към принтера. След това принтерът изпълнява PDL кода, като го използва да направлява възпроизвеждането на графиката и текста върху страницата. PDL е ключова технология, която позволява на компютъра и принтера да работят заедно. Принципна разлика между езика PDL и други програмни езици е, че PDL кодът се генерира от машина с цел изпълнението му от машина. С времето освен за директен печат, PDL започва да се използва и като средство за обмен на графични и текстови документи между различни компютри и програми. PDL позволява един документ да бъде възпроизведен или разпечатан по еднакъв начин, независимо от софтуера, с който е създаден и независимо от операционната система, през която се достъпва. В момента популярният формат за изпращане на документи PDF е изграден на основата на PDL езика Postscript. Докато Postscript се използва повече за текст и растерна графика, HP-GL/2 форматът има голямо предимство при работа с големи чертежи. Той позволява компактно съхранение и бърза обработка на векторна графика.

HP-GL/2

HP-GL инструкциите са в следния формат: X X П Р П Р П Т, където:

  • XX е име на инструкцията (дву-буквен/байтов мнемоничен код), може да са малки и големи букви;
  • П са параметри, като може да има функции без параметри, функции с няколко задължителни или по избор параметри;
  • Р са разделители, препоръчва се параметрите да се разделят със запетая;
  • Т е терминатор, препоръчва се точка и запетая.

Функциите могат да се разделят на следните групи: конфигурационни, векторни, полигони, настройки на линиите и запълването, символни.

Конфигурационни функции HP-GL

  • DF; - Defualt Values, Задаване на вградени настройки (по подразбиране). Инструкцията за установяване на състояние по подразбиране задава някои функции на плотера в предварително определено състояние. Тази инструкция може да се използва за връщане на плотера в известно състояние, като се запазват същите стойности на P1 и Р2 (установяващи размерите на чертожната площ). В резултат на това нежеланите състояния на графичните параметри като размер на символите, наклон или мащаб, не се предават на следващата програма. Функцията няма параметри.
  • IN; - Initialize, инструкция за инициализация. Инструкцията за инициализация IN предава начално състояние на плотера, което се установява при включване на захранването. Тази инструкция не влияе върху протокола на обмен и върху състоянието на плотера (програмно включен или програмно изключен). Инструкцията може да се използва за връщане на плотера в известно състояние в началото на графичната програма така, че да не се приемат от предишната програма някои нежелани графични параметри като размер и наклон на буквите и мащабиране. P1 и Р2 се установяват в положението, което се установява при включване на захранването. Функцията няма параметри.
  • IP [P1x, P1y [, Р2х, Р2у]]; - Input P, инструкция за въвеждане на мащабиращите точки P1 и Р2. Мащабиращите точки P1 и Р2 установяват размера на чертожната площ (размера на чертежа) и посоката на надписите. Координатите на Р1 и Р2 трябва да са в абсолютни единици. Задаването на Р2 не е задължително. Ако то липсва, Р2 се установява в зависимост от Р1, така че разстоянието между P1 и Р2 да остане непроменено. Ако функцията се изпълни без параметри за P1 и Р2 се вземат стойностите по подразбиране за дадения формат A3 или А4.

Формат А3 А4

P1 170,602 603,521

P2 15350,10602 10603,7721

  • PS [x[,y]] Plot Size


  • SC [Xmin, Хтах, Ymin, Ymax]; - Scale, Инструкция за мащабиране - SC. Установява координатната система в потребителски единици, като присвоява стойности на мащабиращите точки P1 и Р2. Чертожната площ е разделена на плотерни единици (1 плотерна единица е равна на 0.025 mm). Чрез инструкция SC потребителят дефинира свои потребителски единици. Инструкция SC изпълнена без параметри, ще отмени мащабирането.
  • IW [Xl, Yl, X2,Y2t]; - Input Window, инструкция за въвеждане на прозорец. Тази инструкция позволява да се ограничи придвижването на перото до една правоъгълна част от чертожната площ, наречена "прозорец". Параметрите се задават в абсолютни плотерни единици, където X1 и Y1 са координати на долния ляв ъгъл, a X2 и Y2 - координати на горния десен ъгъл. При изпълнение без параметри се зареждат стойностите на началното състояние.
  • RO [ъгъл в градуси]; - Rotate. Инструкция за завъртане на координатната система. Завърта координатната система в плотерни или в потребителски единици на 90° т.е. ориентира чертожната площ хоризонтално или вертикално. Допустими стойности за ъгъла са 0" и 90°. RO; е равносилна на RO 0; .Тази инструкция връща координатната система в първоначално положение.

SP [n]; - Select Pen, избор на перото (в мастилоструйните плотери перото е виртуално). Инструкцията се използва, за да зареди перо в държача. Параметърът номер на перото трябва да бъде в обхвата 0 < n < N. Нулев параметър или липса на параметър връща перото там, от където е взето. Ако гнездото е заето, плотерът ще издаде съобщение за грешка. Когато параметърът за перото е извън обхвата N, той се игнорира и номера на перото не се променя.

  • PC [n[, r, g, b]]; - Pen Color, задаване на цвят на перото, където n е номера на перото и стойностите за r,g,b са от 0 до 255.

Векторни функции HP-GL

  • PU / PD [X, Y[, ...]]; – Pen Up / Pen Down, инструкции за управление на перото. Инструкциите се използват съответно да повдигат и спускат перото по време на чертане. Те могат да се използват с параметри, за да се извърши чертане или придвижване до точките, указани с параметрите. Когато не са зададени параметри, инструкцията за повдигане на перото PU повдига перото, без да го придвижва в нова точка. Инструкцията за спускане на перото PD спуска перото, без да го придвижва в нова точка, ако перото е вътре в дефинирания прозорец. Ако са зададени параметри, перото ще се придвижи поред до указаните координати X,Y. Координатите се тълкуват в плотерни единици, ако мащабирането е изключено и в потребителски единици, ако мащабирането е включено. Придвижването е в относителни или в абсолютни координати, според това дали последна е била изпълнена инструкция РА или PR. Ако са зададени параметри, трябва да са зададени и двете координати X,Y. Нечетен брой параметри ще установи състояние на грешка, но перото ще чертае до изчерпването на всички двойки X,Y, предшестващи единичния параметър.
  • PA [X, Y [, ...]]; - Plot Abosute, инструкция за чертане в абсолютни координати. Инструкцията за чертане в абсолютни координати РА придвижва перото в точката, указана с параметрите на координатите X и Y. Инструкцията може да се използва заедно с инструкцията PD, за да се начертае линия или с PU, за да се придвижи перото до зададена точка от чертежа. Инструкцията може да се изпълни без параметри, за да се установи чертане в абсолютни координати за инструкциите PL) и PD с параметри. В този случай параметрите на PU и PD се тълкуват като абсолютни координати на X и Y, докато се приеме инструкцията за относителни координати PR. Препоръчваните параметри са десетични числа между -32768.0000 и 32767.9999. Когато мащабирането е изключено, параметрите се отрязват до цели числа.
  • PR [X, Y [, ...]]; - Plot Relative, инструкция за чертане в относителни координати. Инструкцията за чертане в относителни координати PR придвижва перото спрямо текущото положение с броя единици, указани в параметрите за нарастване по X и У. Инструкцията за чертане в относителни единици може да се използва за чертане на линии и за придвижване на перото до зададена точка. С инструкцията PR движението на перото е относително спрямо неговото текущото положение. Инструкцията може да се изпълни без параметри. По този начин се задава относително изчертаване чрез инструкции PU или PD. Инструкцията се използва често за многократно изчертаване на някаква фигура върху чертежа, например, да се начертаят няколко правоъгълника с един и същ размер. Препоръчваните параметри са десетични числа между -32768,0000 и 327117.9999. Инструкцията PR изисква нарастванията по X и У да бъдат по двойки. Знакът на параметъра определя посоката на придвижване.
  • CI radius [, chord_angle]; - CIrcle, инструкция за изчертаване на окръжност. Инструкцията може да се използва за създаване на окръжности с помощта само на една инструкция. Всички изчисления се извършват от плотера, което намалява натоварването на компютъра. Параметърът радиус може да бъде положително или отрицателно число в целочислен или мащабиран десетичен формат. Знакът определя началната точка на окръжността: окръжност с положителен радиус започва изчертаване от точката с 0°, а с отрицателен радиус - от точката със 180°. Центърът на окръжността е в текущото положение на перото. Ако мащабирането е изключено, радиусът е в плотерни единици. Ако мащабирането е включено радиусът е в потребителски единици. Ако потребителските единици не са еднакви по осите X и У, ще се изчертае елипса. Параметърът ъгъл на хорда се задава в целочислен формат и определя гладкостта на окръжността. Той се тълкува в градуси и задава максималния ъгъл, съответстващ на хордата, която се чертае вместо дъгата от окръжността. Действителният ъгъл, който се използва, може да се промени от плотера, така че всички хорди да имат една и съща дължина.
  • AA X, Y, sweep angle [, chord angle] – Arc Absolute, инструкция за дъга в абсолютни координати. Позволява да се чертае дъга, чийто център се намира в точка със зададени X, Y абсолютни координати. Центъра може да се намира и извън чертожната площ. Началната точка на изчертаване на дъгата е текущото положение на перото. Ъгълът на дъгата е в градуси, в целочислен формат. При положителна стойност на ъгъла, дъгата се изчертава обратно на часовниковата стрелка от текущото положение на перото, а при отрицателна - по посока на часовниковата стрелка. Параметърът ъгъл на хорда е в целочислен формат и определя гладкостта на дъгата по същия начин, както в инструкцията за окръжност С1.
  • AR X, Y, sweep angle [, chord angle] – Arc Relative, инструкция за дъга в относителни координати. Тази инструкцията задава изчертаване на дъга в относителни координати по посока или обратно на посоката на часовниковата стрелка, със зададен ъгъл на дъгата и ъгъл на хордата. Центъра се задава като нарастване по X, нарастване по Y. Началната точка на изчертаване на дъгата е в текущото положение на перото. При положителен ъгъл, дъгата се чертае в посока, обратна на часовниковата стрелка, а при отрицателен - в посока на часовниковата стрелка. Параметърът ъгъл на хорда е в целочислен формат и определя гладкостта на кривата.
  • ЕА X, Y; - Edge rectangle Absolute, инструкция за изчертаване на правоъгълник в абсолютни координати. Тази инструкция очертава контур на правоъгълник. Тази инструкция изисква да се зададат и двете координати X и Y (координатна двойка). Те се тълкуват в плотерни единици, ако мащабирането е изключено и в потребителски единици, ако мащабирането е включено. Началната точка на изчертаване на правоъгълника е в текущото положение на перото, а зададените координати X и Y определят срещуположния връх на правоъгълника. Максималните параметри са десетични числа между -32768.0000 и 32767.9999. Когато мащабирането е изключено, параметрите се отрязват до цели числа, както са дадени за инструкция РА.
  • ЕR X, Y; - Edge rectangle Relative, инструкция за изчертаване на правоъгълник в относителни координати. Инструкцията очертава контура на правоъгълник, подобно на инструкция ЕА. Текущото положение на перото е в началната точка. Параметрите на инструкцията определят отместването на координатите на срещулежащия връх на правоъгълника. Стойностите за X и Y се задават и тълкуват така, както е и при инструкция ЕА.

Задачи за изпълнение:

  1. Използвайте командите PU и PD за изчертаване на правоъгълник и триъгълник.
  2. Да се създаде скрипт за изчертаване на следните фигури в абсолютни координати: кръг, квадрат, равностранен триъгълник, елипса.
  3. Да се създаде скрипт за изчертаване на следните фигури в относителни координати: кръг, квадрат, равностранен триъгълник, елипса. Всяка фигура да е в различен цвят.
  4. Да се създаде скрипт за изчертаване на платноходка.

Начин на работа.

Разучете HP-GL инструкциите. Скицирайте на хартия фигурите за изчертаване. Използвайте текстов редактор за създаване на скрипта, като използвате максимален брой от вградените инструкции. Запишете файла в *.plt формат и го визуализирайте с HP-GL viewer. За задача 3.4. използвайте свой модел на платноходка.

Контролни въпроси и задачи:

  1. Как може да се извърши завъртане на координатната система?
  2. Каква е разликата между инструкциите за чертане в абсолютни координати и тези за чертане в относителни координати?
  3. Колко цвята могат да се използват при работа с цветни мастиленоструйни плотери и виртуални пера?

Инструкциите за обогатяване на чертежа в HP-GL/2.

Разгледаните инструкции в част 1 сами по себе си са достатъчни за изобразяване и на най-сложните фигури, но с цел оптимизация на управлението, се налага вграждане освен на геометричните примитиви също и на някои от останалите най-често използвани елементи в чертежите. Съществуват следните инструкции за обогатяване на чертежа: - чертане отметки по осите; - изписване на символи по избор на потребителя; - чертане на растерна мрежа; - чертане на прекъснати и пунктирани линии.

Запълване и атрибути на линиите

  • FT тип на запълване [, разстояние [, ъгъл ]]; – Fill Type, инструкция за типа на запълването. Инструкцията FT избира типа на запълване на кръгови и стълбови диаграми и на други графики.

Съществуват 5 типа на запълване:

  1. - плътно (линиите са на разстояние, определено от инструкцията РТ, запълването е двупосочно);
  2. - плътно - еднопосочно запълване;
  3. - успоредни линии;
  4. - кръстосани линии;
  5. - липса на запълване.

Параметърът тип на запълване трябва винаги да бъде цяло число между 1 и 5. Ако не зададете тип на запълване, той се приема за единица. Параметърът разстояние задава разстоянието между успоредните линии в запълваната площ. Единиците, с които се задава разстоянието, се тълкуват като плотерни единици, ако мащабирането е изключено и като потребителски единици, ако мащабирането е включено. Максималният допустим обхват е между 0 и 32 767.9999. Ако не зададете разстоянието и това е първата инструкция FT във вашата програма, разстоянието се приема по подразбиране равно на 1% от диагоналното разстояние между P1 и Р2. Ако не зададете разстояние и това не е първата инструкция FT във вашата програма, ще се използва разстоянието, зададено в предишната инструкция FT. Стойност 0 на разстоянието се игнорира и то се приема равно на текущо определената дебелина на перото в РТ. Параметърът разстояние се игнорира при плътно запълване от тип 1 и 2 и разстоянието се определя от инструкцията РТ. Параметърът ъгъл определя наклона на линията и се задава през 45°, започвайки от 0°. При задаване на ъгъл 0°, ще се получат хоризонтални линии, при ъгъл 45° - наклонени линии, а при ъгъл 90° - вертикални линии. Ако не зададете ъгъл и това е първата инструкция FT, ъгълът ще се установи по подразбиране на 0°. Ако не зададете ъгъл и това не е първата инструкция FT в програмата, ще се използва ъгълът зададен в предишната инструкция FT. В следващата таблица са резюмирани възможностите на инструкцията:


Параметър Тип стойност Обхват По подразбиране
Тип Целочислен 1 ÷ 5 1
Разстояние Десетичен 0 ÷ 32 77.9999 1% от (P2 – P1)
Ъгъл Целочислен 0°, 45°, 90°
  • PT [ диаметър ] / PW [диаметър [, перо]] ; - Point Thickness / Point Width, инструкция за дебелина на перото. Инструкцията може да се използва с инструкциите FT, RR, RA и WG за получаване на плътно запълване на кръгови и стълбови диаграми и графики. Дебелината на перото е десетично число, задаващо физическата дебелина на перото в милиметри с обхват от 0.1мм до 5.0мм (оптималният обхват е от 0.3 до 0.7мм). Ако не зададете дебелината на перото, по подразбиране се приема 0.3 мм. Инструкцията РТ се отнася само до текущо избраното перо. Тя остава в сила, докато:
  1. се избере ново перо с инструкция SP или ръчно от предния панел на плотера;
  2. се получи нова инструкция РТ.
  • RA X,Y; - fill Rectangle Absolute, инструкция за запълване на правоъгълник в абсолютни координати. Инструкцията RA изисква да бъдат зададени и двете координати X и У(координатна двойка). Те се тълкуват като плотерни единици, ако мащабирането е изключено. Началната точка на правоъгълника е текущото положение на перото, а координатите X и Y определят срещуположния връх на правоъгълника. Максималните параметри са десетични числа между-32768.0000 и 32767.9999. Когато мащабирането е изключено, параметрите се изразяват до цели числа, както следва:
    • за положителни числа дробната част се отрязва, а цялата част остава непроменена (например, числата 123.4 и 123.9 стават 123);
    • за отрицателни числа дробната част се игнорира, а цялата част се променя както е при инструкция РА (например, числата -1234.4 и -1234.9 стават -1235).
  • RR X, Y; - fill Rectangle Relative, инструкция за запълване на правоъгълник в относителни координати. Инструкцията се използва за дефиниране и запълване на правоъгълник в относителни координати. Началната точка на правоъгълника е текущото положение на перото, а нарастванията по X и Y определят срещуположния връх. Правоъгълникът се запълва като се използва текущото положение на перото и текущия тип на линията. Стойностите за X и Y се задават и тълкуват така както е и при инструкция RA.
  • WG радиус, начален ъгъл, ъгъл на дъга [, ъгъл на хорда]; – fill WedGe, инструкция за запълване на кръгов сектор. Инструкцията определя и запълва кръгов сектор, като използва текущите перо и тип на линия. Текущото положение на перото определя центъра на окръжността. Радиусът определя размера на окръжността и се задава в целочислен или мащабиран десетичен формат, като приема стойности от -32768.0000 до 32767.9999. Знакът на радиуса определя мястото на точката с 0°, спрямо която се измерват началният ъгъл и ъгълът на дъгата. Началният ъгъл посочва къде да се начертае първата точка. Той приема стойности от -360° до 360°. Положителен начален ъгъл разполага радиуса обратно на часовниковата стрелка от точката е 0°. Ъгълът на дъгата е в целочислен формат между -32768 и 32767 и определя броя на градусите, съответстващи на изчертавания кръгов сектор. Положителен ъгъл чертае обратно на часовниковата стрелка.

Ъгълът на хордата е в целочислен формат от 0° до 1203 и определя гладкостта на дъгата. По премълчаване ъгълът на хордата се приема за 5°. След изчертаването перото се връща в първоначално положение.

  • ЕW радиус, начален ъгъл, ъгъл на дъга [, ъгъл на хорда]; – Edge Wedge, инструкция за изчертаване на кръгов сектор. Инструкцията се използва за изчертаване на отделни дъги, които след като се комбинират може да се получи кръгова диаграма. Инструкцията очертава кръгов сектор, като използва текущите перо и тип на линията. Значението на параметрите на инструкцията и техния обхват са аналогични на тези при инструкция WG.
  • XT; / YT; - X/Y-axis Thick, инструкции за отметки. Инструкцията XT чертае вертикална отметка по оста X а инструкцията YT - хоризонтална отметка по оста Y. Чертането на отметките започва от текущото положение на перото. Дължината на отметката се определя чрез инструкция TL. По подразбиране тя се приема 0.5% от (Р2х-Plx) за YT и 0.5% от (Р2у - Ply) за XT.
  • TL; - Tick Lenght, инструкция за дължина на отметката

Инструкцията задава дължина на отметките, които се чертаят с инструкции XT и YT. Дължината на отметките се задава в процент от хоризонталното и вертикалното разстояние между мащабиращите точки Р1 и Р2.

  • SM [c]; - Symbol mode, инструкция за символен режим.

Инструкцията се използва заедно с инструкциите PA и PR и дава възможност за изписване на един символ, центриран в края на всеки вектор. Чертането в символен режим може да се използва за изписване на указан символ в дадена точка. По този начин могат да се създават времедиаграми на разсейване, геометрични чертежи или графики с много линии. Като параметър на инструкцията може да се зададе всеки печатен символ (десетична стойност на ASCII код от 33 до 126) с изключение на символа ; (ASCII код 59), който служи за терминатор и изключва символния режим. Като параметър се тълкува първия символ след мнемониката. След като се изпълни инструкцията SM, инструкциите PA и PR действат както обикновено, но с тази разлика, че в края на всеки вектор се изписва символа, зададен в полето за параметри. Това продължава докато не се отмени символният режим. Инструкцията SM без параметри изключва символния режим.

  • LT [тип [, дължина]]; - Line Type, инструкция за типа на линията. Инструкцията задава типа па линията, която се изчертава с инструкциите PA и PR. Първият параметър (номер на типа) приема стойности от 0 до 6 и установява вида на линията. Когато стойността на този параметър е между 7 и 129.9999, той се игнорира, типът на линията остава същия и не се установява грешка. Вторият параметър (дължина на типа) определя дължината на един цикъл от типа и се задава в проценти от диагоналното разстояние между мащабиращите точки PI и Р2. По подразбиране дължината се определя като 4% от (Р2-Р1). Инструкция LT без параметри дефинира изчертаване с непрекъсната линия.

Символни функции

  • CS [n]; - Standart Character Set, инструкция за назначаване на стандартен набор символи. Инструкцията сменя назначения стандартен набор символи с друг. Номерът на набора символи може да бъде от 0 до 4, от 6 до 9 и от 30 до 39. Този набор се избира според това на какъв език ще са надписите. Той се използва при всички операции по надписването, когато е избран стандартния набор символи. Инструкция CS без параметри установява набор 0.
  • CA [n]; - Alternative Chaacter Set, инструкция за назначаване на алтернативен набор символи. Инструкцията сменя назначения алтернативен набор символи с друг. Номерът на набора се избира като при CS
  • SS; - Select Standart font, Инструкция за избор на стандартен набор символи. Инструкцията избира за надписване стандартния набор символи. Използва се за преминаване от избрания алтернативен набор символи към стандартния. Изборът на стандартния набор символи става чрез инструкция CS или чрез управляващ символ SI (ASCII код 15). Инструкцията не изисква параметри.
  • SA; - Select Alternative font, инструкция за избор на алтернативен набор символи

Инструкцията избира за надписване алтернативния набор символи. Чрез нея се сменя избраният стандартен набор символи с алтернативнен.

  • DT [символ]; - Define Label Terminator, инструкция за дефиниране на терминатор на надписа. Терминатор на надписа е крайният символ в низа за надписване. При достигането на такъв символ надписването се прекратява и следващите символи се тълкуват като HP-GL инструкции. По подразбиране като терминатор на надписа се използва ЕТХ (ASCII код 3), но с инструкция DT, той може да бъде променен. Ако за терминатор на надписа се използва един от управляващите символи (ASCII кодове 1÷32 и 127), то в края на надписа символът не се изписва, въпреки че неговата функция се изпълнява. Ако се използва един от символите с ASCII кодове 32+126, символът се изписва в края на надписа. Символите NULL (ASCII код 0), ESC (ASCII код 27) и ENQ (ASCII код 5) не могат да се използват като терминатори.
  • LB текст, терминатор на текст; - LaBel, инструкция за надписване. Инструкцията изписва низ от символи с текущо избрания набор символи. Надписът започва от текущото положение на перото. След изписването на един символ, перото се придвижва в долния ляв ъгъл на следващото символно пространство. За посоката на изписване, размера и наклона на символите се използват стойностите, зададени по подразбиране, освен ако не са зададени предварително с инструкциите DI, DR, SI, SR или SL. Режимът за надписване се прекратява, когато се изпрати терминатор за край на надписа, избран с инструкция DT.
  • DI [a, b ]; - character absolute DIrection, инструкция за абсолютна посока. Инструкцията се използва за промяна на посоката на надписване в нова, абсолютна посока т.е. посока, независима от положението на PI и Р2. Ъгълът на наклона е равен на arctg(a/b). Стойностите на а и b се задават в десетичен формат от -128 до 127.9999 и поне един от параметрите трябва да е различен от 0. Инструкция без параметри е равнозначна на инструкция DI 1,0;. Тази инструкция установява хоризонтален надпис с посока от ляво на дясно. Инструкцията DI връща преминаването на нов ред в текущото положение на перото.
  • DR [a, b ]; - character Relative Direction, инструкция за относителна посока. Инструкцията се използва за промяна на посоката на надписване в посока, която се задава относително спрямо положението на PI и Р2. Параметрите се задават като при DI.

Задаване размера на символите. Всеки символ се разполага в символно пространство с височина два пъти по-голяма от височината на символа и с ширина 1,5 от ширината на символа. Пространството над и отстрани на символа служи като пространство между редовете и пространство между символите. За описание на символа се дефинират следните параметри:

	- ширина на символното пространство = W;
	- височина на символното пространство = H;

- височина на символа = 0.5Н;

	- ширина на символа = 0.67W;

- начална точка на символа; - начална точка на следващия символ.

  • SI [ширина, височина]; - absolute character SIze, инструкция за абсолютен размер на символите. Инструкцията задава действителната големина на символите в сантиметри. Стойностите са в обхвата от -128 до 127.9999. По подразбиране се задават W=0.187 и Н=0.269 за формат А4 и W=0.285, Н=0.375 за формат A3. Отрицателни стойности на параметрите водят до получаване на огледален образ на надписа.
  • SR [ширина, височина]; - Relative character Size, инструкция за относителен размер на символите. Инструкцията задава размера па символите като процент от разстоянието между мащабиращите точки, съответно по X и Y осите.
  • CP [символи, редове]; - Character Plot, инструкция за вмъкване на символни пространства. Инструкцията придвижва перото на произволен брой символни полета или редове от една точка от чертожната повърхност. Първият параметър придвижва перото на указания брой ширини на символни полета надясно (ако параметърът има положителна стойност) или наляво (отрицателна стойност). Вторият параметър придвижва перото на указания брой височини на символни полета нагоре (ако параметърът има положителна стойност) или надолу (отрицателна стойност). Посоките нагоре, надолу, наляво и надясно зависят от посоката на надписа.

Ако не се задават параметри, инструкцията CP се използва за преминаване на нов ред, като придвижва перото с едно символно пространство надолу и го връща на границата, определена от точката на връщане. Това е последната точка, до която се е придвижило перото с помощта на инструкциите PA, PR, PU, PD. Състоянието на перото (повдигнато или спуснато) не се променя с инструкция CP.

  • SL [тангес на наклона]; - Character Slant, инструкция за наклон на символа. Инструкцията задава ъгълът на наклона на символите. Инструкция без параметър установява изписване на символи без наклон.

Задачи за изпълнение:

  1. Да се създаде скрипт за изчертаване и запълване на следните фигури: кръг, квадрат, равностранен триъгълник, елипса.
  2. Да се създаде скрипт за изписване на имената ви в 4 различни посоки, като във всяка посока шрифта да е с различен наклон и размер.
  3. Да се създаде скрипт за изчертаване на разностранен трапец. Да се построят височините му и да се оразмери.

Начин на работа.

Разучете HP-GL инструкциите. Скицирайте на хартия фигурите за изчертаване. Използвайте текстов редактор за създаване на скрипта, като използвате максимален брой от вградените инструкции. Запишете файла в *.plt формат и го визуализирайте с SPLOT32. За задача 3.3. използвайте произволни размери.

Контролни въпроси и задачи:

Защо се добавят инструкции за запълване и обогатяване на чертежа, а не се използват само PU и PD? Какви други инструкции биха могли да се добавят, с цел оптимизиране на обема на кода?


Връзки

http://www.linuxquestions.org/questions/linux-software-2/how-do-i-view-plt-files-in-linux-346234/