拡張データ
拡張データ(Xdata)は、AutoLISP などの API を利用して作成される。 図形に拡張データが含まれている場合は、図形の標準定義データの後に拡張データが続く。 グループ コード 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 を追加してはならない。 追加すると、CAD はそれを、新しいアプリケーション拡張データの開始とみなす。 |
制御文字列 | 1002 | 拡張データの制御文字列は、"{" か "}" のどちらかが可能。これらの括弧により、アプリケーションは、そのデータをリストに細分化して組織化できるようになる。 左側の中括弧はリストの始まりで、右側の中括弧はリストを終了する。リストはネストできる。CAD は、個々のアプリケーションに対する拡張データを読み込むとき、括弧の数が合っているかどうかを調べる。 |
画層名 | 1003 | 拡張データに関連付けられた画層の名前 |
バイナリ データ | 1004 | バイナリ データは、可変長の「チャンク」に組織化される。各チャンクは、最大 127 バイト。ASCII DXF ファイルでは、バイナリ データは、バイナリ バイト当り 2 文字の 16 進数文字列で表される。 |
データベース ハンドル | 1005 | 図面データ内の図形のハンドル 注:ハンドルおよび拡張データ ハンドルを有する図面が、INSERT[ブロック挿入]コマンド、INSERT (挿入時にブロック内のオブジェクトを分解)コマンド、XREF[外部参照]/[バインド(B)]コマンド、XBIND[個別バインド]コマンド、または OPEN[開く]コマンドの[部分的に開く]オプションを使用して他の図面に読み込まれるとき、拡張データ ハンドルは、一致する図形ハンドルと同じ方法で変換されるので、これらの結合は維持される。これは、ブロックに対する EXPLODE[分解]コマンドや他の AutoCAD の操作に対しても行われる。AUDIT[監査]コマンドにより、図面内の図形のハンドルと一致しない拡張データ ハンドルが検出されると、エラーとみなされる。AUDIT が図形を修復すると、ハンドルは 0 に設定される。 |
3 つの実数 | 1010, 1020, 1030 | 3 つの実数、 X、Y、Z の順。これらは点またはベクトル レコードとして使用できる。CAD が値を変更することは決してない。 |
ワールド空間の位置 | 1011, 1021, 1031 | 単純な 3D 点とは違い、ワールド空間座標は、拡張データが属する親図形とともに移動され、尺度変更され、鏡像化される。ワールド空間位置は、STRETCH[ストレッチ]コマンドが親図形に適用されこの点が選択窓内にある場合も、ストレッチされる。 |
ワールド空間の変位 | 1012, 1022, 1032 | これも、親図形とともに尺度変更、回転、鏡像化される 3D 点(移動やストレッチはされません) |
ワールド方向 | 1013, 1023, 1033 | これも、親図形とともに回転および鏡像化される 3D 点(移動、尺度変更、ストレッチはされません) |
実数 | 1040 | 実数値 |
距離 | 1041 | 親図形とともに尺度変更される実数値 |
尺度係数 | 1042 | 親図形とともに尺度変更される実数値。距離と尺度係数の違いは、アプリケーション定義。 |
整数 | 1070 | 16 ビット整数(符号付きまたは符号なし) |
長整数 | 1071 | 32 ビット符号付き(長)整数 |