AutoCAD スライド ファイルは、スクリーン イメージで、MSLIDE[スライド保存]コマンドで書き出され、VSLIDE[スライド表示]コマンドで読み込まれます。このセクションでは、プログラム内でスライドをサポートしようとしている開発者のために、スライド ファイルの形式を説明します。
スライド ファイルは、ヘッダ部(31 バイト)と 1 つ以上の可変長のデータレコードからなります。スライドは作図領域の左下コーナーを点(0,0)として作成され、スライド ファイルに書き出される座標とサイズはすべて、ディスプレイ デバイスの作図領域を表します。AutoCAD Release 9(相当する日本語バージョンはリリースされていません)以降では、スライド ファイルのヘッダは次のフィールドで構成されます。
スライド ファイルのヘッダ |
||
---|---|---|
フィールド |
バイト |
意味 |
識別文字列 |
17 |
"AutoCAD Slide" CR LF ^Z NUL |
タイプ インジケータ |
1 |
現在は 56(16 進数)に設定 |
レベル インジケータ |
1 |
現在は 2 に設定 |
High X ドット |
2 |
グラフィックス領域の幅: 1 ピクセル単位 |
High Y ドット |
2 |
グラフィックス領域の高さ: 1 ピクセル単位 |
縦横比 |
4 |
作図領域の縦横比(水平サイズ/垂直サイズ)を 10,000,000 倍した値。この値は、常に最下位バイトから書き出されます。 |
ハードウェア フィル |
2 |
0 または 2(値は重要ではありません) |
テスト番号 |
2 |
スライド内の 2 バイト値がすべて、下位バイトから書き出されるか(Intel 8086 系 CPU)、上位バイトから書き出されるか(Motorola 68000 系 CPU)を判断するために使用される数値(16 進数の 1234)。 |
ヘッダの後にデータ レコードが続きます。各データ レコードは、レコード タイプを表す 2 バイト フィールドで始まります。このフィールドは、下位バイトから書き出されます。残りのレコードは、次の表に示すように、1 バイトまたは 2 バイト フィールドで構成されます。2 バイト フィールドが下位バイトから書き出されるか、上位バイトから書き出されるかは、上記の表に示されているヘッダのテスト番号で判断できます。
スライド ファイルのデータ レコード |
|||
---|---|---|---|
レコード タイプ (16 進数) |
バイト |
内容 |
意味 |
00-7F |
8 |
ベクトル |
通常のベクトルの始点- X、始点- Y、終点-X、終点-Y の順。それぞれ 2 バイト値。始点の座標は最後の点として保存されます。 |
80-FA |
— |
未定義 |
将来のために予約されています。 |
FB |
5 |
オフセット ベクトル |
下位バイトと、それに続く 3 バイトでベクトルの端点(始点-X、始点-Y、終点-X、終点-Y)を表します。これらの値は、保存されている最後の点からのオフセット(-128 から +127)になります。計算された始点は、次のベクトルで使用するために、最後の点として保存されます。 |
FC |
2 |
ファイルの終わり |
下位バイトは 00 |
FD |
6 |
塗り潰し図形 |
下位バイトは常に0(ゼロ)。次の 2 つの 2 バイト値は、塗り潰し多角形の 1 つの頂点の X および Y の座標を表します。同様のレコードが 3 から 10 続きます。塗り潰し図形レコードの Y 座標値が負の場合は、一連のレコードの開始または終了を表します。開始レコードの X 座標は、後続の頂点レコードの数を表します。 |
FE |
3 |
連続 ベク トル |
これは、最後の点から始まるベクトルです。下位バイトとそれに続くバイトは、終点-X と終点-Y を表します。 これらは、保存されている最後の点からのオフセット(-128 から +127)です。計算された点は、次のベクトルに使用するために、最後の点として保存されます。 |
FF |
2 |
新しい色 |
後続のベクトルは、下位バイトで示される色番号を使用して描かれます。 |
スライドにベクトルが含まれている場合、新しい色レコードが最初のデータ レコードになります。スライド内のベクトルの順序、およびそれらのベクトルの端点の順序は、スライドを作成するたびに変化する可能性があります。
たとえば、IBM EGA を使用して IBM PC/AT で作成した簡単なスライド ファイルの 16 進ダンプの説明を次に示します。スライドには、グラフィックス領域の左下コーナーから右上コーナーに白の対角線が描かれ、左下コーナー付近に緑の垂直線、左下コーナーに小さな赤い長方形が描かれます。
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