DOTNET, AutoCAD e blocos

É, as imagens do blog sumiram... mas não adianta ficar choramingando... pede pra sair!!!! pede pra sair sr 01!!!!

Hoje vou mudar um pouco e postar um código pra substituir blocos de diversos desenhos.

O caso é o seguinte: nosso contratante sismou que queria um bloco do carimbo diferente com layers diferentes, etc.

Temos trocentos arquivos DWG, com trocentos layouts cada. Imagina o trabalhão de substituir cada bloco de cada desenho....

Sim, você deve (deveria!!!) ter usado XREF, mas por algum motivo, não o fez. Terá de fazer não mão!!!

Serviço, não?

Bom, existem muitas formas de fazer isso, e como sou programador (ou não!!!), claro que escrevi algumas linhas pra me resolver isso

O programa resultou nisto:


No primeiro campo informamos o nome do bloco antigo.

No segundo campo, informamos um dwg que contem um bloco com o mesmo nome, porem editado.

Fiz assim, porque este bloco possui atributos dinâmicos.

Depois, no terceiro campo você escolhe a pasta onde estão os trocentos arquivos a modificar.

O último campo tem o nome do atributo dinâmico de "Visibility State". Se não tiver isso, deixe em branco.

Bem simples, né?

Aí é só mandar rodar e esperar.....
Um fiz aqui com 125 arquivos de 1.2MB cada e levou uns 5 minutos!!! Isso porque usei o RAMDISK e porque a técnica que usei para abrir o desenho, não precisa fazer nenhum "Regen", que é o que realmente demora no autocad.

Bom, o programa em sí é funcional, e nele voce poderá ver como abrir um dwg, editar e salvar

Compilei para o cad 2012, a DLL está na pasta ./bin/debug

use NETLOAD para carregar e TROCABLOCOS para usar

o código fonte está disponível. Usei o VS 2010

Se você gostar, posta um comentário aí!!!


O código fonte e o executável estão aqui

LinkWithin

Related Posts Plugin for WordPress, Blogger...