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 41ID string (“AutoCAD Slide” CR LF ^Z NUL)44 20 53 6C 69 64 65 0D 0A 1A 00 56Type indicator (56)02Level indicator (2)3C 02High X dot (572)24 01High Y dot (292)0B 80 DF 00Aspect ratio (14,647,307 / 10,000,000 = 1.46)02 00Hardware fill (2)34 12Test number (1234 hex)07 FFNew color (7 = white)3C 02 24 01 00 00 00 00Vector from 572,292 to 0,0. 572,292 becomes “last”point3 FFNew color (3 = green)0F 00 32 00 0F 00 13 00Vector from 15,50 to 15,19. \x1115,50 becomes“last” point01 FFNew color (1 = red)12 FB E7 12 CEOffset vector from 15+18,50-25 (33,25) to 15+18,50-50 (33,0). 33,25 becomes “last” pointDF FE 00Common-endpoint vector from 33,25 to 33-33,25+0(0,25). 0,25 becomes “last” point00 FE E7Common-endpoint vector from (0,25) to 0+0,25-25(0,0). 0,0 becomes “last” point21 FE 00Common-endpoint vector from (0,0) to 0+33,0+0(33,0).33,0 becomes “last” point00 FCEnd of file