1 programación en el diseño industrial: catia v5 y...

14
Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones 11 1 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 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.

Upload: dophuc

Post on 10-Mar-2018

234 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: 1 Programación en el diseño industrial: CATIA v5 y ...bibing.us.es/proyectos/abreproy/60198/fichero/1_Programación+en+el... · 1 1 Programación en el diseño industrial: Catia

1 Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

11

1

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

Alejandro Martín Garrido

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.

Page 2: 1 Programación en el diseño industrial: CATIA v5 y ...bibing.us.es/proyectos/abreproy/60198/fichero/1_Programación+en+el... · 1 1 Programación en el diseño industrial: Catia

1 Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

12

1

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

Alejandro Martín Garrido

1.1 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

Page 3: 1 Programación en el diseño industrial: CATIA v5 y ...bibing.us.es/proyectos/abreproy/60198/fichero/1_Programación+en+el... · 1 1 Programación en el diseño industrial: Catia

1 Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

13

1

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

Alejandro Martín Garrido

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.

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.

Figura 1.1 Proceso del Conocimiento

Page 4: 1 Programación en el diseño industrial: CATIA v5 y ...bibing.us.es/proyectos/abreproy/60198/fichero/1_Programación+en+el... · 1 1 Programación en el diseño industrial: Catia

1 Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

14

1

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

Alejandro Martín Garrido

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.

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.

Sin Aplicar KBE Creatividad Rutina

20% 80% Aplicando KBE

Creatividad Rutina

80% 20%

Tabla 1.1 Empleo del Tiempo según Métodos KBE

Page 5: 1 Programación en el diseño industrial: CATIA v5 y ...bibing.us.es/proyectos/abreproy/60198/fichero/1_Programación+en+el... · 1 1 Programación en el diseño industrial: Catia

1 Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

15

1

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

Alejandro Martín Garrido

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

Page 6: 1 Programación en el diseño industrial: CATIA v5 y ...bibing.us.es/proyectos/abreproy/60198/fichero/1_Programación+en+el... · 1 1 Programación en el diseño industrial: Catia

1 Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

16

1

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

Alejandro Martín Garrido

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.

Page 7: 1 Programación en el diseño industrial: CATIA v5 y ...bibing.us.es/proyectos/abreproy/60198/fichero/1_Programación+en+el... · 1 1 Programación en el diseño industrial: Catia

1 Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

17

1

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

Alejandro Martín Garrido

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.

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:

Figura 1.2 Product visualizado en Catia

Page 8: 1 Programación en el diseño industrial: CATIA v5 y ...bibing.us.es/proyectos/abreproy/60198/fichero/1_Programación+en+el... · 1 1 Programación en el diseño industrial: Catia

1 Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

18

1

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

Alejandro Martín Garrido

Los tres planos XY, YZ, y ZX de referencia para el modelo

La colección AxisSystems

La colección de OrderedGeometriclaSets

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.3 Part visualizado en Catia

Figura 1.4 Drawing visualizado en Catia

Page 9: 1 Programación en el diseño industrial: CATIA v5 y ...bibing.us.es/proyectos/abreproy/60198/fichero/1_Programación+en+el... · 1 1 Programación en el diseño industrial: Catia

1 Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

19

1

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

Alejandro Martín Garrido

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.

Page 10: 1 Programación en el diseño industrial: CATIA v5 y ...bibing.us.es/proyectos/abreproy/60198/fichero/1_Programación+en+el... · 1 1 Programación en el diseño industrial: Catia

1 Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

20

1

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

Alejandro Martín Garrido

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,

Page 11: 1 Programación en el diseño industrial: CATIA v5 y ...bibing.us.es/proyectos/abreproy/60198/fichero/1_Programación+en+el... · 1 1 Programación en el diseño industrial: Catia

1 Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

21

1

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

Alejandro Martín Garrido

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

Page 12: 1 Programación en el diseño industrial: CATIA v5 y ...bibing.us.es/proyectos/abreproy/60198/fichero/1_Programación+en+el... · 1 1 Programación en el diseño industrial: Catia

1 Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

22

1

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

Alejandro Martín Garrido

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

Page 13: 1 Programación en el diseño industrial: CATIA v5 y ...bibing.us.es/proyectos/abreproy/60198/fichero/1_Programación+en+el... · 1 1 Programación en el diseño industrial: Catia

1 Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

23

1

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

Alejandro Martín Garrido

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:

Page 14: 1 Programación en el diseño industrial: CATIA v5 y ...bibing.us.es/proyectos/abreproy/60198/fichero/1_Programación+en+el... · 1 1 Programación en el diseño industrial: Catia

1 Programación en el diseño industrial: Catia v5 y Visual Basic para Aplicaciones

24

1

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

Alejandro Martín Garrido

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)

IDE3 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).

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)