Sei sulla pagina 1di 3

VB.NET PARA AUTOCAD.

PRIMEROS PASOS
Existen muchos medios para programar sobre AutoCAD: AutoLisp, VBA (Macros para AutoCAD), ARX
(C++ para AutoCAD) y .NET, la ms reciente incorporacin al sistema y, por qu no decirlo, la ms
prometedora para los desarrolladores dado que incorpora toda la potencia de .NET y toda la potencia de
AutoCAD en un solo entorno.
Qu clase de objeto debemos crear para desarrollar sobre AutoCAD?
Una biblioteca de clases. Dentro de ella ya podr crear toda clase de objetos .NET (WinForms, clases,
controles).
Necesita estar instalado AutoCAD en mi equipo?
Por supuesto que si. No le sirve AutoCAD LT o versiones limitadas del programa.
Qu framework o versin de Visual Studio debe utilizar?
Obtendr esta informacin en la web de Autodesk o en los foros de la comunidad de desarrolladores. Por
ejemplo: Para AutoCAD 2008 hasta 2011 deber usar VS 2008 o superior y el fw es 3.5, para versiones
posteriores el fw es el 4.0 o superior.
Pasos a seguir:

Cree un proyecto nuevo en Visual Studio del tipo Biblioteca de Clases.


Para acceder a los objetos que AutoCAD expone para .NET deber ir a la seccin referencias en su
explorador de soluciones y agregar dos nuevas referencias cuyos archivos encontrar alojados en las
carpetas donde est instalado AutoCAD: acdbmgd.dll y acmgd.dll
Ver que hay ms libreras disponibles (por ejemplo: AutoCAD.Interop le permitira programar desde su
bliblioteca de clases como si de una macro se tratara) pero para .NET basta con estas dos libreras.
Asegrese tambin de que la propiedad "Copia Local" de la librera est a False, con ello aseguramos que
cuando se ejecuta sobre el cliente usar la librera nativa del programa, no una copia local de nuestro

programa. Tambin asegura la compatibilidad entre versiones y le permitir ejecutar sus aplicacines paso
a paso sobre AutoCAD introduciendo paradas de control sobre el cdigo fuente.

Para poner a prueba sus rutinas tambin debe acudir a las propiedades del proyecto y establecer la accin
de incio como Programa externo de inicio indicando la ruta donde se encuentre alojado el archivo Acad.exe.
Con ello, al iniciar el proceso de debug de su aplicacin, se lanzar AutoCAD enlazado con su aplicacin
(tras haber ejecutado el comando NETLOAD).
El resultado de cualquier proyecto sobre AutoCAD siempre es un archivo DLL (o varios) que debern ser
invocados desde AutoCAD para ser cargados.
Cmo se carga una dll .NET en AutoCAD?
A travs del comando vamos a mostrar el tpico mensaje "HELLO WORLD" y de paso aprender a agregar
nuevos comandos a AutoCAD. Es decir, al cargar la DLL, AutoCAD incorporar aquellas funciones definidas
como comandos en su aplicacin como comandos propios de AutoCAD. Lo mismo que cuando usa
"(C:DEFUN...)" en AutoLisp.
Si ya tiene establecidas las referencias escriba el siguiene cdigo que le permitir crear nuevos comandos
que el usuario podr invocar desde AutoCAD. Un procedimiento elegante sera crear una clase donde alojar
todos los comandos de usuario.Si las referencias estn correctamente cargadas ver cmo se va abriendo
la ayuda contextual a medida que va escribiendo:
<Autodesk.AutoCAD.Runtime.CommandMethod("HelloWorld")>

Public Sub Hello()


MsgBox ("Hola Mundo!!!")
End Sub
Haga clic en el botn "Iniciar depuracin". Si estableci el programa externo de inicio correctamente se
iniciar AutoCAD como si lo hubiera iniciado usted manualmente. Una vez cargado AutoCAD ejecute el
comando NETLOAD. Abrir un cuadro de dilogo a travs del cual deber buscar en sus carpetas la
ubicacin de la librera de clases generada por Visual Studio (generalmente en la carpeta "..\bin\debug\".
Seleccione su DLL y haga clic en el botn aceptar. Si no abre el cuadro de dilogo revise la variable de
AutoCAD FILEDIA y asegrese de que est establecida a 1.

Si todo ha ido bien ahora bastar con que escriba en la lnea de comandos "helloworld" y haga intro para
que aparezca su cuadro de dilogo con el texto HOLA MUNDO!!!
Adems de utilizar los objetos expuestos por AutoCAD puede utilizar toda clase de rutinas y funciones
propias y ajenas. Cabe decir que si vamos a programar bajo este entorno es porque pretendemos crear o
manejar informacin contenida en los dibujos.