Puede utilizar las expresiones de cadena DIESEL como método para proporcionar respuestas a los comandos definidos con AutoLISP u ObjectARX.
Las expresiones DIESEL devuelven valores de cadena (cadenas de texto) que se puede utilizar como respuesta a los comandos estándares, a AutoLISP, a las rutinas de ObjectARX ® y a otras macros.
Dado que el valor devuelto por una expresión DIESEL es una cadena de texto, se puede utilizar como respuesta a una ejecución de la función getXXX de AutoLISP o acetGetXXX de ObjectARX. Esta función permite que los elementos de menú evalúen las condiciones actuales del dibujo y devuelvan un valor a una rutina de AutoLISP u ObjectARX.
Si carga y ejecuta la siguiente rutina de ejemplo de AutoLISP, el programa solicita el nombre y el tamaño del símbolo, así como una ubicación en el dibujo.
(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 )
Mientras el ejemplo anterior se ejecuta, puede hacer clic en los elementos de interfaz de usuario que ejecuten una expresión DIESEL en respuesta a una de las solicitudes. Por ejemplo, puede usar la expresión $M=$(*,$(getvar,dimscale),0.375) para utilizar un factor de escala que sea 3/8 del valor actual de DIMSCALE.
Esto no se puede hacer con código similar de AutoLISP; normalmente, un valor devuelto por una expresión de AutoLISP no se puede utilizar como respuesta a una llamada a la función getXXX (como, por ejemplo, la función getreal del ejemplo anterior).