Format de données DXF
Les fichiers DXF sont des fichiers de textes ASCII dont l'extension est .DXF et à un texte formaté spécifiquement. Ils peuvent être facilement traduits dans un format d'autres systèmes CAO.
Un fichier DXF se compose de cinq sections qui sont elles-mêmes divisées en plusieurs groupes.
Sections
Le fichier DXF se compose de cinq sections :
La section HEADER comporte les variables assignées au dessin. Les variables sont définies par diverses commandes. Ce sont les informations qui seront affichées par la commande STATUS.
Chaque variable est spécifiée dans la section HEADER par un groupe 9 qui détermine le nom de la variable. Suit le type du groupe qui détermine la valeur.
Exemples de variables HEADER, groupes qui les suivent et leurs valeurs :
$ANGBASE |
50 |
Direction de l'angle |
$AUNITS |
70 |
Format d'unité pour l'angle |
$EXTMAX |
10,20,30 |
Limites du dessin de X, Y et Z, coin supérieur droit (dans le SC universel) |
$EXTMIN |
10,20,30 |
Limites du dessin de X, Y et Z, coin inférieur gauche (dans le SC universel) |
$INSBASE |
10,20,30 |
Base d'insertion définie par la commande BASIS |
Cette section comporte des définitions des fonctions désignées :
- Tableau LTYPE de type de ligne
- Tableau de LAYER (couche)
- Tableau de STYLE
- Tableau de section
- Tableau du SCU (système de coordonnées de l'utilisateur)
- Tableau de VPORT(configuration de la fenêtre de vue)
- Tableau BEMSTIL (style de cotation)
- Tableau APPID (identification d'application)
Le tableau LTYPE doit toujours se trouver avant le tableau de LAYER. L'ordre des autres tableaux est libre.
Chaque tableau sera introduit par un groupe 0 avec la désignation TABLE. S'en suit un groupe 2 qui identifie le tableau correspondant : VPORT, LTYPE, LAYER, STYLE, VIEW, DIMSTYLE, BKS ou APPID. Puis le groupe 70 qui spécifie le nombre maximum des entrées suivantes du tableau.
Les noms des tableaux devront toujours être écrits en CAPITALES !
Cette section comporte les définitions de tous les blocs contenus dans le dessin avec leurs objets. Tous les objets de la section BLOCK apparaissent entre les objets BLOCK et ENDBLK.
Les définitions de blocs ne devront jamais être imbriquées, c'est-à-dire qu'un objet BLOCK ou ENDBLK ne pourra jamais être inséré entre une autre paire BLOCK-ENDBLK.
Cette section comporte les objets du dessin y compris les références des blocs. Chaque objet commence par un groupe 0 qui identifie l'objet.
Chaque objet possède un groupe 8 qui porte la désignation du layer où se trouve l'objet. Il est également possible d'attribuer à chaque objet des données d'élévation ou de hauteur de l'objet, ainsi que des informations sur le type de ligne ou la couleur.
Le fichier DXF se termine toujours par l'entrée END OF FILE : EOF

L'exemple suivant représente un fichier DXF vierge ne comprenant que des délimiteurs de section et des en-têtes de tableau :
0 Start of HEADER section
SECTION
2
HEADER
<<from now on all functions are defined>>
0
ENDSEC ends the HEADER section
0 Start of the TABLES section
SECTION
2
TABLES
0
TABLE
2
VPORT
70
Calculation of maximum number of elements in the VPORTS table
<<Definition of elements in the VPORTS table>>
0
ENDTAB
0
TABLE
2
LTYPE, Layer, STYLE, UCS, ou DWGMGR
70
Calculation of the maximum number of table elements
<<Definition of divers table elements>>
0
ENDTAB
0
ENDSEC
End of TABLES section
0 Start of BLOCKS section
SECTION
2
BLOCKS
<<Definition of elements associated with BLOCKS>>
0
ENDSEC
End of BLOCKS section
0 Start of ENTITIES section
SECTION
2
ENTITES
<<Definition of all entities in the drawing>>
0
ENDSEC
Endof ENTITIES section
0
EOF End of File
Groupes
Un fichier DXF se compose d'un grand nombre de GROUPS, chaque groupe occupant deux lignes. La première ligne contient le code du groupe, tandis que la seconde spécifie la valeur du groupe dont le format dépend du type de groupe.
L'attribution du code de groupe dépend de l'élément décrit dans le fichier.
Code de groupe |
Valeur |
Code de groupe |
Valeur |
0 - 9 |
chaîne de caractères |
999 |
commentaire |
10 - 59 |
virgule flottante |
1000 - 1009 |
chaîne de caractères |
60 - 79 |
nombre entier |
1010 - 1059 |
virgule flottante |
210 - 239 |
virgule flottante |
1060 - 1079 |
nombre entier |
Les codes de groupe sont utilisés pour désigner le type de la valeur du groupe et l'application générale du groupe.
Les groupes comportant des délimiteurs de fichiers (code de groupe 0) servent à délimiter les sections du fichier.

Code de groupe |
Type de valeur |
0 |
Identifie le début d'un objet, d'une entrée de tableau ou d'une délimitation de fichier. La valeur textuelle qui suit indique le type de la section. |
1 |
Valeur textuelle primaire d'un objet. |
2 |
Un nom, un nom d'attribut, un nom de bloc, etc. |
3 - 4 |
Autres valeurs de texte et de nom. |
5 |
Référence de l'objet dans une chaîne de caractères hexadécimaux. |
6 |
Nom déterminant le type de ligne. |
7 |
Nom déterminant le style de texte. |
8 |
Nom déterminant le layer (couche). |
9 |
Identificateur du nom de la variable (uniquement dans la section HEADER du fichier DXF). |
10 |
Coordonnée X primaire du point initial d'une ligne, d'un élément de texte, du centre d'un cercle, etc. |
11 - 18 |
Autres coordonnées X. |
20 |
Coordonnée Y primaire. |
21 - 28 |
Autres coordonnées Y. |
30 |
Coordonnée Z primaire. |
31 - 37 |
Autres coordonnées Z. |
38 |
Élévation d'un objet si elle est différente de 0. |
39 |
Hauteur d'un objet si elle est différente de 0. |
40 - 48 |
Valeur de la virgule flottante pour la hauteur du texte, les facteurs d'échelle, etc. |
49 |
Valeur répétée. |
50 - 58 |
Angle. |
62 |
Numéro de couleur déterminé. |
66 |
"Séquence d'éléments", bulle (flag) déterminé. |
70 - 78 |
Valeur entière, par exemple, compteurs répétés, flag-bits ou modes. |
210, 220, 230 |
Composants X, Y et Z d'une direction étirée. |
999 |
Commentaires. |
1000 |
Chaîne de caractères ASCII. |
1001 |
Nom de l'application enregistrée. |
..... ...... |
Extrait d'un exemple de tableau de codes de groupe