概要 - 拡張データ グループ コード(AutoLISP)

拡張データは 1 つまたは複数の 1001 グループ コードから構成され、それぞれ一意のアプリケーション名で始まります。

entget によって返される Xdata グループは、データベースに保存されている順で定義データに続きます。 各アプリケーションのグループ内で、データの内容、意味、編成は、アプリケーションが定義します。AutoCAD はこの情報を保持しますが、それを使用することはありません。次に、1000 ~ 1071 の範囲の Xdata に対するグループ コードを示します。これらのグループ コードの多くは、次に示すように、通常のデータ タイプです。

文字列

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

アプリケーション名

1001 (これも文字列値です)。アプリケーション名は最大 31 バイトで(32 番目のバイトは null 文字用に確保されています)、シンボル テーブル名(画層名など)の規則に従わなくてはなりません。アプリケーション名には、文字(全角文字と半角カタカナを含む)、数字、特殊文字 $ (ドル記号)、 - (ハイフン)、 _ (アンダースコア)を使用できます。スペースを含めることはできません。

画層名

1003。Xdata に関連する画層の名前。

データベース ハンドル

1005。図面データベース内の図形のハンドル。

3D 点

1010。点に含まれている 3 つの実数値。

実数

1040。実数値。

整数

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

長整数

1071。32 ビット符号付き(長)整数。1071 グループ コード内の値が通常の 16 ビット整数か実数値の場合、その値は長整数に変換され、無効な場合(たとえば文字列)は、長整数のゼロ(0L)に変換されます。

注: AutoLISP は 1071 グループ コードを実数値として管理します。entget を使用して、1071 グループ コードを含む図形の定義リストを取得する場合、その値は次の例に示すように、実数として返されます。
(1071 . 12.0)

entmakeentmod を使用して図形内の 1071 グループ コードを作成する場合、次の例に示すとおり、実数と整数のどちらを使用してもかまいません。

(entmake '((..... (1071 . 12) .... )))
(entmake '((..... (1071 . 12.0) .... )))
(entmake '((..... (1071 . 65537.0) .... )))
(entmake '((..... (1071 . 65537) .... )))

しかし、AutoLISP はそれでもグループ コード値を実数として返します。

(entmake '((..... (1071 . 65537) .... )))

上の文は、次を返します。

(1071 . 65537.0)

ObjectARX および Managed .NET は常に、1071 グループ コードを長整数として管理します。

他の拡張データ グループ コードの中には、次に示すように、特殊な意味を持っているものもあります(アプリケーションがそのグループ コードを使用する場合)。

コントロール文字列

1002。Xdata のコントロール文字列には、"{" または "}" を使用します。これらの中括弧を使用すると、アプリケーションはそのデータをリストに小分割して編成できるようになります。 左側の中括弧はリストの始まりで、右側の中括弧はリストを終了します。リストはネストすることができます。

注: リスト内に 1001 グループ コードがある場合、そのグループは文字列として扱われ、新規のアプリケーション グループ コードの始まりとはみなされません。
バイナリ データ

1004。可変長のチャンクに編成されているバイナリ データ。チャンクは、ads_binary 構造を使用して ObjectARX および Managed .NET で処理できます。各チャンクは、最大 127 バイトです。

注: AutoLISP はバイナリ チャンクを直接処理することができないため、長整数(1071)グループ コードに適用される注意点が、バイナリ グループ コードにもそのまま当てはまります。
ワールド空間の位置

1011。単純な 3D 点とは異なり、WCS 座標は、拡張データが属する親図形とともに移動、尺度変更、回転、鏡像化されます。WCS の位置は、親図形に AutoCAD の STRETCH[ストレッチ]コマンドを適用したときや、この点が選択窓内にあるときにもストレッチされます。

ワールド空間の変位

1012。親図形とともに尺度変更、回転、鏡像化されますが、ストレッチや移動は行われない 3D 点です。

ワールド方向

1013。親図形とともに回転、鏡像化されますが、尺度変更、ストレッチ、移動は行われない 3D 点です。WCS の方向は、常に単位長の標準化された変位です。

距離

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

尺度係数

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