Pular para o conteúdo principal

AutoCAD .NET #002: Tutorial - Visão geral do Microsoft Visual Studio

O Microsoft Visual Studio é um ambiente de programação orientado a objetos que é executado independentemente do AutoCAD. Embora o Microsoft Visual Studio seja externo ao AutoCAD e outros aplicativos, ele é capaz de interagir com aplicativos que expõem uma API .NET nativa ou uma biblioteca ActiveX/COM.


Assim como o AutoCAD o Visual Studio da Microsoft é uma plataforma antiga e robusta para desenvolvimento quase universal de aplicativos para Windows e seus derivados.


Qual edição do Microsoft Visual Studio usar?


A essa altura você já deve ter pesquisado na internet como baixar o Visual Studio e já viu que existem várias versões do Visual Studio disponíveis para Download. A versão mais atual é a versão 2019 Enterprise.


O Microsoft Visual Studio é oferecido em duas edições: gratuita e paga. A edição gratuita é conhecida como Microsoft Visual Studio 2008 Express Edition, enquanto as edições pagas variam por nome e preço devido às diferentes ferramentas de desenvolvimento que são incorporadas a elas. O Microsoft Visual Studio Standard Edition é a edição de nível de entrada que fornece depuração aprimorada em relação ao Microsoft Visual Studio Express Edition, juntamente com vários outros recursos. O ideal é usar a versão paga mas é possível usar as versões Express desde que já tenha um template pronto, se você tomar como base os exemplos que eu deixo no blog pode começar desse ponto.


Embora seja possível usar o Microsoft Visual Studio Express com a API do AutoCAD .NET, este guia assume que você está usando uma das outras versões, como Microsoft Visual Studio Standard Edition ou Microsoft Visual Studio Professional Edition.



Vamos as vantagens em usar o Microsoft Visual Studio:


Trata-se de ambiente de desenvolvimento robusto e acessível que possui e tem tudo em uma única plataforma sem aqueles tradicionais problemas entre a IDE e compilador, plataformas descentralizadas etc.... que são um problema para qualquer pessoa que está começando.


Outra coisa a sintaxe do VBA e do VB.NET são semelhantes, o que o torna um ambiente ideal para usuários VBA existentes, você pode usar qualquer linguagem padrão  C#, VB.NET ou até o novíssimo F# da Microsoft que eu particularmente não uso mas há quem goste. Se você encontrar um pedaço de código em C# pode usar um conversor de C# em VB.NET e vice-versa para incluir no seu código, é bem útil.


Nesse cursinho eu vou fazer todos os programas em C# mas se quiser podemos modificar.


Mais uma vantagem é que as ferramentas de criação de caixa de diálogo visualmente intuitivas e extensas assim é possível facilmente utilizar e criar caixas de ferramentas para acessar informações e propriedades do AutoCAD inserir informações e extrair relatórios.


Os projetos podem ser construídos como uma assembly, uma dll, que pode então ser carregado no AutoCAD para execução.


É importante ressaltar que ao contrário dos projetos VBA, os aplicativos .NET não sofrem degradação de desempenho quando carregados e executados no AutoCAD de 64 bits.


Para obter mais informações sobre as diferentes edições do Microsoft Visual Studio, consulte http://www.microsoft.com/vstudio e http://www.microsoft.com/express.


Um adendo sobre a COM Interoperability no .NET


O Microsoft Visual Studio pode utilizar interfaces nativas .NET e COM no mesmo projeto. Ao utilizar a interoperabilidade COM, você pode migrar o código existente que pode ter sido escrito em Visual Basic 6 ou VBA sem ter que reescrevê-lo completamente, isso foi bem útil nos anos de 2000 quando começou o .NET API que muitos aplicativos tinham sido feitos em COM, vou passar rápido nesse tema que os mineails não têm muita paciência para aprender...


Para acessar objetos de automação do AutoCAD de um projeto criado no Microsoft Visual Studio, crie referências para os seguintes arquivos:


No ObjectARX existe um arquivo chamado acax18enu.tlb, localizada em <unidade>:\Arquivos de programas\Arquivos comuns\Autodesk Shared.


ObservaçãoAs bibliotecas de tipos mencionadas anteriormente também estão disponíveis como parte do ObjectARX SDK. Para obter informações sobre como baixar e instalar o ObjectARX SDK, consulte Componentes da API do AutoCAD .NET.


Essas referências disponibilizarão os seguintes assemblies de interoperabilidade primários (geralmente uteis):


Autodesk.AutoCAD.Interop.dll (para tipos específicos de AutoCAD)

Autodesk.AutoCAD.Interop.Common.dll (para tipos compartilhados por aplicativos host ObjectDBX ™)


Os assemblies de interoperabilidade estão localizados no cache global de assemblies; eles mapeiam objetos de automação para suas contrapartes .NET.


Depois de fazer referência às bibliotecas de tipos, você pode declarar variáveis ​​baseadas em AutoCAD no Microsoft Visual Studio, como nos exemplos a seguir:


Autodesk.AutoCAD.Interop.AcadApplication objAcApp;

Autodesk.AutoCAD.Interop.Common.AcadLine objLine;


Utilizar os assemblies de interoperabilidade pode tornar a transição de seus projetos VBA para VB.NET muito mais fácil. No entanto, para aproveitar ao máximo tudo o que o .NET e a API do AutoCAD .NET têm a oferecer, você precisará reescrever seu código VBA existente.


PS:

Ao contrário do ActiveX, o .NET dá menos problemas e conflitos de biblioteca quando comparados ao ActiveX COM quando aplicativos são instalados, reinstalados ou desinstalados. O motivo para ter menos problemas de compatibilidade é que o .NET Framework é uma plataforma padronizada. No entanto, você ainda pode ter problemas de dependência. Para evitar problemas de dependência com o .NET Framework, certifique-se de usar a mesma versão ou uma versão anterior do .NET Framework com seu projeto VB.NET ou C # que o AutoCAD usa, cada versão do AutoCAD tem o seu própria versão do .NET mas geralmente ele aceita bem versões anteriores. Para obter informações sobre a versão do .NET Framework que você deve consultar o site da Autodesk https://www.autodesk.com/developer-network/platform-technologies/autocad/objectarx.



Na próxima postagem vamos instalar a API no visual Studio e fazer o primeiro aplicativo, o Hello World!

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 () {...