Comenzando a programar en AutoCAD

Para poder comenzar con la programación en AutoCAD, lo primero que hay que saber es cuáles son las opciones disponibles para realizarlo, así que vamos a conocer un poco  cómo hacerlo:

AutoCAD® posee una arquitectura abierta que ofrece varias alternativas a la hora de realizar personalizaciones:

  • ObjectARX

El entorno de programación ObjectARX® permite personalizar y extender AutoCAD y los productos basados en AutoCAD (como AutoCAD Architecture,  AutoCAD Land Desktop o AutoCAD Mechanical). ObjectARX provee interfaces orientadas a objetos en C++ para que los desarrolladores usen, personalicen y extiendan el software.

Las librerías del entorno de programación ObjectARX proveen un conjunto de herramientas versátil para que los desarrolladores aprovechen la arquitectura abierta de AutoCAD. También proveen acceso directo a las estructuras de base de datos, sistema de gráficos y la definición nativa de comandos de AutoCAD.

La tecnología ObjectARX ayuda a desarrollar aplicaciones rápidas, eficientes y compactas. Habilita a los usuarios a personalizar AutoCAD y libera a los diseñadores de CAD de las tareas repetitivas. Archivos más pequeños, operaciones de dibujo más rápidas e interoperabilidad fluida hacen que una aplicación construida con el entorno de programación ObjectARX sea la mejor elección para una solución de software de diseño.

  • .NET

El SDK de ObjectARX también incluye una API manejada, comúnmente referida como la AutoCAD .NET API. Se puede utilizar cualquier lenguaje soportado en .NET para personalizar y extender AutoCAD con acceso directo a las estructuras de base de datos, definición de comandos nativos y más.

Esta tecnología es la elegida para los futuros posts y ejemplos de este blog, dado que combina el poder de ObjectARX con la mayor facilidad de aprendizaje de .NET.

ObjectARX (incluyendo la .NET API y la documentación) se puede descargar desde acá.

  • Visual LISP

La tecnología Visual LISP® es una herramienta para la creación de código en AutoCAD. Es un completo lenguaje de programación interpretado, que se puede usar para llamar comandos de AutoCAD, variables del sistema, y cuadros de diálogo.

  • Visual Basic para Aplicaciones (VBA)

También está disponible el ya conocido VBA. El mismo ya no está soportado por Microsoft, y Autodesk lo provee como un agregado que se debe descargar en forma independiente desde la versión 2010. Por ello ya no se recomienda desarrollar personalizaciones con esta tecnología, sino pasar a .NET, utilizando VB.NET para el desarrollo.

Se puede bajar el módulo de VBA para AutoCAD 2010 y 2011 en 32 y 64 bits acá.

Anuncio publicitario

10 comentarios en “Comenzando a programar en AutoCAD

  1. maria de jesus vergara pineda

    funciona esto con autocad civil 3d 2010 y vb net 2008?
    sabes como configurar autocad civil 3d 2010 para que despues de ejecutar netload aparezca la ventana de dialogo y seleccionar la libreria xx.dll y ejecute tu aplicacion?
    gracias

    Responder
    1. gbellmann Autor

      María,
      Con ACAD 2010 y VB.NET 2008 podrías usar sin problemas las librerías de ObjectARX 2010, generando una libraría de clases (dll) desde Visual Studio 2008 y ejecutándola como mencionas con el comando NETLOAD. Al ejecutar el comando debería abrirse el cuadro de diálogo para que selecciones la librería que deseas abrir.
      Una vez cargada la libraría podrás ejecutar los comandos que hayas declarado en la misma.
      En este post hay un ejemplo con código en C# que fácilmente puede traducirse a VB.NET ya que es un ejemplo simple.

      Responder
      1. lalo

        Alguien conoce alguna forma de poder abrir un archivo del autocad sin necesidad de tener el autocad instalado utilizando Visual Studio para una plataforma .NET

        Si alguien sabe como, se los agradeceria.
        saludos

  2. JAVO

    HOLA ALGUIEN ME PUEDE AYUDAR …. ES URGENTE …. TENGO UNA CADENA DE TEXTO DENTRO DE UN MTEXT DE AUTOCAD …. EL PROBLEMA ES QUE CONOZCO EL VALOR DE ANCHO DE LA CAJA DEL OBJETO MTEXT PERO EL ANCHO REAL DE LA CADENA NO … COMO DETERMINARLA…. GRACIAS ….CUALQUIER AYUDA: javierorellana8@yahoo.com

    Responder
    1. Miguel F. Sepúlveda

      Hola Javier, revisa en los codigos DXF de una entidad MTEXT el ancho de Referencia Horizontal esta en el codigo 42:
      (setq datos1 (entget (car (entsel «\nSeleccione MTEXT: «))))
      (setq txtAnchoRefHoriz1 (cdr (assoc 42 datos1)))

      Responder
  3. MIKEL

    Hola,

    Muy buen artículo.

    Estoy pensando en crear una aplicación, Visual basic de excel o con algún programa que me permita activar diferentes capas en una plantilla de autocad.

    Se os ocurre con qué programa o como se podría hacer?

    Gracias.

    un saludo,

    Responder
    1. Carlos

      Mikel, Talvez te ayude este codigo autolisp lo hice para crear capas con su color para diametros de varillas de acero.
      ;Lisp
      ;crea capas con descripcion para metrar acero en estructuras
      (defun c:C_layacero ()
      (command «layer» «n» «D_1-4» «s» «D_1-4» «c» «1» «» «»)
      (command «layer» «n» «D_3-8» «s» «D_3-8» «c» «2» «» «»)
      (command «layer» «n» «D_1-2» «s» «D_1-2» «c» «3» «» «»)
      (command «layer» «n» «D_5-8» «s» «D_5-8» «c» «4» «» «»)
      (command «layer» «n» «D_3-4» «s» «D_3-4» «c» «5» «» «»)
      (command «layer» «n» «D_1» «s» «D_1» «c» «6» «» «»)
      )
      (prin1)
      (Alert » Capas para Met. de Acero \n_____________________\n Escribir: C_Layeracero \n para iniciar…»)

      Responder
  4. francisco Garcia

    Quien pueda ayudarme a como introducir simbolos para soldadura,tuberias y estructura como si fuese un icono(o boton que cumpla esa funcion) incorporado en la una barra de trabajo de autocad.
    muchas gracias

    Responder

Deja una respuesta

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. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.