A criação de um menu de imagens, dispensa conhecimentos em programação, bastando apenas conhecer os recursos básicos para a edição dos arquivos de menus.
Antes de qualquer coisa, é indispensável entender a estrutura dos arquivos de menus para AutoCAD (*.mns), se ainda não sabe como funciona a estrutura de menus do AutoCAD, veja um outro tutorial para criação de menu que temos, o qual que explica os conceitos básicos.
Após saber como funciona um arquivo de menu, vejamos a parte referente ao menu de imagens.
Um menu de imagens, apresenta uma caixa de dialogo, com até 20 itens (slides), porém, pode conter mais itens, pois é possível ter várias páginas.
Embora seja muito utilizado para criação de bibliotecas de blocos, ele tem também outras utilidades. Considerando que é possível associar uma imagem a qualquer comando do AutoCAD,
comandos Autolisp, ou ainda macro-comandos, tem-se uma idéia das diversas possibilidades de utilização de um menu de imagens.
Será explicado a seguir, um menu de imagens para utilização em uma biblioteca, com o qual será possível inserir os blocos.
Primeiro é necessário que tenha todos os blocos do menu, então crie um slide para cada item que deseja adicionar ao menu. Os slides são criados através do comando MSLIDE do AutoCAD. No nosso menu proposto aqui, será preciso que crie os seguintes arquivos, sendo o dwg e respectivo sld.
vaso.dwg
vaso.sld
chuveiro.dwg
chuveiro.sld
lavat.dwg
lavat.sld
cadeira1.dwg
cadeira1.sld
cadeira2.dwg
cadeira2.sld
cadeira3.dwg
cadeira3.sld
chuveiro.dwg
chuveiro.sld
lavat.dwg
lavat.sld
cadeira1.dwg
cadeira1.sld
cadeira2.dwg
cadeira2.sld
cadeira3.dwg
cadeira3.sld
Para Criar um arquivo sld (slide), utilize o comando MSLIDE do AutoCAD, basta que abra o arquivo Dwg e ajuste na tela todo o desenho utilizando o comando zoom, então acione o comando MSLIDE e especifique o nome do mesmo.
Depois de Criados todos os slides e blocos, vamos criar o menu. Faremos primeiro um menu POP para chamada do menu de imagens.
Então para começar, inicie o bloco de notas do windows e digite as instruções informadas. Se atente que os textos destacados assim NÃO precisam ser digitados, pois são apenas explicações do menu para que entenda o que está fazendo, digite apenas os demais textos.
Salve o arquivo como MenuBib.mns em qualquer pasta que preferir, recomendável que crie uma para tal.
//Inicio do menu
***MENUGROUP=MENUBIBLIO
A linha acima simplesmente seta o nome do menu.
Aqui embaixo começa o menu suspenso, através do qual chamaremos o menu de imagens
[Banho]$I=MENUBIBLIO.image_banho $I=MENUBIBLIO.*
***POP1
[Bibliotecas]
[Moveis]$I=MENUBIBLIO.image_moveis $I=MENUBIBLIO.*
Este acima irá criar um menu suspenso, com duas opções, ao clicar na escolhida será chamado o respectivo menu de imagens.
Coloque após a opção do menu que vem entre colchetes, a seguinte instrução $I=NOMEMENU.nome_menu_img $I=NOMEMENU.* onde NOMEMENU é o nome do menu especificado em Menugroup e nome_menu_img é o nome dado ao menu de imagens explicado logo a seguir.
Aqui começa a parte do menu, referente a imagens. Iniciando pelo menu de imagens de blocos, referente a banho.
***IMAGE
**image_banho
[Banho]
A linha acima é o titulo que será apresentado na caixa de dialogo com as imagens.
[vaso,Vaso Sanitário]^C^C.insert vaso;
Este acima é o primeiro item desta biblioteca e logo abaixo os demais que seguem o mesmo esquema.
[chuveiro,Chuveiro]^C^C.insert chuveiro;
[lavat,Lavatório]^C^C.insert lavat;
Poderão ser adicionados quantos itens desejar. A sintaxe é: [slide,Descrição] comando. Onde: slide é o nome do slide do bloco, Descrição é o nome que irá aparecer no menu lateral e por fim, comando é o comando a ser executado quando clicar este item, no caso, pode ser tanto um comando do AutoCAD como um macro, ou um comando AutoLisp.
Explicando o primeiro Item do menu.
[vaso,Vaso Sanitário]^C^C.insert vaso;
Entre colchetes está o nome do slide referente ao bloco, e após a virgula a descrição do referido. Após os colchetes, a opção ^C^C faz o cancelamento de algum comando que estiver em andamento, e em seguida, a opção .Insert chama o comando Insert do AutoCAD, logo em seguida passa como parâmetro para o comando insert, o nome vaso, que é o nome do arquivo .Dwg a ser inserido.
Este abaixo é o menu de imagens de blocos referente a moveis.
**image_moveis
[Moveis]
[cadeira1,Cadeira 01]^C^C-insert cadeira1;
[cadeira2,Cadeira 02]^C^C-insert cadeira2;
[cadeira3,Cadeira 03]^C^C-insert cadeira3;
Este menu de moveis dispensa comentários, visto que segue o mesmo esquema do menu anterior.
Nota importante: Caso esteja utilizando o AutoCAD 14, é provável que ocorra um erro ao seguir as instruções, fazendo com que o bloco não seja inserido corretamente, neste caso basta trocar a instrução -INSERT por .INSERT
//Fim do menu
Após criar o menu de imagens e acionar o item, será apresentada uma janela como esta abaixo, e então será possível inserir os blocos a partir deste menu.

Algumas notas e instruções importantes:
- Neste caso, do menu de bibliotecas, é indispensável que os arquivos dwg e sld estejam dentro de uma pasta se suporte do AutoCAD.
- É possível também, a utilização dos slides de uma biblioteca (slb), para isto utilize a seguinte sintaxe: [libslides(slide, descreve)] onde libslides é o nome do arquivo Slb que contem os sld, slide é o nome do slide que está nesta biblioteca, descreve é o nome da descrição do item em questão.
- Para carregar o menu, veja o tutorial sobre a criação de menus.
- Caso esteja utilizando o AutoCAD 2000 ou superior, use instrução -INSERT (sinal negativo precedendo insert), se for o AutoCAD 14, use apenas .INSERT (ponto precedendo insert).
- Sempre que desejar inserir alguma anotação dentro do arquivo de menu (mns), basta preceder cada linha de barras duplas, assim: //isto é um comentário simples
- Os conceitos abordados neste tutorial podem ser aplicados em qualquer em versões do AutoCAD desde as mais antigas como 14 e 2000 até as mais recentes a exemplo do AutoCAD 2010 e 2011, observando que em versões mais recentes deve se ter menus suspensos ativados.
Obs.:Tutorial criado em Maio/2002. Revisado pela ultima vez em Fevereiro/2011 quando passou a fazer parte deste blog.
Alguns artigos relacionados:
- Criação de menu suspenso no AutoCAD – Tutorial »
- Criação de barras de ferramentas no AutoCAD – Tutorial »
- AutoCAD – customização para ganhar produtividade »
- Ajustar espelhamento de blocos no AutoCAD »
- Criar Linetype complexa no AutoCAD – Tutorial »
Fredy, estou começando a utilizar o CAD faz pouco tempo e ainda estou à me familiarizar com o mesmo. Aqui na empresa usamos o AutoCAD 3D 2007 e assim que entrei na empresa notei que a forma de reutilização dos blocos estava muito lenta e acaba atrasando o serviço ( todos os desenhos bases e blocos estão em um servidor remoto….agora imagine 1000 pessoas acessando esses arquivos simutaneamente, lentidão no servidor).
Como sou formado em Computação, sempre tento achar soluções pra essas coisas e pesquisando vi que uma forma d melhorar (ou ao menos tentar melhorar) o desempenho foi utilizando macros (sei um pouco de VBA já ajuda) e depois vi esse uso de menu custimizado pra imagens…fui seguindo seu tutorial, fiz a parte de criação de menus, tudo beleza até ai, só que quando fui iniciar a parte de imagens ele não executa nada…o CAD reconhece o menu como CUI, ele vai pra os menus parciais mas não aparece na aba de Menus…se puder ajudar eu agradeço.
o menu de teste que estou fazendo segue abaixo:
***MENUGROUP=MENUBIBLIO
***POP1 [Bibliotecas]
[Teste]$I=MENUBIBLIO.image_teste $I=MENUBIBLIO.*
***IMAGE
**image_teste[Teste]
[Drawing1,Conexão 01]C-insert Drawing1;
[Drawing2,Conexão 02]C-insert Drawing2;
[Drawing3,Conexão 03]C-insert Drawing3;
Danilo, salve o arquivo com extensão .mns e carregue-o usando o comando MENULOAD, após carregado o menu com o mesmo comando você deve adicionar o item ao menu suspenso. Dê uma conferida neste outro artigo sobre menus clicando aqui que lá para a metade dele explica como carregar e adicionar o menu suspenso. Algumas versões do AutoCAD criam este arquivo cui ou cuix, mas não preocupe com isto, pode trabalhar o mns e carregar apenas ele mesmo.
Não entendi o que você disse, a respeito de ir para menus parciais, caso a sugestão acima não resolver o seu problema volte a interagir esclarecendo que menus parciais são estes…
Boa sorte.
Fredy, quando falei em parciais quis dizer que o menu estava carregado no tools>Workspaces>Custumize>Partials CUI files porém não estava aparecendo nos menus suspensos. Mas essa parte já resolvi, o problema agora está na inserção no bloco, o menu suspenso aparece, a janela com os slides aparece (com as imagens referentes a cada bloco), porém quando eu mando inserir o bloco ele abra a janela de inserção normal e eu tenho q escolher o bloco na mão grande.
***MENUGROUP=MENUBIBLIO
***POP1
[Bibliotecas]
[Teste]$I=MENUBIBLIO.image_conexao $I=MENUBIBLIO.*
***IMAGE
**image_conexao
[Conexão]
[Drawing1,Conexão1]^C^C-insert Drawing1;
[Drawing2,Conexão2]^C^C-insert Drawing2;
quando eu abro ele pelo workspaces>costumize as propriedades de cada imagem está com as seguintes configurações: caminho ACAD>Partial CUI files>MENUBIBLIO>Legacy>Image Tile Menus>Conexão>Conexão1
*General
-Name: Conexão1
-Description: – - -
*Macro
-Macro:^C^C-insert Drawing1;
*Advanced
-Element ID:MMU_0004(não posso mudar)
*Slide
-Slide library: – - -
-Slide label: Drawing1
lí em outro site que era bom por os blocos em uma biblioteca de blocos, só que estou fazendo isso no computador da empresa e não tenho acesso ao prompt do DOS e a forma que ele ensinou a criar a library tinha passos que deviam ser executados no prompt.
agradeço a ajuda desde já!
Danilo, ao invés de usar a instrução
^C^C-insertuse^C^C.insert(troque – por .)Quanto a localização dos blocos, você pode coloca-los em qualquer pasta, desde que seja uma pasta de suporte do AutoCAD para que os blocos sejam encontrados. Evite também nomes de blocos repetidos em caso de ter bibliotecas em mais de uma pasta. Para adicionar qualquer pasta/diretório como sendo de suporte, se não souber como se faz, dê uma conferida na resposta que passei ao Renan logo abaixo nesta página.
Fredy, os blocos estão em uma pasta no meu diretório e eu a adicionei como pasta de suporte (já havia lido sua resposta ao Renan) memso assim continua a abrir a janela de inserção de bloco convencional (onde eu tenho que escolher qual bloco quero adicionar). Estranho é que em alguns momentos os blocos que eu criei aparecem para ser selecionados e em outros não. Houve uma vez que a inserção ocorreu normalmente (escolhi o bloco no menu, dei os parametros e o bloco foi inserido) só que ao tentar adicionar outro bloco ao menu voltou a acontecer os mesmos problemas (janela de inserção de blocos convencional)
segue novo código:
***MENUGROUP=MENUBIBLIO
***POP1
[Bibliotecas]
[Teste]$I=MENUBIBLIO.image_conexao $I=MENUBIBLIO.*
***IMAGE
**image_conexao
[Conexão]
[connect,Conexão1]^c^c.insert connect;
e o erro que o ACAD mostra ao tentar inserir o bloco,parece reconhecer o nome do bloco como comando:
Command: .insert
Command: connect
Unknown command “CONNECT”. Press F1 for help.
Danilo, não me atentei que mencionou AutoCAD 2007. Neste caso o que deve funcionar é o
-insertmesmo, substitua o.insertentão.Faça esta mudança, descarregue os menus, apague menus .cui, .mnr e mnc eventualmente encontrados na mesma pasta e nome do seu menu. Reinicie o AutoCAD e carregue os menus novamente. Se não funcionar, realmente não sei te dizer o motivo, teria que examinar direto no computador, o que não temos como fazer…
Se não conseguir com as dicas acima, uma alternativa é colocar uma instrução em autolisp. Dentro do seu código, colocaria algo como:
[Conexão][connect,Conexão1]^c^c(command ".insert" "connect" pause "1" "1" pause)
Coloque exatamente assim, incluindo aspas e parenteses. Os blocos serão inseridos com escala 1, se desejar altere o “1″ para o valor que quiser ou coloque
pauseno lugar. Note que o ponto e virgula no final é dispensável.Pra economizar digitação no arquivo de menu, pode também criar uma rotina lisp separada e então colocar no menu algo do tipo
(insereBloco "nome-do-bloco")ao invés da longa instrução(command ".insert"……….Fredy, com a rotina em autolisp funcionou perfeitamente! vou refazer o menu,alimentar ele com um outro código de geração de texto e vejo como está funcionando, qualquer coisa volto a apresentar os erros…
obrigado!
Até essa parte do Tutorial eu conseguir colocar:
//Inicio do menu
***MENUGROUP=MENUBIBLIO
A linha acima simplesmente seta o nome do menu.
Aqui embaixo começa o menu suspenso, através do qual chamaremos o menu de imagens
***POP1
[Bibliotecas]
[Banho]$I=MENUBIBLIO.image_banho $I=MENUBIBLIO.*
[Moveis]$I=MENUBIBLIO.image_moveis $I=MENUBIBLIO.*
Só que ñ consegui mais fazer nada, ñ estou conseguindo colocar os blocos nas janelas que aparecem.
Alguem poderia me ajudar?
Ñ sei como fica a ordem no bloco de notas.
Vlw…
Jociel, apesar de não requerer conhecimentos em programação, é um trabalho e requer muita atenção para fazer. Fazer uma parte do tutorial não dá resultado mesmo, é preciso faze-lo todo, e corretamente, uma linha errada é o suficiente para que não aconteça nada ou apenas erros.
Não coloque campos de explicação do tutorial. Sugiro que leia atentamente todo o tutorial, inclusive as recomendações que ele passa, como por exemplo a necessidade de se conhecer a estrutura dos arquivos de menus (.mns). Ou seja, para fazer este menu de imagens é preciso conhecimentos prévios. A ordem o arquivo no bloco de notas é aquela que está apresentada no tutorial.
Leia atentamente e siga à risca que há de dar certo. Bor sorte.
Fredy, eu consegui colocar no Autocad o menu biblioteca e os submenus que são: banheiro, Mobilia, Veiculos, elétricos dentre outros. e o arquivo ficou assim como mostra abaixo:
***MENUGROUP=MENUBIBLIO
***POP1
[Bibliotecas]
[Banheiro]$I=MENUBIBLIO.image_banheiro $I=MENUBIBLIO.*
[Mobiliário]$I=MENUBIBLIO.image_mobiliário $I=MENUBIBLIO.*
[Cozinha]$I=MENUBIBLIO.image_cozinha $I=MENUBIBLIO.*
[pia cozinha,pia cozinha]^C^C-insert pia cozinha;
[Esquadrias]$I=MENUBIBLIO.image_esquadrias $I=MENUBIBLIO.*
[Pessoas]$I=MENUBIBLIO.image_pessoas $I=MENUBIBLIO.*
[Vegetação]$I=MENUBIBLIO.image_vegetação $I=MENUBIBLIO.*
[Veículos]$I=MENUBIBLIO.image_veículos $I=MENUBIBLIO.*
[Elétrica]$I=MENUBIBLIO.image_elétrica $I=MENUBIBLIO.*
[Serviço]$I=MENUBIBLIO.image_serviço $I=MENUBIBLIO.*
só que ñ consegui colocar os blocos como explica no tutorial:
**image_mobiliário
[Mobiliário]
[cama casal,cama casal]^C^C-insert cama casal;
aparece é outro menu com o nome Mobiliário, e seu submenu com o nome cama casal,cama casal.
Eu coloquei os blocos com seus slides no diretório como vc explicou ao Renan.
vc poderia me mandar como ficaria a organização do arquivo (.mns) no bloco de notas?
Obrigado.
Jociel, a principio não parece ser a organização do arquivo. Faça o seguinte: Com o AutoCAD fechado, apague arquivos auxiliares dos menus que tenham sido gerados na mesma pasta onde está o seu arquivo de menu.mns, tais como: menu.mnr, menu.mnc, menu.cuix… (usei o nome menu.mns apenas como exemplo, poderia ser arquivomenu.mns)
Depois, no seu arquivo menu.mns, em itens como
image_mobiliáriotroque paraimage_mobiliario(sem acento). Remova o acento dos itens comoimage_elétricae demais, e retire caracteres especiais, itens comoimage_serviçocoloqueimage_servicosem cedilha.Com exceção dos itens que aparecem entre colchetes como [Mobiliário] que não há problema – os quais aparecem na apresentação do menu, evite usar acentos e caracteres especiais.
Outra coisa, em nomes de blocos e slides, prefira usar algo como
cama_casaloucamacasalao invés decama casalcom espaço.Feito estas verificações, abra o AutoCAD para que o menu seja recarregado e confira o resultado…
Vlw Fredy, estou conseguindo, muito obrigado…
Após fazer os slides e também os dwg e carregar o menu, ele sempre mostra o memso erro: Can’t file in search patch, e mostra alguns caminhos dos diretórios. Eu tenho que colocar os arquivos em todas essas pastas que ele mostra? Eu coloquei em alguns e mesmo assim deu o erro…
Renan, a mensagem está dizendo que não encontrou em nenhum dos diretórios, mas basta que os arquivos estejam dentro de um diretório de suporte, não precisa (nem é recomendado) estar em todos eles.
Se quiser, você mesmo pode incluir o seu diretório de suporte da seguinte forma:
1. Digite o comando CONFIG
2. Clique na aba “Files”
3. Clique em “Suport File Search Path” e na sequencia no botão “Add…”
4. Digite o caminho completo onde está a sua biblioteca e encerre com “Apply” e “Ok”
Pode ser preciso reiniciar o AutoCAD para que faça efeito.
Boa sorte.