Vous pouvez utiliser des expressions de chaîne DIESEL pour fournir des réponses à une commande définie avec AutoLISP ou ObjectARX.
Les expressions DIESEL renvoient des valeurs de chaîne (chaînes de texte) pouvant être utilisées en réponse aux commandes standard, aux routines AutoLISP et ObjectARX ® , ainsi qu'à d'autres macros.
La valeur renvoyée par une expression DIESEL est une chaîne de texte et peut être utilisée en réponse à un appel de la fonction AutoLISP getXXX ou ObjectARX acetGetXXX. Cette fonctionnalité permet aux éléments de menu d'évaluer les conditions de dessin courantes et de renvoyer une valeur à une routine AutoLISP ou ObjectARX.
Si vous chargez et exécutez l'exemple suivant de routine AutoLISP, le programme vous invite à spécifier une taille et un nom de symbole, ainsi qu'un emplacement dans le dessin.
(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 )
Alors que l'exemple précédent est en cours d'exécution, vous pouvez cliquer sur des éléments de l'interface utilisateur qui exécutent une expression DIESEL en réponse à une invite. Par exemple, vous pouvez utiliser l'expression $M=$(*,$(getvar,dimscale),0.375) pour utiliser un facteur d'échelle correspondant à 3/8 de la valeur DIMSCALE courante.
Un code AutoLISP similaire ne peut pas effectuer cette opération : généralement, une valeur renvoyée par une expression AutoLISP ne peut pas être utilisée comme réponse à l'appel d'une fonction getXXX (telle que la fonction getreal de l'exemple précédent).