Acerca de las expresiones DIESEL en macros

Puede incluir expresiones de cadena en lenguaje DIESEL en los archivos de personalización (CUI/CUIx) como método adicional de creación de macros y para cambiar un rótulo de menú desplegable.

Una expresión DIESEL se puede utilizar con un elemento de la interfaz de usuario y debe seguir el formato $sección=submenú, donde el nombre de la sección es M y el submenú es la expresión DIESEL que se desee.

Véase el siguiente ejemplo:

^C^C^P$M=$(if,$(=,$(getvar,cvport),1),mspace,pspace)

Esta expresión DIESEL permite alternar entre el espacio modelo y el espacio papel en función del valor actual de la variable de sistema CVPORT. Si CVPORT se ha establecido en 1, se ejecuta el comando ESPACIOM; de lo contrario, se ejecuta el comando ESPACIOP. Esta expresión se evalúa de manera transparente. Si el carácter especial ^P (que activa y desactiva MENUECHO) se omite, la expresión muestra sólo el comando ejecutado.

La expresión DIESEL del siguiente ejemplo se utiliza para multiplicar el valor actual de DIMSCALE por el valor 0.5 a fin calcular el factor de escala cuando se inserta el bloque de notas con el comando -INSERT.

^C^C-insert;note;0,0;$M=$(*,$(getvar,dimscale),0.5);;0;

Las expresiones DIESEL también pueden utilizarse para definir el rótulo de un elemento de menú desplegable para que pueda establecer menús como no disponibles, o bien modificar la forma en que estos se muestran. Asegúrese de que el primer carácter es $ al utilizar una expresión DIESEL en un rótulo de menú desplegable.

En este ejemplo, la capa actual se establece en BASE y la expresión DIESEL siguiente se utiliza como rótulo de un menú desplegable.

$(eval,"Current layer: " $(getvar,clayer))

El resultado es que se visualiza el menú desplegable apropiado y se actualiza siempre que se cambia la capa actual.

Current layer: BASE

Nota: La anchura de los menús desplegables y contextuales se define al cargar el archivo de personalización. Los títulos de menús generados o cambiados con expresiones DIESEL después de cargar un menú se truncan para que quepan dentro de la anchura del menú existente.

Si se prevé que el rótulo del menú generado por DIESEL será demasiado ancho, se puede utilizar el ejemplo siguiente para garantizar que la anchura del menú se ajustará a los rótulos. En este ejemplo se muestran los 10 primeros caracteres del valor actual de la variable de sistema CLAYER.

$(eval,"Current value: " $(substr,$(getvar,clayer),1,10))

No se pueden usar espacios a la derecha en un rótulo de menú para incrementar la anchura del menú, porque los espacios a la derecha se ignoran mientras se carga el menú. Cualquier espacio que se utilice para aumentar la anchura de un rótulo de menú debe estar dentro de una expresión DIESEL.

En el siguiente ejemplo se utiliza la misma expresión DIESEL que en el rótulo y una parte del elemento de menú. Proporciona una forma práctica de escribir el día y la fecha actuales en un dibujo.

Rótulo de menú

$(edtime,$(getvar,date),DDD", "D MON YYYY)

Macro

^C^Ctext \\\ $M=$(edtime,$(getvar,date),DDD", "D MON YYYY);

También se puede utilizar una macro DIESEL para marcar los rótulos de menús desplegables o hacer que no estén disponibles. El siguiente rótulo de menú desplegable se muestra como no disponible mientras un comando está activo. El texto aparece de forma normal cuando un comando no se encuentra activo.

$(if,$(eq,$(getvar,tilemode),1),~)&Polygonal Viewport

Se puede utilizar un enfoque similar para situar una marca junto a un elemento del menú desplegable o para cambiar de forma interactiva el carácter utilizado para la marca.

$(if,$(and,$(getvar,ucsicon),1),!.)&On