title: HPGL
text: # HPGL
  
  El HPGL (Hewlett & Packard Graphics Language) es en lenguaje de descripción de gráficos, diseñado originariamente para el control de Plotters (trazadores gráficos).
  
  El HPGL tiene una segunda versión, el HPGL/2, con más instrucciones y que funciona con unidades métricas, mientras que el HPGL funciona con el Sistema Anglosajón de Unidades.
  
  ## Sumario de instrucciones
  
  * SC Coordenadas lógicas de las esquinas del papel P1, P2
  * ETX 0x03: Terminador de cadena
  * ; Separador de instrucciones
  * IN Initialize: Devuelve a los parámetros su valor por defecto.
  * DF Defaults: Da a los parámetros sus valores por defecto, pero sin cambiar P1 ni P2
  * SC Scale: Escala el gráfico SCx0,x1,y0,y
  * IP Input Points: Da las coordenadas físicas a P1 y P2. Si x2,y2 no existen, P2 se cambia para mantener la escala. IPx1,y1[,x2,y2]
  * IW Input Window: Rectángulo donde se aplicará el clipping. IW sin argumentos inhibe el clipping. IW[x0,y0,x1,y1]
  * RO Rotate: ROa0 ${\begin{cases}HPGL:&a0=\{0|90\}\\HPGL/2:&a0=\{0|90|180|270\}\end{cases}}$
  * PG Page: Fin de página
  * SP Select Pen SPnp
  * PU Pen Up: Levanta la pluma y se desplaza a los puntos especificados PU[x1,y1[,x2,y2[...]]]
  * PD Pen Down: Baja la pluma y traza segmentos hasta los puntos especificados. Las coordenadas son absolutas o relativas según el último PA o PR ejecutado. PD[x1,y1[,x2,y2[...]]]
  * PA Plot Absolute: Mueve la pluma a la(s) nuevas posiciones PA[x1,y1[,x2,y2[...]]]
  * PR Plot Relative: Realiza desplazamientos relativos de la pluma. PR[x1,y1[,x2,y2[...]]]
  * LT Line Type: Tipo de línea LTn (Por defecto se traza una línea continua: n=0)
  
  | n | Tipo de línea | Muestra |
  | - | - | - |
  | 0 | Línea continua | _________ |
  | 1 | De puntos | . . . . . . |
  | 2 | Trazos cortos | - - - - - - |
  | 3 | Trazos largos | _ _ _ _ _ |
  | 4 | Punto y raya | ·-·-·-·-·- |
  | 5 | Raya corta y larga | -_-_-_-_-_ |
  | 6 | | - - - - |
  | 99 | Estilo anterior | |
  | n<0 | El estilo se ajusta a la longitud de la línea |
  
  * SM Symbol Mode: Dibuja el carácter c al final de cada línea, aún con PU. Si c se omite, se inhibe el SM. SM[c]
  * PE Plot Encoded
  * AA Arc Absolute: Dibuja un arco centrado en (x, y), de a grados en sentido antihorario desde la posición del cursor. AAx,y,a
  * AR Arc Relative
  * CI Circle: Dibuja un círculo de radio r y con centro en la posición previa. Siempre se dibuja con la pluma abajo. Si de indica el ángulo, se dibujan polígonos. Si a=60, se dibujan exágonos. CIr[,a]
  * PM Polygon Mode PM[n]
  