È possibile utilizzare le espressioni di stringa DIESEL per fornire risposte ad un comando definito con AutoLISP o ObjectARX.
Le espressioni DIESEL restituiscono valori di stringa (stringhe di testo) utilizzabili come risposta a comandi standard, routine AutoLISP e ObjectARX ® e altre macro.
Il valore restituito da un'espressione DIESEL è una stringa di testo e può essere utilizzato in risposta ad una chiamata della funzione getXXX di AutoLISP o della funzione acetGetXXX di ObjectARX. Questa funzionalità consente alle voci di menu di valutare le condizioni del disegno correnti e di restituire un valore ad una routine AutoLISP o ObjectARX.
Se si carica e si esegue la routine AutoLISP di esempio che segue, viene richiesto di specificare il nome e la dimensione di un simbolo e una posizione nel disegno.
(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 )
Mentre viene eseguito l'esempio precedente, è possibile fare clic su elementi dell'interfaccia utente che eseguono un'espressione DIESEL in risposta ad uno dei messaggi di richiesta. È ad esempio possibile specificare l'espressione $M=$(*,$(getvar,dimscale),0.375) per utilizzare un fattore di scala pari a 3/8 dell'impostazione corrente di DIMSCALE.
Questa operazione non può essere eseguita con codice AutoLISP simile. Un valore restituito da un'espressione AutoLISP generalmente non può essere utilizzato come risposta ad una chiamata della funzione getXXX, quale la funzione getreal dell'esempio precedente.