Informazioni sulle espressioni DIESEL nelle macro

È possibile utilizzare le espressioni di stringa DIESEL in file di personalizzazione (CUI/CUIx) come metodo aggiuntivo per la creazione di macro e per la modifica di un'etichetta di menu a discesa.

Un'espressione DIESEL può essere utilizzata con un elemento dell'interfaccia utente e deve rispettare il formato $sezione=sottomenu, dove il nome della sezione è M e il sottomenu è l'espressione DIESEL desiderata.

Si consideri l'esempio riportato di seguito:

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

Questa espressione DIESEL consente di spostarsi tra lo spazio modello e lo spazio carta in base al valore corrente della variabile di sistema CVPORT. Quando la variabile di sistema CVPORT è impostata su 1, viene eseguito il comando SPAZIOM. In caso contrario, viene eseguito il comando SPAZIOC. L'espressione è valutata in modo trasparente. Se il carattere speciale ^P che attiva o disattiva MENUECHO viene omesso, l'espressione visualizzerà soltanto il comando inviato.

L'espressione DIESEL nell'esempio riportato di seguito viene utilizzata per moltiplicare il valore corrente di DIMSCALE per il valore 0.5 al fine di calcolare il fattore di scala durante l'inserimento del blocco Note tramite il comando -INSER.

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

Le espressioni DIESEL possono inoltre essere utilizzate per definire l'etichetta di una voce di un menu a discesa, in modo da rendere non disponibili alcuni menu o modificarne la modalità di visualizzazione. Accertarsi che il primo carattere sia $ durante l'utilizzo di un'espressione DIESEL nell'etichetta di un menu a discesa.

In questo esempio, il layer corrente viene impostato su BASE e l'espressione DIESEL che segue viene utilizzata come etichetta di un menu a discesa.

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

Il risultato è che il menu a discesa appropriato viene visualizzato ed aggiornato ogni volta che il layer corrente viene modificato.

Layer corrente: BASE

Nota: La larghezza dei menu a discesa e di scelta rapida viene determinata al momento del caricamento del file di personalizzazione. Le etichette di menu generate o modificate dalle espressioni DIESEL dopo il caricamento del menu vengono troncate e adattate alla larghezza del menu esistente.

Se si ritiene che un'etichetta di menu generata da un'espressione DIESEL sarà troppo larga, è possibile utilizzare l'esempio riportato di seguito per assicurarsi che la larghezza del menu sia sufficiente per le etichette. Questo esempio visualizza i primi 10 caratteri del valore corrente della variabile di sistema CLAYER.

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

Non è possibile utilizzare spazi finali in un'etichetta per aumentare la larghezza del menu, perché tali spazi vengono ignorati quando il menu viene caricato. Ogni spazio utilizzato per aumentare la larghezza di un'etichetta di menu deve essere specificato nell'ambito di un'espressione DIESEL.

Nell'esempio riportato di seguito viene utilizzata la stessa espressione DIESEL dell'etichetta ed una parte della voce di menu. Questo esempio presenta un modo pratico per inserire nel disegno il giorno e l'ora correnti.

Etichetta di menu

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

Macro

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

Inoltre è possibile utilizzare una macro DIESEL per contrassegnare le etichette dei menu a discesa o per renderle non disponibili. L'etichetta del menu a discesa riportata di seguito appare non disponibile quando è attivo un comando. Il testo viene visualizzato in modo normale quando non ci sono comandi attivi.

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

È possibile utilizzare un metodo simile per collocare un contrassegno accanto ad una voce di un menu a discesa o per modificare interattivamente il carattere utilizzato per il contrassegno stesso.

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