Macro di comandi

Le macro di comandi possono contenere comandi, caratteri speciali, espressioni DIESEL o codice di programmazione AutoLISP.

È possibile definire e quindi assegnare una macro ad un comando modificando la proprietà Macro del comando nell'editor Personalizza interfaccia utente (Windows) o nella finestra di dialogo Customize (Mac OS).

Nota: AutoLISP non è supportato in AutoCAD LT.

Elementi di base sulle macro

Una macro definisce l'azione che deve essere eseguita quando viene utilizzato un elemento dell'interfaccia utente. Può includere semplicemente un comando (ad esempio cerchio) oppure caratteri speciali (ad esempio ^C^C).

Ad esempio, la macro ^C^C_.cerchio \1 disegna un cerchio con un raggio di 1 unità. I componenti che definiscono tale macro sono illustrati nella tabella che segue.

Componenti della macro CERCHIO

Componente

Tipo di componente

Risultato

^C^C

Sequenza di caratteri di controllo speciali

Sequenza corrispondente alla duplice pressione di ESC.

_

Carattere di controllo speciale

Indica che il comando che segue deve utilizzare il nome del comando globale e non quello localizzato.

.

Carattere di controllo speciale

Indica che il comando che segue deve utilizzare la definizione standard del comando e non l'eventuale comando ridefinito.

CERCHIO

Digitare nome del comando

Avvia il comando CERCHIO.

Carattere speciale

Lo spazio corrisponde alla pressione della BARRA SPAZIATRICE durante l'utilizzo di un comando.

\

Carattere di controllo speciale

Crea una pausa per l'input dell'utente. In questo esempio, è il punto centrale del cerchio.

1

Valore di input

Risposta al messaggio di richiesta del raggio del cerchio. In questo esempio, è un'unità pari a 1.

Annullamento del comando attivo

Quando viene fatto clic su un pulsante nell'interfaccia utente, la macro ad esso assegnata viene eseguita nel contesto corrente del programma. Ciò significa che la macro tenterà di fornire risposte al messaggio di richiesta corrente. Per accertarsi che al momento dell'esecuzione della macro non sia attivo alcun comando, far precedere la macro dalla sequenza di comandi ^C. Anche se un solo ^C annulla la maggior parte dei comandi, è necessario utilizzare due ^C^C per tornare alla riga di comando da un comando di quotatura e tre ^C^C^C in base all'opzione corrente del comando -LAYER. ^C^C gestisce l'annullamento della maggior parte delle sequenze di comandi ed è pertanto la sequenza consigliata da utilizzare.

Verificare i caratteri delle macro

Ogni carattere in una macro è significativo, persino uno spazio. Quando si inserisce uno spazio alla fine della macro, viene interpretato come una pressione di INVIO o della BARRA SPAZIATRICE per completare il comando.

Utilizzo di comandi standard nelle macro

I comandi che fanno parte di AutoCAD o dei prodotti basati su AutoCAD devono essere preceduti da un carattere punto (.). Il carattere punto consente l'utilizzo del comando standard anche se è stato impostato come non definito mediante il comando NUOVDEF. Questa precauzione rende la macro attribuibile quando viene utilizzata in altri computer che condividono lo stesso file di personalizzazione (CUI/CUIx).

Nota: Non è possibile annullare la definizione di comandi in AutoCAD LT.

Supporto internazionale per le macro

Quando si crea inizialmente una macro, in genere si specificano nomi di comandi e valori di opzioni nella lingua del prodotto. Ogni comando e opzione dispone di un nome locale e di uno globale che permette di utilizzare le macro in altre lingue del prodotto. Il supporto di lingue diverse dall'inglese non richiede molto lavoro aggiuntivo da parte dello sviluppatore. È sufficiente anteporre ad ogni comando o opzione un carattere di sottolineatura (_). Il carattere di sottolineatura indica al programma che il nome di comando o il valore di opzione devono essere tradotti nella lingua locale del prodotto prima che venga eseguito.

Utilizzo della modalità di selezione di oggetto singolo

La modalità di selezione di singoli oggetti annulla la normale ripetizione del messaggio Selezionare oggetti nei comandi di modifica. Dopo aver selezionato un oggetto e aver risposto agli altri messaggi di richiesta, il comando viene terminato.

Si consideri la macro nel seguente esempio:

^C^C._erase single 

Questa macro termina il comando corrente e avvia il comando CANCELLA nella modalità di selezione di singoli oggetti. Dopo l'avvio della macro, è possibile selezionare un singolo oggetto oppure fare clic su un'area vuota del disegno e specificare una selezione di tipo Interseca o Finestra. Gli oggetti selezionati mediante questi metodi vengono cancellati.

Ripetizione dei comandi nelle macro

Dopo aver creato una macro, può essere necessario ripeterla più volte prima di passare ad un altro comando. È possibile utilizzare un asterisco iniziale (*) per indicare che il comando di una macro deve essere ripetuto finché non si preme ESC o non si avvia un'altra macro che inizia con ^C.

Le macro negli esempi che seguono ripetono i comandi:

*^C^C._move Single 
*^C^C._copy Single 
*^C^C._erase Single 
*^C^C._stretch Single Crossing 
*^C^C._rotate Single 
*^C^C._scale Single 
Nota: Questa funzione non può essere utilizzata per specificare opzioni di comando o per le macro nei menu del gruppo di immagini.

Terminare le macro

Alcune macro richiedono terminatori speciali. Ad esempio, per terminare il comando TESTO è necessario premere INVIO anziché la BARRA SPAZIATRICE e per completare alcuni comandi è necessario premere più volte la BARRA SPAZIATRICE o INVIO.

Per risolvere questi problemi si ricorre a due convenzioni speciali.

Si confrontino le macro riportate di seguito:

ucs 
ucs ;

Il primo esempio avvia il comando UCS e, poiché la riga termina con uno spazio, esegue un'azione che simula la pressione della BARRA SPAZIATRICE. Viene visualizzato il messaggio di richiesta riportato di seguito:

Specificare origine dell'UCS o [Faccia/con NOme/OGgetto/Precedente/Vista/Globale/X/Y/Z/Asse-z] <Globale>:

Il secondo esempio avvia il comando UCS, simula la pressione della BARRA SPAZIATRICE, quindi simula la pressione del tasto INVIO per accettare il valore di default (Globale).

Sopprimere echi e messaggi di richiesta nelle macro

I caratteri di una macro vengono visualizzati alla riga di comando come se fossero stati digitati sulla tastiera. Questa visualizzazione duplicata è definita eco. È possibile sopprimere gli echi delle macro mediante la variabile di sistema MENUECHO. Se eco e messaggi di richiesta dagli input dell'utente sono attivati, è possibile anteporre ^P alla macro per disattivarli temporaneamente. È inoltre possibile utilizzare ^Q in una macro per sopprimere la visualizzazione di tutti i messaggi di richiesta e dell'input dalla cronologia della riga di comando.