Sobre as sequências de caracteres de macros de comando

As sequências de caracteres de macros de comando são usadas para instruir o AutoCAD sobre quais comandos e variáveis de sistema devem ser executados junto com qualquer entrada esperada permitida no prompt de comando. Caracteres especiais, expressões DIESEL e código de programação AutoLISP também podem ser incluídos em uma sequência de caracteres de macro de comando.

É possível criar sequências de caracteres de macros de comandos personalizadas que permitem ajudar a:

Você define e edita as sequências de caracteres de macro de comando com:

Conceitos básicos sobre sequência de caracteres das macros de comando

Uma sequência de caracteres de macros de comando é definida como uma série de comandos e opções e valores esperados com uma sintaxe especializada, mas é semelhante à entrada inserida no prompt de comando do AutoCAD. Quando você interage com a interface do usuário do programa, como um botão de clicar na faixa de opções ou um item em um menu de atalho, você está executando uma sequência de caracteres de macro de comando. A sintaxe de uma macro de comando pode ser tão simples quanto um único nome de comando (como CIRCULO) ou mais complexa com a inclusão de caracteres especiais (como ^C^C_.circle \1).

A seguir, são listados os caracteres especiais mais usados em sequências de caracteres de macros de comando:

Nota: O AutoLISP não está disponível no AutoCAD LT for Mac OS, e o ObjectARX não está disponível no AutoCAD LT for Windows ou Mac OS.

Confira como é iniciar o comando CIRCULO e desenhar um círculo com um raio de 5 no prompt de comando do AutoCAD e como a mesma entrada se parece com uma sequência de caracteres de macros de comando:

Sequência do prompt de comando Equivalente à sintaxe da sequência de caracteres de macro
Command: CIRCLE
Specify center point for circle or [3P/2P/Ttr (tan tan radius)]:
Specify radius of circle or [Diameter] <2.5000>: 5
CIRCLE;
\
5;

Veja a seguir como pode ser a sequência de caracteres final da macro de comando:



Item Sintaxe Descrição
1 ^C^C ^C^C significa pressionar Esc duas vezes antes de executar a macro
2 .CIRCULO; Inicia o comando CIRCULO, independentemente do pacote de idioma atual do AutoCAD
3 \ Solicita o ponto central no qual o círculo deve ser desenhado
4 5; Especifica o raio do círculo e sai do comando CIRCULO

A sequência de caracteres da macro anterior também pode ter sido escrita como a seguinte sem ponto e vírgula, já que um espaço em uma macro é como pressionar a barra de espaços no prompt de comando do AutoCAD:

^C^C_.circle \5
Nota: O uso de pontos e vírgula em uma sequência de caracteres de macro facilita a leitura e a informação de quando um Enter deve ocorrer, já que um espaço pode indicar um espaço real na entrada fornecida para o comando anterior ou uma variável de sistema.

Veja aqui outro exemplo de uso do comando MOCORO para copiar e, em seguida, rotacionar os objetos copiados no prompt de comando do AutoCAD, e confira também como a sequência de comando seria como uma sequência de caracteres de macros de comando:

Sequência do prompt de comando Equivalente à sintaxe da sequência de caracteres de macro
Command: MOCORO
Select objects:
Specify opposite corner:
Select objects:
Base point:
[Move/Copy/Rotate/Scale/Base/Undo]<eXit>: C
Second point of displacement/Undo/<eXit>:
Second point of displacement/Undo/<eXit>: 
[Move/Copy/Rotate/Scale/Base/Undo]<eXit>: R
Second Point or Rotation angle:
[Move/Copy/Rotate/Scale/Base/Undo]<eXit>:
MOCORO;
\
\
;
\
C;
\
; 
R;
\
;

Veja a seguir como pode ser a sequência de caracteres final da macro de comando:



Item Sintaxe Descrição
1 ^C^C ^C^C significa pressionar Esc duas vezes antes de executar a macro
2 ._MOCORO; Inicia o comando MOCORO, independentemente do pacote de idioma atual do AutoCAD
3 \\; Solicita a seleção de objetos; aqui, duas barras invertidas permitem especificar dois pontos para a seleção de janela ou de interseção
4 \ Solicita o ponto base que deve ser usado para copiar os objetos selecionados
5 _C; Usa a opção Copiar
6 \; Solicita o segundo ponto de deslocamento
7 _R; Usa a opção Rotacionar
8 \ Solicita o ângulo de rotação
9 ; Sai do comando MOCORO

Cancelar o comando ativo

Quando um botão na interface do usuário é clicado, a macro atribuída a ele é executada no contexto atual do programa. Isso significa que a macro tentará fornecer respostas para o prompt atual. Se você deseja assegurar-se de que não há nenhum comando ativo no momento quando a macro for executada, preceda a macro com a sequência de comando ^C. Embora um único ^C cancele a maioria dos comandos, ^C^C é necessário para retornar ao prompt de comando de um comando de dimensionamento e ^C^C^C é necessário com base na opção atual do comando -CAMADA. ^C^C manipula o cancelamento da maioria das sequências de comando e é a sequência recomendada para uso.

Usar comandos padrão em macros

Os comandos que são parte do AutoCAD ou produtos baseados no AutoCAD devem ser precedidos por um caractere de ponto (.). O caractere de ponto permite o comando padrão a ser usado, mesmo se tiver sido indefinido com o comando DESFDEF. Essa precaução torna a macro previsível quando for usada em outros computadores que compartilham o mesmo arquivo de personalização (CUI/CUIx).

Nota: Começando com o AutoCAD LT 2024, os comandos podem ser indefinidos.

Verificar os caracteres de macros

Cada caractere em uma macro é significativo, mesmo um espaço em branco. Um espaço é interpretado como o ato de pressionar a barra de espaços, o que pode resultar em um caractere de espaço na entrada fornecida ou como se você tivesse pressionado a tecla Enter. O resultado é o mesmo que se você estivesse usando o comando ou a variável de sistema no prompt de comando.

Nota: Quando você coloca um espaço no fim de uma macro, é interpretado como se você tivesse pressionado Enter para completar o comando.

Suporte internacional para macros

A primeira vez que criar uma macro, é comum criar usando os nomes dos comandos e os valores das opções no idioma do produto que você conhece. Cada comando e opção tem um nome local e um nome global que permite que suas macros sejam usadas por outros idiomas do produto. O suporte para idiomas diferentes de inglês não requer muito trabalho adicional da sua parte; coloque um caractere de sublinhado (_) antes de cada comando ou opção. O caractere de sublinhado sinaliza ao programa que o nome do comando ou o valor da opção deve ser traduzido para o idioma local do produto antes de ser executado.

Use o modo Seleção de objeto único

O modo Seleção de objeto único cancela a repetição normal do prompt Selecionar objetos em comandos de edição. Depois que você selecionar um objeto e responder a outros prompts, o comando é terminado.

Considere a macro no exemplo a seguir:

^C^C._erase single 

Essa macro termina o comando atual e inicia o comando APAGAR no modo Seleção de objeto único. Após iniciar a macro, poderá selecionar um objeto único ou clicar em uma área em branco no desenho e especificar uma seleção de janela ou por intersecção. Todos os objetos que você selecionar usando este método serão apagados.

Repetir comandos em macros

Uma vez que você tenha criado a macro, pode desejar repeti-la várias vezes antes de mover para um comando diferente. Em uma macro, use um asterisco (*) para indicar que o comando em uma macro será repetido até que você pressione ESC ou inicie outra macro que comece com ^C.

As macros nos exemplos a seguir repetem os comandos:

*^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: Não é possível usar esse recurso para selecionar opções ou para macros em menus de imagens lado a lado.

Finalizar macros

Algumas macros exigem terminadores especiais. Por exemplo, o comando TEXTO requer que você pressione Enter ao invés da barra de espaço para terminar o comando; e alguns comandos exigem mais do que pressionar a barra de espaço ou Enter para serem concluídos.

Duas convenções especiais resolvem estes problemas.

Compare as seguintes macros:

ucs 
ucs ;

O primeiro exemplo inicia o comando UCS e, como a linha termina com um espaço, o pressionamento da barra de espaço é simulado. O seguinte prompt será exibido:

Especifica a origem da UCS ou [Face/Nomeado/Objeto/Anterior/Vista/Universal/X/Y/Z/Z Eixo] <Universal>:

O segundo exemplo inicia o comando UCS, simula o pressionamento da barra de espaço e, em seguida, um pressionamento da tecla Enter é simulado, o que aceita o valor padrão (Universal).

Suprimir ecos e prompts em macros

Os caracteres em uma macro aparecem no prompt de comando, como se você tivesse digitado os caracteres no teclado. Essa duplicação de exibição é denominada eco. É possível suprimir o eco de macro com a variável de sistema MENUECHO. Se os ecos e os prompts da entrada de item estiverem ativados, um ^P na frente da macro os desativará temporariamente. Também é possível usar ^Q em uma macro para suprimir a exibição de todos os prompts e as entradas do histórico da linha de comando.