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!!");
        }
    }
}

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

    Buenas tardes

    ya descargue el visual studio, y revise el link que se da en el post anterior para descargar las librerías de objectARX, pero lo que encuentro es la opción de descargar el entorno de desarrollo de objectARX, me pueden indicar en donde busco las librerías que debo descargar, o si se debe descargar el entorno de programación de objectARX completo.

    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 )

Google photo

Estás comentando usando tu cuenta de Google. 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 )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.