Sobre como definir comandos externos

Comandos externos iniciam outros programas ou utilitários enquanto o AutoCAD ou um produto baseado em AutoCAD estão em execução.

Enquanto o AutoCAD ou um produto baseado em AutoCAD estiverem em execução, é possível chamar outros programas ou utilitários, tais como:

Nota: Os comandos externos são suportados no AutoCAD apenas no Windows. O AutoCAD LT não suporta comandos externos.

Você pode adicionar definições de comandos ao editar o acad.pgp em um editor de texto ASCII. A primeira seção do acad.pgp define os comandos externos. Além dos aliases de comando em acad.pgp, você também encontrará linhas de comentários que são precedidas por ponto e vírgula (;) e que permitem adicionar informações textuais sobre o alias de comando ou arquivo.

Quando define um comando externo, você especifica um nome de comando a ser utilizado no prompt do sistema operacional e uma sequência de caracteres de comando executável que será passada ao sistema operacional. Cada linha na seção de comandos externos possui cinco campos delimitados por vírgula, conforme indicado a seguir:

command,[executable/shell request],bit flag[,[*]prompt[,return_code]] 
Comando

O comando que é inserido no prompt do sistema operacional. Se o nome for um nome de comando interno do AutoCAD ele é ignorado. O nome não faz distinção entre letras maiúsculas e minúsculas.

executable/solicitação parede

A sequência de caracteres constante enviada ao sistema operacional quando você insere o nome do comando. Pode ser qualquer comando executável no prompt do sistema operacional. A sequência de caracteres pode incluir chaves de linha de comando ou parâmetros. A distinção entre letras maiúsculas e minúsculas nessa sequência de caracteres depende do aplicativo que se deseja executar.

Indicadores de bit

Um parâmetro obrigatório codificado por bits. Adicione todos esses valores de número inteiro em qualquer combinação para obter o resultado desejado.

0 Inicie o aplicativo e aguarde até terminar.

1 Não aguarde o aplicativo terminar.

2 Execute o aplicativo no modo minimizado.

4 Execute o aplicativo "oculto".

8 Coloque a sequência de argumentos entre aspas.

Os valores de bit 2 e 4 são reciprocamente exclusivos. Se os dois forem especificados, apenas o bit 2 será utilizado. Convém evitar o uso do valor 2 ou 4 sem o valor 1, pois o programa se torna indisponível até que o aplicativo tenha concluído.

O valor de bit 8 permite que comandos, como del, funcionem corretamente com os nomes de arquivo que possuem espaços incorporados. Isso elimina a possibilidade de transmitir uma lista delimitada por espaços com os nomes de arquivos para estes comandos. Se você o preferir suporte para diversos arquivos, não utilize o valor de bit 8.

prompt

Um campo opcional. Ele especifica que o prompt seja exibido no prompt de comando do programa. A resposta para esse prompt é anexada à sequência fornecida no campo executável. Se o primeiro caractere do campo de prompt for um asterisco (*), a resposta pode conter espaços e o usuário deve pressionar Enter para finalizá-la. Caso contrário, a resposta terminará com Barra de espaço ou Enter. Se o prompt não for especificado, nenhuma entrada será solicitada, mas você deverá adicionar uma vírgula se um código de retorno for fornecido ou se quiser que o prompt apresente um espaço à direita.

return_code

Um parâmetro opcional codificado por bits. É possível adicionar todos esses valores de número inteiro em qualquer combinação para obter o resultado desejado. Por exemplo, se os valores 1 e 2 forem necessários, utilize 3 como o código de retorno. Os valores são definidos da seguinte maneira (códigos 0 e 4 são inexpressivos em um ambiente de janelas e, por isso, não estão incluídos):

1 Carrega um arquivo DXB. O AutoCAD ou produto baseado em AutoCAD carregam o arquivo DXB denominado $cmd.dxb no desenho após a finalização do comando. Após o carregamento do arquivo DXB, o arquivo $cmd.dxb é excluído. Essa ação gera o mesmo resultado do comando DXBIN.

2 Constrói uma definição de bloco partindo de um arquivo DXB. O programa cria uma definição de bloco a partir do arquivo DXB denominado $cmd.dxb. A resposta ao campo de prompt é utilizada como o nome do bloco. Esse nome dever ser um nome de bloco válido que não exista atualmente no desenho. Portanto, esse modo não pode redefinir um bloco anteriormente definido. Depois que o programa carrega o arquivo DXB, o arquivo $cmd.dxb é excluído. O nome padrão para o comando INSERIR é definido como o bloco recentemente especificado.

Comandos do sistema operacional

Os comandos do sistema operacional start e cmd são muito úteis ao definir comandos externos. Se você especificar uma sequência de caracteres executável que não utilize o comando start ou cmd, o programa ficará indisponível até que essa janela seja fechada.

O comando start inicia uma janela separada e executa um programa ou comando especificado. Se o comando start for utilizado sem parâmetros, ele abrirá uma nova janela de prompt de comando para o sistema operacional. O comando start apresenta muitos argumentos de linha de comando que afetam a exibição da nova janela. Para ativar um aplicativo independente, utilize start sem chaves de linha de comando. O comando start também é muito útil para iniciar um documento associado a um aplicativo. Por exemplo, você pode utilizar start para abrir diretamente um documento criado com um processador de texto ou um arquivo HTML.

O comando cmd abre uma janela de prompt de comando do sistema operacional que atua como uma parede do AutoCAD ou de um produto baseado em AutoCAD. Essa janela deve ser fechada antes que o controle retorne ao prompt do sistema operacional. Os dois argumentos de linha de comando, /c e /k, são úteis para comandos externos. A chave de linha de comando /c executa o comando especificado e, em seguida, para (a janela é fechada). A chave de linha de comando /k executa o comando especificado e, em seguida, prossegue (a janela permanece aberta). Ao utilizar a chave de linha de comando /k, a janela de comando deve ser fechada (com o comando sair).

Em geral, utilize start para criar uma nova janela ou executar um aplicativo que deve ser um processo separado do programa. Utilize cmd para executar um arquivo em lote ou um script de comando que não crie uma janela separada ou para criar uma janela que deva ser fechada antes que o controle seja retornado para o programa. Para obter mais informações sobre estes comandos e argumentos, consulte a documentação de comandos de seu sistema operacional.

Comandos definidos por personalização

O exemplo a seguir define três novos comandos: 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

O comando RUN executa um arquivo em lote ou um script de comando. O comando cmd seguido pela chave de linha de comando /c abre uma janela de comando, executa o arquivo em lote e, depois, se fecha.

O comando LISTSET exibe as configurações atuais da variável de ambiente do sistema operacional. Como este exemplo usa cmd /k em vez de start, a janela de comando deverá ser fechada antes de retornar ao programa. Se deseja que esta janela permaneça ativa, use start /realtime. Para obter mais informações sobre estes comandos e argumentos, consulte a documentação de comandos de seu sistema operacional.

O comando DXB2BLK cria uma definição de bloco a partir do arquivo DXB especificado. O arquivo DXB converte todos os objetos em linhas. Um subproduto útil deste procedimento é que ele oferece um método simples para explodir os objetos de texto em linhas.

O DXB2BLK passa o nome do arquivo DXB especificado para o arquivo em lote dxbcopy, o qual copia esse nome de arquivo para o nome de arquivo $cmd.dxb. O programa cria então um bloco a partir do arquivo DXB especificado. O nome fornecido para o prompt do arquivo DXB é usado como o novo nome do bloco. Para criar o arquivo dxbcopy.cmd, insira o seguinte no prompt do sistema operacional:

echo copy %1.dxb $cmd.dxb > dxbcopy.cmd

Isso cria o arquivo dxbcopy.cmd no diretório atual. Mova este arquivo para um diretório que esteja em seu caminho do DOS ou especifique explicitamente o local do arquivo no arquivo acad.pgp. Por exemplo, se o arquivodxbcopy.cmd está em D:\cad, insira o seguinte na seção de comandos externos do seu arquivo acad.pgp.

DXB2BLK, cmd /c D:\CAD\DXBCOPY,0,DXB file: ,2