Primer programa en AutoCAD con .NET

¿Qué mejor manera de comenzar a aprender la programación en AutoCAD con .NET que el clásico “Hola mundo”?
Los requisitos para poder ejecutarlo son:

  • Microsoft Visual Studio 2008 o 2010, ya que estaremos utilizando el .NET Framework 3.5.
  • Autodesk AutoCAD 2010 o 2011.
  • Las librerías de ObjectARX. (En el post anterior está el link de descarga).

El primer paso es crear un nuevo proyecto, del tipo Librería de clases, que vamos a llamar HolaMundo, no olvidarse de usar el .NET Framework 3.5:

NuevoProyecto

Luego agregamos la referencias a las librerías que estamos necesitando (las mismas se encuentran en el directorio donde instalamos ObjectARX):

  • AcMgd.dll
  • AcDbMgd.dll

Estas son las librerías que nos van a permitir conectarnos con el entorno de AutoCAD. Como estas librerías ya están incluidas en AutoCAD, no deben ser copiadas en el directorio de destino de nuestra librería, para ello cambiamos las propiedades de nuestras referencias como se muestra en la imagen y colocamos la copia local en falso:

CopyLocal

Con esto estamos listos para comenzar a programar!!

Vamos a utilizar la clase que Visual Studio creó automáticamente cuando creamos el proyecto.

Agregamos las cláusulas using necesarias:


using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;

Ahora creamos una nueva función, con visibilidad pública, y que no devuelve nada, llamada HolaMundo:


       public void HolaMundo()
       {
       }

A ella le vamos a agregar un atributo, para que se transforme en un comando de AutoCAD y pueda ser ejecutado desde la línea de comandos:


       [CommandMethod("HolaMundo")]

Dentro de nuestra función escribimos el código que devuelve nuestro ya conocido mensaje: “Hola Mundo!!”:


       Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
       ed.WriteMessage("Hola Mundo!!");

Y listo! Con esto ya creamos nuestro primer programa en AutoCAD!

Para poder probarlo, luego de compilar nuestro proyecto, abrimos AutoCAD y ejecutamos el comando netload, y cargamos la dll generada desde Visual Studio.

El resultado de la ejecución se puede ver en la imagen:

HolaMundoACAD

Les comparto abajo el código completo:


using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;

namespace HolaMundo
{
    public class Class1
    {
        [CommandMethod("HolaMundo")]
        public void HolaMundo()
        {
            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
            ed.WriteMessage("Hola Mundo!!");
        }
    }
}

6 pensamientos en “Primer programa en AutoCAD con .NET

  1. Rodolfo

    Compañero no me ha corrido el programa en visual y menos en autocad………..
    me podrías ayudar
    Gracias

    Responder
    1. gbellmann Autor de la entrada

      Rodolfo, necesito que me des un poco más de información para poder ayudarte…
      En cuanto a correrlo desde Visual Studio, no se puede hacer en forma directa, ya que lo que estás generando es una DLL y no un ejecutable. Lo que si se puede hacer es que Visual Studio corra un programa luego de compilar, el cual en este caso sería AutoCAD.
      Para correr la DLL desde AutoCAD sólo necesitas usar el comando NETLOAD y elegir la DLL correspondiente😉
      Saludos!

      Responder

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s