DIESEL 文字列式を使用して、AutoLISP または ObjectARX で定義されたコマンドに応答することができます。
DIESEL 式は、標準コマンド、AutoLISP、ObjectARX ® ルーチン、およびその他のマクロへの応答として使用できる文字列値(テキスト文字列)を返します。
DIESEL 式が返す値は文字列で、AutoLISP の getXXX 関数または ObjectARX の acetGetXXX 関数呼び出しに対する応答として使用できます。この機能を利用すれば、メニュー項目で現在の図面状態を評価して、AutoLISP および ObjectARX ルーチンに値を返すことができます。
次のサンプル AutoLISP ルーチンをロードして実行すると、シンボル名、サイズ、および図面内での位置を求めるプロンプトが表示されます。
(defun C:SYMIN() (setq sym (getstring "\nEnter symbol name: ") ; Prompts for a symbol name ) (setq siz (getreal "\nSelect symbol size: ") ; Prompts for a symbol size p1 (getpoint "\nInsertion point: ") ; Prompts for insertion point ) (command "._insert" ; Issues the INSERT command sym ; using the desired symbol p1 siz siz 0) ; insertion point, and size (princ) ; Exits quietly )
上記のサンプルを実行中に、プロンプトの 1 つへの応答として、DIESEL 式を実行するユーザ インタフェース要素をクリックすることができます。たとえば、現在の DIMSCALE の 3/8 の尺度を使用するために、式 $M=$(*,$(getvar,dimscale),0.375) を使用することもできます。
これは、同様の AutoLISP コードでは実行できません。通常、AutoLISP 式が返す値は、getXXX 関数呼び出し(上記のサンプルの getreal 関数など)に対する応答として使用できないからです。