Está en la página 1de 17

1 2 Programación en Catia v5

2 Programación en CATIA v5.

En este capítulo se pretende dar una idea general del


entorno de programación Visual Basic for Applications en
el software de Catia v5.

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 25
Alejandro Martín Garrido
1 2 Programación en Catia v5

2.1 Programación en Catia v5

Como se ha comentado, CATIA (de sus siglas en inglés Computer Aided Three dimensional
Interactive Application) es un software de diseño CAD/CAE muy potente que, además de poner
a nuestra disposición una gran cantidad de herramientas de trabajo para el modelado de
sólidos contiene herramientas para implementar los conceptos de KBE.

Una de las herramientas es la programación en VBA y al plantearnos el desarrollo y uso de


esta opción, estamos persiguiendo dos objetivos principales:

1. Conseguir que los procesos se realicen más rápido (al ser trabajados por lotes).

2. Disminuir la probabilidad de error humano (al realizar procesos repetitivos que pueden
conllevar falta de atención).

A continuación se van a exponer algunos de los conceptos y principios que integran la


programación en VBA para Catia.

2.1.1 El entorno de programación para VB

Entorno de Desarrollo Integrado (Integrated Development Enviroment IDE) Se llama de


esta manera a la aplicación que ayuda al desarrollador de software. Consiste en un editor de
código, un analizador de fallos, herramientas de construcción automáticas, un visualizador de
objetos y un compilador. El IDE de Catia nos permite además acceder a la biblioteca de objetos
propios. De cómo usar este entorno se hablará posteriormente en el apartado 2.2.4.

Figura 2.1 Entorno de Desarrollo Integrado de Catia v5

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 26
Alejandro Martín Garrido
1 2 Programación en Catia v5

Interfaz Gráfica de Usuario (Graphical User Interface GUI) Es el conjunto de elementos


gráficos que permite a las personas interactuar con la computadora. Estos elementos son los
que comúnmente son susceptibles de interactuar a través de un ratón, tales como ventanas,
iconos, barras de herramientas, etc. Nuestro sistema llevará formularios que hagan las veces
de GUI al pedir al usuario cierta información.

Component Object Manual (COM) Es una plataforma de Microsoft que permite compartir
código a través de diferentes aplicaciones y lenguajes de programación. Son aquellos que,
relacionados con el apartado anterior, se desarrollan para funcionar como archivos DLL y se
guardan en el registro de Windows.

2.1.2 La configuración de Catia

Para activar las funciones de los lenguajes de programación, Catia tiene que ser
configurado para que las características propias de cada lenguaje sean tenidas en cuenta.

En Tools > Options encontramos el formulario de opciones de Catia. En el apartado


General > Macros seleccionamos el tipo de lenguaje que necesitemos para la creación del
código de programación. En nuestro caso optaremos por la opción MS VBA – Visual Basic
Editor.

Figura 2.2 Opciones de Lenguaje de Macros

2.1.3 Los objetos de Catia

El lenguaje de programación Visual Basic está basado en objetos, es decir, la mayoría de


las entidades a las que podemos acceder a través de él son otros objetos. Elementos tales
como documentos, ventanas gráficas, Bodies, Pads, Sketches, planos, líneas, puntos

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 27
Alejandro Martín Garrido
1 2 Programación en Catia v5

geométricos... de Catia V5 son representados en Visual Basic como objetos con sus
propiedades y métodos.

Ejemplo:

Dim MiDocumento As Document 'Declaramos un objeto tipo Document_


(documento).
Set MiDocumento = Catia.ActiveDocument „Lo definimos como el_
documento activo.

Una propiedad es una parte del objeto que contribuirá a definir cómo es éste. Por
ejemplo, la propiedad FullName de un objeto tipo Document devuelve el nombre completo
(incluyendo la ubicación o path) del documento al que este apunta. En función del tipo de
objeto con el que estemos trabajando existirán propiedades que podrán modificarse y otras
que son de sólo lectura. Para trabajar con cualquier propiedad tenemos que apuntar al objeto
a la que ésta hace referencia.

Ejemplo:

Dim NombreDoc As String 'Declaramos una variable tipo String


NombreDoc = Midocumento.FullName „Devuelve una cadena del tipo_
“C:\PFC_Temp\Dr2_2.CATDrawing”

Un método es una acción que se ejecuta sobre un objeto determinado. Así, el método
Save aplicado sobre un objeto tipo Document guarda el documento.

Midocumento.Save

Un método puede necesitar argumentos para que se ejecute, por ejemplo el método
SaveAs aplicado sobre un documento requiere la ubicación y el nombre con el que queremos
guardar dicho documento.

Midocumento.SaveAs “C:\PFC_Temp\NombrePrueba.CATDrawing” „Guarda el_


documento como NombrePrueba en C:\PFC_Temp

Distinguiremos dos tipos distintos de métodos:

a) Método Sub: no devuelve ningún valor. Si un método Sub requiere argumentos estos
no deben ir entre paréntesis. La estructura general para usar este método es:

Objeto.Sub argumento1, argumento2 , argumento3, …

b) Método Función: devuelve un valor o un objeto. Si un método Función requiere


argumentos estos deben ir entre paréntesis. La estructura general a utilizar es:

Objeto.Función (argumento1, argumento2 , argumento3, …)

La partícula Set se emplea solamente si el valor devuelto es un objeto y no una cadena de


caracteres o un número (variables tipo String, Boolean, Double, Integer). En el caso de que el
valor devuelto sea almacenado como una propiedad de otro objeto no debemos usar dicha
partícula. La estructura general de uso es:

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 28
Alejandro Martín Garrido
1 2 Programación en Catia v5

Set ObjetoDevuelto = ObjetoOrigen.Funcion (arg1,arg2,arg3,…)


ObjetoDestino.Propiedad = ObjetoOrigen.Funcion (arg1,arg2,arg3,…)

Una colección es un tipo especial de objeto que contiene otros objetos de la misma clase,
por ejemplo una colección de documentos (Documents) contiene objetos del tipo Document
(documento). En general las colecciones se denotan en plural para distinguirlas de los objetos
individuales. Para acceder a cualquier elemento de una colección utilizamos el método Item
seguido del índice (posición del objeto dentro de la colección: 1,2…) o del nombre del objeto
que queremos obtener.

Dim oDocS As Documents 'Declaramos una colección tipo Documents


Set oDocS = Catia.Documents „Establecemos esta colección igual a la_
activa de Catia
Dim oDoc1 As Document 'Declaramos un objeto tipo Document
Set oDoc1 = oDocoS.Item(2) „ lo igualamos al segundo documento de la_
colección documentos

O bien:

Set Documento1 = documentos.Item(“NombrePrueba.CATDrawing”) „siendo


“NombrePrueba.CATDrawing” el nombre exacto

Para obtener el número de objetos contenidos en cualquier tipo de colección utilizamos la


propiedad Count asociada a dicha colección. La estructura general para usar esta propiedad es:

Dim NumElem As Integer 'Declaramos una variable de tipo entero


NumElem = Coleccion.Count „Se iguala al número de documentos de la_
colección

Comprendiendo el funcionamiento interno de estos objetos, métodos y colecciones


podemos realizar prácticamente todas las accionas que un diseñador hace mientras que
‘mueve el ratón’ a través de código programado. Sin embargo, poder repetir acciones no
obtiene nuevos diseños mejorados ni conceptos estéticos.

2.1.4 Ayuda de Catia

Una de las herramientas principales que se van a utilizar para el desarrollo de macros o
scripts es la ayuda que ofrece Catia. En este aspecto, podemos encontrar todas las variables
que utiliza en lenguaje VBA, junto con descripciones de sus características, categoría,
funcionamiento, propiedades, métodos,… En definitiva, una completa biblioteca de uso
indispensable.

Además de contar con una valiosa información acerca de los objetos propios aplicados a
VBA, en la ayuda de Catia encontramos pequeñas guías de sus respectivos módulos. En ellas se
definen los conceptos básicos, las interactuaciones que realizan sus módulos y algunos
consejos para diseñar con mayor funcionalidad.

La ayuda se suministra a través de formato HTML, lo que facilita en cierta medida el acceso
a la misma. Sin embargo, la estructura de Catia en la que está basada la ayuda, no permite una

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 29
Alejandro Martín Garrido
1 2 Programación en Catia v5

búsqueda intuitiva de la información sino que nos obliga a navegar por una gran cantidad de
opciones y recursos hasta encontrar lo que deseamos.

Generalmente la mejor forma de interactuar con ella es a través del explorador. Una vez
realizada una búsqueda podemos seleccionar las entradas a partir bloque al que pertenecen.
Para nuestro trabajo, generalmente estaremos interesados en los módulos:

 Programming Interface

 DMU Navigator Journaling Task

 Infrastructure Journaling Objects

Figura 2.3 Ayuda de Catia

A continuación podemos ver un ejemplo resumido de la información obtenida a través de


la ayuda de Catia para el objeto Line:

Line (Object)

Represents the hybrid shape Line feature object.

Role: Declare hybrid shape Line root feature object. All interfaces for different type of Line
derivates HybridShapeLine.

Property Index

FirstUptoElem Role: Gets the First upto element of the line.

SecondUptoElem Role: Gets the Second upto element of the line.

Method Index

GetDirection Role: Returns the unit-vector pointing in the direction of the line.

GetOrigin Role: Returns the origin of the line.

PutDirection Role: Sets the unit-vector pointing in the direction of the line.

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 30
Alejandro Martín Garrido
1 2 Programación en Catia v5

Por otro lado, la información obtenida sobre las propiedades y métodos en la ayuda de
Catia generalmente puede ser encontrada en el editor de VB. Para ello sólo tenemos que

pulsar el botón del Object Browser (Examinador de Objetos) y buscar nuestro objeto o
método deseado. Sin embargo, la información obtenida de esta manera no nos da una visión
global del objeto y de cómo funciona. Para realizar una pequeña comparativa, en la imagen
podemos ver la información obtenida de la búsqueda del mismo objeto Line del párrafo
anterior:

Figura 2.4 Explorador de Objetos

2.1.5 Compatibilidad entre lenguajes

Desde comienzos de la versión 5 de Catia, se ha dado soporte para editar con lenguaje
vbscript en lugar del utilizado entonces CATScript. Con ello, se ganó en compatibilidad aunque
se mantuvo la opción del lenguaje CATScript para no tener que rehacer el trabajo previo. Sin
embargo, conocer las diferencias entre los lenguajes CATScript (con cierta tendencia a la
obsolescencia) y VBA es necesaria puesto que una de las herramientas que nos va a permitir
ahorrar tiempo en nuestro proceso de programación está relacionada con el lenguaje
CATScript: El ‘grabador de macros’ de Catia (2.2.3)

Conversión de CATScript a VB/VBA

En general, no debería de haber problemas al utilizar el código extraído de un CATScript


(así es como lo obtenemos después de grabar una macro) al usarlo para un proyecto VB/VBA.
Sin embargo, algunos procesos de escritura son incompatibles entre el BasicScript y el código
en VBA.

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 31
Alejandro Martín Garrido
1 2 Programación en Catia v5

Normalmente cuando un método devuelve un objeto abstracto, el BasicScript considera a


la variable en la que el objeto va a ser almacenado del tipo necesario sin tener que ser
declarada específicamente. De esta manera, se pueden utilizar ciertas propiedades y métodos
dentro de una variable general que englobe a otra específica.

Dim oDoc As Document


Set oDoc = CATIA.ActiveDocument „Devuelve un Documento genérico
Dim oParte As Part
Set oParte = oDoc.Part „Asocia oDoc (documento genérico) a uno tipo_
Part

En cambio, en VB/VBA no es posible hacerlo de esta manera, hay que especificar


correctamente cada variable dentro de su objeto. De manera que el sistema no tenga que
‘averiguar’ cuál es la naturaleza del mismo.

Dim oDoc As PartDocument


Set oDoc = CATIA.ActiveDocument „Devuelve un Documento tipo_
PartDocument
Dim oParte As Part
Set oParte = oDoc.Part „Asocia oDoc (PartDocument) a uno tipo Part

Por ello es necesario tener cuidado a la hora de generar código en CATScript para convertirlo
en código para VB/VBA.

Trabajar con matrices de parámetros

Es necesario tener cuidado a la hora de trabajar con matrices de parámetros ya que


algunas definiciones pueden hacer que sus métodos no funcionen correctamente. Esto es
debido a que generalmente, definiciones provenientes de BasicScript, pueden tener múltiples
tipos de valores dentro de una matriz. Cuando se comete este tipo de error, el lenguaje
VB/VBA no es capaz de trabajar con los tipos de definiciones que soporta BasicScript.

Dim strParam1 As StrParam


Set strParam1 = parameters1.Item(“STRING”)

iSize = strParam1.GetEnumerateValuesSize()
Redim myArray(iSize-1)
strParam.GetEnumerateValues myArray

For i = 0 To iSize-1
msgbox myArray(i)
Next

Generalmente este error conlleva un mensaje de error del tipo:

Function or interface marked as restricted, or the function uses an


automation type not supported by Visual Basic.

La solución sencilla es no definir en este caso la matriz, de modo que VB/VBA puedan
trabajar con ella según los requerimientos necesarios.

Dim strParam1 ' As StrParam -


Set strParam1 = parameters1.Item(“STRING”)

iSize = strParam1.GetEnumerateValuesSize()

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 32
Alejandro Martín Garrido
1 2 Programación en Catia v5

Redim myArray(iSize-1)
strParam.GetEnumerateValues myArray

For i = 0 To iSize-1
msgbox myArray(i)
Next

2.1.6 Compatibilidad entre releases

Las diferentes revisiones (releases) de Catia pueden dar problemas a la hora de funcionar
con macros. Esto ocurrirá si intentamos migrar un código realizado para una versión a otras. A
continuación se exponen algunos de los errores más que con más frecuencia pueden aparecer.

Tablas de Funciones Virtuales

Al cambiar la revisión, la biblioteca de objetos propios de Catia puede verse modificada de


manera que un objeto varíe sus propiedades o el orden de éstas. El origen de este problema
está en cómo se llama a los métodos por parte de VB/VBA. Si se realiza una llamada con la
implementación Invoke cuando no se ha especificado el tipo de objeto, el sistema busca este
método entre los posibles y lo activa.

Dim oObjecto
oObjecto.DoThis

Sin embargo, al definir el objeto y variar debido al cambio de revisión:

Dim oObjecto As SpecificTypeOfObject


oObjecto.DoThat

Se realizará una llamada vinculante, la cual hará que la descripción en la tabla de funciones
virtuales de oObject se volverá a crear a partir de la información disponible en la biblioteca de
tipos, describiéndose el tipo SpecificTypeOfObject con una llamada a la posición en la tabla en
vez de al tipo o método.

Si en una nueva release, el orden de los métodos en esta tabla virtual de funciones cambia
(puede ocurrir cuando se añaden nuevos métodos), la aplicación hará una llamada de método
equivocado llevando a un problema que es difícil de identificar.

Además, la descripción extraída por VB/VBA de la biblioteca de tipos no suele estar


siempre actualizada cuando ésta cambia. Esto quiere decir que recompilar el proyecto puede
no corregir un problema. A continuación se muestra el método que puede solucionar este
problema:

 Abrir el proyecto VB o VBA

 Eliminar todas las referencias a la biblioteca de tipos de V5 utilizando el


Project/References o los ítems del menú Tools/References

 Guardar y cerrar el proyecto

 Reabrir el proyecto y añadir de nuevo las referencias necesarias

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 33
Alejandro Martín Garrido
1 2 Programación en Catia v5

Typelibs Obsoletas

Algunas bibliotecas de tipos pueden quedarse obsoletas y desaparecer con el lanzamiento


de una nueva release. Si los derechos de acceso permiten modificar el registro de Windows, las
referencias a esas bibliotecas serán automáticamente eliminadas cuando se abra el archivo
CATVBA. Si este no es el caso, el siguiente mensaje podría aparecer cuando se abre el macro:

CNEXT CATScriptError Message Scripting ERR_1000


Execute the script “XXXXX” |XXXXX = The script entry point could not
be found.
XXXXX Define a “CATMain” procedure which will be the entry point of
the script

Para evitar esto, se debe abrir el VBA (Alt-F11) y utilizar el panel del menú de ítems
Tools/References. En este panel, se deselecciona la referencia concerniente a la biblioteca de
tipos y se hace clic en OK.

Este problema puedo también ocurrir en proyectos VBA que no tengan aplicaciones V5 o
VB6.

Aceptación de la variable Boolean en CATVBA

Hay una limitación conocida concerniente al uso del tipo Boolean en los procesos de
llamada de VBA a los procesos de V5 Automation. En las aplicaciones de V5, el tipo Boolean es
definido como un ‘unsigned char’ donde las definiciones de VBA son cortas. Cuando un
proceso de V5 se vuelve True, el valor integer devuelto es 1, aunque VBA está esperando que
sea -1. Debido a esta diferencia, el siguiente código VBA no funcionará como se esperaba

If myObj.boolMethod() = True Then // This test will fail...End If

Para corregir este problema, se debe escribir el código de la siguiente forma:

If myObj.boolMethod() Then End If

O bien de la siguiente manera:

If myObj.boolMethod() != False Then ...End If

Por la misma razón, el método Not no puede ser aplicado directamente en el valor
devuelto por el mismo, puesto que devolverá True en vez de False.

Not(myObj.boolMethod())

Para usar este método habrá que almacenar el valor en una variable antes de aplicarlo:

Dim myBoolmyBool = myObj.boolMethod()Not(myBool)

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 34
Alejandro Martín Garrido
1 2 Programación en Catia v5

2.2 Comenzando la creación de macros

Para poder comenzar a desarrollar macros para Catia, además de tener ciertos
conocimientos básicos sobre, necesitamos conocer cómo aplicar ciertos procesos sencillos y el
entorno propio del editor.

A continuación se propone una pequeña muestra descriptiva de algunos de los procesos y


elementos más relevantes.

2.2.1 El archivo catvba y las Bibliotecas de Macros

Este tipo de archivo con extensión *.catvba es la colección o proyecto que almacena los
elemento programados. En él podemos encontrar formularios, módulos, funciones, clases,
colecciones... Básicamente todo aquello que podamos programar para el entorno de Catia.

Para cada proyecto en el que deseemos trabajar hay que crear un archivo catvba nuevo e
indicar a Catia que tiene que usarlo para encontrar los módulos en los que hemos trabajado. Al
igual que puede ocurrir con los otros archivos de Catia es fundamental que estén bien
localizados y en la misma ubicación, para su correcto funcionamiento.

2.2.2 Crear una Biblioteca de Macros

Una Macro Library (biblioteca de macros) es un directorio donde las macros están
ubicadas. Es la aplicación del archivo catvba dentro del proceso de programación para Catia.
Utilizando la biblioteca de macos el usuario puede tener un acceso rápido a todas las macros
que contiene el archivo.

Para crear una biblioteca de macros tenemos que acceder a través de Tools > Macro >
Macros… Una vez seleccionado, nos aparece la lista de las bibliotecas que ya se encuentran
activadas en el registro de Catia (así como los diferentes módulos que la componen). Ahora,
seleccionando Macro Libraries… entramos finalmente en la ventana de opciones.

Figura 2.5 Biblioteca de Proyectos

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 35
Alejandro Martín Garrido
1 2 Programación en Catia v5

En esta ventana podremos seleccionar bibliotecas ya existentes (importarlas), crear nuevas


o borrar alguna previa. Además podremos elegir el tipo de biblioteca que vamos a realizar. En
nuestro caso seleccionaremos VBA projects lo cual creará el archivo catvba asociado a este tipo
de biblioteca.

2.2.3 Grabar una macro

Esta utilidad permite grabar en código fuente, de manera ordenada y automática, todas las
acciones que realicemos durante el tiempo que dure el proceso de grabación.

Para grabar una macro deberemos proceder de la siguiente forma:

 Seleccionar Tools > Macro > Start Recording…

 Seleccionar la biblioteca (directorio o proyecto VBA) o el documento (CATPart,


CATDrawing, CATProduct,…) donde queremos guardar la macro.

Figura 2.6 Menú de grabación de Macros

 Pulsar sobre el botón Start y comenzamos a realizar las acciones en las que estamos
interesados.

 Finalmente, cuando hayamos terminado pulsamos el botón ‘Stop’ (que ha


aparecido previamente). Para encontrar la macro grabada, en el editor
encontraremos un nuevo módulo con las líneas de comandos.

Las opciones más importantes de este proceso están relacionadas con el paso ‘b’ anterior:
Dónde y cómo guardar la macro grabada. Para guardar la macro debemos seleccionar el menú
desplegable correspondiente a la casilla Current macro library or document de la Figura 2.5
Biblioteca de Proyectos y seleccionar el destino. Para ello las tres opciones que nos ofrece el
sistema son:

 Vinculada a alguno de los documentos abiertos de Catia (sólo en lenguaje Catscript o


Vbscript). Relaciona dicho documento y el fichero que contiene la macro.

 Almacenar la macro dentro de un directorio existente (lenguaje Catscript y Vbscript).

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 36
Alejandro Martín Garrido
1 2 Programación en Catia v5

 Almacenar la macro como un módulo dentro de un proyecto de VBA existente (solo


válido para el lenguaje VBA). Esta opción es la más útil para este proyecto puesto que
permite trabajar directamente con la información en el entorno de trabajo de VBA.

Si bien es cierto que el Grabador de Macros es una herramienta muy potente, hay que
tener en cuenta que sólo sirve como base para el trabajo. Principalmente porque los
comandos almacenados sólo realizan las acciones en el mismo orden y con las mismas
llamadas siempre que se encuentren en la misma configuración. Es decir, copia las acciones en
el sentido más literal. Es responsabilidad del programador reordenar, configurar y crear las
llamadas oportunas para que el código cobre sentido y funcionalidad.

2.2.4 Editar una macro

Para editar una macro vamos a utilizar el entorno de desarrollo integrado, también
conocido como Visual Basic Editor (Editor de Visual Basic). Este editor consta de diferentes
ventanas que nos permiten acceder fácilmente a las herramientas suministradas.

Para poder editar una macro, hay que conocer al menos las más importantes de ellas y las
opciones básicas que nos permiten. En este apartado vamos a dar una visión global de estos
elementos.

Project Explorer

La ventana del Project Explorer (Explorador del Proyecto) recoge todos los archivos que
componen el proyecto de programación en el que se está trabajando. Es decir, muestra qué
contiene el archivo catvba asociado (podríamos entenderlo como el explorador de nuestra
biblioteca del proyecto). En él podemos ver los diferentes módulos, formularios y clases que
componen el proyecto. Estos elementos pueden a su vez ser exportados o importados a través
de archivos que se añaden al proyecto.

Los módulos son los son programas o


rutinas independientes y se guardan para
su exportación en ficheros con extensión
BAS.

Los formularios son rutinas asociados


a ventanas gráficas donde se incorporan
objetos y eventos, si se desean exportar se
almacenan con extensión FRM.

Las clases son las definiciones de


nuevos objetos donde se encuentran las
propiedades y eventos de los mismos, a su
vez son almacenadas como CLS.

Figura 2.7 Ventana del explorador de Proyecto

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 37
Alejandro Martín Garrido
1 2 Programación en Catia v5

Properties Window

La Ventana de Propiedades refleja en una


columna todas las propiedades del formulario que
se encuentre activado, en ese momento, en la
ventana de propiedades. Estas propiedades
pueden modificarse para conseguir la
configuración deseada de los elementos que
componen el formulario.

Figura 2.8 Ventana de Propiedades

Ventana de Código

Es la ventana en la que se van a guardar las líneas de comandos de nuestro código. Posee
la capacidad de colorear las letras de forma automática para poder distinguir con cierta
facilidad las características de la estructura del código.

Figura 2.9 Ventana de Código

Además de estos elementos, encontramos el anteriormente comentado Object Browser y


las diferentes barras de herramientas:

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 38
Alejandro Martín Garrido
1 2 Programación en Catia v5

 Standard Contiene los botones comúnmente utilizados. Con ella casi no es


necesario trabajar con las otras.

 Debug Muestras las herramientas para encontrar los errores en el código.

 Edit Ofrece las herramientas de edición del texto.

 UserForm Facilita las acciones para editar el formulario de manera gráfica.

Todos los elementos anteriores tienen las características comunes de los editores de
programación en VBA. Por ello, una persona acostumbrada a programar en este lenguaje lo
encontrará familiar. Para los usuarios nuevos, es además un sistema intuitivo en el que con un
poco de práctica podemos hacer las primeras aplicaciones.

2.2.5 Script Debugger

Catia nos da la oportunidad de utilizar el Microsoft Script Debbugger. Este programa nos
permite utilizar el depurador de errores cuando se encuentre una orden de ‘Stop’ en el
programa o cuando se encuentre un error.

Además ofrece información relativa al error ocurrido y a la ubicación de la línea de


comandos en el texto, por lo que es una herramienta fundamental para solucionar posibles
problemas de forma rápida y eficiente.

Figura 2.10 Mensaje de Error generado por el Script Debugger

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 39
Alejandro Martín Garrido
1 2 Programación en Catia v5

2.2.6 Ejecutar una macro

A la hora de ejecutar una macro previamente creada, tenemos que acceder a la misma de
la siguiente manera:

1.- Seleccionar [Tools > Macro > Macros]

2.- Seleccionar la macro deseada y pulsar el botón [Run]

Si la macro no tiene ningún error de edición (es nuestra responsabilidad no involucrarla en


un bucle infinito), se puede observar los resultados de la misma tras su ejecución.

En el caso de que exista el error, siempre que Catia pueda detectarlo nos ofrecerá
información relacionada con el mismo, de manera que facilita nuestra corrección.

Hay otros métodos que permiten, a través de código o ejecución de comandos, activar una
macro. La finalidad de este proyecto es poder dar una mayor facilidad al usuario, por lo que se
propone utilizar un método más sencillo a la vez que familiar: La ejecución a través de iconos
en las barras de herramientas.

2.2.7 Añadir una macro a la barra de herramientas

Se puede añadir un icono a la barra de herramientas de manera que al pulsarlo active


inmediatamente la macro. Esto es de gran utilidad para los usuarios que desconocen qué se
encuentra detrás del icono y sólo quieren utilizar la herramienta proporcionada. Además
permite la opción de tener una gran cantidad de macros organizadas según la funcionalidad
deseada, consiguiendo así un mayor nivel de eficacia.

Para realizar este proceso tenemos que asegurarnos primero de que la macro va a ser
reconocida por CATIA. Para ello comprobamos que está incluida en alguna biblioteca:

Seleccionar
Tools > Macro >
Macros…

Figura 2.11 Biblioteca de Módulos

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 40
Alejandro Martín Garrido
1 2 Programación en Catia v5

Una vez que hemos comprobado que está y que su ruta es correcta comenzamos el
proceso para crear el icono.

 Vaya a Tools > Customize…, luego en la pestaña de Comands seleccione ‘Macros’

 Pinche la macro seleccionada y arrástrela a la barra de herramientas donde quiera


que esté disponible. Aparecerá un icono con la forma genérica.

Se pueden cambiar las propiedades del icono, el nombre, el formato… en el botón de


propiedades.

Adicionalmente podemos crear barras de herramientas para que contengan un conjunto


de botones asociados a las macros que desarrollemos. Esto se realiza en cada entorno de
trabajo a través de las diferentes opciones de Tools > Customize > Toolbars y seleccionando en
New. Finalmente, para asignar botones a esta barra de herramientas seleccionamos Add
Commands.

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 41
Alejandro Martín Garrido

También podría gustarte