Você está na página 1de 3

Truques e Dicas

AutoCAD - Macros de comandos (scripts)


O AutoCAD permite a introduo de macros de comandos que efectuam sequncias de operaes.
seguintes regras: Cada uma das linhas do ficheiro contm um comando e as respectivas opes. Em alternativa, podem colocar-se cada uma das opes por linha. Cada espao em branco equivale presso da tecla <ENTER> no AutoCAD. Atravs dos ficheiros de macros no podemos colocar pedidos ao utilizador e aguardar as suas respostas. Por exemplo, se usarmos o comando CIRCLE, o centro tem de ser dado pelas suas coordenadas. A macro no pra para marcarmos um ponto. S podem ser usados comandos que no mostrem caixas de dilogo. A maioria dos comandos com caixas de dilogo incluem uma verso que funciona na linha de comandos desde que se preceda o seu nome do sinal menos. O AutoCAD efectua esta substituio de forma automtica, isto , se escrevermos LAYER, o AutoCAD assume -LAYER. Podemos introduzir linhas de comentrios. Estas linhas tm de ser iniciadas por pontos-e-vrgula ;, sendo ignoradas pelo AutoCAD quando a macro executada. Nomes de pastas ou de desenhos que contenham espaos tm de ser includos entre aspas. Se estiver a usar o Notepad, no deve esquecer de dar um <ENTER> no final de cada linha. A execuo de uma macro interrompida pela presso de <ESC> ou fica em pausa com <BACKSPACE>. O comando RESUME permite recomear a macro. O conjunto de comandos de um ficheiro de macros considerado um grupo de comandos, pelo que todos so anulados por um nico U. E um dado importante: as macros de comandos permitem abrir e fechar desenhos. Vejamos alguns exemplos de comandos que se podem colocar em ficheiros script: INSUNITS 6 - Coloca a varivel INSUNITS, que controla a unidade para a insero de contedos, com o valor 6 (metros). LAYERDLGMODE 0 - A varivel LAYERDLGMODE controla se, ao usarmos o comando LAYER, colocada a paleta das layers (a partir da verso 2009, sem botes OK/Cancel) ou a caixa das layers (com botes). O valor 0 garante a caixa das layers. GRID OFF - Desliga a grelha auxiliar de linhas (ou pontos). Se j estiver desligada, no faz nada. LINETYPE LOAD HIDDEN - Carregamento do tipo de linha Hidden. A seguir ao nome do tipo de linha necessrio deixar dois espaos, um para sair da escolha de tipos de linha e outro para confirmar o ficheiro onde esto as definies dos tipos de linha. LAYER NEW A-200---E-----------PAREDES COLOR 3 A-200---E----------PAREDES - Criao de uma layer (opo New), com cor (opo Color) 3 (verde). Tem de se deixar um espao no final da linha para sair do comando. RENAME LAYER PAREDES A-200---E-----------PAREDES - Renomeia a layer PAREDES para A-200---E-----------PAREDES. PURGE ALL * NO - Efectua um Purge ao desenho a todas as definies no usadas (All), com qualquer nome (*) e no pede a verificao para cada definio a eliminar (No). ZOOM EXTENTS - Efectua um Zoom Extents no desenho. Para testar estas e outras instrues, iniciamos o AutoCAD. Na linha de comandos, digitamos NOTEPAD e damos <ENTER> ao pedido do

Eng. Joo Santos Formador certificado e Autor AutoCAD jsantos@qualicad.com Quando pretendemos executar uma sequncia de operaes por diversas vezes, carregar uma lista de pontos sem software adicional, proceder s mesmas alteraes em mltiplos desenhos j criados ou fazer um slide show, um ficheiro de macros (script para o AutoCAD) a soluo. Para alm da explicao dos comandos e conceitos, inclumos alguns exemplos interessantes. 1. Criao de ficheiro de macros Estas macros so escritas em ficheiros texto, com a extenso SCR, portanto criadas num qualquer editor de texto, como o bloco-notas (Notepad). Basicamente, devem figurar nestes ficheiros a lista de comandos e as respectivas opes, como se as escrevessemos na linha de comandos. O carregamento de um ficheiro de macros no AutoCAD feito com o comando SCRIPT. Este comando mostra apenas uma caixa de ficheiros para a seleco do ficheiro SCR (figura 1). Tem a abreviatura... SCR (surpresa) e pode tambm ser acedido pelo menu de topo Tools, Run Script.

Figura 1 - Comando SCRIPT

Para interromper uma macro, basta pressionar a tecla <ESC> ou a barra de espaos do teclado. O comando tem de ser executado com um desenho aberto ou iniciado. A partir deste desenho, podemos fechar e abrir outros desenhos que a macro de comandos no interrompida. Para escrever um ficheiro de macros, devem ser cumpridas as
Magazine Digital eUAU! - Setembro 2010

www.tecad.pt

Truques e Dicas
nome do ficheiro. Gravamos o ficheiro com o nome Exemplo.scr (no se esquea de indicar All Files/Todos os ficheiros). Vamos digitando estas e outras instrues, gravando o ficheiro (no precisamos de sair do Notepad) e carregando-o com o comando SCRIPT. 2. Outros comandos relacionados com macros Existem ainda os seguintes comandos relacionados com macros: DELAY - Aplica uma pausa na introduo de comandos. Este comando tem uma particular utilidade para ficheiros de macros com sequncias de slides ou para simulao de animaes. Pede apenas a durao da pausa em milisegundos, com um valor mximo de 32767 milisegundos. RESUME - Permite continuar uma macro de comandos interrompida pelo utilizador ou por o comando SCRIPT ter encontrado um erro. RSCRIPT - Este comando, colocado como a ltima linha de um ficheiro macro, executa a macro em ciclo at ser interrompida. Os slides do AutoCAD so ficheiros com a extenso SLD, que retratam a rea de desenho numa determinada altura. A aplicao de slides, por vezes em conjuno com ficheiros de macros, permite efectuar rpidas apresentaes de trabalhos, em que apenas um conjunto seleccionado de imagens mostrado. A visualizao de um slide muito mais rpida do que a entrada num desenho, no afectando o desenho actual. Outra aplicao para os slides a possibilidade de se mostrarem imagens elucidativas para a introduo de parmetros em programao. Comandos: MSLIDE - Cria um ficheiro slide (SLD) da vista actual da janela activa. No caso do espao de composio, o slide inclui todas as janelas e os respectivos contedos. Se houver imagens anexada ao desenho, estas aparecem nos slides. VSLIDE - Permite ver slides, ou seja, ficheiros com a extenso SLD. A visualizao de slides no interfere com o desenho actual e um simples REDRAW retira o slide. Podemos especificar a localizao completa dos slides, mesmo com espaos, desde que a sua localizao e nome fiquem entre aspas. Exemplo: VSLIDE c:/optim acad/slide1. Em apresentaes de slides, com um ficheiro de macros SCR, se o slide tiver muita informao necessrio algum tempo para este ser carregado e mostrado. Assim, enquanto visualizamos o slide anterior, o AutoCAD procede entrada do seguinte, desde que coloquemos um asterisco antes do seu nome. 3. Macro iniciada com o arranque do AutoCAD Imaginemos que queremos que, ao entrar no AutoCAD, sejam efectuadas diversas operaes, como a atribuio de determinados valores a variveis. Ao atalho de arranque do AutoCAD, podemos associar um ficheiro de macro, fazendo com que este seja executado, mal se inicie o AutoCAD. Marcando a tecla direita sobre o cone de atalho, escolhemos
Figura 2 - Arranque do AutoCAD

Properties/Propriedades. Na linha Target acrescentamos /b, espao e o nome da macro (ficheiro SCR) a desencadear. Se for necessrio incluir o nome completo do ficheiro (incluindo pasta) e havendo espaos, o nome tem de ficar entre aspas. A figura 2 inclui um exemplo. Exemplo 2 - Script de arranque Criamos um ficheiro com o Notepad e damos o nome Iniciar.scr (no se esquea da extenso SCR). Digitamos as seguintes instrues: ; Unidade para insero de contedos em metros INSUNITS 6 ; ngulo do Polar a 15. POLARANG 15 ; Osnaps automticos Endpoint, Midpoint, Center, Node, ; Quadrant, Intersection e Extension OSMODE 4159 ; Retirar a grelha GRID OFF ; Desligar o Dynamic Input DYNMODE -3 ; Caixa das layers em vez da paleta LAYERDLGMODE 0 ; Escolher o workspace AutoCAD Classic (sem aspas) WSCURRENT AutoCAD Classic ; Visualizar o desenho ZOOM EXTENTS No Desktop, copiamos o cone do AutoCAD e damos um nome diferente. Com a tecla direita sobre o cone, marcamos Properties. Na linha Target, diante de ...acad.exe acrescentamos espao, /b, espao e o caminho para o ficheiro SCR (conforme mostrado na figura 2). E s testar. Verifique que todas as instrues do script so processadas na linha de comandos, o que permite facilmente detectar erros. Nota 1: Esta macro poder ser til tambm para aplicar a desenhos abertos. Neste caso, aplica-se com o comando SCRIPT. Nota 2: No arranque, se tiver um workspace com o ribbon e no usar a instruo WSCURRENT, o ribbon no colocado (bug). 4. Alteraes de todos os desenhos em pasta Para correr uma macro em todos os desenhos de uma pasta, recorremos ao velhinho MS-DOS, atravs da criao de um ficheiro BAT. Alguns de vocs so ainda capazes de se lembrar do MS-DOS e de como era muito fcil, naqueles tempos, controlar o sistema operativo. No desprezando as enormes vantagens dos sistemas operativos actuais, por vezes, torna-se necessrio recorrer a expedientes MS-DOS para resolver problemas. O ambiente MS-DOS est disponvel atravs da instruo CMD que se digita atravs da caixa Start/Run (Iniciar/Executar). Esta caixa tambm aparece se digitarmos < + R>. Um ficheiro BAT um ficheiro criado no Notepad ou em outro editor de texto, gravado com a extenso BAT (tipo All Files/Todos os Documentos) e onde colocamos sequncias de instrues MS-DOS. Digitando HELP, vemos uma lista de todas as instrues. Digitando HELP nome_instruo, dada ajuda sobre essa instruo (figura 3). Atravs das instrues MS-DOS temos a possibilidade de correr um ficheiro BAT que possa, para cada desenho de uma ou mais pastas, executar o AutoCAD, abrir cada um dos desenhos, executar um ficheiro

www.tecad.pt

Magazine Digital eUAU! - Setembro 2010

Truques e Dicas
de script, gravar o desenho e sair. A instruo vai ser algo do tipo: FOR %%f IN (pasta\*.dwg) DO START /WAIT c:\Program Files\AutoCAD 2011\acad.exe %%f /b fich_script A instruo FOR ... IN ... DO permite executar uma instruo para cada um dos ficheiros mencionados a seguir. O smbolo % define uma varivel, mas no caso de processamentos BAT deve-se colocar %%, seguindo-se uma letra, neste caso f. A instruo START (lembramse do ACAD.PGP?) abre uma nova janela para correr a aplicao especificada a seguir, neste caso, o executvel do AutoCAD. O parmetro /WAIT de START espera que a aplicao termine para continuar o ficheiro BAT. Assim, basicamente, esta instruo vai abrir no AutoCAD cada um dos desenhos (ficheiros DWG) contido em pasta e corre o ficheiro script fich_script. Nota: No se pode especificar o caminho completo do executvel entre aspas (por forma a incluir os espaos), do tipo: c:\Program Files\Autodesk\AutoCAD 2011\acad.exe Assim, o ficheiro SCRIPT no executado. Para que isso acontea, as aspas tm de ser colocadas apenas nas pastas: c:\Program Files\Autodesk\AutoCAD 2011\acad.exe Exemplo 3 - Renomeao de layers em mltiplos desenhos Imaginemos que temos 2000 desenhos em que temos de renomear 10 layers, conforme a tabela seguinte (de acordo com a NP EN ISO 13567). Nome antigo COTAS TRAMAS PAREDES PORTAS JANELAS ESCAD MOB EQUIP LEG TEXTO Nome novo Z-0-----D-----------COTAS A-0-----H-----------HATCH A-200---E-----------PAREDES A-364---S-----------PORTAS A-365---E-----------JANELAS A-240---E-----------ESCADAS E-740---S-----------MOBILIARIO A-700---E-----------EQUIPAMENTOS Z-0-----C-----------LEGENDAS Z-0-----T-----------TEXTOS

Figura 3 - Help do MS-DOS

rename layer cotas Z-0-----D-----------COTAS rename layer tramas A-0-----H-----------HATCH rename layer paredes A-200---E-----------PAREDES rename layer portas A-364---S-----------PORTAS rename layer janelas A-365---E-----------JANELAS rename layer escad A-240---E-----------ESCADAS rename layer mob E-740---S-----------MOBILIARIO rename layer equip A-700---E-----------EQUIPAMENTOS rename layer leg Z-0-----C-----------LEGENDAS rename layer texto Z-0-----T-----------TEXTOS qsave quit No se esquea de dar um <Enter> no final de cada linha. 3. Testamos a macro num desenho a transformar e verificamos a sua correco. 4. Ainda com o Notepad, criamos o ficheiro RENOMEIA.BAT, por exemplo na mesma pasta, apenas com as seguintes duas instrues (digitamos as duas primeiras linhas numa nica linha do Notepad): for %%f in (c:\testes-scr\*.dwg) do start /wait c:\Program Files\ Autodesk\AutoCAD 2011\acad.exe %%f /b c:\testes-scr\ren_layers echo Trabalho Feito! Substitumos a verso AutoCAD pela que utiliza e corrigimos o caminho para o ficheiro executvel 5. Depois, basta apenas fazer duplo clique em cima do ficheiro BAT para este ser executado. Se o quisermos editar, atravs da tecla direita marcamos Edit. Concluso Espero ter demonstrado o enorme potencial dos ficheiros script e de como uma sua aplicao permite poupar horas ou dias de trabalho.

1. Efectuamos uma cpia dos desenhos para uma pasta de processamento. Atravs do script, h a possibilidade de colocar o carregamento de uma rotina Lisp que permita alterar o nome dos desenhos, mas mais simples fazer uma cpia prvia dos desenhos. Neste exemplo, usa-se a pasta Testes-SCR no disco C: 2. Com o Notepad, criamos o ficheiro REN_LAYERS.SCR na mesma pasta onde esto os desenhos e com as seguintes instrues:

de Joo Santos (Autor e Formador CAD)

[+] Qualidade [+] Flexibilidade [+] Inovao

www.qualicad.com

Tel: 213 427 612 info@qualicad.com

PUBLICIDADE

Magazine Digital eUAU! - Setembro 2010

www.tecad.pt