Diadateien (DXF)

Anmerkung: Die folgenden Informationen richten sich an erfahrene Programmierer und können ohne Ankündigung geändert werden.

AutoCAD-Diadateien sind Bildschirmabzüge, die vom Befehl MACHDIA geschrieben und vom Befehl ZEIGDIA gelesen werden. Dieser Abschnitt beschreibt das Format der Diadateien für Entwickler, die die Diaunterstützung in ihre Programme aufnehmen möchten.

Eine Diadatei umfasst einen Kopfzeilenteil (31 Byte) sowie einen oder mehrere Datensätze von unterschiedlicher Länge. Alle Koordinaten und Größenangaben, die in die Diadatei geschrieben wurden, beziehen sich auf den Zeichenbereich des Anzeigegeräts, mit dem das Dia erstellt wurde, wobei sich der Punkt (0,0) in der unteren linken Ecke des Zeichenbereichs befindet. Bei AutoCAD Release 9 und späteren Versionen besteht die Diadatei-Kopfzeile aus folgenden Feldern:

Diadatei-Kopfzeile 

Feld

Byte

Beschreibung

ID-Zeichenfolge

17

"AutoCAD-Dia" CR LF ^Z NUL

Typenkennung

1

Derzeit auf 56 gesetzt (dezimal)

Ebenenkennung

1

Derzeit auf 2 gesetzt

Hoher X-Punkt

2

Breite des Grafikbereichs: 1, in Pixel

Hoher Y-Punkt

2

Höhe des Grafikbereichs: 1, in Pixel

Seitenverhältnis

4

Seitenverhältnis des Zeichenbereichs (horizontale/vertikale Größe in Zoll), skaliert durch 10.000.000. Dieser Wert wird immer mit dem am wenigsten signifikanten Byte zuerst geschrieben.

Hardware-Füllung

2

0 oder 2 (Wert ist unwichtig)

Testzahl

2

Eine Zahl (1234 hex), durch die bestimmt wird, ob bei allen 2‑Byte-Werten des Dias zuerst das High-Order-Byte (CPUs der Intel 8086-Familie) oder das Low-Order-Byte (CPUs der Motorola 68000-Familie) geschrieben wurde.

Auf die Kopfzeile folgen die Datensätze. Jeder Datensatz beginnt mit einem 2-Byte-Feld, dessen High-Order-Byte den Datensatztyp darstellt. Der Rest des Datensatzes kann aus 1- oder 2-Byte-Feldern bestehen (siehe nachfolgende Tabelle). Aus dem oben beschriebenen Testzahlenfeld der Kopfzeile ist ersichtlich, ob bei den 2-Byte-Feldern zuerst das High-Order-Byte oder zuerst das Low-Order-Byte geschrieben wurde.

Diadatei-Datensätze

Datensatztyp

(hex)

Byte

Bedeutung

Beschreibung

00-7F

8

Vektor

Von-X-Koordinate für einen normalen Vektor. Von-Y, Nach-X und Nach-Y folgen in dieser Reihenfolge als 2-Byte-Werte. Der Von-Punkt wird als letzter Punkt gespeichert.

80-FA

Nicht definiert

Für zukünftige Funktionen vorbehalten.

FB

5

Abstandsvektor

Das Low-Order-Byte und die darauf folgenden drei Byte geben die Endpunkte (Von-X, Von-Y, Nach-X, Nach-Y) eines Vektors in Form von Abständen (-128 bis +127) zum zuletzt gespeicherten Punkt an. Der angepasste Von-Punkt wird als letzter Punkt gespeichert und dient nachfolgenden Vektoren als Bezugspunkt.

FC

2

Dateiende

Das Low-Order-Byte ist 00.

FD

6

Kompakte Füllung

Das Low-Order-Byte ist stets gleich Null. Die darauf folgenden 2-Byte-Werte geben die X- und die Y-Koordinate des Scheitelpunkts eines Polygons an, das eine kompakte Füllung erhalten soll. Drei bis zehn dieser Datensätze folgen aufeinander. Ein Datensatz einer kompakten Füllung mit negativer Y-Koordinate gibt den Anfang oder das Ende einer solchen Füll-Abfolge an. Bei einem Anfangsdatensatz gibt die X-Koordinate die Anzahl der noch folgenden Scheitelpunkt-Datensätze an.

FE

3

Gemeinsamer-

Endpunkt

Vektor

Dieser Vektor beginnt am letzten Punkt. Das Low-Order-Byte und das darauf folgende Byte geben Nach-X und Nach-Y in Form von Abständen (-128 bis +127) vom letzten gespeicherten Punkt an. Der angepasste Nach-Punkt wird als letzter Punkt gespeichert und dient nachfolgenden Vektoren als Bezugspunkt.

FF

2

Neue Farbe

Nachfolgende Vektoren werden in der Farbe gezeichnet, deren Nummer durch das Low-Order-Byte angegeben wird.

Falls ein Dia Vektoren enthält, ist der erste Datensatz ein neuer Farbsatz. Die Reihenfolge der Vektoren in einem Dia und die Reihenfolge der Endpunkte dieser Vektoren können voneinander abweichen.

Das folgende Beispiel zeigt einen kommentierten Hex-Dump mit einer einfachen Diadatei, die auf einem IBM PC/AT mit IBM EGA-Adapter erstellt wurde. Das Dia besteht aus einer weißen diagonalen Linie von der unteren linken zur oberen rechten Ecke des Zeichenbereichs, einer grünen vertikalen Linie in der Nähe der unteren linken Ecke sowie einem kleinen roten Rechteck in der unteren linken Ecke.

41 75 74 6F 43 41            
ID string (“AutoCAD Slide” CR LF ^Z NUL)
44 20 53 6C 69 64 65 0D 0A 1A 00 56
Type indicator (56)
02
Level indicator (2)
3C 02
High X dot (572)
24 01
High Y dot (292)
0B 80 DF 00
Aspect ratio (14,647,307 / 10,000,000 = 1.46)
02 00
Hardware fill (2)
34 12
Test number (1234 hex)
07 FF
New color (7 = white)
3C 02 24 01 00 00 00 00
Vector from 572,292 to 0,0. 572,292 becomes “last”
point
3 FF
New color (3 = green)
0F 00 32 00 0F 00 13 00
Vector from 15,50 to 15,19. \x1115,50 becomes
“last” point
01 FF
New color (1 = red)
12 FB E7 12 CE
Offset vector from 15+18,50-25 (33,25) to 15+18,
50-50 (33,0). 33,25 becomes “last” point
DF FE 00
Common-endpoint vector from 33,25 to 33-33,25+0
(0,25). 0,25 becomes “last” point
00 FE E7
Common-endpoint vector from (0,25) to 0+0,25-25
(0,0). 0,0 becomes “last” point
21 FE 00
Common-endpoint vector from (0,0) to 0+33,0+0
(33,0).33,0 becomes “last” point
00 FC
End of file