1_Programación en el diseño industrial

Anuncio
1 1
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones
1 Programación en el diseño industrial: CATIA v5 y Visual Basic
para Aplicaciones
En este capítulo se pretende dar una idea general del
programa CATIA v5 y de las herramientas que ofrece al permitir
la programación en el lenguaje Visual Basic for Applications.
Alejandro Martín Garrido
Alejandro Martín Garrido
Aplicación para la generación y exportación CAD automática de planos en
Catia V5 a partir de ficheros Part
11
1 1
1.1
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones
Introducción a la aplicación industrial
La capacidad de crear macros y scripts que permitan automatizar procesos con garantías
es una herramienta de gran importancia dentro de la aplicación industrial.
Para crear estas aplicaciones en Catia, usaremos el lenguaje de programación Visual Basic.
La característica principal del mismo es que está orientado a eventos, lo que produce un estilo
de programación especialmente adaptado a los interfaces gráficos. La fuerza de este tipo de
programación reside en la interactuación que se produce entre el usuario final y el programa,
permitiendo de esta manera una mayor y más flexible capacidad de operaciones.
En general, cuando se habla de Visual Basic nos viene a la cabeza la programación para el
sistema ofimático MS Office. En cambio, su ámbito de acción llega mucho más lejos. Si bien es
cierto que esta herramienta puede facilitar enormemente la tarea de trabajar con programas
de cálculo, bases de datos y gestión de archivos, no es menos cierto que hay multitud de
programas de aplicación industrial que la recogen. Uno de sus puntos fuertes, es la capacidad
de intercomunicar a los diferentes programas que la soportan y otro es la facilidad para
generar trabajo con procesos por lotes.
Dentro de nuestro ámbito de acción, Catia permite que un usuario con cierto manejo de su
entorno pueda programar con Visual Basic. De esta manera puede simplificar y automatizar
algunas tareas diarias o repetitivas, crear herramientas adaptadas a su necesidad profesional,
realizar cálculos desde otros interfaces, generar informes, modificar diseños,… En definitiva,
facilitar el trabajo, conseguir ahorro de tiempo y aumentar la productividad y la eficacia.
1.1.1
La ingeniería basada en el conocimiento (KBE)
La ingeniería basada en el conocimiento (KBE Knowledge Based Engineering) es una
aplicación de la denominada gestión del conocimiento: recopilación de las mejores prácticas
de una organización para realizar su función con éxito.
Los sistemas KBE son aquellos que integran en el proceso el conocimiento que se posee,
los equipos o sistemas de diseño existentes, las normativas relevantes para el diseño del
producto y la experiencia de la organización.
De esta forma, podemos decir que este proyecto es una aplicación de los conceptos del
KBE. En él, se desarrolla un sistema que conforme a unas normas preestablecidas, facilita el
trabajo a través de las herramientas de diseño teniendo en cuenta la organización del proceso.
Profundizando un poco más en los conceptos del KBE, podemos decir que el conocimiento
abarca tres campos: Los simples datos, el proceso de la creación de la información y la
comprensión por la mente humana. Los datos se estructuran, se capturan y se transfieren con
facilidad. La información es la estructuración de los datos en un contexto, volviendo a estos
Alejandro Martín Garrido
Alejandro Martín Garrido
Aplicación para la generación y exportación CAD automática de planos en
Catia V5 a partir de ficheros Part
12
1 1
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones
comprensibles. Finalmente, la comprensión es la información organizada con significado para
nosotros.
En el proceso de transformación de datos a conocimiento, la participación humana es
creciente, mientras que el uso de tecnologías de la información es decreciente.
Figura 1.1 Proceso del Conocimiento
Algunas de las herramientas más importantes para desarrollar el conocimiento aplicado a
la ingeniería son:
- Sistemas de gestión documental.
- Sistemas de ingeniería basados en el conocimiento (KBE).
- La ingeniería concurrente.
- Sistemas PDM
Un sistema KBE puede proveer un entorno de software con el que un ingeniero
experimentado puede crear aplicaciones informáticas con la finalidad de que sean usadas por
otros ingenieros y diseñadores (usuarios finales). Permitiendo además que se puedan realizar
futuras revisiones de forma que se incorporen nuevos conocimientos y experiencias.
Dentro de Catia, podemos tomar una doble ruta para implementar los conceptos KBE:

Cuando hablamos de software de diseño pretendemos añadir funciones que
reproduzcan el trabajo repetitivo. Por ejemplo, la reproducción de elementos
geométricos usuales como tornillos, arandelas o remaches.

La parametrización del modelo y la creación de reglas, en la que se trata de
diseñar conforme a unos valores geométricos (o normas) generales, de forma que
en vez de contar con una gran cantidad de modelos semejantes, se puede
disponer de un elemento básico que altera sus dimensiones mediante relaciones y
variables.
Alejandro Martín Garrido
Alejandro Martín Garrido
Aplicación para la generación y exportación CAD automática de planos en
Catia V5 a partir de ficheros Part
13
1 1
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones
Aplicar ambas ideas permite que el tiempo empleado en crear nuestro diseño sin aporte
real de ‘conocimiento’ se reduzca drásticamente, pudiendo usar este ‘excedente de tiempo’ en
mejorar el diseño en sí mismo.
Sin Aplicar KBE
Creatividad
20%
Aplicando KBE
Rutina
80%
Creatividad
Rutina
80%
20%
Tabla 1.1 Empleo del Tiempo según Métodos KBE
1.2
Catia v5 como herramienta de diseño
Catia v5 es un programa informático de alto nivel que es utilizado en grandes y relevantes
áreas de la ingeniería como la aeronáutica y la automoción. En realidad, está constituido por
una serie de programas que se relacionan entre sí para conseguir simular el proceso de
creación. Permite realizar tanto el diseño como el análisis y la simulación de la fabricación de
los productos. Cuenta con grandes prestaciones como crear superficies complejas (Los
alerones de un automóvil de F1) o modelar el trabajo que realizaría un operario al fabricar un
producto. La industria de la construcción ha requerido de su uso en algunos casos cuando la
complejidad del edificio así lo requería, como fue el caso del Museo Guggenheim de Bilbao.
Se trata de un software CAD/CAM/CAE, es decir:

CAD (Computer - Aided Design): el diseño asistido por ordenador.

CAE (Computer - Aided Engineering): la ingeniería asistida por ordenador.

CAM (Computer - Aided Manufacturing): la fabricación asistida por ordenador.
Puesto que facilita una arquitectura abierta, podemos desarrollar aplicaciones o
personalizar el programa a través de la interfaz de programación orientada a los diferentes
lenguajes que soporta.
En este proyecto vamos a centrarnos en las funciones CAD y CAE. De manera que
utilizaremos algunas de sus herramientas CAE para mejorar la experiencia de los usuarios de
las herramientas CAD. Principalmente en la generación de planos de los diferentes productos.
Relacionándolo con el apartado anterior, diremos que dentro de la experiencia KBE, nos
centramos en el primero de los conceptos al facilitar mejoras de software.
Alejandro Martín Garrido
Alejandro Martín Garrido
Aplicación para la generación y exportación CAD automática de planos en
Catia V5 a partir de ficheros Part
14
1 1
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones
Diagrama 1.1 Proceso CAD
1.2.1 Módulo Knowledgeware y Entorno de Programación
El software de Catia v5 nos ofrece dos formas diferentes para capturar el conocimiento y
permitir que el usuario final mejore su experiencia. Uno de ellos es el módulo Knowledgeware y el
otro es el Entorno de Programación (desde donde crearemos las macros).
A continuación vamos a explicar el módulo Knowledgeware que nos permite desarrollar
soluciones desde tres herramientas diferentes.
a) El consejero del conocimiento (Knowledge Advisor)
Esta herramienta permite a los usuarios incluir el conocimiento dentro de un plan de trabajo
de forma que pueda influenciar en el diseñador para tomar decisiones, reducir errores o
automatizar procesos. Dentro de esta herramienta estarían recogidos los módulos de
programación (si bien es cierto que tienen, como hemos visto en el apdo. 1.1.1, diferente
naturaleza)
Además de las herramientas de programación, se pueden utilizar parámetros y fórmulas bajo
el concepto de ‘Diseño Parametrizado’
Parámetros: Los parámetros son elementos que permiten controlar variables que están
destinadas a formar parte de algún aspecto del diseño. Generalmente hablamos de
parámetros Intrínsecos al sistema cuando se definen automáticamente al trabajar con Catia y
Alejandro Martín Garrido
Alejandro Martín Garrido
Aplicación para la generación y exportación CAD automática de planos en
Catia V5 a partir de ficheros Part
15
1 1
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones
parámetros del Usuario cuando los creamos desde el exterior (medida, masa, reales,
booleanos, grados,…).
Fórmulas: Las fórmulas son los elementos de enlace entre los parámetros y aquellos que
conforman el diseño. Catia tiene su propio editor de fórmulas que contiene no sólo una lista
con todos los parámetros que contiene el modelo, sino también con una serie de funciones
que se pueden utilizar para definir la fórmula.
El conocimiento experto (Knowledge Expert)
Es una herramienta para analizar y manipular todo un producto. Tiene las mismas
capacidades que el módulo de Knowledge Advisor pero en se genera una Regla Base para
todo el sistema. Mientras que en el Knowledge Advisor se crean aplicaciones que
contienen características o propiedades del modelo.
Esta Regla Base es un conjunto de reglas que se han ido añadiendo por los usuarios, de
manera que en un conjunto pueden convivir las reglas pertenecientes a la Regla Base y las
situadas en un segundo nivel por cada usuario.
b) Plantillas ‘Producto del Conocimiento’ (Product Knowledge Template)
Con este módulo Catia permite crear productos modificables que dependiendo de los
parámetros introducidos por el usuario, se pueden convertir en familias de productos.
A partir del uso de estas Plantillas de Conocimiento del Producto es más fácil revisar y
mantener la información de manera interactiva puesto que no se requiere ninguna
habilidad de programación. Esto permite a las plantillas ser adaptadas a los requisitos
cambiantes del usuario, a metodologías mejoradas o a requisitos del cliente.
1.2.2 Tipos de documentos utilizados2
En nuestro proyecto, vamos a contar principalmente con el uso de tres tipos de archivos
de Catia: CATProduct, CATPart y CATDrawing. Si bien es cierto que el programa final
desarrollado estará contenido en un archivo de programación catvba.
Cada uno de estos archivos responde a un módulo de diseño de Catia diferente que nos
permite estructurar funciones relacionadas tanto con el concepto CAD como con el concepto
CAE.
Estos módulos permiten actuar sobre el documento a través de las Workbenchs. Los
Workbench son los entornos de trabajo que Catia carga con sus comandos y botones para
crear el diseño según el documento en el que estemos trabajando. Para poder realizar cierto
tipo de acciones sobre un documento es necesario que esté activado el entorno adecuado.
Además, estos entornos están organizados por comandos en barras de herramientas o menús.
2
En este apartado se ofrece una descripción general de los archivos. En los posteriores capítulos se
desarrollan en profundidad algunos de los elementos principales de los mismos.
Alejandro Martín Garrido
Alejandro Martín Garrido
Aplicación para la generación y exportación CAD automática de planos en
Catia V5 a partir de ficheros Part
16
1 1
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones
Product
Enmarcado dentro del módulo Assembly Design, un archivo tipo Product permite crear
estructuras complejas a partir de Parts u otros Products. Sus características principales son
posicionar las piezas de forma relativa en el espacio y establecer restricciones entre ellas.
Este tipo de archivos facilitan la comprensión final del elemento diseñado a partir de sus
piezas más simples.
Figura 1.2 Product visualizado en Catia
Un archivo tipo CATProduct contiene, a nivel de programación, un objeto tipo
ProductDocument. Éste posee una estructura en forma de árbol de la que ‘cuelgan’,
empezando por un producto único denominado ‘Root Product’ (Producto Raíz), una colección
de productos o partes en su estructura. Cada uno de los productos de esta colección puede
incluir en sí mismo una colección de productos (o partes) y así sucesivamente.
Part
El módulo Part Design está centrado en la creación y diseño de las piezas. Para ello cuenta
con muchas herramientas que permiten la creación sólidos modelados. Además es un módulo
con una alta capacidad de integración con otros módulos (por ejemplo los relacionados con
curvas y superficies complejas).
En él podemos crear formas complejas con características físicas, elementos superficiales,
extrusiones sólidas, sketches bidimensionales de los que generar revoluciones, análisis físicos,
aplicar densidad a los componentes,… Por ello es uno de los más conocidos de este software.
Un archivo tipo CATPart, de forma similar al CATProduct, contiene un objeto
PartDocument. Posee una estructura de árbol, empezando con el objeto Part localizado en la
parte superior y del que se ‘cuelgan’ los diferentes entes que lo componen. Entre ellos
podemos encontrar:
Alejandro Martín Garrido
Alejandro Martín Garrido
Aplicación para la generación y exportación CAD automática de planos en
Catia V5 a partir de ficheros Part
17
1 1
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

Los tres planos XY, YZ, y ZX de referencia para el modelo

La colección AxisSystems

La colección de OrderedGeometriclaSets
Figura 1.3 Part visualizado en Catia
Drawing
Dentro del módulo de Drafting encontramos las funcionalidades orientadas a la realización
de dibujos o planos 2D. Generalmente se utilizan modelos 3D para generar estos documentos.
Los archivos con extensión CATDrawing contienen vistas normalizadas, cortes, secciones…
de uno o más modelos sólidos. La automatización de tareas en este tipo de documentos nos
Figura 1.4 Drawing visualizado en Catia
Alejandro Martín Garrido
Alejandro Martín Garrido
Aplicación para la generación y exportación CAD automática de planos en
Catia V5 a partir de ficheros Part
18
1 1
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones
permitirá, por ejemplo, generar planos de un modelo sólido determinado de manera rápida y
sencilla sin tener que usar el módulo de dibujo, es decir trabajando directamente en el
documento CATPart. Además, se actualizan automáticamente al cambiar las características
geométricas del archivo que representan.
Los objetos y colecciones más importantes son aquellos relacionados con las hojas que
contienen los dibujos (Sheets), las vistas de la pieza (DrawingView), las relaciones (Relations) y
los parámetros (Parameters) de las mismas. Especialmente aquellos objetos relacionados con
el ‘comportamiento’ o la configuración del dibujo.
1.2.3 Los lenguajes de programación en CATIA v5
Como parte del método KBE, Catia nos ofrece la opción de programar para su sistema.
Originalmente estaba diseñada para los lenguajes VB6, VBA y VBScript. Sin embargo, cuando
Microsoft dejó de dar soporte a VB6 al ser reemplazado por VB.net, Catia migró su sistema
para poder dar soporte al nuevo lenguaje de programación.
Debido a los diferentes lenguajes que Catia soporta, tendremos diferentes maneras de
ejecutar o interpretar una macro. Principalmente por la manera en que estos lenguajes se
relacionan con los objetos (métodos y propiedades) propios de Catia.
Estos lenguajes son:
CATScript
Se denomina de esta manera a la versión de Dassault Systèmes basada en VBScript. Es un
lenguaje de programación secuencial y no está orientado a usar GUI. Cualquier editor de texto
puede ser utilizado para crear código. Sus principales inconvenientes provienen de la poca
flexibilidad que puede otorgar y la dificultad para encontrar errores (no tenemos capacidad de
depuración). A su favor, permite crear ‘grabaciones’ de macros de manera asistida por Catia,
que pueden ser reutilizadas, versionadas o vinculadas a documentos. Su extensión de archivo
es *.CATScript.
VBScript
Es un subconjunto del lenguaje VBA, por lo que todos los elementos que forman parte de
él también lo son de VBA (aunque no en sentido inverso). Este lenguaje sencillo fue
desarrollado originalmente para crear pequeñas aplicaciones Web. Comparte muchas
características con el CATScript. En general, podemos llamar a objetos de Catia pero no
podemos hacerlo especificando el tipo, lo que hace que el sistema llame dinámicamente
(intenta averiguar cuál es la mejor opción) las propiedades y métodos de los objetos. Este
proceso ralentiza su funcionamiento. A su vez, no está orientado a la programación GUI y tiene
menor funcionalidad. Su extensión de archivo es *.catvbs.
Alejandro Martín Garrido
Alejandro Martín Garrido
Aplicación para la generación y exportación CAD automática de planos en
Catia V5 a partir de ficheros Part
19
1 1
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones
Tanto CATScript como VBScript permiten ser procesados directamente desde dentro de la
aplicación de Catia, como cualquier otro comando de la misma. Por ello se considera que son
procesos internos.
VBA (Visual Basic for Applications)
Desde la versión 5 Release 8, Catia ha implementado la posibilidad de utilizar este
lenguaje. Para ello, posee una GUI de edición con todo lo necesario: Editor, Visualizador de
objetos y Depurador de errores. En este sistema se permite declarar la librería desde la cual
llamamos a los objetos, lo que permite utilizar la librería de objetos incorporada por el
sistema.
El problema principal de este lenguaje es que tiene que las aplicaciones son ejecutadas
desde dentro de Catia y presentan ciertas dificultades para compilarlas como DLL o
ejecutables. La extensión de sus archivos también es *.catvba, pero en este caso hablaremos
de proyectos al no ser vinculables a los documentos de Catia.
Los archivos anteriores también pueden ser lanzados externamente al programa, de
manera que pueden establecer relaciones más complejas con otros tipos de software tales
como Microsoft Excel, Matlab,…
1.3
Visual Basic (VB) y Visual Basic para Aplicaciones (VBA)
Como su nombre indica, el lenguaje de programación Visual Basic procede del
denominado BASIC (Beginner´s All-purpose Symbolic Instruction Code), que fue creado en 1964
en el Dartmouth College, como un medio para iniciarse en el mundo de la programación. Tras
varias modificaciones, en 1978 se estableció el BASIC estándar. Aunque en sus orígenes fuera
un lenguaje orientado a principiantes, actualmente se ha convertido en una interesante
alternativa para los programadores que deseen desarrollar aplicaciones compatibles con
Windows.
Se trata de un lenguaje de programación dirigido a través de eventos, evolución del
original BASIC al que se le han realizado importantes modificaciones. Su primera versión fue
presentada en 1991, con la intención de simplificar la programación mediante el uso de un
ambiente gráfico de desarrollo para la creación de interfaces gráficas (de ahí su nombre
Visual).
Dentro de la familia de Visual Basic, encontramos el subconjunto Visual Basic for
Applications. Generalmente nos referimos de esta manera al lenguaje especializado de VB
para funcionar dentro de otras aplicaciones cuya finalidad es crear macros. De esta manera,
Alejandro Martín Garrido
Alejandro Martín Garrido
Aplicación para la generación y exportación CAD automática de planos en
Catia V5 a partir de ficheros Part
20
1 1
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones
tenemos disponible una librería de objetos y aplicaciones propias de cada programa que
facilitan las tareas que este puede desarrollar.
1.3.1
Principios fundamentales de programación con VB/VBA
Como principio fundamental tenemos que en este lenguaje se presentan aplicaciones
procedimentales y manejadas por eventos.
Las procedimentales son aquellas que desarrollan líneas de código y los procesos descritos
en ellas, llamando a los procedimientos y demás variables según se le demande.
En cambio, las manejadas por eventos no llevan una ruta predefinida. Se ejecutan
diferentes secciones de código según las respuestas que se obtienen. Ésta es la principal
fortaleza en la utilización de este tipo de lenguaje a la hora de crear ciertas aplicaciones.
Los objetos son cada uno de los formularios (ventanas), menús o controles que se crean en
módulos. Se interpretarían como los objetos básicos de la construcción de aplicaciones. Los
objetos tienen características y comportamientos definidos por sus propiedades, métodos y
eventos.
Una colección es un tipo especial de objeto que contiene a otros objetos de la misma clase
y sirven para gestionarlos y establecer propiedades generales. En Catiav5 las colecciones se
denotan con el nombre en plural para distinguirlas de los objetos individuales que contienen.
Además, se considera que en la estructura están situados a mayor nivel que los objetos que
contienen.
Propiedades: Conjunto de datos que describen las características del objeto (tamaño,
color, color de fondo,…). Especialmente orientadas al aspecto, también pueden determinar el
comportamiento de formularios.
Métodos: Son un conjunto de procedimientos que permiten que un objeto ejecute una
acción sobre sí mismo. El formato para llamar a un método es el siguiente:
NombreDelObjeto.Método (argumentos opcionales)
Eventos: Es una acción reconocida por el objeto. Cuando un evento ocurre (se dispara) el
objeto interpreta esta interactuación y según su código de programación realizará las ordenes
preestablecidas.
Módulos: Son una serie de procedimientos genéricos, declaraciones de variables y
definiciones de constantes para toda la aplicación. Tienen diferente naturaleza y característica
según la funcionalidad que deseemos
Estas herramientas se desarrollan para crear la interfaz de usuario, la parte visual a través
de la cual el usuario interactúa con la aplicación. Los bloques básicos de construcción de una
Alejandro Martín Garrido
Alejandro Martín Garrido
Aplicación para la generación y exportación CAD automática de planos en
Catia V5 a partir de ficheros Part
21
1 1
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones
interfaz de usuario son los formularios y los controles. Visual Basic utiliza técnicas de
programación visual para diseñar las aplicaciones.
Otro de los pilares del lenguaje es el conjunto de variables. Un programa realiza
determinadas tareas: procesa eventos, realiza cálculos, ordena grupos de datos… Pero para
ello necesita disponer de una memoria intermedia donde poder guardar valores, cadenas de
caracteres y otros elementos, así estarán disponibles cuando el programa tenga que recurrir a
ellos. Con este fin se utilizan y definen las variables. Las variables pueden contener números,
datos de fecha y hora, textos o imágenes. Generalmente la vida útil de una variable es
limitada, es decir, sólo conserva su valor dentro de un procedimiento (dentro de las órdenes
Private Sub < Existencia de la variable > End Sub).
Para declarar variables tenemos dos métodos:
a) Declaración explícita: en este caso todos los módulos del código de un proyecto nuevo
contienen la línea ‘Option Explicit’. Las variables se declaran con:
Dim nombreVariable as TipodeVariable
b) Declaración implícita: con este modo no es necesario declarar variables al comienzo
del programa mediante Dim nombreVariable. No se declaran las variables al
comienzo de un programa sino que se emplean directamente durante el programa.
Generalmente es un sistema menos eficiente al tener el programa que declarar una
variable genérica y luego establecer las características asociadas al trabajo que se
realice con ella.
1.4
Herramientas de programación (Macros, .dll, .exe)
Desde un punto de vista de aplicación industrial encontramos que existen tres formas de
traducir las órdenes de control y trabajo. Aunque en esencia sean muy similares, según el uso
final del sistema programado cada una de ellas tiene sus propias características que la hacen
más idónea.
1.4.1 Macros
Una macro (del griego μακρο; significa «grande»), abreviatura de macroinstrucción, es un
conjunto de instrucciones que se almacenan para que se puedan ejecutar de forma secuencial
mediante una sola llamada u orden de ejecución. Dicho de otra forma, una macroinstrucción
es una instrucción compleja, formada por otras instrucciones más sencillas. Esto permite la
automatización de tareas repetitivas.
Las macros tienden a almacenarse en el ámbito del propio programa que las utiliza y se
ejecutan pulsando una combinación especial de teclas o un botón especialmente creado y
Alejandro Martín Garrido
Alejandro Martín Garrido
Aplicación para la generación y exportación CAD automática de planos en
Catia V5 a partir de ficheros Part
22
1 1
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones
asignado para tal efecto. En Catia, también podemos encontrar procesos en formato script.
Son de una categoría inferior a las macros y su potencia de programación está mucho más
reducida, aunque su uso para sistemas sencillos está muy extendido.
La diferencia entre una macroinstrucción y un programa es que en las macroinstrucciones
la ejecución es secuencial y no existe otro concepto del flujo de programa, y por tanto, no
puede bifurcarse.
Otro uso común de las macros es crear aplicaciones repetitivas que pueden ser
requeridas varias veces dentro de un código mucho más amplio. La creación de estas macros
puede permitir al programador no tener que repetir continuamente ciertos pasos del código.
Es tan común el empleo de macroinstrucciones que se les considera como una extensión de los
lenguajes.
1.4.2 Bibliotecas de enlace dinámico (.dll)
Conocidas comúnmente por sus siglas en inglés dll (dynamic-link library), es el término con
el que se refiere a los archivos con código ejecutable que se cargan bajo demanda de un
programa por parte del sistema operativo. Esta denominación es exclusiva del sistema
operativo Windows, siendo ".dll" la extensión con la que se identifican estos ficheros, aunque
el concepto existe en prácticamente todos los sistemas operativos modernos.
Dentro de sus principales ventajas encontramos que:
Reducen el tamaño de los archivos ejecutables. Gran parte del código puede estar
almacenado en bibliotecas y no en el propio ejecutable lo que redunda en una mejor
modularización.
Pueden estar compartidas entre varias aplicaciones. Si el código es suficientemente
genérico, puede resultar de utilidad para múltiples aplicaciones.
Facilitan la gestión y aprovechamiento de la memoria del sistema. La carga dinámica
permite al sistema operativo aplicar algoritmos que mejoren el rendimiento del sistema
cuando se carguen estas bibliotecas. Además, al estar compartidas, basta con mantener una
copia en memoria para todos los programas que la utilicen.
Brindan mayor flexibilidad frente a cambios. Es posible mejorar el rendimiento o
solucionar pequeños errores distribuyendo únicamente una nueva versión de la biblioteca
dinámica. Nuevamente, está corrección o mejora será aprovechada por todas las aplicaciones
que compartan la biblioteca.
Sin embargo, no todo son ventajas. Debido a la evolución que pueden sufrir, cada una de
la incorporación de mejoras en las bibliotecas puede ir modificándolas de tal forma que dejan
de ser compatibles. Esto puede producir dos efectos no deseados:
Alejandro Martín Garrido
Alejandro Martín Garrido
Aplicación para la generación y exportación CAD automática de planos en
Catia V5 a partir de ficheros Part
23
1 1
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

Que la instalación de un programa reemplace una dll con una nueva versión
incompatible.

Que la desinstalación del programa borre una dll compartida.
Dentro del entorno de VB podemos hacer llamadas a la biblioteca que necesitemos y
podemos crear nuestras propias bibliotecas.
Al crear archivos dll de VB (en el argot, este proceso también es conocido como compilar)
IDE sólo permitirá crear archivos dll de ActiveX, sin embargo, los métodos se han creado para
que el usuario pueda indicar explícitamente al vinculador que incluya un archivo. DEF que
define la posición de orden y nombre de cada función. Esto permite al usuario crear una
norma dll de Windows utilizando Visual Basic (versión 6 o menos) a la que se puede hacer
referencia a través de una declaración (Declare).
3
1.4.3 Archivos ejecutables
Una vez finalizada nuestra aplicación siempre podremos crear un archivo *.exe (de la
abreviación del inglés executable, que se traduce como ejecutable). Esta extensión se refiere a
un archivo de código reubicable, es decir, que tiene sus direcciones de memoria relativas. Son
utilizados para el sistema operativo de Windows
Para ello es necesario haber garantizado que todo funciona correctamente depurando
el código y haciendo diversas pruebas funcionales, pues una vez compilado no se puede
modificar.
Existen dos formas de crear un archivo de tipo EXE. Una es usando un compilador que
pueda crear este tipo de archivos (lo cual no significa específicamente que tiene que ser para
la plataforma donde se ejecutará). La otra forma es ensamblando un código fuente del
lenguaje Assembler y luego enlazando el código objeto resultante de la tarea anterior. En
nuestro caso, tendríamos que exportar el código desde Catia a Microsoft Visual Basic y tener
en cuenta que tendríamos que llamar a la biblioteca de funciones propias de Catia para poder
utilizarlo.
3
Intergated Development Environment Entorno de desarrollo integrado (ver apdo. 2.1.1)
Alejandro Martín Garrido
Alejandro Martín Garrido
Aplicación para la generación y exportación CAD automática de planos en
Catia V5 a partir de ficheros Part
24
Descargar