Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
385,55 KB
Nội dung
Introducción a las interfaces de programación Las interfaces de programación que se presentan aquí son ActiveX ® Automation, VBA (Visual Basic ® for Applications), AutoLISP ® , Visual LISP ™ , ObjectARX ™ y .NET. El tipo de interfaz que se utilice dependerá de las necesidades de la aplicación y de la experiencia en programación de cada usuario. ActiveX Automation ActiveX Automation es una tecnología desarrollada por Microsoft ® y basada en la arquitectura COM (modelo de objetos componentes). Puede usarse para personalizar AutoCAD, compartir los datos de dibujo con otras aplicaciones y automatizar tareas. Presentación general de ActiveX Puede crear y manipular objetos de AutoCAD desde cualquier aplicación que funcione como controlador de Automation. Al hacerlo, Automation activa la programación de macros en todas las aplicaciones. Esta función no existe en AutoLISP. Por medio de Automation, AutoCAD expone los objetos programables, descritos por AutoCAD Object Model, que se pueden crear, editar y manipular desde otras aplicaciones. Cualquier aplicación que pueda acceder a AutoCAD Object Model es un controlador de Automation y la herramienta que se utiliza con más frecuencia para manipular otra aplicación con Automation es Visual Basic for Applications (VBA). VBA es un componente en muchas aplicaciones de Microsoft Office. Puede utilizar estas aplicaciones u otros controladores de Automation, como Visual Basic, .NET, y Delphi, para controlar AutoCAD. 7 501 La implantación de una interfaz ActiveX para AutoCAD ofrece dos ventajas: ■ El acceso programático a los dibujos de AutoCAD puede realizarse desde muchos otros entornos de programación. Antes de ActiveX Automation, los desarrolladores debían limitarse a una interfaz AutoLISP o C++. ■ El uso compartido de datos con otras aplicaciones de Windows, como Microsoft Excel y Microsoft Word, resulta mucho más sencillo. Para obtener información detallada sobre la utilización de VBA para controlar AutoCAD ActiveX Automation, véase el Manual del desarrollador de ActiveX y VBA y ActiveX and VBA Reference en el sistema de Ayuda. Si desea mostrar la Ayuda del desarrollador, vaya a la barra de herramientas de InfoCenter, y, a la derecha del botón Ayuda, haga clic en la flecha hacia abajo. Cuando se abra el menú, haga clic en Recursos adicionales ➤ Ayuda del desarrollador. Supongamos, por ejemplo, que desea solicitar la introducción de datos, definir preferencias, crear un conjunto de selección u obtener datos de dibujo. Puede decidir qué controlador se debe utilizar, en función del tipo de manipulación que se va a llevar a cabo. Con Automation, puede crear y manipular objetos de AutoCAD desde cualquier aplicación que sirva como controlador de Automation. Al hacerlo, Automation activa la programación de macros en todas las aplicaciones. Esta función no existe en AutoLISP. Automation permite combinar las funciones de diversas aplicaciones en una sola. Los objetos mostrados se denominan objetos de Automation. Los objetos de Automation hacen que estén disponibles los métodos, las propiedades y los eventos. Los métodos son funciones que llevan a cabo una acción sobre un objeto. Las propiedades son funciones que definen u obtienen información sobre el estado de un objeto. Los eventos son acciones iniciadas por el usuario u ocurrencias a las que responde un programa. Casi cualquier tipo de aplicación puede acceder a los objetos de Automation que aparecen dentro de AutoCAD. Estas aplicaciones pueden ser ejecutables independientes, archivos de biblioteca de enlace dinámico (DLL) y macros de programas como Microsoft Word o Microsoft Excel. De estas alternativas, la más habitual es el ejecutable independiente. Si trabaja con aplicaciones creadas por desarrolladores, siga sus instrucciones para la instalación y utilización de esos productos. Véase también: ■ ActiveX Automation y VBA 502 | Capítulo 7 Introducción a las interfaces de programación Referencia rápida Comandos No hay entradas Variables de sistema No hay entradas Utilidades No hay entradas Modificadores de comandos No hay entradas Definición de un comando para iniciar la aplicación Puede utilizar el archivo acad.pgp para definir un nuevo comando de AutoCAD que ejecute un comando externo para iniciar la aplicación. Puede utilizar el archivo acad.pgp para definir un nuevo comando de AutoCAD que ejecute un comando externo para iniciar la aplicación. El siguiente ejemplo define el comando EJECUTARAPL1, que ejecuta la aplicación apl1.exe del directorio c:\apsvb\ . (Añada este código a la sección de comandos externos de su archivo acad.pgp.) EJECUTARAPL1, start c:\apsvb\apl1, 0 Si la aplicación requiere parámetros de línea de comando, utilice el código siguiente: EJECUTARAP2, start c:\vbapps\app2, 0, *Parameters: , Este ejemplo define el comando EJECUTARAPL2, que solicita la introducción de parámetros y los traspasa a la aplicación. También puede usar la función startapp de AutoLISP para iniciar una aplicación que utilice Automation. Una vez que AutoLISP ha iniciado la aplicación externa, deja de tener control sobre sus acciones. No obstante, puede utilizar AutoLISP para buscar y ejecutar diversas aplicaciones en función de determinados parámetros. Definición de un comando para iniciar la aplicación | 503 Referencia rápida Comandos No hay entradas Variables de sistema No hay entradas Utilidades No hay entradas Modificadores de comandos No hay entradas Inicio de una aplicación desde un menú Después de definir un nuevo comando para iniciar la aplicación, puede incluir dicho comando en un menú o una barra de herramientas para se pueda acceder a él fácilmente. La macro se puede ejecutar desde un elemento de interfaz en el archivo de personalización (CUI). Si sólo utiliza una o dos aplicaciones, puede añadirlas a uno de los menús desplegables estándar. Si tiene un grupo de aplicaciones, puede añadir un menú desplegable o una barra de herramientas que se haya creado específicamente para esas aplicaciones. Para obtener información sobre la creación, edición y carga de archivos de personalización, véase Personalización de la interfaz de usuario en la página 101. Referencia rápida Comandos CARGARIUP Carga un archivo CUIx. 504 | Capítulo 7 Introducción a las interfaces de programación Variables de sistema No hay entradas Utilidades No hay entradas Modificadores de comandos No hay entradas AutoCAD VBA Microsoft Visual Basic para aplicaciones (VBA) es un entorno de programación basado en objetos diseñado para proporcionar amplias capacidades de desarrollo. La principal diferencia entre VBA y VB (Visual Basic 6) es que VBA se ejecuta en el mismo espacio de procesos que AutoCAD, con lo que proporciona un entorno de programación adaptado a AutoCAD y muy rápido. Descripción general de AutoCAD VBA VBA hace posible la integración de las aplicaciones con otras aplicaciones que admiten VBA. Esto significa que AutoCAD, con otras bibliotecas de objetos de aplicación, puede funcionar como controlador de Automation para otras aplicaciones como Microsoft Word o Excel. Las ediciones de desarrollo de Visual Basic 6 independientes, que se venden por separado, complementan AutoCAD VBA con componentes adicionales como un motor para bases de datos externas y funciones de creación de informes. Desarrollo con AutoCAD VBA VBA envía mensajes a AutoCAD mediante la interfaz de AutoCAD ActiveX Automation. AutoCAD VBA permite ejecutar el entorno de Visual Basic con AutoCAD y proporciona el control programático de AutoCAD a través de la interfaz de ActiveX Automation. Esta asociación de AutoCAD, ActiveX Automation y VBA proporciona una interfaz de gran eficacia. No sólo controla los objetos de AutoCAD, sino también intercambia datos con otras aplicaciones. La integración de VBA en AutoCAD proporciona una herramienta visual de uso sencillo para personalizar AutoCAD. Por ejemplo, puede crear una aplicación que extraiga automáticamente la información sobre atributos, AutoCAD VBA | 505 inserte directamente los resultados en una hoja de cálculo de Excel y lleve a cabo todas las transformaciones de datos requeridas. La programación con VBA en AutoCAD viene definida por tres elementos esenciales. El primero de ellos es AutoCAD, que dispone de un extenso conjunto de objetos entre los que se incluyen entidades, datos y comandos de AutoCAD. AutoCAD es una aplicación de arquitectura abierta con varios niveles de interfaz. Para utilizar VBA de manera eficaz, es recomendable estar familiarizado con la programación en AutoCAD. Descubrirá, no obstante, que el sistema basado en objetos de VBA difiere bastante del de AutoLISP. El segundo elemento es la interfaz AutoCADActiveX Automation, que intercambia mensajes (establece una comunicación) con los objetos de AutoCAD. La programación en VBA requiere comprender los fundamentos de ActiveX Automation. Se puede encontrar una descripción de la interfaz AutoCAD ActiveX Automation en el Manual del desarrollador de ActiveX y VBA del sistema de ayuda. Si desea mostrar la Ayuda del desarrollador, vaya a la barra de herramientas de InfoCenter, y, a la derecha del botón Ayuda, haga clic en la flecha hacia abajo. Cuando se abra el menú, haga clic en Recursos adicionales ➤ Ayuda del desarrollador. El tercer elemento que define la programación en este entorno es VBA. Incluye su propio conjunto de objetos, palabras clave, constantes, etc., que proporcionan el flujo de programación y funciones de control, limpieza y ejecución. AutoCAD VBA incluye un sistema de ayuda exhaustivo de Microsoft para AutoCAD VBA. La interfaz de AutoCAD ActiveX/VBA proporciona varias ventajas en relación con otros entornos API de AutoCAD: ■ Velocidad. Cuando se realiza una ejecución en proceso con VBA, las aplicaciones de ActiveX son más rápidas que las de AutoLISP. ■ Facilidad de uso. El lenguaje de programación y el entorno de desarrollo son fáciles de utilizar y se suministran instalados con AutoCAD. ■ Funcionamiento conjunto con Windows. ActiveX y VBA están diseñados para su uso con otras aplicaciones de Windows y constituyen una excelente vía para la comunicación de información entre distintas aplicaciones. ■ Rápida creación de prototipos. El rápido desarrollo de interfaz de VBA proporciona el entorno perfecto para las aplicaciones de prototipos, incluso si esas aplicaciones se van a desarrollar en otros lenguajes. ■ Base para programadores. Los programadores ya utilizan Visual Basic 6. AutoCAD ActiveX/VBA ofrece posibilidades de desarrollo de aplicaciones 506 | Capítulo 7 Introducción a las interfaces de programación y personalización de AutoCAD tanto a estos programadores como a todos aquellos que aprenderán Visual Basic 6 en el futuro. Referencia rápida Comandos VBAIDE Muestra el Editor de Visual Basic. VBACARGAR Carga un proyecto VBA global en la sesión de trabajo actual. VBADMIN Administra operaciones de proyectos VBA a través de un cuadro de diálogo. VBAEJECUTAR Ejecuta una macro VBA. VBAENUN Ejecuta una sentencia VBA en la solicitud de comando de AutoCAD. VBDESCARGAR Descarga un proyecto VBA global. Variables de sistema No hay entradas Utilidades No hay entradas Modificadores de comandos No hay entradas Utilización de aplicaciones de AutoCAD VBA Para cargar un proyecto de VBA debe utilizar el comando VBACARGAR. Una vez cargado, sus módulos y macros estarán disponibles en el cuadro de diálogo Macros. Utilización de aplicaciones de AutoCAD VBA | 507 Aunque las aplicaciones de Microsoft almacenan los programas, macros y proyectos de VBA en un documento concreto, AutoCAD utiliza un archivo independiente con la extensión .dvb. De esta forma, VBA se comunica con AutoCAD de manera similar a la que utilizan AutoLISP y ObjectARX. Dado que los proyectos de VBA se guardan en un archivo independiente, un proyecto de VBA puede abrir y cerrar diferentes dibujos de AutoCAD durante una sesión de este programa. NOTA Los proyectos de AutoCAD VBA no tienen el mismo patrón binario que los proyectos independientes de Visual Basic 6 (archivos VBP). Sin embargo, los formularios, los módulos y las clases se pueden intercambiar entre proyectos diferentes utilizando los comandos IMPORT y EXPORT de VBA en el entorno de desarrollo integrado (IDE, Integrated Development Environment) de VBA. Para cargar un proyecto de VBA debe utilizar el comando VBACARGAR. Una vez cargado, sus módulos y macros estarán disponibles en el cuadro de diálogo Macros. Para ejecutar el módulo VBA debe utilizar el comando VBAEJECUTAR. Si no se ha cargado ningún proyecto de VBA, las opciones no estarán disponibles. Los procedimientos incluidos en la lista del cuadro Nombre de macro presentan la siguiente sintaxis: módulo.macro En el cuadro de diálogo Macros, elija el valor de ámbito de macro y seleccione uno de los módulos de la lista. Uso de la solicitud de comando para ejecutar una macro VBA El comando -VBAEJECUTAR se puede utilizar para ejecutar una macro desde la solicitud de comando. Esto le permite ejecutar macros VBA desde la solicitud de comando, archivos de comando y otros entornos de programación de AutoCAD. El único argumento del comando es el nombre del módulo escrito con la sintaxis módulo.macro. La sintaxis es la siguiente: -vbaejecutar <módulo.macro> Dado que diferentes módulos pueden incluir macros con el mismo nombre, la sintaxis módulo.macro permite distinguir la macro y realizar una selección única. 508 | Capítulo 7 Introducción a las interfaces de programación Referencia rápida Comandos VBAIDE Muestra el Editor de Visual Basic. VBACARGAR Carga un proyecto VBA global en la sesión de trabajo actual. VBADMIN Administra operaciones de proyectos VBA a través de un cuadro de diálogo. VBAEJECUTAR Ejecuta una macro VBA. VBAENUN Ejecuta una sentencia VBA en la solicitud de comando de AutoCAD. VBDESCARGAR Descarga un proyecto VBA global. Variables de sistema No hay entradas Utilidades No hay entradas Modificadores de comandos No hay entradas Carga y ejecución automáticas de los proyectos de VBA Es posible cargar los proyectos de VBA automáticamente cada vez que ejecute AutoCAD. Si ha creado diversos proyectos de VBA, puede cargarlos automáticamente cada vez que ejecute AutoCAD. Las macros de estos proyectos quedarán disponibles inmediatamente. Además, el comando APPLOAD proporciona una opción Cargar al inicio que carga automáticamente las aplicaciones especificadas. Carga y ejecución automáticas de los proyectos de VBA | 509 acvba.arx: carga automática de VBA No podrá cargar VBA hasta que haya ejecutado un comando de AutoCAD VBA. Si desea cargar VBA automáticamente cada vez que inicie AutoCAD, incluya la línea siguiente en el archivo acad.rx: acvba.arx Puede ejecutar automáticamente una macro en el archivo acad.dvb denominándola AcadStartup. Las macros del archivo acad.dvb con este nombre se ejecutan de manera automática cuando se carga VBA. acad.dvb: carga automática de un proyecto de VBA El archivo acad.dvb resulta útil si se desea cargar un proyecto de VBA que contiene macros cada vez que se inicia AutoCAD. Cada vez que se inicia una nueva sesión de dibujo en AutoCAD, AutoCAD busca acad.dvb y lo carga. Si desea que una macro del archivo acad.dvb se ejecute cada vez que se inicia un dibujo nuevo o se abre uno ya existente, añada el siguiente código al archivo acaddoc.lsp: (defun S::STARTUP() (command "_-vbarun" "actualizarbloquetítulo") ) El nombre del proyecto del ejemplo es actualizarbloquetítulo. Referencia rápida Comandos APPLOAD Carga y descarga aplicaciones y define las aplicaciones que se van a cargar al iniciar. VBAIDE Muestra el Editor de Visual Basic. VBACARGAR Carga un proyecto VBA global en la sesión de trabajo actual. VBADMIN Administra operaciones de proyectos VBA a través de un cuadro de diálogo. 510 | Capítulo 7 Introducción a las interfaces de programación [...]... espacio de dirección que AutoCAD y opera directamente con las estructuras de datos y código principales de AutoCAD Estas bibliotecas aprovechan la arquitectura abierta de AutoCAD, proporcionando un acceso directo a las estructuras de bases de datos de AutoCAD, al sistema de gráficos, y al motor de geometría de AutoCAD para ampliar las clases y capacidades de AutoCAD en tiempo de ejecución Además, puede... aplicaciones o rutinas de AutoLISP pueden interactuar con AutoCAD de muchas formas Pueden pedir al usuario que introduzca información, acceder directamente a los comandos integrados de AutoCAD, y modificar o crear objetos en la base de datos de dibujo Mediante la creación de rutinas de AutoLISP pueden añadirse a AutoCAD comandos específicos para cada disciplina Algunos de los comandos estándar de AutoCAD son... originales de AutoCAD Es posible utilizar las bibliotecas de ObjectARX en combinación con otras interfaces de programación de AutoCAD, como AutoLISP o VBA, lo que permite la integración de las distintas API El entorno de programación ObjectARX se describe en ObjectARX Developer’s Guide La documentación forma parte de ObjectARX Software Development ObjectARX | 525 Kit, que se puede descargar de la sección Development... en la solicitud de comando de AutoCAD VBDESCARGAR Descarga un proyecto VBA global Variables de sistema No hay entradas Utilidades No hay entradas Modificadores de comandos No hay entradas AutoLISP y Visual LISP AutoLISP se basa en el lenguaje de programación LISP, sencillo de aprender y muy eficaz AutoCAD incluye un intérprete de LISP integrado, de manera que puede introducir el código de AutoLISP en... Utilidades No hay entradas Modificadores de comandos No hay entradas Carga y ejecución automáticas de las rutinas de AutoLISP Puede cargar las rutinas de AutoLISP cada vez que ejecute AutoCAD También puede cargar ciertos comandos o funciones en momentos concretos de una sesión de dibujo Carga y ejecución automáticas de las rutinas de AutoLISP | 515 Presentación general de la carga automática de AutoLISP AutoCAD. .. aplicaciones de software de diseño compartan datos de objeto inteligentes Puede ejecutar aplicaciones ObjectARX de otros fabricantes o escribir las que necesite Presentación general de ObjectARX ® ObjectARX (AutoCAD Runtime Extension) es un entorno de programación de lenguaje compilado para desarrollar aplicaciones de AutoCAD El entorno de programación ObjectARX incluye un número de bibliotecas de enlace... símbolos y variables de un espacio en otro Puede encontrar más información sobre espacios de nombre en AutoLISP Developer's Guide en el sistema de ayuda Si desea mostrar la Ayuda del desarrollador, vaya a la barra de herramientas de InfoCenter, y, a la derecha del botón Ayuda, haga clic en la flecha hacia abajo Cuando se abra el menú, haga clic en Recursos adicionales ➤ Ayuda del desarrollador Las aplicaciones... código de AutoLISP en la solicitud de comandos Si la función load se ejecuta correctamente, muestra el valor de la última expresión del archivo en la solicitud de comando Éste suele corresponder al nombre de la última función definida en el archivo o a instrucciones sobre el uso de la función que se acaba de cargar Si load falla, devuelve un mensaje de error de AutoLISP load puede fallar a causa de un... sistema de ayuda Si desea mostrar la Ayuda del desarrollador, vaya a la barra de herramientas de InfoCenter, y, a la derecha del botón Ayuda, haga clic en la flecha hacia abajo Cuando se abra el menú, haga clic en Recursos adicionales ➤ Ayuda del desarrollador 516 | Capítulo 7 Introducción a las interfaces de programación NOTA Los archivos de inicio de AutoLISP con nombres similares se cargan en función del... Utilidades No hay entradas Modificadores de comandos No hay entradas Uso de las aplicaciones de ObjectARX Para cargar una aplicación de ObjectARX, utilice la función Load del comando ARX Tras la carga, todos los comandos definidos por esta aplicación están disponibles en la solicitud de comandos Algunas aplicaciones de ObjectARX utilizan grandes cantidades de memoria del sistema Si ha terminado de usar . comprender los fundamentos de ActiveX Automation. Se puede encontrar una descripción de la interfaz AutoCAD ActiveX Automation en el Manual del desarrollador de ActiveX y VBA del sistema de ayuda cualquier tipo de aplicación puede acceder a los objetos de Automation que aparecen dentro de AutoCAD. Estas aplicaciones pueden ser ejecutables independientes, archivos de biblioteca de enlace dinámico. AutoCAD ofrece dos ventajas: ■ El acceso programático a los dibujos de AutoCAD puede realizarse desde muchos otros entornos de programación. Antes de ActiveX Automation, los desarrolladores debían