指定されたディクショナリに非グラフィカル オブジェクトを追加します。
サポートされているプラットフォーム: Windows および Mac OS
(dictadd ename symbol newobj)
タイプ: ads_name
オブジェクトが追加されるディクショナリの名前。
タイプ: 文字列
ディクショナリに追加するオブジェクトのキー名。symbol は、ディクショナリ内の既存の項目と重複しない独自の名前でなければなりません。
タイプ: ads_name
ディクショナリに追加する非グラフィカル オブジェクト。
タイプ: ads_name
ディクショナリに追加されたオブジェクトの図形名。
一般的な規則として、ディクショナリに追加する各オブジェクトは、ディクショナリ内で一意でなければなりません。これは、グループ ディクショナリにグループ オブジェクトを追加する場合、特に問題となります。異なるキー名で同じグループ オブジェクトを追加すると、グループ名が重複することとなり、dictnext 関数が無限ループに陥る可能性があります。
次の例では、オブジェクトを作成し、それらを名前の付いたオブジェクト ディクショナリに追加します。
ディクショナリ項目リストを作成します。
(setq dictionary (list '(0 . "DICTIONARY") '(100 . "AcDbDictionary"))) ((0 . "DICTIONARY") (100 . "AcDbDictionary"))
entmakex 関数を使用して、ディクショナリ オブジェクトを作成します。
(setq xname (entmakex dictionary))(setq xname (entmakex dictionary)) <Entity name: 1d98950>
ディクショナリを、名前の付いたオブジェクト ディクショナリに追加します。
(setq newdict (dictadd (namedobjdict) "MY_WAY_COOL_DICTIONARY" xname)) <Entity name: 1d98950>
拡張レコード オブジェクト リストを作成します。
(setq datalist (append (list '(0 . "XRECORD") '(100 . "AcDbXrecord")) '((1 . "This is my data") (10 1. 2. 3.) (70 . 33)))) ((0 . "XRECORD") (100 . "AcDbXrecord") (1 . "This is my data") (10 1.0 2.0 3.0) (70 . 33))
拡張レコード オブジェクトを作成します。
(setq xname (entmakex datalist)) <Entity name: 1d98958>
拡張レコード オブジェクトをディクショナリに追加します。
(dictadd newdict "DATA_RECORD_1" xname) <Entity name: 1d98958>