I comandi esterni avviano altri programmi o utilità durante l'esecuzione di AutoCAD di un prodotto basato su AutoCAD.
Mentre AutoCAD o un prodotto basato su AutoCAD è in esecuzione, è possibile richiamare altri programmi o utilità, ad esempio:
È possibile aggiungere le definizioni dei comandi modificando il file acad.pgp in un editor di testo ASCII. La prima sezione del file acad.pgp definisce i comandi esterni. Oltre agli alias dei comandi, il file acad.pgpcontiene anche righe di commento precedute da un punto e virgola (;) in cui è possibile aggiungere informazioni di testo sul file o su un alias di comando.
Quando si definisce un comando esterno, è necessario specificare un nome di comando da utilizzare nel prompt dei comandi del sistema operativo e una stringa di comando eseguibile che viene passata al sistema operativo. Ogni riga della sezione dei comandi esterni contiene cinque campi delimitati da virgole, organizzati nel modo seguente:
command,[executable/shell request],bit flag[,[*]prompt[,return_code]]
Il comando immesso nel prompt dei comandi del sistema operativo. Se il nome appartiene a un comando interno di AutoCAD, viene ignorato. Non viene inoltre operata alcuna distinzione tra maiuscole e minuscole.
La stringa della costante inviata al sistema operativo quando si digita il nome del comando. Può trattarsi di qualsiasi comando che è possibile eseguire al prompt dei comandi del sistema operativo. La stringa può includere opzioni o parametri della riga di comando. La distinzione tra maiuscole e minuscole della stringa dipende dall'applicazione che si desidera eseguire.
Un parametro con codifica binaria obbligatorio. Unire questi valori interi in qualsiasi combinazione per ottenere il risultato desiderato.
0 Avviare l'applicazione e attenderne il completamento.
1 Non attendere il completamento dell'applicazione.
2 Eseguire l'applicazione in modalità ridotta a icona.
4 Eseguire l'applicazione in modalità nascosta.
8 Racchiudere tra virgolette la stringa dell'argomento.
I valori di bit 2 e 4 si escludono a vicenda. Se sono specificati entrambi, viene utilizzato solo il bit 2. L'utilizzo dei valori 2 o 4 senza il valore 1 dovrebbe essere evitato, in quanto il programma diventa non disponibile fino al completamento dell'applicazione.
Il valore di bit 8 rende possibile il corretto funzionamento di comandi quali del con nomi di file contenenti spazi incorporati. In questo modo tuttavia non è più possibile passare un elenco di nomi di file delimitato da spazi a tali comandi. Se si preferisce il supporto di più file, non utilizzare il valore di bit 8.
Un campo facoltativo. Specifica il messaggio di richiesta da visualizzare alla riga di comando del programma. La risposta viene aggiunta alla stringa fornita nel campo dell'eseguibile. Se il primo carattere del campo del messaggio è un asterisco (*), la risposta può contenere degli spazi e l'utente deve premere INVIO per terminarla. Altrimenti la risposta viene terminata mediante BARRA SPAZIATRICE o INVIO. Se non viene specificato alcun messaggio, non è richiesto input. Tuttavia è necessario aggiungere una virgola se occorre fornire un codice di ritorno o se si desidera che il messaggio contenga uno spazio finale.
Un parametro con codifica binaria facoltativo. È possibile unire questi valori interi in qualsiasi combinazione per ottenere il risultato desiderato. Se, ad esempio, sono richiesti i valori 1 e 2 , viene utilizzato 3 come codice di ritorno. I valori vengono definiti nel modo seguente (i codici 0 e 4 non hanno alcun significato in un ambiente con finestre e non vengono quindi inclusi):
1 Carica un file DXB. AutoCAD o il prodotto basato su AutoCAD carica il file DXB denominato $cmd.dxb nel disegno una volta terminato il comando. Dopo il caricamento del file DXB, il file $cmd.dxb viene eliminato. Questa azione produce lo stesso risultato del comando DXBIN.
2 Costruisce una definizione di blocco da un file DXB. Il programma crea una definizione di blocco dal file DXB denominato $cmd.dxb. La risposta al campo del messaggio viene utilizzata come nome del blocco. Il nome deve essere un nome di blocco valido che non esiste attualmente nel disegno. Pertanto questa modalità non può ridefinire un blocco definito in precedenza. Dopo il caricamento del file DXB, $cmd.dxb viene eliminato. Il nome di default per il comando INSER è impostato sul blocco appena definito.
I comandi del sistema operativo start e cmd risultano molto utili nella definizione di comandi esterni. Se si specifica una stringa eseguibile che non utilizza il comando start o cmd, il programma non è disponibile fino alla chiusura della finestra.
Il comando start consente di avviare una finestra separata e di eseguire un programma o un comando specificato. Se start viene utilizzato senza parametri, apre una nuova finestra del prompt dei comandi per il sistema operativo. Il comando start presenta molte opzioni della riga di comando che influenzano l'aspetto della nuova finestra. Per avviare un'applicazione indipendente, utilizzare start senza alcuna opzione della riga di comando. Il comando start risulta molto utile anche per avviare un documento associato a un'applicazione. Ad esempio, è possibile utilizzare start per aprire direttamente un documento creato con un elaboratore di testi o un file HTML.
Il comando cmd apre una finestra del prompt dei comandi per il sistema operativo che svolge la funzione di shell di AutoCAD o del prodotto basato su AutoCAD. Questa finestra deve essere chiusa prima che il controllo torni al prompt dei comandi del sistema operativo. Due opzioni della riga di comando, /c e /k, risultano utili per i comandi esterni. L'opzione /c esegue il comando specificato, quindi termina (la finestra viene chiusa). L'opzione /k esegue il comando specificato, quindi prosegue (la finestra rimane aperta). Quando si utilizza l'opzione /k, è necessario chiudere la finestra dei comandi (con il comando exit).
In generale, utilizzare start per creare una nuova finestra o per avviare un'applicazione che deve essere eseguita indipendentemente dal programma. Utilizzare cmd per eseguire un file batch o uno script di comando che non crea una finestra separata oppure per creare una finestra che è necessario chiudere prima che il controllo venga nuovamente trasferito al programma. Per ulteriori informazioni su questi comandi e opzioni, consultare la documentazione relativa ai comandi del sistema operativo.
Nell'esempio che segue vengono definiti tre nuovi comandi: RUN, LISTSET e DXB2BLK.
RUN, cmd /c,0,*Batch file to run: , LISTSET,cmd /k SET,0 DXB2BLK,cmd /c DXBCOPY,0,DXB file: ,2
Il comando RUN esegue un file batch o uno script di comando. Il comando cmd seguito dall'opzione della riga di comando /c apre una finestra dei comandi, esegue il file batch, quindi termina.
Il comando LISTSET visualizza le impostazioni delle variabili di ambiente correnti per il sistema operativo in uso. Poiché questo esempio utilizza cmd /k anziché start, è necessario chiudere la finestra dei comandi prima di tornare al programma. Se si desidera che la finestra resti attiva, utilizzare start /realtime. Per ulteriori informazioni su questi comandi e opzioni, consultare la documentazione relativa ai comandi del sistema operativo.
Il comando DXB2BLK crea una definizione di blocco dal file DXB specificato. Il file DXB converte tutti gli oggetti in linee. Uno dei vantaggi di questa procedura è che offre un metodo semplice per la conversione di oggetti di testo in linee.
DXB2BLK passa il nome file DXB specificato al file batch dxbcopy, che copia tale nome nel nome file $cmd.dxb. Il programma crea quindi un blocco dal file DXB specificato. Il nome fornito al messaggio del file DXB viene utilizzato come nuovo nome del blocco. Per creare il file dxbcopy.cmd, immettere quanto segue al prompt dei comandi del sistema operativo:
echo copy %1.dxb $cmd.dxb > dxbcopy.cmd
Questo consente di creare il file dxbcopy.cmd nella directory corrente. Spostare il file in una directory contenuta nel percorso DOS oppure specificare esplicitamente il percorso nel file acad.pgp. Ad esempio, se il file dxbcopy.cmd si trova in D:\cad, immettere quanto segue nella sezione dei comandi esterni del file acad.pgp.
DXB2BLK, cmd /c D:\CAD\DXBCOPY,0,DXB file: ,2