HP-GL , abreviatura de Hewlett-Packard Graphics Language y a menudo escrito como HPGL , es un lenguaje de control de impresora creado por Hewlett-Packard (HP). HP-GL fue el lenguaje de control de impresora principal utilizado por los trazadores de HP . [1] Se introdujo con el trazador HP-8972 en 1977 y se convirtió en un estándar para casi todos los trazadores. Las impresoras de Hewlett-Packard también suelen admitir HP-GL / 2 además de PCL . [2]
Diseño
El lenguaje está formado por una serie de códigos de dos letras ( mnemónicos ), seguidos de parámetros opcionales. Por ejemplo, se puede dibujar un arco en una página enviando la cadena:
AA100,100,50;
Esto significa Arco Absoluto , y los parámetros colocan el centro del arco en las coordenadas absolutas 100,100 en la página, con un ángulo inicial de 50 grados medidos en sentido antihorario. Un cuarto parámetro opcional (que no se usa aquí) especifica qué tan lejos continúa el arco y su valor predeterminado es 5 grados.
Cuando se presentó por primera vez, HP-GL contenía los siguientes comandos:
Mando | Significado |
---|---|
Grupo de vectores | |
PA x, y {, x, y {...}} | Trazar absoluto [i] |
PR x, y {, x, y {....}} | Parcela relativa [i] |
PD | Pluma abajo |
PU | Encerrar |
Grupo de personajes | |
CA norte | Designar juego de caracteres alternativo n [i] |
CP espacios, lineas | Trama de personaje [d] |
CS metro | Designar conjunto estándar m [i] |
DI corre, levántate | Dirección absoluta [d] |
DR corre, levántate | Dirección relativa [d] |
LB c, ..., c | Etiqueta cadena ASCII [c] |
SA | Seleccionar juego de caracteres alternativo |
SI ancho, alto | Tamaño de carácter absoluto [d] |
SL bronceado θ | Inclinación absoluta del carácter (desde la vertical) [d] |
SR ancho, alto | Tamaño de carácter relativo [d] |
SS | Seleccionar juego de caracteres estándar |
UC x, y, pen {, ...} | Carácter definido por el usuario [i] |
Grupo de tipo de línea | |
LT t {, l} | Designe el tipo de línea ty la longitud l [d] |
SM C | Modo de símbolo [c] |
SP norte | Seleccionar bolígrafo [i] |
VA | Velocidad adaptativa |
VN | Velocidad normal |
VS v {, n} | Seleccione la velocidad v para el lápiz n [i] |
Digitalizar grupo | |
DC | Digitalizar claro |
DP | Digitalizar punto |
OC | Posición actual de salida y estado de la pluma |
OD | Salida digitalizada del estado del bolígrafo y del punto |
Ejes | |
TL tp {, tn} | Longitud de la garrapata [d] |
XT | Marca del eje X |
YT | Marca del eje Y |
Grupo de configuración | |
IP p1x, p1y, p2x, p2y | Ingrese p1 y p2 [i] |
IW xlo, ylo, xhi, yhi | Ventana de entrada [i] |
OP | Salida p1 y p2 [i] |
Estado de configuración | |
AP | Recogida automática de bolígrafos [i] |
DF | Establecer valores predeterminados |
IM e {, s {, p}} | Introduzca las máscaras e, sy p [i] |
IN | Inicializar |
OE | Error de salida [i] |
OS | Estado de salida [i] |
SI w, h | establecer el ancho y la altura de los caracteres |
Formatos:
- [i]: formatos enteros entre -32767 y 32768. Sin punto decimal.
- [d]: formato decimal entre +/- 127,9999. Punto decimal opcional.
- [c]: carácter ASCII
Ejemplos de
Los archivos HP-GL típicos comienzan con algunos comandos de configuración, seguidos de una larga cadena de comandos gráficos. El archivo estaba en formato ASCII ( archivo de texto ) , por ejemplo:
Mando | Significado |
---|---|
EN; | inicializar, iniciar un trabajo de trazado |
IP; | establecer los puntos de escala (P1 y P2) en sus posiciones predeterminadas |
SP1; | seleccionar bolígrafo 1 |
PU0,0; | levante el lápiz y muévase al punto de partida para la siguiente acción |
PD100,0,100,100,0,100,0,0; | coloque el lápiz hacia abajo y muévase a las siguientes ubicaciones (dibuje un cuadro alrededor de la página) |
PU50,50; | Lápiz hacia arriba y muévase a las coordenadas X, Y 50,50 |
CI25; | dibuja un círculo con radio 25 |
SS; | seleccione el juego de caracteres estándar |
DT *, 1; | establezca el delimitador de texto en el asterisco y no los imprima (el 1, que significa "verdadero") |
PU20,80; | levante el bolígrafo y muévalo a 20,80 |
LBHello World *; | dibujar una etiqueta |
El sistema de coordenadas se basó en las unidades más pequeñas que podía soportar uno de los trazadores HP y se estableció en 25 µm (es decir, 40 unidades por milímetro, 1016 por pulgada). El espacio de coordenadas eran números de coma flotante positivos o negativos , específicamente ± 2 30 .
HP-GL / 2
El lenguaje HP-GL original no admitía la definición de ancho de línea, ya que este parámetro lo determinaban las plumas cargadas en el trazador. Con la llegada de los primeros trazadores de inyección de tinta , el ancho de línea de los "bolígrafos" especificados en los archivos HP-GL tenía que establecerse en la impresora para saber qué ancho de línea imprimir para cada bolígrafo, un proceso engorroso y propenso a errores. . Con Hewlett-Packard Graphics Language / 2, también conocido como HP-GL / 2 , se introdujo la definición de ancho de línea en el lenguaje y se permitió la eliminación de este paso. Además, entre otras mejoras , se definió un formato de archivo binario que permitía archivos más pequeños y tiempos de transferencia de archivos más cortos, y se redujo la resolución mínima.
Mando | Significado |
---|---|
NPx | número de bolígrafos; x = 1..256 |
PCx, r, g, b | color de la pluma; x = bolígrafo, r = rojo, g = verde, b = azul, 0..255 |
PWw, x | ancho de la pluma; w = ancho del bolígrafo en mm con punto decimal, x = bolígrafo |
AGL
HP-GL está relacionado con AGL (A Graphics Language), una extensión del lenguaje de programación BASIC . AGL se implementó en miniordenadores Hewlett-Packard para simplificar el control de un trazador. Los comandos AGL describen la función de trazado de gráficos deseada, que la computadora transmite como varias instrucciones HP-GL al trazador.
Ver también
- DMPL , otro lenguaje de trazadores de Houston Instruments
- El formato Gerber es otro formato de descripción de la trama
- ShareCAD , un visor HP-GL / PLT en línea gratuito
- Logotipo , un lenguaje informático con comandos de dibujo similares a HP-GL
Referencias
- ^ Daniels, Thomas H .; Hennessee, Larry W. (septiembre de 1977). "Controles de idioma de interfaz fáciles de usar Trazador HP-IB" (PDF) . Diario de Hewlett-Packard . 29 (1): 5. Archivado (PDF) desde el original el 27 de febrero de 2017 . Consultado el 12 de septiembre de 2016 .
- ^ Manual de referencia técnica del lenguaje de impresora PCL 5 (1ª ed.). Compañía Hewlett-Packard . Septiembre de 1990. HP Part No. 33459-90903. (NB. Los capítulos 15-21 también contienen una descripción de HP-GL / 2.)
Otras lecturas
- Hewlett-Packard Company, División de Barcelona (septiembre de 1996) [1990]. La Guía de referencia de HP-GL / 2 y HP RTL - Manual para desarrolladores de programas - Lenguaje de gráficos Hewlett-Packard / 2 - Lenguaje de transferencia de ráster de Hewlett-Packard (borrador 2, segunda edición). Barcelona, España: Addison-Wesley Publishing Company . ISBN 0-201-63325-6. Número de pieza HP 5961-3526, 5959-9733. Archivado desde el original el 27 de febrero de 2017 . Consultado el 28 de febrero de 2017 .
enlaces externos
- "Comandos de lenguaje de gráficos de Hewlett-Packard" . Archivado desde el original el 27 de febrero de 2017.
- "Descripción general de HP-GL" (PDF) . Archivado desde el original (PDF) el 13 de junio de 2018.
- "Chiplotle" . Consultado el 24 de noviembre de 2019 . (NB. Una biblioteca de control de trazadores HP-GL basada en Python para usar trazadores de lápiz antiguos con sistemas operativos contemporáneos).