Bem vindo ao site pauloferreira.pt. Esta página e todos os seus conteúdos são propriedade de Paulo Ferreira. Encontrará temas relacionados com a sua actividade profissional, nomeadamente a informática, o AutoCAD, o Revit, o Civil 3D ou o 3ds max, a fotografia e o timelapse.

Criação de Menus no AutoCAD

Escrito por Paulo Ferreira. Publicado em AutoCAD

Porque nos ultimos tempos tenho estado envolvido em implementação de novas formas de trabalhar e que rentabilizem ao máximo o trabalho em AutoCAD, decidi publicar este artigo que retrata uma das valências do software "AutoCAD" ou seja, o facto de ele permitir o desenvolvimento de aplicações que são incorporadas nele próprio. Não são muitos os programas que permitem esta interação entre um dado utilizador "avançado" e o software.
Normalmente a criação de um simples "Menu" de AutoCAD, dispensa grandes conhecimentos em programação, bastando apenas que saibamos quais os recursos básicos para a edição e criação dos arquivos de "Menus".
O primeiro passo a dar neste processo de criação de um "Menu" passa por entender a estrutura dos arquivos de menus para AutoCAD, normalmente identificados pela terminologia (*.mnu).
Vamos então desenvolver um "Menu" que seja "carregado" pelo AutoCAD e que permita a inserção de blocos de uma forma expedita, em qualquer desenho.
A caixa de diálogo de um "Menu" pode apresentar até 20 itens (miniaturas ou "slides" que retratam o bloco), contudo pode conter mais itens, se optarmos por incorporar várias páginas. Muito embora o "Menu" possa ser usado para esta funcionalidade, ele pode ser utilizado em formas mais avançadas se lhe incorporarmos "macros" ou expressões "diesel" ou mesmo código "lisp".

Vou retratar de seguida, a forma de criação de um "Menu" que apresenta miniaturas e com o qual é possível inserir os blocos directamente num desenho.
Primeiro é necessário que tenhamos todos os blocos do "Menu" numa dada pasta e criar um "Slide" para cada item que deseja adicionar ao menu. Os slides são criados através do comando "MSLIDE" do AutoCAD. Abra o desenho e execute o comando. É conveniente que se faça um "zoom extents" para enquadrar o bloco na área gráfica do AutoCAD. Na listagem seguinte apresento alguns exemplos ou seja, há sempre um ficheiro do tipo (*.dwg) e junto dele surge o respectivo (*.sld). Convém que os nomes sejam iguais para mais fácil identificação. Para isso é necessário definir muito bem a numenclatura de ficheiros que iremos dar a uma determinada biblioteca, até porque podemos ter várias num mesmo "Menu".
CRUZETA.dwg
CRUZETA.sld
TUBAGEM.dwg
TUBAGEM.sld

Uma vez terminada a criação de "Slides", vamos criar o "Menu". Opta-se então por um "Menu" do tipo "POP" para chamada do menu de imagens na área gráfica do AutoCAD.
A forma mais fácil de criação de um "Menu" é iniciar o Bloco de Notas do Windows e copiar as instruções que apresento. Trata-se apenas de uma sugestão e deverá optar por fazer alterações que se adequem à sua biblioteca.
Comece por gravar a partir do Bloco de Notas um ficheiro numa determinada pasta e que se chame por exemplo "PAULOF-2DFFD.mnu".
O texto que está a itálico e dentro de parêntesis não pode ser copiado para o seu ficheiro (.*mnu) pois trata-se apenas de uma explicação da funcionalidade.

//      AutoCAD .MNU - Metric
//      (c)2015 PAULO FERREIRA [www.pauloferreira.pt], All Rights Reserved
//
***MENUGROUP=PAULOF-2DFFD
***POP21
**pop1
[PAULOF-2DFFD]
    [->Acessórios]
                  [<-Ferro Fundido Dúctil]$I=PAULOF-2DFFD.FFDDI $I=*
         [->Tubagens]
               [<-Ferro Fundido Dúctil]$I=PAULOF-2DFFD.FFDTUB $I=*                    
***TOOLBARS
***IMAGE
**FFDDI
[Acessórios Ferro Fundido Dúctil]
[CRUZETA,Cruzetas]^C^C;insunits;6;-insert;*CRUZETA.dwg;scale;1;
**FFDTUB
[Tubagens Ferro Fundido Dúctil]
[TUBAGEM,Tubagens]^C^Cinsunits;6;-insert;*TUBAGEM.dwg;scale;1;

(Entre parêntesis rectos está pela ordem seguinte; o nome do slide referente ao bloco, após a virgula a descrição que surge na caixa. Depois dos parêntesis rectos, a opção ^C^C faz o cancelamento de algum comando que estiver em andamento. "insunits;6" designa quais as unidades do desenho e de seguida a opção -insert chama o comando "Insert" do AutoCAD e insere no desenho o bloco do tipo *.dwg. O asterisco antes faz com que o bloco seja "explodido" quando inserido. Poderá ser util ou não se por exemplo estivermos a inserir blocos dinâmicos. Por fim "scale;1" refere-se à escala de inserção do bloco que pode ser mudada neste parâmetro.)

//
//      End of PAULOF-2DFFD .MNU
//

Após criar o menu deverá carrega-lo para que surja no AutoCAD, sendo apresentada uma janela como a figura em cima e então será possível inserir os blocos a partir deste menu.
Nota: O carregamento de um "Menu" pode ser feito através do comando "MENULOAD" (Legacy menu files) ou de um script que automatiza o processo, ou seja, cria de imediato o directorio de onde o AutoCAD deverá ir buscar os ficheiros, para evitar que estes sejam colocados na pasta por defeito "Support", bem como carrega o menu de forma correcta para a área "MENUBAR" que deverá estar definida para o valor 1. Por exemplo:

(setenv "ACAD" (strcat (getenv "ACAD") ";c:\\2DFFD"))
filedia
0
menuload
"PAULOF-2DFFD.mnu"
(menucmd "P21=+PAULOF-2DFFD.pop1")
filedia
1
MENUBAR
1