Introduzione ai file DXF
Lo standard DXF
rappresenta il formato più diffuso per lo scambio di informazioni tra i diversi
programmi di grafica vettoriale.
Le specifiche, inizialmente presentate per il programma AutoCAD,
sono state di fatto successivamente universalmente accettate
nel
campo della grafica tecnica.
I file DXF sono dei normali file di testo che possono essere editati con Blocco note o con altri semplici editor ASCII. Opzionalmente, per limitarne l'ingombro, essi possono essere compilati in formato binario, mantenendo la stessa estensione DXF.
La struttura di un file DXF.
Il file è articolato nelle seguenti sezioni:
HEADER. In questa sezione sono precisate le variabili generali associate al disegno (limiti, estensione, variabili di quotatura, ecc...) |
|
CLASSES. Vengono definite le classi (dizionario, tratteggio, immagini raster, ecc..) |
|
TABLES. Contiene delle tabelle contenenti le caratteristiche di diversi oggetti (layer, stili di quota, tipi di linea, viste, ecc...) |
|
BLOCKS. Vengono descritti i singoli blocchi contenuti nel disegno. |
|
ENTITIES. E' la sezione più importante: riporta tutti gli oggetti grafici presenti nel disegno (linnee, polilinee, archi, cerchi, tratteggi, ecc...) |
|
OBJECTS. Contiene tutti gli oggetti non grafici associati al disegno (ad esempio un dizionario). |
Non è necessaria la presenza di tutte le sezioni. Di seguito verrà proposto un semplice esempio basato sulla sola sezione ENTITIES.
La sintassi de file DXF.
Ogni variabile è descritta
con una coppia di valori ognuno dei quali è posto su una propria riga.
Il primo valore (il codice di gruppo) è un
numero che specifica a quale gruppo di dati appartiene il secondo valore.
Ad esempio i numeri da 0 a 9 indicano che il valore successivo è una stringa. La sequenza
0
SECTION
indica che il valore che segue lo zero è la stringa SECTION.
Per indicare le tre coordinate di un punto sono utilizzati i codici da 10 a 59 con una differenza di 10 tra ogni coordinata. Ad esempio il primo punto di un segmento è caratterizzato dai codici di gruppo 10 (x), 20 (y), 30 (z); il secondo punto dai codici 11(x), 21 (y), 31 (z).
Ogni sezione deve iniziare con la stringa SECTION seguita da una stringa che specifica il tipo di sezione e deve terminare con la stringa di fine sezione ENDSEC.
Problema. Scrivere un file DXF che tracci un quadrato di lato 5 a partire dall'origine degli assi.
File DXF | Commento |
0 SECTION |
Inizio sezione |
2 ENTITIES |
Precisa il tipo di sezione |
0 LINE |
Precisa il tipo di oggetto grafico |
8 0 |
Il codice di gruppo 8 definisce il Layer sul quale dovrà essere collocato il segmento. Il valore successivo 0 viene interpretato come una stringa ( è il nome del Layer) e non come un numero. |
10 0 20 0 30 0 |
Il punto di partenza ha coordinate x = 0 (codice di gruppo 10), y = 0 (codice di gruppo 20), z = 0 (codice di gruppo 30). |
11 5 21 0 31 0 |
Il punto di arrivo del segmento ha coordinate (5; 0; 0) |
0 LINE 8 0 10 5 20 0 30 0 11 5 21 5 31 0 |
Il secondo segmento ha come estremi (5; 0; 0) - (5; 5; 0) |
0 LINE 8 0 10 5 20 5 30 0 11 0 21 5 31 0 |
Il terzo segmento ha come estremi (5; 5; 0) - (0; 5; 0) |
0 LINE 8 0 10 5 20 0 30 0 11 0 21 0 31 0 |
Il quarto segmento ha come estremi (0; 5; 0) - (0; 0; 0) |
0 ENDSEC |
Chiude la sezione |
0 EOF |
Chiude il file |
Le specifiche per i file DXF.
I dettagli sulle specifiche relative allo standard DXF sono presenti nella guida in linea di AutoCAD accessibile attraverso la voce Guida di riferimento a DXF presente nel Sommario.
L'uso dei file DXF con AutoCAD.
Per caricare un file DXF è sufficiente aprirlo direttamente con il menu File > Apri, selezionando DXF nel riquadro Tipo file della finestra di dialogo.
Per trasformare un disegno dwg in un file DXF utilizzabile con altri programmi di grafica vettoriale si utilizza il menu File > Salva con nome, selezionando DXF di AutoCAD nel riquadro Salva come della finestra di dialogo. Se si desidera ottenere un file compilato in formato binario occorre selezionare il pulsante Opzioni nella stessa finestra di dialogo.
La manipolazione dei file DXF con Visual Basic.
La scrittura del file sequenziale è realizzata con le istruzioni
Open NomeFileDXF For Output As #1
..........
(Blocco di istruzioni Print #1 e/o Write #1)
..........
Close #1
Per superare alcuni problemi di notazione internazionale (in dettaglio: per forzare il punto decimale al posto della virgola), è opportuno adoperare l'istruzione Print per le stringhe e l'istruzione Write per i valori numerici.
La lettura del file DXF si effettua con le istruzioni
Open NomeFileDXF For Input As #1
..........
(Blocco di istruzioni Input #1 e/o Line Input #1)
..........
Close #1
Un esempio di codice è presente nel file DXF.zip; i file in esso contenuti richiedono la presenza del linguaggio di programmazione Visual Basic 6.0.