versione 1.04, giugno 2026
|
|
Michele Liberi mail: mliberi@gmail.com cell: +393485211456 telegram: @MicheleLiberi |
Tra il 1990 ed il 2002 ho lavorato come sistemista in IBM, e mi occupavo principalmente di sistemi UNIX, in particolare di IBM AIX.
In quel periodo lavoravo principalmente negli uffici tecnici dove si usavano vari CAD.
Il problema tipico nelle aziende era che il CAD non poteva essere dato a tutti i dipendenti dell'azienda per vari motivi:
D'altra parte c'era l'esigenza di distribuire in azienda, a fornitori e clienti, documenti generati dall'ufficio tecnico in un formato non modificabile. Serviva uno strumento semplice ed economico, che potesse essere installato su qualunque PC, con il quale visualizzare e stampare i disegni generati dal CAD.
Fu così che nel 1991 decisi di sviluppare un visualizzatore HPGL/2, un linguaggio universale per la definizione di immagini in formato vettoriale, usato da tutti i CAD per la stampa su plotter.
HPGL sta per Hewlett Packard Graphic Language ed è un marchio registrato della Hewlett Packard. È un linguaggio usato per stampare su plotter o stampanti che è diventato, essendo lo standard adottato dalla IBM per i suoi plotter, uno standard internazionale.
Quando scrivo che è un linguaggio universale intendo che tutti i CAD con i quali avevo a che fare avevano la possibilità di produrre file in formato HPGL/2.
In particolare WDVIEW è stato testato con file generati da:
La prima versione, che funzionava in ambiente DOS, è del febbraio 1991.
L'ultima versione DOS del programma DVIEW risale al 1995.
Infatti nel frattempo si era diffuso il sistema Windows che stava soppiantando il DOS, e quindi le versioni successive girano su sistemi Windows 16-bit.
Il pacchetto di installazione conteneva questi file:
| - | readme.txt | : | documentazione |
|---|---|---|---|
| - | default.mtf | : | esempio di definizione di un font vettoriale |
| - | hpglsamp.plt | : | esempio disegno HPGL, utile per testare il programma |
| - | dview00.exe | : | eseguibile per scheda grafica VGA, senza coprocessore matematico 8087 |
| - | dview01.exe | : | eseguibile per scheda grafica VGA, con coprocessore matematico 8087 |
| - | dview10.exe | : | eseguibile per scheda grafica TSENG et/4000, senza coprocessore matematico 8087 |
| - | dview11.exe | : | eseguibile per scheda grafica TSENG et/4000, con coprocessore matematico 8087 |
Questa versione del visualizzatore non implementa il set completo di primitive HPGL descritte nel libro The HP-GL/2 Reference Guide. A handbook for program developers, edito dalla Addison Wesley Publishing Company con codice ISBN 0-201-56308-8. Sono state implementate solo le primitive effettivamente contenute nei file generati dai CAD menzionati sopra, cioè:
********************************************************************** ******* Lista delle istruzioni hpgl/2 e relativa sintassi ******* ********************************************************************** CONFIGURATION group DF Default values IN [1] Initialize IP [x1 y1 [x2 y2]] Input Absolute P1 & P2 IR [x1 y1 [x2 y2]] Input Relative P1 & P2 IW [x1 y1 x2 y2] Input Window PG [n] Advance full page RO [0|90|180|270] Rotate Coordinate system RP [n] Replot SC [x1 x2 y1 y2[type[le,bo]]] Scale instruction VECTOR group AA Xc Yc [alfa [chord]] Arc Absolute AR Xc Yc [alfa [chord]] Arc Relative AT Xb Yb Xe Ye [chord] Absolute Arc 3 point CI r [chord] Circle PA [x y]... Plot Absolute PD [x y]... Pen Down PE [flag][value/xy]...; Polyline Encoded PR [x y]... Plot Relative PU [x y]... Pen Up RT Xb Yb Xe Ye [chord] Relative Arc 3 point POLYGON group EA x y Edge Rectangle Absolute ER x y Edge Rectangle Relative EW r alfa sweep [chord] Edge Wedge EP Edge Polygon FP Fill Polygon PM n Polygon Mode RA x y Fill Rectangle Absolute RR x y Fill Rectangle Relative WG r alfa sweep [chord] Fill Wedge LINE & FILL group AC [x y] Anchor Corner FT type [opt1 [opt2]] Fill Type LA [kind value]... Line attributes LT [type [len [mode]]] Line Type PW [width [pen]] Pen Width RF [index [w h pen...] Raster fill Definition SM [string] Symbol mode SP [pen] Select Pen UL [index [gap...]] User defined line type WU [type] Pen Width unit selection CHARACTER group AD [kind value]... Alternate font def. CF [mode [pen]] Character fill mode CP [spaces lines] Character Plot DI [run rise] Absolute Direction DR [run rise] Relative Direction DT [char [mode]]; Label Terminator DV Define Variable Text path ES [w [h]] Extra Spaces LB [ch]... terminator Label LO [position] Label Origin SA Select alternate font SD [kind value]... Standard font def. SI [w h] Absolute char size SL [tg] Char Slant SR [w h] Relative char size SS Select standard font TD [mode] Transparent data TECHNICAL GRAPHICS Ext group BP [kind value]... Begin plot CT [mode] Chor Tolerance mode DL [ch [[up] x y]...] Download char EC [n] Enable cutter FR Frame advance MC [mode] Merge control MG [message] Message MT [type] Media Type NR [timeout] Not Ready OE Output Error OH Output Hard clip limits OI Output Identification OP Output P1 & P2 OS Output Status PS [len w] Plot Size QL [quality] Quality Level ST [switches] Start VS [velocity [pen]] Velocity Select PALETTE group CR [r g b R G B] Set Color Range NP [n] Number of Pens PC [pen [r g b]] Pen Color Assignment SV [type [opt1 [opt2]] Screened Vectors TR [n] Transparency Mode DUAL Context Extensions FI [fontID] Primary font selection FN [fontID] Secondary font selection SB [n] Scalable bitmap fonts DC Digitize Clear DP Digitize Point OD Output Digitized Points
Sintassi del comando
Uso: DVIEW { Opzione | Nomefile | @Nomefile }...
Nomefile : Nome del file HPGL da processare. Pu~U contenere wildcards
@Nomefile: Nomefile contiene, uno per linea, i nomi dei disegni. No wildcards
OPZIONI: Il valore tra parentesi ~J il valore di default');
-A4 Disegno in formato A4 (-B430,200 -T10430, 7400)
-A3 Disegno in formato A3 (-B380,430 -T15580,10430)
-Bx,y Setta il punto basso-sinistra al punto x,y (A3)
-Tx,y Setta il punto alto-destra al punto x,y (A3)
-Cc Colore del foglio da disegno = c [0..15] (nero)
-Nc Tutte le penne sono del colore c [0..15]
-Pnc Penna numero n [1..8] del colore c [0..15]
-Enomefile Gli errori vengono riportati su nomefile (HPGL.ERR)
-Fnomefile Vengono lette le opzioni da nomefile: una per riga
-Gnomefile Carica il font grafico presente in nomefile
-Rnomefile Print Screen interno sul file specificato (LPT1)
-D Print Screen a carico di un TSR esterno
-OString Mode string per il PrintScreen
-K Keyboard Selection. Non usa il mouse anche se presente
-I Zoom IsoTropici on/off (ON)
(c) M. Liberi, last updated: 2026-06-18