Sie können DIESEL-Zeichenfolgenausdrücke als Möglichkeit nutzen, Antworten auf einen in AutoLISP oder ObjectARX definierten Befehl bereitzustellen.
DIESEL-Ausdrücke geben Zeichenfolgenwerte (Textzeichenfolgen) als Antwort auf Standardbefehle, AutoLISP- und ObjectARX ® -Routinen oder andere Makros zurück.
Der DIESEL-Ausdruck gibt eine Textzeichenfolge zurück, die als Antwort auf einen Aufruf der AutoLISP-Funktion getxxx oder der ObjectARX-Funktion acetGetxxx eingesetzt werden kann. Auf diese Weise können Menüelemente aktuelle Zeichnungen auswerten und einen Wert an eine AutoLISP- oder ObjectARX-Routine zurückgeben.
Wenn Sie die folgende AutoLISP-Beispielroutine laden und ausführen, fordert das Programm zur Eingabe eines Symbolnamens und einer Größe sowie einer Position in der Zeichnung auf.
(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 )
Während das vorige Beispiel ausgeführt wird, können Sie in Reaktion auf eine der Eingabeaufforderungen auf Benutzeroberflächenelemente klicken, die einen DIESEL-Ausdruck ausführen. Beispielsweise können Sie mit dem Ausdruck $M=$(*,$(getvar,dimscale),0.375) einen Skalierfaktor festlegen, der 3/8 des aktuellen Werts von DIMSCALE beträgt.
Mit vergleichbarem AutoLISP-Code ist dies nicht möglich; ein Wert, der von einem AutoLISP-Ausdruck zurückgegeben wird, kann normalerweise nicht als Antwort auf einen Aufruf der Funktion getxxx verwendet werden (beispielsweise die Funktion getreal aus dem vorangegangenen Beispiel).