「DICTIONARY」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
 
60行目: 60行目:
*先頭の "ACAD_" は、AutoCAD アプリケーションで使用するために予約されている。
*先頭の "ACAD_" は、AutoCAD アプリケーションで使用するために予約されている。
*先頭の "BCAD_" は、BricsCAD アプリケーションで使用するために予約されている。(多分)
*先頭の "BCAD_" は、BricsCAD アプリケーションで使用するために予約されている。(多分)
=== ディクショナリ補足 ===
ディクショナリは、シンボル テーブルに似たコンテナ オブジェクトである。
ディクショナリは、図面の名前の付いたオブジェクト ディクショナリ(図面内のすべての非グラフィカル オブジェクトのルート)に保存されるか、オブジェクトにアタッチされる拡張ディクショナリとして保存される。図面それぞれにいろいろなディクショナリを含めることができるため、ルーチンでは図面内に特定のディクショナリが存在すると想定すべきではない。図面の名前の付いたオブジェクト ディクショナリ内のディクショナリには、図形名を返す[[namedobjdict]] を使用してアクセスできる。図面内のすべてのディクショナリを表す図形リストにアクセスするには、entget を使用します。
ディクショナリ オブジェクトには、次の規則が適用される。
* ディクショナリ オブジェクトは entget を使用して取得でき、その拡張データ(Xdata)は entmod を使用して変更できます。ディクショナリ オブジェクトの項目は、entmod を使用して変更することはできない。項目へのアクセスは、すべて dictsearch 関数と dictnext 関数を使用して行える。
* ディクショナリ項目の内容は entmod を使用して変更できませんが、拡張データは変更できる。
* ACAD* で始まるディクショナリ項目の名前は変更できない。
[[dictsearch]] 関数と [[dictnext]] 関数を使用して、ディクショナリ項目を照会でき、各ディクショナリ項目は、テキスト名前キーと、項目オブジェクトへのハード オーナーシップ キー ハンドル参照から構成される。ディクショナリ項目は、[[entdel]] 関数に項目オブジェクト名を直接渡すことにより削除できる。テキスト名前キーは、シンボル テーブル名と同じ構文と有効な文字を使用する。キーの名前は、dictrename 関数を使用して変更することができる。




===ディクショナリの種類===
===ディクショナリの種類===
<div class="mcol2">
* [[ACAD_DETAILVIEWSTYLE]]
* [[ACAD_DETAILVIEWSTYLE]]
* [[ACAD_GROUP]]
* [[ACAD_GROUP]]
81行目: 95行目:
* [[BCAD_BIM]]
* [[BCAD_BIM]]
* [[BNS_VARIABLES]]
* [[BNS_VARIABLES]]
 
</div>


-----
-----

2025年6月27日 (金) 08:26時点における最新版

ディクショナリ(DICTIONARY)のエンティティグループ コード

DICTIONARY のグループ コード
グループ コード 意味
0 オブジェクト名(DICTIONARY)
5 ハンドル
102 不変リアクタ グループの開始、常に "{ACAD_REACTORS"
330 オーナー ディクショナリへのソフト ポインタ ID/ハンドル
102 不変リアクタ グループの終了、常に "}"
330 オーナー オブジェクトへのソフト ポインタ ID/ハンドル
100 サブクラス マーカー(AcDbDictionary)
280 ハード オーナー フラグ。1 に設定されている場合は、ディクショナリの要素がハード オーナーとして扱われることを示します。
281 重複レコードのクローン フラグ(重複項目の合成方法が示されます):

0 = 適用されていません

1 = 既存の項目を保持

2 = クローンを使用

3 = <外部参照>$0$<名前>

4 = $0$<名前>

5 = 元の項目の名前

3 項目名(項目ごとに 1 つ) (省略可能)
350 項目オブジェクトへのソフト オーナー ID/ハンドル(項目ごとに 1 つ) (省略可能)


  • AutoCAD® や互換CADは、マルチライン スタイルやグループ定義などの項目を、ディクショナリ内のオブジェクトとして管理する。
  • ディクショナリで管理される CAD オブジェクトのグループ コードはDXF#各オブジェクトを参照。
  • アプリケーションは、各アプリケーションに適した独自のディクショナリを自由に作成して使用できる。
  • 先頭の "ACAD_" は、AutoCAD アプリケーションで使用するために予約されている。
  • 先頭の "BCAD_" は、BricsCAD アプリケーションで使用するために予約されている。(多分)


ディクショナリ補足

ディクショナリは、シンボル テーブルに似たコンテナ オブジェクトである。

ディクショナリは、図面の名前の付いたオブジェクト ディクショナリ(図面内のすべての非グラフィカル オブジェクトのルート)に保存されるか、オブジェクトにアタッチされる拡張ディクショナリとして保存される。図面それぞれにいろいろなディクショナリを含めることができるため、ルーチンでは図面内に特定のディクショナリが存在すると想定すべきではない。図面の名前の付いたオブジェクト ディクショナリ内のディクショナリには、図形名を返すnamedobjdict を使用してアクセスできる。図面内のすべてのディクショナリを表す図形リストにアクセスするには、entget を使用します。

ディクショナリ オブジェクトには、次の規則が適用される。

  • ディクショナリ オブジェクトは entget を使用して取得でき、その拡張データ(Xdata)は entmod を使用して変更できます。ディクショナリ オブジェクトの項目は、entmod を使用して変更することはできない。項目へのアクセスは、すべて dictsearch 関数と dictnext 関数を使用して行える。
  • ディクショナリ項目の内容は entmod を使用して変更できませんが、拡張データは変更できる。
  • ACAD* で始まるディクショナリ項目の名前は変更できない。

dictsearch 関数と dictnext 関数を使用して、ディクショナリ項目を照会でき、各ディクショナリ項目は、テキスト名前キーと、項目オブジェクトへのハード オーナーシップ キー ハンドル参照から構成される。ディクショナリ項目は、entdel 関数に項目オブジェクト名を直接渡すことにより削除できる。テキスト名前キーは、シンボル テーブル名と同じ構文と有効な文字を使用する。キーの名前は、dictrename 関数を使用して変更することができる。


ディクショナリの種類