Pular para o conteúdo principal

Porque programar em dotNET no AutoCAD ?

Uma das perguntas mais comuns é porque programa em AutoCAD a final de contas o AutoCAD é uma plataforma fechada e já possui muitos recursos embarcados nos sofware além módulos adicionais como CAD Electrical e Invertor Fusion.

Acho que para responder isso basta contar um pocuo da minhas história com o AutoCAD e porque isso de utilizar o CAD como plataforma é mais do que necessário.

Meu primeiro contato com o CAD foi no curso técnico, na época se utilizar o AutoCAD R14, a primeira versão que tinha suporte ao uso do mouse, algo realmente inovador para época. Lembro-me bem do primeiros traços feitos no CAD com muito orgulho.

Muito tempo depois, foi trabalhar na ENELTEC no desenvolvimento do Monoti (um equipamento de eletrônica de potência) e comecei a utilizar o AutoCAD  3D para desenvolvimento de peças do gabinete de montagem do equipamento. Como era um equipamento para poste tinha que se tomar algumas precauções no desenvolver do equipamento.

Em 2009 iniciei o desenvolvimento na ENELTEC de um sistema de iluminação com LED onde surgiu a primeira necessidade real de fazer um código para desenhar o as curvas de iluminação do LED em uma rua para uma apresentação. Eu já fazia-os gráficos das curvas de isolux no Scilab mas era necessário sobrepor varais em uma rua desenhada e com prédios, verificar a refletância da superfície etc. Então tive a idéia de começar a fazer isso em CAD, ou melhor eu pegava os valores do Scilab e plotava em várias posições no scilab através de uma função escrita em LISP.

No inicio de 2010  me deparai com o primeiro grande projeto de software da ENLETEC. Tratava-se de um software para para um projeto de P&D (pesquisa e desenvolvimento) que iria executar estudos de transitório eletromagnético para estudos de proteção. A primeira vista parece ser algo completamente desconectado com o CAD, isso foi o que eu não pensei...

Na verdade durante o tempo que eu estive na ENELTEC me envolvi com outras atividades, entre elas o estudos de fluxo de potência, modelagem de equipamentos de potência e estudos de curto circuito. Nas três atividades eu tinha a triste realidade de ter que desenhar o sistema no programa para fazer o serviço (ATP, PTW etc...) e depois tinha que desenhar o CAD para entregar ao cliente junto com o relatório, ou seja, um retrabalho sem precedentes.

Dessa forma a primeira coisa que me veio a mente foi exatamente unir o AutoCAD com a ferramenta de fluxo de potência e foi isso que eu fiz. Desenvolvi ao longo de 2 anos um software de fluxo de potência baseado em AutoCAD para treinamento de operadores e mantenedores, chamado de SIMOP - Simulador de Operação e Controle para Sistemas de Potência.

No inicio eu comecei tentenado em LISP foi quando eu percebi que o LISP era realmente muito limitado e existiam maneiras mais elaboradas de desenvolver o que eu desejava, até porque o pouco suporte a formulários e mensagens limitava a técnica como também a necessidade de uma ferramenta de depuração era necessária a final o programa deveria se conectar ao AutoCAD e ser utilizado por um "leigo" em CAD vamos colocar assim.

Então, vendo a segunda opção disponível era utilizar o VBA - Visual Basic for Applications. Assim como o pacote Office da Microsoft o AutoCAD também dava suporte ao VBA  e como eu utilizava o AutoCAD 2008 isso era o que me permitia, o único problema era que o cliente utilizava o AutoCAD 2010 foi quando pela minha surpresa o VBA ia ser descontinuado para ser modificado para a nova tecnologia da Microsoft, o .NET Framework.

O software SIMOP foi desenvolvido em .NET Framework e hoje já é uma ferramenta bem lapidada que demorou 3 anos para ser desenvolvida. Meu objetivo com o blog é mostrar como o AutoCAD pode ser modificado a ponto torna-lo parte mais útil do seu trabalho otimizando processos específicos assim como integra-lo com o Word e o Excel.


Comentários

Postagens mais visitadas deste blog

Numeração Automática no AutoCAD

Sem dúvida esse é uma ferramenta única que fazia falta a tempos e foi introduzida recentemente no AutoCAD, na última década… Em 2013 tinha feito um programa para criar uma bolinhas de numeração automática usando o conceito de Leader eu fazia um controle dos números dos itens na mão mesmo, depois de um tempo resolvi fazer um menuzinho para controlar o conteúdo do número dos bullets, hoje isso não é mais necessário, existe um comando no próprio AutoCAD para isso e faz parte das Ferramentas Expressas do AutoCAD. Gosto de compartilhar ferramentas e dicas que tendem a ser menos conhecidas ou subutilizadas, mas ainda podem fornecer um impulso para sua produtividade e fluxo de trabalho e que eu mesmo me surpreendi quando as encontrei Hoje, quero apresentar outra ferramenta, a numeração automática. Como o nome indica, o comando Numeração automática permite que você adicione automaticamente um número às etiquetas ou texto em um desenho. Vou mostrar como a numeração automática pode ser usada par...

Alterar a cor de fundo do AutoCAD

Eu sou um adepto do fundo preto, tudo que eu posso mudo a cor do fundo para preto. Nas ultimas versões do AutoCAD tenho notado que não é mais o padrão o fundo preto absoluto, é um cinza escuro. As vezes gosto também de mudar a cor do Layout de branco para preto afinal de contas quando trabalhamos com penas e contraste no model space preto, ver um desenho no layout é impossível.  Você pode mudar sua cor de fundo do AutoCAD para a cor que quiser. Definindo cores personalizadas Primeiro, vá para o menu Opções (botão Aplicativo> Opções), selecione a guia Exibição e clique no botão Cores. Agora você deve ver a caixa de diálogo Cores da janela de desenho: Agora você pode atualizar as cores de qualquer elemento da interface. Isso incluí o plano de fundo em qualquer contexto (selecione Model e Layout). Você pode escolher qualquer uma das predefinições, ou você pode escolher a partir de todo o espectro (basta escolher a opção Selecionar Cor ...). Se você não gost...

Unindo blocos em AutoCAD utilizando .NET

Hoje me deparai com uma necessidade de unir blocos com propriedades então resolvi fazer um comando para realizar esses procedimento. A principio esse procedimento não é tão complexo de ser executado individualmente mas por outro lado gostaria também de analisar um pouco melhor as possibilidades de se manipular blocos utilizando o AutoCAD. Abaixo o código que utilizei: using Autodesk.AutoCAD.ApplicationServices ; using Autodesk.AutoCAD.DatabaseServices ; using Autodesk.AutoCAD.EditorInput ; using Autodesk.AutoCAD.Runtime ; using System.Linq ; // This line is not mandatory, but improves loading performances [assembly: CommandClass(typeof(Merging_AutoCAD_blocks.Comandos))] namespace Merging_AutoCAD_blocks { public class Comandos { /// <summary> /// Uni dois ou mais blocos em um unico bloco. /// </summary> [CommandMethod("MERGBLKS")] public static void UnindoBlocos () {...