È possibile utilizzare stringhe di testo e il linguaggio DIESEL per visualizzare messaggi nella sezione definita dall'utente della barra di stato.
Il valore della variabile di sistema MODEMACRO determina le informazioni visualizzate nella sezione definita dall'utente, all'estrema sinistra della barra di stato. Lo scopo più elementare (e meno utile) della variabile di sistema MODEMACRO consiste nella visualizzazione di un valore di testo costante.
Ad esempio, per visualizzare il nome di un'azienda sulla barra di stato, immettere quanto riportato di seguito:
Comando: modemacro
Immettere un nuovo valore per MODEMACRO o . per nessuno <"">: Perforazioni Rossi
Il valore di testo rimane invariato. La barra di stato non riflette le modifiche apportate allo stato interno dell'applicazione. Non cambia fino a quando il valore della variabile di sistema MODEMACRO non viene aggiornato.
Per fare in modo che la barra di stato rifletta lo stato corrente, immettere espressioni macro utilizzando il linguaggio DIESEL, nel formato seguente:
$(func_name, arg1, arg2, ...)
Nell'espressione macro, func_name è il nome di una funzione DIESEL, mentre arg1 , arg2 e così via sono argomenti della funzione, interpretati in base alla definizione della funzione.
Nel seguente esempio viene visualizzato il nome dello stile di testo corrente nella barra di stato:
Comando: modemacro
Immettere un nuovo valore per MODEMACRO o . per nessuno <"">: Style: $(getvar, textstyle)
Per recuperare il valore corrente di qualsiasi variabile di sistema, è possibile immettere $(getvar, var_name). Il valore corrente della variabile di sistema sostituisce l'espressione macro sulla barra di stato. Quando la variabile di sistema cambia, ad esempio se lo stile di testo corrente viene modificato, la stringa di testo assegnata alla variabile di sistema MODEMACRO viene ricalcolata e la barra di stato viene aggiornata.
Le espressioni macro possono essere nidificate e possono presentare qualsiasi grado di complessità. Nell'esempio seguente viene visualizzato il valore in unità e l'angolo di snap correnti (in gradi) sulla barra di stato. L'esempio che segue usa espressioni nidificate per convertire l'angolo di snap da radianti in gradi e tronca il valore sull'intero.
Comando: modemacro
Immettere un nuovo valore per MODEMACRO o . per nessuno <"">: Snap: $(getvar, snapunit) $(fix,$(*,$(getvar,snapang),$(/,180,3.14159)))
I valori possono anche essere visualizzati nelle modalità unità lineari ed angolari correnti nel modo riportato di seguito.
Comando: modemacro
Immettere un nuovo valore per MODEMACRO o . per nessuno <"">:
Snap: $(rtos,$(index,0,$(getvar,snapunit))),$(rtos,$(index,1,$(getvar,snapunit))) $(angtos,$(getvar,snapang))
DIESEL copia l'input direttamente nell'output fino a che non trova il carattere del dollaro ($) o una stringa tra virgolette. È possibile utilizzare le stringhe tra virgolette per sopprimere la valutazione delle sequenze di caratteri che altrimenti verrebbero interpretate come funzioni DIESEL. Nelle stringhe tra virgolette è possibile includere altre virgolette utilizzando virgolette consecutive. Nell'esempio riportato di seguito, il layer corrente è impostato su LAYOUT e MODEMACRO è impostato sulla stringa.
Comando: modemacro
Immettere un nuovo valore per MODEMACRO o . per nessuno <"">: "$(getvar,clayer)= """$(getvar,clayer)""""
Sulla barra di stato viene visualizzato quanto riportato di seguito:
$(getvar,clayer)="LAYOUT"