Pular para o conteúdo principal

Introdução ao ObjectARX - Mais Poder

A Autodesk desde que lançou as ferramentas de .NET lançou também uma outra ferramenta muito mais potente que por mais que não tivesse domínio saberia que um dia ainda iria utiliza-la, trata-se do ObjectARX.



O ambiente de programação ObjectARX® é uma interface de programação C ++  orientado a objetos para os desenvolvedores  para extensão e personalização do AutoCAD®. Uma aplicação ObjectARX é uma biblioteca  (DLL) que compartilha o espaço de endereçamento de AutoCAD e faz função chamadas diretas para o AutoCAD.

As bibliotecas ObjectARX compreendem um conjunto versátil de ferramentas para desenvolvedores de aplicativos para tirar proveito da arquitetura aberta do AutoCAD, oferecendo acesso direto às estruturas de banco de dados do AutoCAD, a interface gráfica, e definições nativas de comandos. Além disso, essas bibliotecas são projetados para trabalhar em conjunto com a NET, ActiveX Automation, COM, e Visual LISP para que os desenvolvedores podem escolher as ferramentas de programação que melhor se adaptem às suas necessidades e a própria experiência. É o que tenho feito em .NET com a experiência já tinha nisso só somei ao AutoCAD, não que tenha sido o caminho melhor.

O que pode ser feito ObjectARX:

ObjectDBX ™ 

O subconjunto ligado banco de dados do ObjectARX, que inclui suporte para objetos e entidades personalizadas. Essas APIs não incluem classes que interagem com o editor do AutoCAD e fornecem funcionalidade de UI.

RealDWG® 

A SDK licenciado separadamente para o desenvolvimento de aplicativos de host que usam ObjectDBX a ler e escrever arquivos DWG e DXF sem AutoCAD. Quer dizer, supostamente, podemos fazer um manipulador externo de desenhos nativos em DWG.

Object Enabler 

Um módulo com a extensão .dbx que define os objetos de banco de dados personalizados DWG e DXF usando apenas a parte ObjectDBX do ObjectARX SDK. Um Object Enabler não é dependente do AutoCAD e pode carregar em qualquer aplicativo RealDWG.

Podemos usar ObjectARX para realizar tarefas como:

  • Acesse o banco de dados do AutoCAD 
  • Interagir com o editor do AutoCAD 
  • Criar interfaces de usuário usando as classes Microsoft®Foundation (MFC) 
  • Apoiar a interface de documentos múltiplos (MDI) 
  • Criar classes personalizadas 
  • Construir aplicações complexas 
  • Interagir com outros ambientes de programação
Ou seja, resumindo tudo é um canhão para matar mosquito e de fato podemos fazer realmente coisas muito velozes e funcionais utilizando diretamente o ObjectARX sem passar pelo .NET. 

A Minha idéia e trazer os desenvolvimentos para esse tipo mais baixo de linguagem e com isso interagir melhor com o AutoCAD e poder desenvolver melhor as ferramentas, especialmente aquelas de demoram muito tempo. Ainda não sei bem como isso funciona mas as promessas sempre foram enormes.

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...

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

Operando com Imagens Georreferenciadas no AutoCAD - Ortofotos

A coisa mais desagradável para quem trabalha com documentos em DWG com ortofotos ( fotos aéreas georreferenciadas) é quando se recebe o documento e a ortofoto não é carregada. Uma linha de transmissão onde a plotagem da estruturas é feita em um documento combinado de planta e perfil. Na área da planta é feito pela topografia um serviço de recorte e renderização das imagens em formato de ortofoto na região do desenho. Como a linha de transmissão a projeção é feita sempre linear na planta observando os vértices uma mesma ortofoto pode ser representada várias vezes numa mesma folha em um enjanelamento diferente. Tratamento de Ortofotos no AutoCAD - EXTERNALREFERENCES As ortofotos no AutoCAD são tratadas como referências a objetos externos. Isso é bom porque cada ortofoto pode ter de poucos kb até Gb de tamanho. Se for parte integrante do DWG poderia deixa-lo grande de mais para ser manipulado. Cada projeção no documento funciona como uma imagem projetada em um...