Uma das coisas mais difíceis em qualquer coisa é começar dar aquele primeiro passo que parece um abismo para qualquer um, inclusive para mim, a até entender com funciona mesmo foi complicado.
Contudo, a Autodesk já tem alguns "facilitadores" para nós meros mortis que desejamos mais do AutoCAD, todos eles você pode encontrar na página da Autodesk Developer Network. Para inciar a programação em .NET a primeira coisa que você tem que ter é a biblioteca chamada de ObjectARX que nada mais são do que os "conectores" do .NET do AutoCAD para sua aplicação, em outro post mais oportuno falarei mais deles.
O ObjectARX para programação em .NET está disponível, pasmem!, desde o R14 mas se você foi no site da Autodesk só tem os mais atuais, contudo eu recolhi num post de um fórum da Autodesk os link's de todas as versões. É importante que você utilize a versão do .NET adequada para sua versão, o AutoCAD 2010, por exemplo, utiliza o .NET Framework 3.0 e não vai conseguir carregar automaticamente aplicações desenvolvidas com o .NET Framework4.0. Mais ainda, existem três "descontinuidades" nas aplicações e variáveis do ObjectARX, a Autodesk modificou muito a forma com que se manipula as aplicações do R14 até o 2008, do 2009 até o 2012 e agora o 2013 também é diferente de modo que você para construir um software que seja compatível com o 2012 e 2013 vai ter que mexer no código para fazer isso, não bastará apenas reconfigurar o ObjectARX e a vesão do .NET porque a forma de interagir com o AutoCAD muda... o que é lamentável para qualquer desenvolvedor.
Segue ai as versões do .NET
R14 ftp://ftp.autodesk.com/pub/developer/sdk/obarxsdk. exe
2000 ftp://ftp.autodesk.com/ProdSupp/autocad2000/Object ARXSDK.exe
2000i ftp://ftp.autodesk.com/pub/objectarx/acad2000i/obj ectarx.exe
2002 ftp://ftp.autodesk.com/pub/objectarx/objectarx_200 2/K030.arx.plus.all.zip
2004 ftp://ftp.autodesk.com/WebPub/autocad/oarx/arx_sdk .exe
2005 ftp://ftp.autodesk.com/WebPub/Developer/autocad/Ar x_All2005.exe
2006 ftp://ftp.autodesk.com/WebPub/autocad/oarx2006/Arx _All.exe
2007: http://download.autodesk.com/esd/objectarx/2007/Ar x_All.exe
2008 x86: http://download.autodesk.com/esd/objectarx/2008/Ob jectARX_2008_32Bit.exe
2008 x64: http://download.autodesk.com/esd/objectarx/2008/Ob jectARX_2008_64Bit.exe
Uma vez instalada a biblioteca você deve instalar (ou já ter instalado) o Visual Studio. O Visual Studio hoje está na versão 2012 que eu particularmente considero a melhor versão, tem tudo que tem no 2010 mas é bem mais leve em especial para quem trabalha no Windows 7 (meu caso). O problema é que o Wizard de construção de programas só funcionado no Visual Studio 2010, por isso, use o VS 2010, se achar ruim como eu instale o VS 2012!
Se você não tem instalado faça o Download da versão Express que é gratuita para qualquer um, caso seja aluno da UFRJ como eu você pode baixar a versão Ultimate no site da MSDN. A diferença para quem esta começando é zero... quando os programas começam a ficar grandes ai surgem as necessidades que fazem a diferença, mas para tudo que eu pretendo mostrar aqui o Express é mais que suficiente.
Agora vamos a parte dificil da instalação: Instalar o Wizard da Autodesk. Se você tiver sorte, o que é dificil ele vai instalar corretamente. São dois pacotes que estão hoje disponíveis na Autodesk: um apra o 2010 -2012 e outo para o 2013 a diferença é aquilo que eu já tinha comentado mudou tudo do 2012 para o 2013 mas mesmo assim eu vou começar a fazer as aplicações para o 2012. Depois explico como muda para o 2013.
o Link para Download do ObjectARX Wixard 2010-2012: http://images.autodesk.com/adsk/files/objectarx_2012_wizards.zip
O Exemplo de aplicação
Agora vamos fazer a nossa primeira aplicação para AutoCAD em .NET, vamos fazer uma coisa simples: aparecer uma mensagem de "Olá Mundo", como "Olá Mundo" e uma coisa tão clichê vamos usar uma mensagem mais parecida comigo: "Pisei num coco na rua..."
1. Abra o VS2010 e inicie um novo projeto
Ao iniciar esse novo projeto atenha-se a alguns detalhes, o primeiro é que existe um template da Autodesk na lista de templates de cada linguagem (C#,VB e C++) nesse caso vou fazer um programa simpleszinho em C# que é mais fácil. O segundo detalhe é a versão do .NET, para o AutoCAD 2012 o .NET v4 não serve, você deve compilar usando o .NET Framwrok 3.5 e por fim veja o nome do programa que você está criando.
2. Selecione as DLL adequadas com o seu projeto. Se você não sabe quais que você realmente vai usar faça como eu, selecione tudo, depois na versão final remova as não utilizadas.
Lembre-se de que as direções acima devem estar correta para que o Visual Studio possa compilar o seu aplicativo utilizando-as.
3. Agora o seu projeto está pronto para receber umas linhas de comando. Note que exitem dois arquivos na lista de arquivos do "myCommands.cs" e "myPligin.cs".
O arquivo "myPligin.cs" é uma classe que implementa o carregamento o o descarregamento da DLL no AutoCAD, ou seja, ela tem duas funções que rodam imediatamente antes de qualquer coisa assim que a DLL é carregada e a outra (Terminate) roda imediatamente antes do fim da DLL, que como o AutoCAD não tem um comando para soltar a DLL isso ocorre no fim da seção do AutoCAD.
Não faça nada muito demorado dentro destas funções isso pode comprometer o aplicativo e ele não será carregado além disso também não é possível incluir nessas funções formulários, mensagens de texto na tela etc...
4. No primeiro comando "MyCommand", onde está "//Put your command code here" coloque a mensagem cagada: "System.Windows.MessageBox.Show("Pisei num coco na rua...");".
5. Agora mande depurar o código (F5). Se na etapa 2 você configurou o AutoCAD corretamente ele será aberto através do Visual Studio e então você vai ter a impressão que não conteceu absolutamente nada! e está certo, não aconteceu nada, agora você tem que carregar a DLL que você criou com o ._NETLOAD , por isso você precisa lembrar do nome que você deu a ela.
6. Carrege a DLL com o comando NETLOAD, lembre-se que ela está dentro do probjeto em ../bin/Debug/suabiblioteca.dll.
7. Agora execute o comando que você colocou o seu código de mensagem ._MYCOMMAND e aparecerá a mensagem assim como você escreveu: "Pisei num coco na rua..."
Com esse procedimento acho que já deu para entender mais ou menos como funciona a programação em .NET para AutoCAD, podemos criar comando personalizados e com isso realizar as atividades que desejamos.
Exitem uma série de artigos para quem quer começar a programar em .NET para AutoCAD no site da Autodesk Developer Network sem dúvida é a melhor forma de fazer isso e está bem melhor que o meu artigo também.
Contudo, a Autodesk já tem alguns "facilitadores" para nós meros mortis que desejamos mais do AutoCAD, todos eles você pode encontrar na página da Autodesk Developer Network. Para inciar a programação em .NET a primeira coisa que você tem que ter é a biblioteca chamada de ObjectARX que nada mais são do que os "conectores" do .NET do AutoCAD para sua aplicação, em outro post mais oportuno falarei mais deles.
O ObjectARX para programação em .NET está disponível, pasmem!, desde o R14 mas se você foi no site da Autodesk só tem os mais atuais, contudo eu recolhi num post de um fórum da Autodesk os link's de todas as versões. É importante que você utilize a versão do .NET adequada para sua versão, o AutoCAD 2010, por exemplo, utiliza o .NET Framework 3.0 e não vai conseguir carregar automaticamente aplicações desenvolvidas com o .NET Framework4.0. Mais ainda, existem três "descontinuidades" nas aplicações e variáveis do ObjectARX, a Autodesk modificou muito a forma com que se manipula as aplicações do R14 até o 2008, do 2009 até o 2012 e agora o 2013 também é diferente de modo que você para construir um software que seja compatível com o 2012 e 2013 vai ter que mexer no código para fazer isso, não bastará apenas reconfigurar o ObjectARX e a vesão do .NET porque a forma de interagir com o AutoCAD muda... o que é lamentável para qualquer desenvolvedor.
Segue ai as versões do .NET
R14 ftp://ftp.autodesk.com/pub/developer/sdk/obarxsdk.
2000 ftp://ftp.autodesk.com/ProdSupp/autocad2000/Object
2000i ftp://ftp.autodesk.com/pub/objectarx/acad2000i/obj
2002 ftp://ftp.autodesk.com/pub/objectarx/objectarx_200
2004 ftp://ftp.autodesk.com/WebPub/autocad/oarx/arx_sdk
2005 ftp://ftp.autodesk.com/WebPub/Developer/autocad/Ar
2006 ftp://ftp.autodesk.com/WebPub/autocad/oarx2006/Arx
2007: http://download.autodesk.com/esd/objectarx/2007/Ar
2008 x86: http://download.autodesk.com/esd/objectarx/2008/Ob
2008 x64: http://download.autodesk.com/esd/objectarx/2008/Ob
As versões atuais para AutoCAD 2011, 2012 e 2013 você baixa através do site da Autodesk normalmente. http://mexico.autodesk.com/adsk/servlet/item?siteID=123112&id=785550
Vou tentar manter essa lista sempre atualizada porque ano que vem, quando lançar o AutoCAD 2014 o 2011 vai ficar na lista de coisas velhas....
Uma vez instalada a biblioteca você deve instalar (ou já ter instalado) o Visual Studio. O Visual Studio hoje está na versão 2012 que eu particularmente considero a melhor versão, tem tudo que tem no 2010 mas é bem mais leve em especial para quem trabalha no Windows 7 (meu caso). O problema é que o Wizard de construção de programas só funcionado no Visual Studio 2010, por isso, use o VS 2010, se achar ruim como eu instale o VS 2012!
Se você não tem instalado faça o Download da versão Express que é gratuita para qualquer um, caso seja aluno da UFRJ como eu você pode baixar a versão Ultimate no site da MSDN. A diferença para quem esta começando é zero... quando os programas começam a ficar grandes ai surgem as necessidades que fazem a diferença, mas para tudo que eu pretendo mostrar aqui o Express é mais que suficiente.
Agora vamos a parte dificil da instalação: Instalar o Wizard da Autodesk. Se você tiver sorte, o que é dificil ele vai instalar corretamente. São dois pacotes que estão hoje disponíveis na Autodesk: um apra o 2010 -2012 e outo para o 2013 a diferença é aquilo que eu já tinha comentado mudou tudo do 2012 para o 2013 mas mesmo assim eu vou começar a fazer as aplicações para o 2012. Depois explico como muda para o 2013.
o Link para Download do ObjectARX Wixard 2010-2012: http://images.autodesk.com/adsk/files/objectarx_2012_wizards.zip
O Exemplo de aplicação
Agora vamos fazer a nossa primeira aplicação para AutoCAD em .NET, vamos fazer uma coisa simples: aparecer uma mensagem de "Olá Mundo", como "Olá Mundo" e uma coisa tão clichê vamos usar uma mensagem mais parecida comigo: "Pisei num coco na rua..."
1. Abra o VS2010 e inicie um novo projeto
Ao iniciar esse novo projeto atenha-se a alguns detalhes, o primeiro é que existe um template da Autodesk na lista de templates de cada linguagem (C#,VB e C++) nesse caso vou fazer um programa simpleszinho em C# que é mais fácil. O segundo detalhe é a versão do .NET, para o AutoCAD 2012 o .NET v4 não serve, você deve compilar usando o .NET Framwrok 3.5 e por fim veja o nome do programa que você está criando.
2. Selecione as DLL adequadas com o seu projeto. Se você não sabe quais que você realmente vai usar faça como eu, selecione tudo, depois na versão final remova as não utilizadas.
Lembre-se de que as direções acima devem estar correta para que o Visual Studio possa compilar o seu aplicativo utilizando-as.
3. Agora o seu projeto está pronto para receber umas linhas de comando. Note que exitem dois arquivos na lista de arquivos do "myCommands.cs" e "myPligin.cs".
O arquivo "myPligin.cs" é uma classe que implementa o carregamento o o descarregamento da DLL no AutoCAD, ou seja, ela tem duas funções que rodam imediatamente antes de qualquer coisa assim que a DLL é carregada e a outra (Terminate) roda imediatamente antes do fim da DLL, que como o AutoCAD não tem um comando para soltar a DLL isso ocorre no fim da seção do AutoCAD.
Não faça nada muito demorado dentro destas funções isso pode comprometer o aplicativo e ele não será carregado além disso também não é possível incluir nessas funções formulários, mensagens de texto na tela etc...
O outro arquivo é onde efetivamente você pode colocar seu código. Note que em "myCommands.cs" exitem quatro funções implementadas, utilize isso como referência para seus comandos
4. No primeiro comando "MyCommand", onde está "//Put your command code here" coloque a mensagem cagada: "System.Windows.MessageBox.Show("Pisei num coco na rua...");".
5. Agora mande depurar o código (F5). Se na etapa 2 você configurou o AutoCAD corretamente ele será aberto através do Visual Studio e então você vai ter a impressão que não conteceu absolutamente nada! e está certo, não aconteceu nada, agora você tem que carregar a DLL que você criou com o ._NETLOAD , por isso você precisa lembrar do nome que você deu a ela.
6. Carrege a DLL com o comando NETLOAD, lembre-se que ela está dentro do probjeto em ../bin/Debug/suabiblioteca.dll.
7. Agora execute o comando que você colocou o seu código de mensagem ._MYCOMMAND e aparecerá a mensagem assim como você escreveu: "Pisei num coco na rua..."
Com esse procedimento acho que já deu para entender mais ou menos como funciona a programação em .NET para AutoCAD, podemos criar comando personalizados e com isso realizar as atividades que desejamos.
Exitem uma série de artigos para quem quer começar a programar em .NET para AutoCAD no site da Autodesk Developer Network sem dúvida é a melhor forma de fazer isso e está bem melhor que o meu artigo também.
Comentários
Postar um comentário