概要 - ドキュメントの名前空間の変数を参照する(AutoLISP)

独自の名前空間 VLX で定義されている変数は、その VLX に関連付けられているドキュメントの名前空間では認識されません。

しかし、vl‑doc-ref 関数および vl‑doc-set 関数を使用すると、独自の名前空間 VLX は、ドキュメントの名前空間で定義されている変数にアクセスできます。vl-doc-set 関数は、setq 関数を使用するのと同じです。

vl-doc-ref 関数は、ドキュメントの名前空間から変数の値をコピーします。この関数には、1 つの引数、つまりコピーされる変数を示すシンボルを指定します。たとえば、次は、aruhu という名前の変数の値をコピーします。

(vl-doc-ref 'aruhu)

ドキュメントの名前空間で実行する場合、vl-doc-refeval 関数に相当します。

vl-doc-set 関数は、ドキュメントの名前空間に変数の値を設定します。この関数には、設定する変数を示すシンボルとその変数に設定する値からなる 2 つの引数を指定します。

たとえば、次は、ulus という名前の変数の値を設定します。

(vl-doc-set 'ulus "Go boldly to noone")

ドキュメントの名前空間で実行する場合、vl-doc-setsetq 関数に相当します。開いているすべてのドキュメントの名前空間に変数の値を設定するには、vl‑propagate 関数を使用します。

たとえば、次は、開いているすべてのドキュメントの名前空間に fooyall という変数を設定します。

(setq fooyall "Go boldly and carry a soft stick")
(vl-propagate 'fooyall)

vl-propagate 関数は、現在開いているすべてのドキュメントの名前空間に fooyall をコピーするだけでなく、現在の AutoCAD セッション中に開いた新しい図面の名前空間にも自動的に fooyall をコピーします。