Sobre como personalizar o AutoCAD com automação ActiveX

A automação ActiveX é uma tecnologia desenvolvida pela Microsoft® com base na arquitetura COM (component object model). Ela pode ser utilizada para personalizar o AutoCAD, compartilhar os seus dados de desenho com outros aplicativos e automatizar tarefas.

Você pode criar e manipular objetos de desenho partindo de qualquer aplicativo que funcione como um controlador de automação. Portanto, a automação ativa a programação de macros nos aplicativos, um recurso que não existe no AutoLISP.

Nota: O ActiveX não é suportado no Mac OS.

São duas as vantagens de se implementar uma interface ActiveX para o programa:

Por exemplo, você pode querer solicitar prompt para entrada, definir preferências, fazer um conjunto de seleções ou recuperar dados do desenho. É possível decidir sobre o controle a ser utilizado, dependendo do tipo de manipulação.

Os objetos exibidos são chamados de Objetos do Automation. Os Objetos do Automation tornam os métodos, propriedades e eventos disponíveis. Métodos são funções que executam uma ação é um objeto. Propriedades são funções que definem ou retornam informações sobre o estado de um objeto. Eventos são ações iniciadas pelo usuário ou ocorrências às quais o programa responde.

Praticamente qualquer tipo de aplicativo pode acessar os objetos automatizados expostos no AutoCAD. Esses aplicativos podem ser executáveis independentes, arquivos DLL (dynamic linked library) e macros com aplicativos como o Microsoft Word ou Microsoft Excel. O mais comum provavelmente será um executável independente. Se você estiver utilizando aplicativos de outros desenvolvedores, siga as instruções para instalação e uso do produto dos mesmos.

Definir um comando externo para iniciar seu aplicativo

É possível utilizar o arquivo acad.pgp para definir um comando que executa um comando externo para iniciar um aplicativo independente; similar ao de um alias de comando que pode ser usado para ativar um comando.

O exemplo a seguir define o alias do comando RUNAPP1, que executa o app1.exe a partir do diretório c:\vbapps\. Adicione este código à seção de comandos externos de seu arquivo acad. pgp.

RUNAPP1, start c:\vbapps\app1, 0

Se o seu aplicativo exige parâmetros da linha de comando, você pode utilizar o seguinte código:

RUNAPP2, start c:\vbapps\app2, 0, *Parameters: ,

Esse exemplo define o comando RUNAPP2, que solicita os parâmetros e os transmite para o aplicativo.

É possível também usar a função startapp do AutoLISP para iniciar um aplicativo que utiliza o Automation. Depois que o AutoLISP inicia um aplicativo externo, ele não tem nenhum controle sobre suas ações. Você pode, no entanto, utilizar o AutoLISP para localizar e executar aplicativos diferentes com base em determinados parâmetros.

Iniciar um aplicativo a partir da interface do usuário

Depois que você definir um comando externo para iniciar um aplicativo independente, é possível usar esse comando como parte de uma macro de comando de um elemento da interface do usuário.

Se utilizar apenas um ou dois aplicativos, você poderá adicioná-los a um dos painéis da faixa de opções padrão ou barra de ferramentas de acesso rápido. Se tiver um grupo de aplicativos, você poderá definir seus próprios painéis da faixa de opções que são especificamente dedicados a esses aplicativos.