概要 - 拡張データ(DXF)

拡張データ(Xdata)は、AutoLISP やオブジェクト ObjectARX アプリケーションで作成されます。図形に拡張データが含まれている場合は、図形の標準定義データの後に拡張データが続きます。グループ コード 1000 から 1071 は拡張データを表します。次に DXF 形式で、拡張データを含む図形の例を示します。

標準図形定義データ:

  0 
INSERT
  5
F11
100
AcDbEntity
  8
TOP
100
AcDbBlockReference
 2
BLOCK_A
 10
0.0
 20
0.0
 30
0.0

拡張図形定義データ:

1001
AME_SOL
1002
{
1070
 0
1071
 1.95059E+06
1070
 519
1010
2.54717
1020
2.122642
1030
2.049201
1005
ECD
1005
EE9
1005
0
1040
0.0
1040
1.0
1000
MILD_STEEL

グループ コード 1001 は、拡張データの開始を示します。標準図形データとは異なり、拡張データでは同じグループ コードが「複数回」現れることがあり、その「順序」が重要になります。

拡張データは、登録されたアプリケーション名により、グループ化されます。登録された各アプリケーションのグループは、文字列値としてアプリケーション名を伴ったグループ コード 1001 で始まります。登録されたアプリケーション名は、APPID シンボル テーブル項目と一致します。

アプリケーションは、必要なだけ多くの APPID 名を使用できます。APPID 名は永続的ですが、図面内で使用されなくなった場合には、パージ(名前削除)されることがあります。各 APPID 名は、各図形にアタッチされた 1 つのデータ グループだけを持つことができます。アプリケーションのグループ内では、拡張データ グループのシーケンスおよびその意味は、そのアプリケーションによって定義されます。

拡張データのグループ コードを、次の表に示します。

拡張データのグループ コードと意味

図形名

グループ コード

意味

文字列

1000

拡張データ内の文字列は、最大 255 バイトの長さです(256 番目のバイトは null 文字用に確保されています)。

アプリケーション名

1001

これも文字列値

アプリケーション名は、最大 31 バイトです(32 バイト目は null 文字のために予約されています)。

注:

ユーザ独自の拡張データにグループ 1001 を追加しないでください。追加すると、AutoCAD はそれを、新しいアプリケーション拡張データ グループの開始とみなします。

制御文字列

1002

拡張データの制御文字列は、"{" か "}" のどちらかが可能です。これらの括弧により、アプリケーションは、そのデータをリストに細分化して組織化できるようになります。 左側の中括弧はリストの始まりで、右側の中括弧はリストを終了します。リストはネストできます。

AutoCAD は、個々のアプリケーションに対する拡張データを読み込むとき、括弧の数が合っているかどうかを調べます。

画層名

1003

拡張データに関連付けられた画層の名前

バイナリ データ

1004

バイナリ データは、可変長の「チャンク」に組織化されます。各チャンクは、最大 127 バイトです。ASCII DXF ファイルでは、バイナリ データは、バイナリ バイト当り 2 文字の 16 進数文字列で表されます。

データベース ハンドル

1005

図面データ内の図形のハンドル

注:

ハンドルおよび拡張データ ハンドルを有する図面が、INSERT[ブロック挿入]コマンド、INSERT *(挿入時にブロック内のオブジェクトを分解)コマンド、XREF[外部参照]/[バインド(B)]コマンド、XBIND[個別バインド]コマンド、または OPEN[開く]コマンドの[部分的に開く]オプションを使用して他の図面に読み込まれるとき、拡張データ ハンドルは、一致する図形ハンドルと同じ方法で変換されるので、これらの結合は維持されます。これは、ブロックに対する EXPLODE[分解]コマンドや他の AutoCAD の操作に対しても行われます。AUDIT[監査]コマンドにより、図面内の図形のハンドルと一致しない拡張データ ハンドルが検出されると、エラーとみなされます。AUDIT が図形を修復すると、ハンドルは 0 に設定されます。

3 つの実数

1010, 1020, 1030

3 つの実数、 XYZ の順。これらは点またはベクトル レコードとして使用できます。AutoCAD が値を変更することは決してありません。

ワールド空間の位置

1011, 1021, 1031

単純な 3D 点とは違い、ワールド空間座標は、拡張データが属する親図形とともに移動され、尺度変更され、鏡像化されます。ワールド空間位置は、STRETCH[ストレッチ]コマンドが親図形に適用されこの点が選択窓内にある場合も、ストレッチされます。

ワールド空間の変位

1012, 1022, 1032

これも、親図形とともに尺度変更、回転、鏡像化される 3D 点(移動やストレッチはされません)

ワールド方向

1013, 1023, 1033

これも、親図形とともに回転および鏡像化される 3D 点(移動、尺度変更、ストレッチはされません)

実数

1040

実数値

距離

1041

親図形とともに尺度変更される実数値

尺度係数

1042

親図形とともに尺度変更される実数値。距離と尺度係数の違いは、アプリケーション定義です。

整数

1070

16 ビット整数(符号付きまたは符号なし)

長整数

1071

32 ビット符号付き(長)整数