概要 - バイナリ DXF ファイル(DXF)

ASCII DXF ファイル形式は、AutoCAD 図面を ASCII テキスト形式で完全に表現し、他のプログラムで簡単に処理できます。さらに AutoCAD は、完全な DXF ファイルのバイナリ形式を作成したり読み込むことができます。また、他のバイナリ ファイル形式の入力も制限付きで受け入れることができます。

SAVE[保存]および SAVEAS[名前を付けて保存]コマンドの[バイナリ]オプションを使用して、バイナリ DXF ファイルを書き出すことができます。このようなファイルには、ASCII DXF ファイルに含まれる情報がすべて含まれますが、ファイルはよりコンパクトになり、ファイル サイズが約 25% 小さくなります。また AutoCAD で高速(約 5 倍)に読み込んだり書き込むことができます。ASCII DXF ファイルでは、ファイル サイズを小さくするために浮動小数点の精度を犠牲にしますが、バイナリ DXF ファイルでは、図面データ ベース内での精度がそのまま維持されます(バイナリ DXF ファイル形式を初めてサポートしたバージョンは、AutoCAD GX-III(Release 10)であるため、それ以前のバージョンでバイナリ DXF ファイルを読み込むことはできません)。

バイナリ DXF ファイルは、次のような 22 バイトのヘッダで始まります。

AutoCAD Binary DXF<CR><LF><SUB><NULL>

ASCII DXF ファイルと同様に、ヘッダの後にペア(グループ コード、値)が続きますが、それらはバイナリ形式で表されます。グループ コードは 2 バイトのバイナリ値(AutoCAD Release 14 以前の DXF ファイルは 1 バイト)で、それに続く値は、次のいずれかです。

グループ コードに続くデータのタイプは、ASCII DXF ファイルのデコードで使用される規則と同じ規則により、グループ コードから決定されます。角度の度への変換および日付の分数表現(ユリウス日表現)への変換は、ASCII DXF ファイルと同様に、バイナリ ファイルに対しても行われます。コメント グループ 999 は、バイナリ DXF ファイルでは使用されません。

拡張データのグループ コードは、バイナリ DXF では、値 255 の 1 バイトで表され、その後に 2 バイトの整数値が続きます。この整数値は、実際のグループ コードで、その後に実際の値(グループ値)が続きます。

拡張データの長整数(グループ コード 1071)の値は、4 バイト データです。拡張データのバイナリ チャンク(グループ コード 1004)は、1 バイトの符号なし整数の長さで表されます。その後に、指定された数のチャンク データのバイト数が続きます。たとえば、拡張データの長整数グループが変換されると、次の値が現れます。値はそれぞれ、1、2、4 バイトです。

255         
Escape group code
1071
True group code
999999
Value for the 1071 group code

SAVEAS コマンドは、ASCII DXF ファイルと同じファイル拡張子(.dxf)でバイナリ DXF ファイルを書き出します。OPEN[開く]コマンドと INSERT[ブロック挿入]コマンドは、ヘッダ文字列によって、バイナリ ファイルであることを自動的に認識します。ユーザは、それがバイナリ ファイルであるかどうかを意識する必要はありません。

OPEN コマンドや INSERT コマンドでバイナリ DXF ファイルを読み込んでいるときにエラーが発生すると、ファイル内のエラーが検出されたバイト アドレスが表示されます。