Sobre as macros de comando

As macros de comando podem conter comandos, caracteres especiais, expressões DIESEL ou código de programação AutoLISP.

É possível definir e, em seguida, atribuir uma macro a um comando modificando a propriedade Macro de um comando no editor Personalizar interface do usuário (Windows) ou na caixa de diálogo Personalizar (Mac OS).

Nota: O AutoLISP não é suportado no AutoCAD LT.

Conceitos básicos de macros

Uma macro define a ação que deve ser executada quando um elemento da interface do usuário é utilizado. Ela pode ser simples como um comando (como um círculo) e incluir caracteres especiais (como ^C^C).

Por exemplo, a macro ^C^C_.circle \1, desenha um círculo com um raio de uma unidade. Os componentes que definem esta macro estão explicados na tabela a seguir.

Componentes na macro CIRCULO

Componente

Tipo de componente

Resultado

^C^C

Sequência de caracteres especiais de controle

Sequência que é semelhante a pressionar a tecla Esc duas vezes.

_

Caractere especial de controle

Indica que o comando a seguir deve utilizar o nome do comando global e não o nome de comando localizado.

.

Caractere especial de controle

Indica que o comando a seguir deve utilizar a definição padrão do comando e não o comando redefinido que possa existir.

CIRCLE

Comando

Inicia o comando CIRCULO.

Caracteres especiais

Um espaço é como pressionar a barra de espaço ao utilizar um comando.

\

Caractere especial de controle

Cria uma pausa para a entrada do usuário; neste exemplo é uma pausa para o ponto central do círculo.

1

Caractere especial de controle

Resposta ao prompt para o raio do círculo; neste exemplo é uma unidade de 1.

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. Isto 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 sua macro com a sequência de comando ^C. Embora um único ^C cancele a maioria dos comandos, ^C^C é necessário para retornar para o prompt do comando de um comando de cotagem e ^C^C^C é requerido com base na opção atual do comando -CAMADA. ^C^C executa o cancelamento da maioria das sequências de comandos e é a sequência recomendada a ser utilizada.

Verificar caracteres de macros

Cada caractere em uma macro é significativo, mesmo um espaço em branco. Quando você coloca um espaço no fim de uma macro, ele é interpretado como se você tivesse pressionado a barra de espaço ou Enter para concluir o comando.

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. Esta precaução torna a macro previsível quando for usada em outros computadores que compartilham o mesmo arquivo de personalização (CUI/CUIx).

Nota: Os comandos não podem ser indefinidos no AutoCAD LT.

Suporte internacional para macros

A primeira vez que criar uma macro, é comum criar com os nomes de comandos e valores de opções no idioma que você conhece. Cada comando e opção tem um local e um nome global para que suas macros sejam usadas em todos os idiomas diferentes que o AutoCAD suporta. 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 para o AutoCAD que o valor do nome do comando ou da opção deve ser convertido antes de ser executado.

Utilize 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 utilizar este 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. Esta duplicação de exibição é denominada eco. É possível suprimir o eco de macro com a variável de sistema MENUECHO. Se ecos e prompts da entrada de item estiverem ativados, um ^P na frente da macro os desativará temporariamente. Também é possível utilizar ^Q em uma macro para suprimir a exibição de todos os prompts e as entradas do histórico da linha de comando.