拡張データ

提供:GizmoLabs - だいたい CAD LISP なサイト

拡張データ(Xdata)は、AutoLISP などの API を利用して作成される。 図形に拡張データが含まれている場合は、図形の標準定義データの後に拡張データが続く。 グループ コード 1000 から 1071 は拡張データを表す。

  • 図形に割り当てられている拡張データは、xdlist コマンドで確認することができる。xdlistコマンドは、拡張ツールなので、AutoCAD LT では使えない。

次に 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 ビット符号付き(長)整数



関連事項