Michele Liberi software

versione 1.04, giugno 2026

Michele Liberi
mail: mliberi@gmail.com
cell: +393485211456
telegram: @MicheleLiberi

liberix

wdview, visualizzatore HPGL-2

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 risale al 1995.

Infatti nel frattempo si era diffuso il sistema Windows che stava soppiantando il DOS, ed ho quindi scritto la prima versione per Windows.

L'ultima e definitiva versione per windows è del febbraio 2002. Si tratta di un eseguibile 16-bit che non funziona più sui sistemi windows moderni, che hanno un'architettura a 64-bit.

A fine 2002 ho lasciato IBM e non ho più rilasciato nuove versioni.

WDVIEW può essere utilizzato interattivamente per la visualizzazione, oppure può essere richiamato in modalità batch per stampare un file.

WDVIEW è stato progettato e realizzato per garantire la massima velocità di visualizzazione per cui il disegno viene 'compilato' all'atto del caricamento e le successive rigenerazioni sono estremamente efficienti.

WDVIEW non esegue, all'atto della compilazione, controlli sulla validità delle istruzioni HPGL o dei parametri, in quanto si presume che i vari CAD generino istruzioni corrette; le istruzioni non corrette vengono semplicemente ignorate.

La sintassi HPGL/2 di riferimento è quella descritta 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.

WDVIEW è disponibile in inglese ed in italiano.

Installazione

Prerequisito indispensabile al funzionamento del prodotto è un personal computer con le seguenti caratteristiche:

Il pacchetto è composto dei seguenti files:

WDVIEW.EXE
Il programma in formato eseguibile Windows 3.1

WDVIEW.HTM
Documentazione in formato HTML

WDVIEW.ASC
Documentazione in formato ascii (66 righe/pagina)

WDVIEW.PCL
Documentazione con tutti i codici di controllo per la stampa (66 righe/pagina)

WDVIEW.PRO
Esempio di file di configurazione

DEFAULT.MTF
Esempio di file per la definizione di font aggiuntivi

*.PLT
Esempi di file HPGL

L'unico file indispensabile è WDVIEW.EXE, gli altri possono essere copiati o meno sul disco rigido. L'eseguibile può essere messo in una qualunque directory di qualunque disco (anche di rete).

Attivazione

Il programma si attiva, da linea di comando, con la seguente sintassi:

WDVIEW [opzione]... [nomefile]
il parametro nomefile non è obbligatorio, se presente il disegno in esso contenuto verrà caricato in memoria e visualizzato (o stampato).

Le possibili opzioni sono le seguenti:

-landscape
ruota il disegno se verticale

-portrait
ruota il disegno se orizzontale

-rotate
il disegno caricato in memoria viene immediatamente ruotato di 90 gradi

-use_color
imposta la stampa a colori

-b&w
imposta la stampa in bianco e nero

-full_page
imposta la stampa a foglio intero

-1:1
imposta la stampa in scala 1:1

-print
attiva la stampa batch. Al termine della stampa il programma termina automaticamente

Alla partenza il programma cerca il file di configurazione con lo stesso nome dell'eseguibile ed estensione .PRO, dapprima nella directory dove risiede l'eseguibile (WDVIEW.EXE), e successivamente nella directory corrente. Nel file di configurazione è possibile inserire istruzioni relativamente ai seguenti parametri:

Fontfile=nomefile
permette di caricare un file di definizione caratteri diverso da quello di default. Ogni caricamento ridefinisce i caratteri in esso contenuti.

Extension=xxx
specifica l'estensione dei files HPGL. Questa stringa viene usata dalla funzione 'Apri' per filtrare i files presenti nella directory.

SHEET=x1,y1,x2,y2
dimensione iniziale del foglio virtuale su cui si disegna. Al termine del caricamento viene automaticamente ricalcolata in funzione delle dimensioni effettive del disegno caricato.

PCn=ColorName
Assegna un colore alla penna n. (0 <= n <= 8)

PTn=spessore
Assegna uno spessore (in pixel) alla penna n (0 <= n <= 8)

PWn=spessore
Assegna uno spessore (in millimetri) alla penna n (0 <= n <= 8), questo parametro verrà usato solo in fase di stampa e può essere sovrascritto dall'istruzione HPGL/2 PW.

ColorName=RRGGBB
Assegna una terna RGB ad uno dei 16 colori assegnabili

Full_Page={TRUE|FALSE}
Indica se la stampa avverrà scalando il disegno alla dimensione del foglio o in dimensioni reali (1:1).

Use_color={TRUE|FALSE}
Indica se la stampante supporta i colori o se tutte le penne stampano in nero.

Tmult=number
indica il rapporto tra l'altezza della stringa, che in fase di stampa verrà sovrapposta di traverso al disegno, e l'altezza del disegno stesso. (0< number <= 0.6)

Tpen=n
permette di stabilire con quale penna verrà tracciata la stringa di traverso. (0<= n <= 8)

Ttext=string
indica la stringa da tracciare 'di traverso' in fase di stampa. Se la stringa contiene spazi si devono usare gli apici per quotare l'intero token.

Nel caso in cui il file di configurazione non venisse trovato, il programma usa dei valori predefiniti, che sono quelli definiti nel file di esempio fornito con il pacchetto.

# --------------------------------------------------------------------------
# Wdview.pro
# --------------------------------------------------------------------------
# File di configurazione per il programma WDVIEW
#   viene letto dal programma all'inizio dell'esecuzione ed imposta
#   il valore di alcuni parametri di cui si vuole cambiare il default
#   ogni parametro può essere specificato più volte.
# Viene ricercato con lo stesso nome dell'eseguibile ed estensione .PRO
# nel seguente ordine:
#   1. nella directory dove risiede l'eseguibile
#   2. nella directory corrente
# Le istruzioni possibili sono:
#     #......        commento
#     FONTFILE=nomefile  carica da nomefile la definizione di un font
#     EXTENSION=xxx      Estensione di default per i file hpgl
#     PCn=colore         Penna n del colore dato
#     PTn=spessore       Penna n con spessore dato in pixel
#     colore=RRGGBB      imposta la terna RGB per il colore dato
#     SHEET=x1,y1,x2,y2  dimensione iniziale del foglio
#     TMult=number       % dimensione stringa di traverso (0 < number < 0.6)
#     Ttext=string       stringa 'di traverso' in stampa
#     Tpen=pennumber     Penna per la stringa 'di traverso'
# con:
#   colore è uno della seguente lista:
#     Black    Blue   Green   Red   Cyan   Magenta Brown  LtGray
#     DkGray LtBlue LtGreen LtRed LtCyan LtMagenta Yellow  White
#   n (numero penna) varia da 0 a 8 (0=background)
#   spessore varia da 1 a 5 pixel
# --------------------------------------------------------------------------
# I valori, commentati, riportati a titolo di esempio sono i default di
# funzionamento del programma. Si consiglia di scommentarli solo in caso
# di diversa impostazione.
# --------------------------------------------------------------------------
#FontFile=default.mtf
#Extension=plt
#SHEET=430,200,10430,7400       # A4
#SHEET=380,430,15580,10430      # A3 default
# -------------------------------------------- Pen colors & thickness
#PC0=Black     PT0=0
#PC1=LtGreen   PT1=1
#PC2=LtCyan    PT2=1
#PC3=LtRed     PT3=1
#PC4=DkGray    PT4=1
#PC5=LtBlue    PT5=1
#PC6=LtGray    PT6=1
#PC7=LtMagenta PT7=1
#PC8=Yellow    PT8=1
# -------------------------------------------- print only pens width
#PW0=0.0
#PW1=0.1
#PW2=0.25
#PW3=0.35
#PW4=0.5
#PW5=0.7
#PW6=0.8
#PW7=0.9
#PW8=1.0
# -------------------------------------------- RGB Palette colors
# Black=000000      Blue=00007F   Green=007F00    Red=7F0000
#  Cyan=007F7F   Magenta=7F007F   Brown=7F7F00 LtGray=7F7F7F
#DkGray=4F4F4F    LtBlue=0000FF LtGreen=00FF00  LtRed=FF0000
#LtCyan=00FFFF LtMagenta=FF00FF  Yellow=FFFF00  White=FFFFFF
# --------------------------------------------------------------------------
#FULL_PAGE=TRUE      # stampa scalata all'intero foglio
#USE_COLOR=FALSE     # stampa bianco e nero
#Tpen=8              # penna da usare per la scritta 'di traverso'
#Tmult=0.2           # altezza della stringa di traverso in rapporto al disegno
#Ttext=              # testo da stampare 'di traverso' (valore di default)
#'Ttext=Copia uso consultazione (Read-only)' # esempio

La copia del file di configurazione presente nella directory dell'eseguibile è intesa come copia dei parametri 'globali' ovvero validi per tutti i disegni. Quella nella directory corrente è intesa come copia dei parametri validi per un certo gruppo di disegni.

Definizione di font aggiuntivi

Tramite l'istruzione FONTFILE=nomefile, nel file di configurazione, è possibile caricare la definizione di un font, che andrà a rimpiazzare i caratteri predefiniti.

Un file di font contiene una o più righe, ognuna delle quali ridefinisce un singolo carattere del codice ASCII.

La definizione di un carattere avviene tramite una riga del tipo

: x y ...

Tutte le righe che non contengono il carattere ':' in colonna 2 sono considerate commenti; le coordinate x y sono sempre a coppie.

Le coppie di coordinate x y sono relative a movimenti di una penna all'interno di uno spazio chiamato 'PlotCell' che ha, per convenzione, limite minimo (0,0) e limite massimo (100,100). La composizione di detti movimenti traccia il carattere.

Il punto di partenza è sempre (0,0), la penna si muove in successione a tutti i punti che definiscono il carattere, ma lascerà traccia visibile solo se la coordinata 'x' del punto destinazione ha valore minore di 128. In caso contrario la coordinata viene diminuita di 128 e lo spostamento avviene senza lasciare traccia.

Il file DEFAULT.MTF, fornito con il pacchetto, contiene le definizioni dei caratteri che il programma WDVIEW ha di base già definiti al suo interno. Sulla base di questa traccia si possono definire caratteri o simboli nuovi o ridefinire quelli predefiniti.

Utilizzo

Nello stile classico Windows, il programma si presenta con un menu in alto ed una finestra grafica per la visualizzazione del disegno. Il titolo della finestra riporta il nome del file caricato in memoria o, mancando, un messaggio di Copyright.

La presenza della clessidra sulla finestra indica che il programma sta generando l'immagine. La presenza del classico cursore a freccia indica che il programma è pronto a ricevere comandi.

Al tasto sinistro del mouse è associata la funzione di ZOOM. Operare come segue:

  1. portare il cursore in uno dei quattro vertici del rettangolo che delimita la parte di disegno che si intende 'Zoomare'
  2. premere il tasto sinistro del mouse
  3. portare il cursore nel vertice opposto del rettangolo
  4. rilasciare il tasto sinistro del mouse
Se, iniziata la fase di selezione del rettangolo, ci si accorge che il primo vertice è stato selezionato in maniera erronea, è possibile interrompere la funzione tenendo schiacciato il tasto destro del mouse al momento del rilascio del tasto sinistro.

Al tasto destro del mouse è associata la funzione di PAN che consente di spostare la parte visibile del disegno senza cambiare scala. Operare come segue:

  1. premere il tasto destro del mouse
  2. spostare il cursore nella direzione dello spostamento ad una distanza proporzionale all'entità dello stesso
  3. rilasciare il tasto destro del mouse
Se, iniziata la fase di selezione del vettore spostamento, si vuole interrompere la funzione, si tenga premuto il tasto sinistro del mouse al momento del rilascio del tasto destro.

Da menu è possibile attivare le seguenti funzioni:

File Apri
Permette di aprire e caricare in memoria un disegno HPGL. Durante il caricamento avverrà anche la visualizzazione. Al termine del caricamento il disegno verrà rivisualizzato in scala ottimale.

File Stampa
Permette di stampare l'attuale contenuto della finestra grafica con i parametri definiti tramite 'Impostazioni Stampante' (cfr)

File Impostazioni Stampante
Consente di impostare la stampante ed i parametri di stampa per la funzione 'Stampa' (cfr). In particolare si possono selezionare la modalità di stampa a colori o in bianco e nero e la modalità di stampa 1:1 o con scalatura automatica all'intero foglio.

File Fine
Termina il programma. La stessa funzione si può attivare con ALT-F4

Vista Ottimale
Imposta la finestra di visualizzazione cosicchè il disegno venga visualizzato interamente; si può attivare con il tasto F1

Vista Precedente
Imposta la finestra di visualizzazione a quella precedente l'ultima variazione.

Vista Iniziale
Imposta la finestra di visualizzazione al suo valore di default impostato tramite il parametro 'SHEET=' nel file di configurazione

Vista Ruota 90
Ruota di 90 gradi gli assi cartesiani della finestra di visualizzazione.

Vista Ruota 270
Ruota di 270 gradi gli assi cartesiani della finestra di visualizzazione.

ZoomIn
Zoom automatico che mantiene centro e proporzioni della finestra di visualizzazione corrente. Il disegno viene ingrandito di 4 volte.

ZoomOut
Zoom automatico che mantiene centro e proporzioni della finestra di visualizzazione corrente. Il disegno viene rimpicciolito di 4 volte.

Colori
Tramite questa funzione è possibile associare uno dei 16 valori RGB possibili al fondo della finestra o una delle 8 penne con cui il disegno verrà tracciato. L'impostazione delle terne RGB avviene tramite istruzioni nel file di configurazione

Spessori
Tramite questa funzione è possibile modificare lo spessore di ognuna delle 8 penne. Lo spessore può andare da 0 a 3 pixel. Uno spessore di 0 pixel indica che le linee tracciate con quella penna non saranno visibili. In questo modo è semplice evincere da un disegno solo le parti tracciate con una o più penne.

Info
Visualizza una finestra informativa con le seguenti informazioni:

(c) M. Liberi, last updated: 2026-06-18