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á.
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
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.
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
Bien, seguiré muy atento la información de este blog. Gracias por los aportes.
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
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)))
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,
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…»)
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
Hola a todos, quiero aprender a crear aplicaciones que se instalen en civil 3d , como podria empezar, gracias