Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ObjectARX Entrega 01
ObjectARX Entrega 01
ObjectARX
Por: Jose Luis Madrid Villa
C/C++/Visual C++.
AutoLISP/VisualLISP.
Visual Basic/VBA para AutoCAD.
Programacin Orientada a Objetos.
constructor-3d.com
dicca2005@yahoo.com.mx
constructor-3d.com
dicca2005@yahoo.com.mx
Capitulo 1
Conceptos Bsicos.
Como funciona AutoCAD internamente.
Antes de iniciar con el Tema de ObjectARX, conoceremos conceptos bsicos
acerca del funcionamiento de AutoCAD.
AutoCAD funciona por medio de una Base de Datos en la cual organiza y
almacena diferentes tipos de Objetos. La forma en que lo hace, es Manteniendo
Contenedores que utilizan Procedimientos y Mtodos los cuales manipulan
Objetos que son del mismo tipo, por ejemplo: Entidades (Lneas, Textos, Arcos,
etc.), Estilos de Texto, Capas, Estilos de Acotaciones, etc. Por lo tanto un Dibujo
de AutoCAD es una coleccin de Objetos almacenados en una Base de Datos,
que contiene la informacin mnima para que cada Objeto mantenga su definicin.
Estos Objetos pueden ser grficos o Estructuras no graficas, por ejemplo: Tablas
de Smbolos y Diccionarios.
Las Entidades son un tipo especial de Objetos dentro de la Base de Datos y
cuentan con representacin grafica.
Las Tablas de Smbolos son Contenedores usados para almacenar Objetos en la
Base de Datos, por ejemplo: la Tabla de Capas (layer table), contiene los
registros de la Tabla de Capas.
Los Diccionarios al igual que las Tablas de Smbolos, tambin son Contenedores
usados para almacenar Objetos en la Base de Datos, su diferencia estriba en que
en este tipo de Contenedor se puede almacenar prcticamente cualquier tipo de
informacin.
constructor-3d.com
dicca2005@yahoo.com.mx
Figura 1.1
Componentes de la Base de Datos de AutoCAD
Que es ObjectARX.
ObjectARX es un ambiente de Programacin que contiene un conjunto de
Libreras para desarrollar Aplicaciones para AutoCAD usando C++, facilita el
acceso a las estructuras de la Base de Datos de AutoCAD, ya que el acceso es
directo, tambin facilita el acceso al Sistema Grfico, permite definir comandos
nativos dentro de AutoCAD, entre otras cosas, adicionalmente nos permite crear
Objetos Personalizados en la Base de Datos para Aplicaciones especificas.
ObjectARX es bsicamente una DLL (biblioteca de enlaces dinmicos), tambin
soporta el Desarrollo de Aplicaciones complejas.
constructor-3d.com
dicca2005@yahoo.com.mx
constructor-3d.com
dicca2005@yahoo.com.mx
constructor-3d.com
dicca2005@yahoo.com.mx
Comenzando
Creacin de nuestro primer programa, el clsico HELLO WORLD
En este primer ejercicio, aprenderemos a crear y configurar un Proyecto y a
registrar un comando para AutoCAD.
Existen dos formas para la creacin de aplicaciones de ObjectARX, una es la
forma manual y la otra por medio del Asistente de ObjectARX.
En este primer ejercicio utilizaremos la forma manual, as es que no se preocupen
mucho por memorizar todo el procedimiento, ya que el objetivo principal del
ejercicio, es el de tener nuestro primer contacto con el ambiente de desarrollo de
ObjectARX y VC++. En la siguiente entrega conoceremos al Asistente de
ObjectARX, el cual nos ayudara a crear Aplicaciones en forma rpida y fcil y a
partir del ejercicio No. 2, tendremos dos Secciones, una para explicar la parte
correspondiente a ObjectARX y la otra para la parte de programacin de VC++
utilizada en cada ejercicio.
Para seguir el ejercicio, utilizaremos el Tutorial STEP 1 que se incluye en el SDK
de ObjectARX, y que se muestra a continuacin traducido al espaol, despus de
descomprimir el ZIP del SDK de ObjectARX, el original en Ingles lo encontraran en
la Carpeta:
<Carpeta de instalacin de ObjectARX>\arxlabs\ObjectARXLabs.html,
constructor-3d.com
dicca2005@yahoo.com.mx
constructor-3d.com
dicca2005@yahoo.com.mx
constructor-3d.com
dicca2005@yahoo.com.mx
Configuracin de Compilador
1. Invocar el Explorador de Soluciones en VC++.NET usando el men:
"View"->"Solution Explorer" alternativamente se puede usar el atajo:
Ctrl+Alt+L.
2. Seleccionar el proyecto Step01" en el Explorador de Soluciones. Dar click
con botn derecho en el nodo Project en el Explorador de Soluciones y
seleccionar "Properties" en el men de botn derecho de mouse, con esto
se mostrar el dilogo de la pgina de propiedades para el proyecto.
constructor-3d.com
dicca2005@yahoo.com.mx
constructor-3d.com
dicca2005@yahoo.com.mx
constructor-3d.com
dicca2005@yahoo.com.mx
constructor-3d.com
dicca2005@yahoo.com.mx
constructor-3d.com
dicca2005@yahoo.com.mx
constructor-3d.com
dicca2005@yahoo.com.mx
Ahora definimos la funcin initApp(). Esta funcin registra un Nuevo comando con
el mecanismo de comandos de AutoCAD. Este Nuevo comando se convertir en
un punto de entrada (entry point) adicional dentro de nuestra aplicacin:
void initApp()
{
// register a command with the AutoCAD command mechanism
acedRegCmds->addCommand("HELLOWORLD_COMMANDS",
"Hello",
"Bonjour",
ACRX_CMD_TRANSPARENT,
helloWorld);
}
constructor-3d.com
dicca2005@yahoo.com.mx
constructor-3d.com
dicca2005@yahoo.com.mx
constructor-3d.com
dicca2005@yahoo.com.mx
break;
}
return AcRx::kRetOK;
}
constructor-3d.com
dicca2005@yahoo.com.mx
LIBRARY Step01
EXPORTS
acrxEntryPoint PRIVATE
acrxGetApiVersion PRIVATE
Una vez que el comando ha sido cargado, teclear "hello" o "bonjour" en la lnea
de comando y se mostrara el mensaje "Hello World!".
constructor-3d.com
dicca2005@yahoo.com.mx
Con el ejemplo previo, se podrn haber dado cuenta que en Visual C++, todo
deber estar definido, esto es algo que siempre debemos tener en mente. Ahora
analizaremos cada una de la partes de este ejemplo sencillo adems se
proporcionan las referencias correspondientes para ahondar en los temas
expuestos.
1. Creamos una aplicacin de tipo Win32 a.
1.1 Configuramos la Aplicacin Win32 como tipo DLL.
2. Configuramos el Compilador b.
2.1 Definimos Propiedades de Configuracin.
2.1.1 Configuracin General.
2.1.2 Configuracin para C/C++
2.1.2.1 Configuracin General para C/C++
2.1.2.2 Configuracin para Generacin de Cdigo.
2.1.3 Configuramos el Vinculador.
2.1.3.1 Configuracin General del Vinculador.
2.1.3.2 Configuracin de Entrada.
3. Definicin de Directorios de VC++.
4. Agregar Cdigo al Proyecto
4.1 Crear el Archivo .cpp de C++ c.
5. Crear archivo .def para exportar la funcin principal a AutoCAD d.
6. Generar la Aplicacin e.
Enlaces:
a. http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vcc
ore/html/vcgrfoverviewwin32appwizard.asp
b. http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vsi
ntro7/html/vxurfSolutionExplorerDialog.asp
c. http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vcc
ore/html/vcurfprogramorcontrolsourceheaderfiles.asp
d. http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vcc
ore/html/_core_export_from_a_dll_using_..def_files.asp
e. http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vcc
ore/html/vcurfprogramorcontrolsourceheaderfiles.asp
constructor-3d.com
dicca2005@yahoo.com.mx
constructor-3d.com
dicca2005@yahoo.com.mx