Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 25
Alejandro Martn Garrido
1 2 Programacin en Catia v5
Como se ha comentado, CATIA (de sus siglas en ingls Computer Aided Three dimensional
Interactive Application) es un software de diseo CAD/CAE muy potente que, adems de poner
a nuestra disposicin una gran cantidad de herramientas de trabajo para el modelado de
slidos contiene herramientas para implementar los conceptos de KBE.
1. Conseguir que los procesos se realicen ms rpido (al ser trabajados por lotes).
2. Disminuir la probabilidad de error humano (al realizar procesos repetitivos que pueden
conllevar falta de atencin).
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 26
Alejandro Martn Garrido
1 2 Programacin en Catia v5
Component Object Manual (COM) Es una plataforma de Microsoft que permite compartir
cdigo a travs de diferentes aplicaciones y lenguajes de programacin. Son aquellos que,
relacionados con el apartado anterior, se desarrollan para funcionar como archivos DLL y se
guardan en el registro de Windows.
Para activar las funciones de los lenguajes de programacin, Catia tiene que ser
configurado para que las caractersticas propias de cada lenguaje sean tenidas en cuenta.
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 27
Alejandro Martn Garrido
1 2 Programacin en Catia v5
geomtricos... de Catia V5 son representados en Visual Basic como objetos con sus
propiedades y mtodos.
Ejemplo:
Una propiedad es una parte del objeto que contribuir a definir cmo es ste. Por
ejemplo, la propiedad FullName de un objeto tipo Document devuelve el nombre completo
(incluyendo la ubicacin o path) del documento al que este apunta. En funcin del tipo de
objeto con el que estemos trabajando existirn propiedades que podrn modificarse y otras
que son de slo lectura. Para trabajar con cualquier propiedad tenemos que apuntar al objeto
a la que sta hace referencia.
Ejemplo:
Un mtodo es una accin que se ejecuta sobre un objeto determinado. As, el mtodo
Save aplicado sobre un objeto tipo Document guarda el documento.
Midocumento.Save
Un mtodo puede necesitar argumentos para que se ejecute, por ejemplo el mtodo
SaveAs aplicado sobre un documento requiere la ubicacin y el nombre con el que queremos
guardar dicho documento.
a) Mtodo Sub: no devuelve ningn valor. Si un mtodo Sub requiere argumentos estos
no deben ir entre parntesis. La estructura general para usar este mtodo es:
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 28
Alejandro Martn Garrido
1 2 Programacin en Catia v5
Una coleccin es un tipo especial de objeto que contiene otros objetos de la misma clase,
por ejemplo una coleccin 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 coleccin utilizamos el mtodo Item
seguido del ndice (posicin del objeto dentro de la coleccin: 1,2) o del nombre del objeto
que queremos obtener.
O bien:
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 caractersticas, categora,
funcionamiento, propiedades, mtodos, En definitiva, una completa biblioteca de uso
indispensable.
Adems de contar con una valiosa informacin acerca de los objetos propios aplicados a
VBA, en la ayuda de Catia encontramos pequeas guas de sus respectivos mdulos. En ellas se
definen los conceptos bsicos, las interactuaciones que realizan sus mdulos y algunos
consejos para disear con mayor funcionalidad.
La ayuda se suministra a travs 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 Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 29
Alejandro Martn Garrido
1 2 Programacin en Catia v5
bsqueda intuitiva de la informacin 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 travs del explorador. Una vez
realizada una bsqueda podemos seleccionar las entradas a partir bloque al que pertenecen.
Para nuestro trabajo, generalmente estaremos interesados en los mdulos:
Programming Interface
Line (Object)
Role: Declare hybrid shape Line root feature object. All interfaces for different type of Line
derivates HybridShapeLine.
Property Index
Method Index
GetDirection Role: Returns the unit-vector pointing in the direction of the line.
PutDirection Role: Sets the unit-vector pointing in the direction of the line.
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 30
Alejandro Martn Garrido
1 2 Programacin en Catia v5
Por otro lado, la informacin obtenida sobre las propiedades y mtodos en la ayuda de
Catia generalmente puede ser encontrada en el editor de VB. Para ello slo tenemos que
pulsar el botn del Object Browser (Examinador de Objetos) y buscar nuestro objeto o
mtodo deseado. Sin embargo, la informacin obtenida de esta manera no nos da una visin
global del objeto y de cmo funciona. Para realizar una pequea comparativa, en la imagen
podemos ver la informacin obtenida de la bsqueda del mismo objeto Line del prrafo
anterior:
Desde comienzos de la versin 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 opcin 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 programacin est relacionada con el lenguaje
CATScript: El grabador de macros de Catia (2.2.3)
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 31
Alejandro Martn Garrido
1 2 Programacin en Catia v5
Por ello es necesario tener cuidado a la hora de generar cdigo en CATScript para convertirlo
en cdigo para VB/VBA.
iSize = strParam1.GetEnumerateValuesSize()
Redim myArray(iSize-1)
strParam.GetEnumerateValues myArray
For i = 0 To iSize-1
msgbox myArray(i)
Next
La solucin sencilla es no definir en este caso la matriz, de modo que VB/VBA puedan
trabajar con ella segn los requerimientos necesarios.
iSize = strParam1.GetEnumerateValuesSize()
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 32
Alejandro Martn Garrido
1 2 Programacin en Catia v5
Redim myArray(iSize-1)
strParam.GetEnumerateValues myArray
For i = 0 To iSize-1
msgbox myArray(i)
Next
Las diferentes revisiones (releases) de Catia pueden dar problemas a la hora de funcionar
con macros. Esto ocurrir si intentamos migrar un cdigo realizado para una versin a otras. A
continuacin se exponen algunos de los errores ms que con ms frecuencia pueden aparecer.
Dim oObjecto
oObjecto.DoThis
Se realizar una llamada vinculante, la cual har que la descripcin en la tabla de funciones
virtuales de oObject se volver a crear a partir de la informacin disponible en la biblioteca de
tipos, describindose el tipo SpecificTypeOfObject con una llamada a la posicin en la tabla en
vez de al tipo o mtodo.
Si en una nueva release, el orden de los mtodos en esta tabla virtual de funciones cambia
(puede ocurrir cuando se aaden nuevos mtodos), la aplicacin har una llamada de mtodo
equivocado llevando a un problema que es difcil de identificar.
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 33
Alejandro Martn Garrido
1 2 Programacin en Catia v5
Typelibs Obsoletas
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 tambin ocurrir en proyectos VBA que no tengan aplicaciones V5 o
VB6.
Hay una limitacin 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 cdigo VBA no funcionar como se esperaba
Por la misma razn, el mtodo 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 mtodo habr que almacenar el valor en una variable antes de aplicarlo:
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 34
Alejandro Martn Garrido
1 2 Programacin en Catia v5
Para poder comenzar a desarrollar macros para Catia, adems de tener ciertos
conocimientos bsicos sobre, necesitamos conocer cmo aplicar ciertos procesos sencillos y el
entorno propio del editor.
Este tipo de archivo con extensin *.catvba es la coleccin o proyecto que almacena los
elemento programados. En l podemos encontrar formularios, mdulos, funciones, clases,
colecciones... Bsicamente 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 mdulos en los que hemos trabajado. Al
igual que puede ocurrir con los otros archivos de Catia es fundamental que estn bien
localizados y en la misma ubicacin, para su correcto funcionamiento.
Una Macro Library (biblioteca de macros) es un directorio donde las macros estn
ubicadas. Es la aplicacin del archivo catvba dentro del proceso de programacin para Catia.
Utilizando la biblioteca de macos el usuario puede tener un acceso rpido a todas las macros
que contiene el archivo.
Para crear una biblioteca de macros tenemos que acceder a travs 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 mdulos que la componen). Ahora,
seleccionando Macro Libraries entramos finalmente en la ventana de opciones.
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 35
Alejandro Martn Garrido
1 2 Programacin en Catia v5
Esta utilidad permite grabar en cdigo fuente, de manera ordenada y automtica, todas las
acciones que realicemos durante el tiempo que dure el proceso de grabacin.
Pulsar sobre el botn Start y comenzamos a realizar las acciones en las que estamos
interesados.
Las opciones ms importantes de este proceso estn relacionadas con el paso b anterior:
Dnde y cmo 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:
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 36
Alejandro Martn Garrido
1 2 Programacin en Catia v5
Si bien es cierto que el Grabador de Macros es una herramienta muy potente, hay que
tener en cuenta que slo sirve como base para el trabajo. Principalmente porque los
comandos almacenados slo realizan las acciones en el mismo orden y con las mismas
llamadas siempre que se encuentren en la misma configuracin. Es decir, copia las acciones en
el sentido ms literal. Es responsabilidad del programador reordenar, configurar y crear las
llamadas oportunas para que el cdigo cobre sentido y funcionalidad.
Para editar una macro vamos a utilizar el entorno de desarrollo integrado, tambin
conocido como Visual Basic Editor (Editor de Visual Basic). Este editor consta de diferentes
ventanas que nos permiten acceder fcilmente a las herramientas suministradas.
Para poder editar una macro, hay que conocer al menos las ms importantes de ellas y las
opciones bsicas que nos permiten. En este apartado vamos a dar una visin global de estos
elementos.
Project Explorer
La ventana del Project Explorer (Explorador del Proyecto) recoge todos los archivos que
componen el proyecto de programacin en el que se est trabajando. Es decir, muestra qu
contiene el archivo catvba asociado (podramos entenderlo como el explorador de nuestra
biblioteca del proyecto). En l podemos ver los diferentes mdulos, formularios y clases que
componen el proyecto. Estos elementos pueden a su vez ser exportados o importados a travs
de archivos que se aaden al proyecto.
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 37
Alejandro Martn Garrido
1 2 Programacin en Catia v5
Properties Window
Ventana de Cdigo
Es la ventana en la que se van a guardar las lneas de comandos de nuestro cdigo. Posee
la capacidad de colorear las letras de forma automtica para poder distinguir con cierta
facilidad las caractersticas de la estructura del cdigo.
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 38
Alejandro Martn Garrido
1 2 Programacin en Catia v5
Todos los elementos anteriores tienen las caractersticas comunes de los editores de
programacin en VBA. Por ello, una persona acostumbrada a programar en este lenguaje lo
encontrar familiar. Para los usuarios nuevos, es adems un sistema intuitivo en el que con un
poco de prctica podemos hacer las primeras aplicaciones.
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.
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 39
Alejandro Martn Garrido
1 2 Programacin en Catia v5
A la hora de ejecutar una macro previamente creada, tenemos que acceder a la misma de
la siguiente manera:
En el caso de que exista el error, siempre que Catia pueda detectarlo nos ofrecer
informacin relacionada con el mismo, de manera que facilita nuestra correccin.
Hay otros mtodos que permiten, a travs de cdigo o ejecucin 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 mtodo ms sencillo a la vez que familiar: La ejecucin a travs de iconos
en las barras de herramientas.
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
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 40
Alejandro Martn Garrido
1 2 Programacin en Catia v5
Una vez que hemos comprobado que est y que su ruta es correcta comenzamos el
proceso para crear el icono.
Alejandro Martn Garrido Aplicacin para la generacin y exportacin CAD automtica de planos en
Catia V5 a partir de ficheros Part 41
Alejandro Martn Garrido