La variabile di sistema MODEMACRO controlla la riga di stato definita dall'utente. Quando si avvia AutoCAD LT, questa variabile è impostata come stringa nulla e non viene salvata nel disegno, nel file di configurazione o in altre parti.
MODEMACRO è una variabile utente di tipo stringa. È possibile impostare per essa qualsiasi valore di stringa. Una lunghezza massima di stringa pari a 460 caratteri dovrebbe adattarsi a tutti i sistemi. È possibile impostare MODEMACRO con il comando MODIVAR oppure digitando modemacro alla riga di comando. Se l'impostazione di MODEMACRO viene modificata, è possibile provare vari formati per la riga di stato; tuttavia, il numero massimo di caratteri che è possibile digitare in questo modo è 255.
Se MODEMACRO è una stringa nulla, che viene impostata immettendo un punto (.), AutoCAD LT visualizza la riga di stato standard.
Valori di MODEMACRO
La MODEMACRO più semplice (e la meno utile) consiste in una stringa di testo costante. Ad esempio, per visualizzare sulla riga di stato il nome della propria azienda, si può digitare quanto riportato di seguito.
Comando: modemacro
Nuovo valore per MODEMACRO, o . per nessuno <"">: Ristorante Da Mario
Questo valore di MODEMACRO visualizza sempre lo stesso testo; la riga di stato non riflette i cambiamenti di stato di AutoCAD LT. Non cambia finché non viene cambiata MODEMACRO.
Per fare in modo che la riga di stato rifletta lo stato corrente di AutoCAD LT, immettere delle espressioni macro usando il linguaggio DIESEL, nella forma seguente:
$(funzione, arg1, arg2, ...)
dove funzione è il nome della funzione DIESEL e arg1, arg2 e così via sono gli argomenti per la funzione, interpretati secondo la definizione della funzione. Le espressioni macro del linguaggio DIESEL presentano un solo tipo di dati: stringhe. Le macro che operano su numeri li esprimono sotto forma di stringhe e li riconvertono come richiesto.
Definire una riga di stato più interessante, ad esempio una riga di stato che riporti il nome dello stile di testo corrente.
Comando: modemacro
Nuovo valore per MODEMACRO, o . per nessuno <"">: Stile: $(getvar, stiletesto)
Nota: Questo esempio e quelli che seguono mostrano la stringa di MODEMACRO che continua sulle righe successive. È necessario immetterla come una sola stringa lunga alla richiesta di comando.
Con la funzione $(getvar, nomevar) è possibile richiamare qualsiasi variabile di sistema. La sua impostazione corrente sostituisce l'espressione macro nella riga di stato. Quindi, quando si scambiano i layer, il valore di MODEMACRO viene ricalcolato. Se cambia, il nuovo nome dello stile di testo viene visualizzato sulla riga di stato.
Le espressioni possono essere nidificate ed essere complesse. Si supponga di voler visualizzare il valore e l'angolo di snap corrente (in gradi) sulla riga di stato. L'esempio che segue usa espressioni nidificate per convertire l'angolo di snap da radianti in gradi, troncando il valore sull'intero.
Comando: modemacro
Nuovo valore per MODEMACRO o . per nessuno <"">: Snap: $(getvar, snapunit) $(fix,$(*,$(getvar,snapang),$(/,180,3.14159)))
$(fix,$(*,$(getvar,snapang),$(/,180,3.14159)))
I valori possono anche essere visualizzati nelle modalità UNITA lineari ed angolari correnti nel modo riportato di seguito.
Comando: modemacro
Nuovo valore per MODEMACRO o . per nessuno <"">: Snap: $(rtos,$(index,0, $(getvar,snapunit))),$(rtos,$(index,1,$(getvar,snapunit))) $(angtos,$(getvar,snapang))
DIESEL copia il suo input direttamente sull'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 a MODEMACRO è stata assegnata una stringa.
Comando: modemacro
Nuovo valore per MODEMACRO o . per nessuno <"">: "$(getvar,clayer)= """$(getvar,clayer)""""
La riga di stato visualizza quindi quanto riportato di seguito.
$(getvar,clayer)="LAYOUT"