2 programación en catia v5.bibing.us.es/proyectos/abreproy/60198/fichero/2_programación+en... ·...
TRANSCRIPT
1 Programación en Catia v5
25
2
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
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.
1 Programación en Catia v5
26
2
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
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
1 Programación en Catia v5
27
2
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 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.
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
Figura 2.2 Opciones de Lenguaje de Macros
1 Programación en Catia v5
28
2
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
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:
1 Programación en Catia v5
29
2
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
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
1 Programación en Catia v5
30
2
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
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
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:
Figura 2.3 Ayuda de Catia
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.
1 Programación en Catia v5
31
2
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
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:
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.
Figura 2.4 Explorador de Objetos
1 Programación en Catia v5
32
2
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
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()
1 Programación en Catia v5
33
2
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
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
1 Programación en Catia v5
34
2
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
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)
1 Programación en Catia v5
35
2
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
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
1 Programación en Catia v5
36
2
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
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.
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).
Figura 2.6 Menú de grabación de Macros
1 Programación en Catia v5
37
2
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
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
1 Programación en Catia v5
38
2
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
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.
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.
Además de estos elementos, encontramos el anteriormente comentado Object Browser y
las diferentes barras de herramientas:
Figura 2.8 Ventana de Propiedades
Figura 2.9 Ventana de Código
1 Programación en Catia v5
39
2
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
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
1 Programación en Catia v5
40
2
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
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
1 Programación en Catia v5
41
2
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
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.