HP-GL
HP-GL , skrót od Hewlett-Packard Graphics Language i często zapisywany jako HPGL , to język sterowania drukarką stworzony przez firmę Hewlett-Packard (HP). HP-GL był podstawowym językiem sterowania drukarką używanym przez plotery HP . Został wprowadzony wraz z ploterem HP-8972 w 1977 roku i stał się standardem dla prawie wszystkich ploterów. Drukarki firmy Hewlett-Packard oprócz języka PCL zwykle obsługują również język HP-GL/2 .
Projekt
Język składa się z serii dwuliterowych kodów ( mnemoników ), po których następują opcjonalne parametry. Na przykład łuk można narysować na stronie, wysyłając ciąg znaków:
AA100,100,50;
Oznacza to Arc Absolute , a parametry umieszczają środek łuku we współrzędnych bezwzględnych 100,100 na stronie, z kątem początkowym 50 stopni mierzonym w kierunku przeciwnym do ruchu wskazówek zegara. Czwarty opcjonalny parametr (tutaj nieużywany) określa, jak daleko ciągnie się łuk, a jego domyślna wartość to 5 stopni.
Kiedy po raz pierwszy wprowadzono, HP-GL zawierał następujące polecenia:
Komenda | Oznaczający |
---|---|
Grupa wektorów | |
PA x,y{,x,y{...}} |
Działka bezwzględna [i] |
PR x,y{,x,y{....}} |
Działka względna [i] |
PD |
Pióro w dół |
PU |
Pióro w górę |
Grupa postaci | |
CA n |
Wyznacz alternatywny zestaw znaków n [i] |
CP , linie |
Działka znaków [d] |
CS m |
Wyznacz standardowy zestaw m [i] |
DI biegnij, wstań |
Kierunek bezwzględny [d] |
DR , wstań |
Kierunek względny [d] |
LB c, ..., c |
ASCII etykiety [c] |
SA |
Wybierz alternatywny zestaw znaków |
SI szeroki, wysoki |
Bezwzględny rozmiar znaku [d] |
SL tan θ |
Bezwzględne pochylenie znaku (od pionu) [d] |
SR szeroki, wysoki |
Względny rozmiar znaków [d] |
SS |
Wybierz standardowy zestaw znaków |
UC x, y, pen{, ...} |
Znak zdefiniowany przez użytkownika [i] |
Grupa typów linii | |
LT t{,l} |
Oznacz typ linii t i długość l [d] |
SM c |
Tryb symboli [c] |
SP nr |
Wybierz pióro [i] |
VA |
Prędkość adaptacyjna |
VN |
Normalna prędkość |
VS v{,n} |
Wybierz prędkość v dla pióra n [i] |
Grupa digitalizacji | |
DC |
Wyczyść digitalizację |
DP |
Punkt digitalizacji |
OC |
Aktualna pozycja wyjściowa i stan pióra |
OD |
Wyjście zdigitalizowanego punktu i statusu pióra |
osie | |
TL tp{,tn} |
Długość kleszcza [d] |
XT |
Zaznaczenie osi X |
YT |
Zaznaczenie osi Y |
Grupa konfiguracyjna | |
IP p1x, p1y, p2x, p2y |
Wejście p1 i p2 [i] |
IW xlo,ylo,xhi,yhi |
Okno wprowadzania [i] |
OP |
Wyjście p1 i p2 [i] |
Stan konfiguracji | |
AP |
Automatyczne pobieranie pióra [i] |
DF |
Ustaw wartości domyślne |
IM e{,s{,p}} |
Wprowadź maski e, s i p [i] |
W |
Zainicjuj |
OE |
Błąd wyjścia [i] |
system operacyjny |
Stan wyjścia [i] |
SI w, godz |
ustawić szerokość i wysokość znaków |
Formaty:
- [i]: formaty liczb całkowitych od -32767 do 32768. Bez kropki dziesiętnej.
- [d]: format dziesiętny pomiędzy +/- 127,9999. Opcjonalna kropka dziesiętna.
- [c]: znak ASCII
Przykłady
Typowe pliki HP-GL zaczynają się od kilku poleceń konfiguracyjnych, po których następuje długi ciąg poleceń graficznych. Plik był w formacie ASCII ( plik tekstowy ) , na przykład:
Komenda | Oznaczający |
---|---|
W; | zainicjować, rozpocząć zadanie drukowania |
IP; | ustaw punkty skalowania (P1 i P2) w ich domyślnych pozycjach |
SP1; | wybierz pióro 1 |
PU0,0; | podnieś pióro w górę i przejdź do punktu początkowego dla następnej akcji |
PD100,0,100,100,0,100,0,0; | odłóż pióro i przejdź do następujących miejsc (narysuj ramkę wokół strony) |
PU50,50; | Pen Up i przejdź do współrzędnych X,Y 50,50 |
CI25; | narysuj okrąg o promieniu 25 |
SS; | wybierz standardowy zestaw znaków |
DT*,1; | ustaw ogranicznik tekstu na gwiazdkę i nie drukuj ich (1, co oznacza „prawda”) |
PU20,80; | podnieś pióro i przejdź do 20,80 |
LBWitaj świecie*; | narysuj etykietę |
Układ współrzędnych był oparty na najmniejszych jednostkach obsługiwanych przez jeden z ploterów HP i został ustawiony na 25 µm (tj. 40 jednostek na milimetr, 1016 na cal). Przestrzeń współrzędnych była dodatnimi lub ujemnymi liczbami zmiennoprzecinkowymi , w szczególności ±2 30 .
HP-GL/2
Oryginalny język HP-GL nie obsługiwał definicji szerokości linii, ponieważ parametr ten był określany przez pisaki załadowane do plotera. Wraz z pojawieniem się pierwszych atramentowych szerokość linii dla „pisaków” określonych w plikach HP-GL musiała zostać ustawiona w drukarce, aby wiedziała, jaką szerokość linii wydrukować dla każdego pisaka, co jest uciążliwym i podatnym na błędy procesem . Wraz z Hewlett-Packard Graphics Language/2, czyli HP-GL/2 , do języka wprowadzono definicję szerokości linii, co pozwoliło wyeliminować ten krok. Ponadto, między innymi ulepszeniami, plik binarny zdefiniowano format, który pozwalał na mniejsze pliki i krótsze czasy przesyłania plików, a minimalna rozdzielczość została zmniejszona.
Komenda | Oznaczający |
---|---|
NPx | liczba długopisów; x=1..256 |
PCx, r, g, b | kolor pióra; x=pióro, r=czerwony, g=zielony, b=niebieski, 0..255 |
PWw, x | szerokość pióra; w=szerokość pisaka w mm z kropką dziesiętną, x=pióro |
AGL
HP-GL jest spokrewniony z AGL (A Graphics Language), rozszerzeniem języka programowania BASIC . AGL został zaimplementowany na minikomputerach Hewlett-Packard , aby uprościć sterowanie ploterem. Polecenia AGL opisują żądaną funkcję kreślenia grafiki, którą komputer przekazuje ploterowi jako kilka instrukcji HP-GL.
Zobacz też
- DMPL , inny język plotera firmy Houston Instruments
- Format Gerber to kolejny format opisu fabuły
- ShareCAD , bezpłatna internetowa przeglądarka HP-GL/PLT
- Logo , język komputerowy z poleceniami rysowania podobnymi do HP-GL
Dalsza lektura
- Hewlett-Packard Company, Oddział w Barcelonie (wrzesień 1996) [1990]. Podręcznik HP-GL/2 i HP RTL — Podręcznik dla programistów — Hewlett-Packard Graphics Language/2 — Hewlett-Packard Raster Transfer Language (wersja robocza 2, wydanie drugie). Barcelona, Hiszpania: Addison-Wesley Publishing Company . ISBN 0-201-63325-6 . Numer części HP 5961-3526, 5959-9733. Zarchiwizowane od oryginału w dniu 2017-02-27 . Źródło 2017-02-28 .
Linki zewnętrzne
- „Polecenia języka grafiki Hewlett-Packard” . Zarchiwizowane od oryginału w dniu 2017-02-27.
- „Przegląd HP-GL” (PDF) . Zarchiwizowane od oryginału (PDF) w dniu 13.06.2018 r.
- „Chiplotle” . Źródło 2023-02-15 . (Uwaga. Oparta na języku Python biblioteka sterowania ploterem HP-GL do używania starych ploterów pisakowych ze współczesnymi systemami operacyjnymi).