3 Principales Objetos y Colecciones - Servidor de la ...

18
Principales Objetos y Colecciones 42 3 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 3 Principales Objetos y Colecciones En este capítulo se intenta dar una idea general de las diferentes acciones de programación que podemos realizar dentro de los módulos Assembly Design, Part Design y Drafting

Transcript of 3 Principales Objetos y Colecciones - Servidor de la ...

Page 1: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

42

3

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

3 Principales Objetos y Colecciones

En este capítulo se intenta dar una idea general de las

diferentes acciones de programación que podemos realizar

dentro de los módulos Assembly Design, Part Design y Drafting

Page 2: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

43

3

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

3.1 Introducción

En este capítulo vamos a tratar de dar una idea general de los aspectos más importantes

de estos módulos para entender con más facilidad el trabajo realizado durante el proceso de

programación de la aplicación.

La aplicación que vamos a desarrollar, a partir de ahora denominada Auto_Draw

(Automatized Drawings), está abarcada dentro de los tres principales módulos de diseño de

Catia. Estos módulos contienen infinitud de objetos y propiedades contenidos en una extensa

biblioteca que los relaciona. Además, estos tres módulos no sólo están relacionados entre sí

por las llamadas a las diferentes variables que necesitan para funcionar sino que también se

encuentran englobados en los objetos Document y Documents al ser trabajados en su mayor

parte a raíz de los principales archivos de Catia (Part, Product y Drawing)

Si quisiéramos desarrollar todas las variables, métodos y propiedades de cada uno de los

módulos tendríamos por delante una ardua tarea desentrañando toda la información

contenida en la ayuda de Catia (Apdo. 2.1.4). Por eso, vamos a centrarnos en los principales

documentos con los que se han trabajado y en los objetos directamente relacionados con

nuestra aplicación.

Bloques desarrollados en la aplicación

Assembly Design (Products): Es el encargado de establecer la organización de los

archivos con los que se va a trabajar y su configuración. Esto se realizará a través de

una lista de los Parts o Products a los que queremos aplicarles el proceso y de un

formulario de control respectivamente.

PartDesign (Parts): Trabajará a un nivel más geométrico (o físico en algunos casos) con

la pieza. Calculará las escalas de los diferentes Parts de la lista, la matriz de Inercia de

la pieza (para su uso posterior).

Drafting (Drawings): Es el bloque de mayor proceso de la aplicación. Dibujará las

piezas bajo las características que le indiquemos basándonos en el análisis anterior

(Tamaño de hoja, datos del cajetín, Background personalizado, dirección de ejes en el

dibujo,…) y permitirá la exportación de los archivos en PDF y DWG.

3.2 Colección Documents y Objeto Document

En el apdo. 1.3 se ha dado una idea general de las propiedades básicas de la programación

en VBA para Catia. En él se han definido los objetos, propiedades, métodos y las colecciones.

En este primer apartado vamos a centrarnos en la colección Documents y en los objetos

que la integran tipo Document.

Page 3: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

44

3

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

3.2.1 Colección Documents

Como su nombre indica, esta colección contiene todos los objetos tipo Document que en la

aplicación se encuentran presentes. Estos documentos tienen que ser de uno de los tres tipos

estudiados posteriormente: ProductDocument, PartDocument, DrawingDocument o

AnalysisDocument.

Esta colección no tiene propiedades por lo que sólo podremos interactuar con ella a partir

de los métodos que nos ofrece.

Método Función Add Crea un objeto Document y lo añade a la colección. Además lo activa y abre

su correspondiente ventana en modo edición. Dim PartDoc As Document

Set PartDoc = Documents.Add("Part")

Item Devuelve un Document usando el índice de localización en la lista de documentos o mediante el nombre. Dim ThisDoc As Document

Set ThisDoc = Documents.Item(5)

Dim ThatDoc As Document

Set ThatDoc = Documents.Item("MiDoc")

NewFrom Crea un nuevo Document desde otro existente en un archivo y lo añade a la colección. Archivo_lectura = "C:\PFC_Temp\Dr1_2.CATDrawing"

Dim Doc As Document

Set Doc = Documents.NewFrom(Archivo_lectura)

Open Abre un Document almacenado en un archivo, lo activa y lo añade a la colección. Archivo_lectura = "C:\PFC_Temp\Dr1_2.CATDrawing"

Dim Doc As Document

Set Doc = Documents.Open(Archivo_lectura)

Read Lee un Document almacenado en un archivo y a través de él pueden obtenerse las propiedades del mismo. No permite que se modifique el original. Archivo_lectura = "C:\PFC_Temp\Dr1_2.CATDrawing"

Dim Doc As Document

Set Doc = Documents.Read(Archivo_lectura) Tabla 3.1 Colección de Métodos de la Colección Documents

3.2.2 Objeto Document

El sistema operativo trata al objeto abstracto Document como un conjunto en el que se

almacena la información en archivos y bases de datos. Este tipo de objeto aúna las

propiedades y métodos comunes para todos los tipos de Documents que soporta. Como se ha

comentado en el apartado anterior, estos objetos tienen asignados diferentes tipos según el

contenido que poseen (ProductDocument, PartDocument, DrawingDocument o

AnalysisDocument).

Page 4: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

45

3

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

De esta manera, al activar este Document se carga el Workbench adecuado para el

documento, permitiendo utilizar los correspondientes comandos habilitados para crear,

modificar o editar el documento.

A continuación se detallan el conjunto de propiedades y métodos que poseen:

Propiedad Acción Cameras Devuelve la colección de Cameras del Document

Dim CameraCollection As Cameras

Set CameraCollection = Doc.Cameras

CurrentFilter Devuelve o establece el filtro de visualización actual. Se realiza a través del nombre del filtro y no de su configuración Doc.CurrentFilter = "Filter001"

CurrentLayer Devuelve o establece el Layer actual. Se realiza a través del nombre del filtro y no de su numeración Doc.CurrentLayer = "Layer 3"

FullName Devuelve el nombre completo del documento (incluye la ruta)

DocFullName = Doc.FullName

Esta propiedad devuelve un texto del tipo:

C:\PFC_Temp\Dr1_2.CATDrawing

Path Devuelve la ruta del documento

DocPath = Doc.Path

Esta propiedad devuelve un texto del tipo:

C:\PFC_Temp\

ReadOnly Nos informa si un documento es de sólo lectura o puede ser también editado (Propiedad booleana – True = Es de sólo lectura) EsSoloLectura = Doc.ReadOnly

Saved Nos indica si un documento ha sido modificado y por lo tanto necesita ser guardado (Propiedad booleana – True = No ha sido modificado) HaCambiado = NOT Doc.Saved

SeeHiddenElements Devuelve o establece la visibilidad de los documentos ocultos (Propiedad booleana – True = Permite la visibilidad) Doc.SeeHiddenElements = True

Selection Devuelve la Selection actual. Aquellos seleccionados por el usuario en el documento activo Dim Sel As Selection

Set Sel = Doc.Selection

Tabla 3.2 Colección de Propiedades del Objeto Document

Método Función Activate Activa el documento y establece el Workbench apropiado

Doc.Activate()

Close Cierra el documento (Avisa si hay necesidad de salvarlo)

Doc.Close()

CreateFilter Crea un nuevo filtro de visualización a partir del nombre y la definición (falla si se repite un nombre existente) Doc.CreateFilter ("Filter001", "layer= 2 &

Page 5: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

46

3

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

layer= 1")

CreateReferenceFromName Crea una referencia desde una etiqueta GenericNaming (Cada tipo de documento tiene unas características específicas) DocFullName = Doc.FullName

Esta propiedad devuelve un texto del tipo:

C:\PFC_Temp\Dr1_2.CATDrawing

ExportData Exporta los datos contenidos en el documento a otro formato permitido Doc.ExportData("Nombre_Exp", "formato")

GetWorkbench Devuelve una de las workbenches del documento

Doc.GetWorkbench("Structural")

Indicate2D Activa una indicación de comando interactivo 2D (Sirve para los DrawingDocument o para los Sketchs en los Parts) 'Al ser un método bastante complejo no se

analiza en este texto en profundidad. Ver

Bibliografía ZIETHEN (cap. 8.25)

Indicate3D Activa una indicación de comando interactivo 3D

'Al ser un método bastante complejo no se

analiza en este texto en profundidad. Ver

Bibliografía ZIETHEN (cap. 8.25)

NewWindow Crea una nueva ventana para el documento (lo abre y activa). Además añade la ventana a la colección correspondiente Dim MyWindow As Window

Set MyWindow = Doc.NewWindow()

RemoveFilter Elimina un filtro de visualización existente (no puede ser el activado) Doc.RemoveFilter ("Filter001")

Save Guarda el documento

Doc.Save()

SaveAs Guarda el documento con otro nombre

Doc.SaveAs("NewName")

Tabla 3.3 Colección de Métodos del Objeto Document

El conocimiento de estas propiedades y métodos es de gran utilidad para el desarrollo de

los programas. Saber qué nos permite hacer Catia con facilidad a través del estudio de las

características de sus objetos es fundamental, como se verá cuando se explique el código

desarrollado, para simplificar y conseguir procesos más eficientes.

3.3 ProductDocument y objeto Product

En el capítulo 1 de este documento se ha comentado la finalidad de este módulo, su

ámbito de acción y su principal documento: El archivo CATProduct.

A nivel de programación en Catia, este archivo está denominado como un

ProductDocument (pertenece a la colección Documents).

Page 6: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

47

3

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

Debido a la naturaleza del archivo Product, que gestiona la estructura y el posicionamiento

de otros modelos 3D, la interacción que podemos tener con ellos es menor que con los

archivos Part o Drawing.

Esta estructura se realiza por medio de los métodos AddNewProduct, AddComponent y

AddExternalComponent. Cada producto está posicionado en el espacio tridimensional gracias

al objeto Position que representa el sistema de ejes 3D del producto con respecto al sistema

de ejes 3D del montaje (sistema general de referencia). Otros objetos interesantes del

CATProduct son Move y Constraints, que permiten desplazar por el espacio el producto y

establecer relaciones fijas con respecto a otras características respectivamente.

3.3.1 ProductDocument

Este objeto representa el objeto Document especificado para estructuras de producto.

Cuando se crea un ProductDocument, a su vez se está creando un producto raíz cuyo padre es

el objeto ProductDocument. Su nombre predeterminado es RootProduct (que se puede

sobrescribir con AnyObject.name) y es el que ocupa el nivel más alto de la jerarquía de

nuestro objeto.

Figura 3.1 Objetos y Colecciones del Product

Page 7: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

48

3

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

Sin embargo, podemos establecer o trabajar con ProductDocuments que hayan sido

previamente creados.

A nivel de programación, la única propiedad que lo distingue se recoge en la tabla

siguiente:

Propiedad Acción Product Devuelve el Product raíz (el inicial en la estructura del documento)

Dim ProductoRaiz As Product Set ProductoRaiz = MyProductDoc.Product

Tabla 3.4 Colección de Propiedades del Objeto ProductDocument

3.3.2 Objeto Product

Este objeto representa al archivo Product y es el encargado de modelar y gestionar la

estructura de árbol que posee. Para ello se sirve de las propiedades y métodos explicados a

continuación y englobados en la Figura 3.1 Objetos y Colecciones del Product.

Como comentarios adicionales al funcionamiento del objeto cabe destacar que:

Hay que tener en cuenta que algunos productos pueden ser utilizados como

referencias para crear otros, que son instancias del producto de referencia. Por

ejemplo, la rueda delantera izquierda en un coche se puede utilizar como

referencia para crear las otras ruedas.

Hay que tener cuidado con las propiedades y métodos ya que algunos pueden

estar dedicados a hacer referencia a objetos solamente y otros son sólo

componentes.

Propiedad Acción Analyze Devuelve el objeto Analyze asociado al Product activado

Dim Analisis As Analyze Set Analisis = Engine.Analyze

Definition Devuelve o establece el objeto Definition del producto. Válido solo para productos referenciados.

EngineDef = Engine.Definition

DescriptionInst Devuelve o establece la descripción (comentario que ayuda en la descripción) para productos que componen el nuestro. Desc = "Comentario descriptivo del producto" MiProducto.DescriptionInst(Desc)

DescriptionRef Devuelve o establece la descripción para productos referenciados

DescR = "Comentario descriptivo del producto" MiProducto.DescriptionRef(DescR)

Move Devuelve el objeto Move (se agrega a través del Product)

Dim MoveObjecto As Move

Page 8: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

49

3

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 MoveObjecto = MiProducto.Move

Nomenclature Devuelve o establece la nomenclatura (nombre coloquial del dentro de la organización) del producto. Sólo para productos referenciados NombreMiProducto = MiProducto.Nomenclature

Parameters Devuelve la colección Parameters del Product. Contiene todos los parámetros agregadas a cualquiera de los objetos del Product Set ProductoRaiz = MyProductDoc.Product Set params = ProductoRaiz.Parameters

PartNumber Devuelve o establece el PartNumber del Product (Sólo para productos referenciados) MiProducto.PartNumber("A120-253X-7")

Position Devuelve el objeto Position del Product (se agrega a través del Product) Dim oMiProdPos As Position Set oMiProdPos = MiProducto.Position

Products Devuelve la colección de Productos pertenecientes al Product actual

Dim MiProductoHijos As Products Set MiProductoHijos = MiProducto.Products

Position Devuelve el objeto Position del producto que contiene la información de la posición del producto en el espacio Dim oMiProductoPosition As Position Set oMiProductoPosition = MiProducto.Position

Publications Devuelve la colección de publicaciones gestionada por el producto

ReferenceProduct Devuelve la Referencia del Producto activado

Relations Devuelve la colección de Relations (todas aquellas que se usan para relacionar los parámetros) Set MiProdRaiz = productDoc.Product Set rels = MiProdRaiz.Relations

Revision Devuelve o establece el valor de la revisión (sólo productos referenciados) MiProd.Revision("3-A")

Source Devuelve o establece la fuente del producto (sólo productos referenciados) Una ‘fuente’ es el plan de diseño de la organización para obtener un producto. Valores: catProductMade - interno, catProductBought – vendor y catProductUnknown indeterminado MiProd.Source(catProductMade)

UserRefProperties Devuelve la colección de objetos que contienen las propiedades del Product (todas aquellas creadas en el objeto ReferenceProduct) Set productRoot = productDoc.Product Set UserProps = MiProdRaiz.UserRefProperties

Tabla 3.5 Colección de Propiedades del Objeto Product

Método Función ActivateDefaultShape Activa la forma por defecto

Page 9: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

50

3

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

ActivateShape Activa una forma en concreto

oProdRaiz.ActivateShape(NombreForma)

AddMasterShapeRepresentation

Añade la representación de formas principal del producto (este objeto da la forma geométrica y permite la visualización). Es opcional

iShapePathName Ruta de la representación principal MiProd.AddMasterShapeRepresentation("C:\Modelos\MiProd.model")

AddShapeRepresentation Añade una representación al producto con un comportamiento concreto (una representación contiene la geometría y permite la visualización).

iShapePathName Ruta de la representación iShapeName Nombre de la representación iRepBehavior Comportamiento o tipo de la representación (3D, 2D o texto) iContext Condición de contexto – representación con otros productos MiProd.AddShapeRepresentation("C:\Modelos\MiProd.model","MiForma",catRep3D,TRUE)

ApplyWorkMode Establece un nuevo modo de trabajo

newMode Nuevo modo de trabajo

Connections Devuelve la colección de constraints (restricciones) del producto (aquellas que cumple al ser posicionado en el espacio). Dim ConstMiProd As Collection Set ConstMiProd= MiProd.Constraints

CreateReferenceFromName Crea una referencia gracias a un nombre. Una referencia es un objeto que permanece para cualquier tipo de objeto y permite añadir las restricciones usando elementos Brep.

iLabel La ruta del elemento Brep usado en la restricción. Es tipo string y responde a un proceso específico de llamadas Dim Ref As Reference Ref = Prod2.CreateReferenceFromName("Prod1/Prod2

/!Face:(Brp:(Pad.1:0(Brp:(Circle.1))):None())")

DesactivateDefaultShape Desactiva la forma por defecto activada.

DesactivateShape Desactiva una forma en concreto.

DesactivateShape(NombreForma)

ExtractBOM Extrae el contenido del Product como una lista de materiales (Bill of Materials).

iFileType Establece el tipo de archive de salida (catFileTypeHTML /

catFileTypeTXT)

iFile Archivo donde se crea la BOM

GetActiveShapeName Devuelve el nombre de la forma activada.

GetAllShapesNames Devuelve una lista con todos los nombres de las formas.

Page 10: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

51

3

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

'Es conveniente dimensionar la lista a través de GetNumberOfShapes

GetDefaultShapeName Devuelve la forma por defecto (nombre).

GetMasterShapeRepresentation

Devuelve la representación de la forma principal del producto.

iLoadIfNecessary ‘True’ fuerza una precarga para verificar que existe. Dim MSRep As Object Set MSRep =_

MiProd.GetMasterShapeRepresentation(True)

GetMasterShapeRepresentationPathName

Devuelve la ruta de la representación principal de la forma del Product.

Set RutaMSRep =_ MiProd.GetMasterShapeRepresentationPathName

GetNumberOfShapes Devuelve el número de formas.

GetShapePathName Devuelve la ruta del nombre de una forma concreta.

iShapeName Nombre de la forma

GetShapeRepresentation Devuelve la representación del producto con los parámetros dados.

iLoadIfNecessary ‘True’ fuerza una precarga para verificar que existe. iShapeName Nombre de la representación del producto iRepBehavior Comportamiento de la representación (catRep3D, catRep2D y capRepText iContext Condición de contexto para representarlo con otros productos Dim MSRep As Object Set MSRep = MiProd.GetMasterShapeRepresentation

(True,"PART",catRep3D,TRUE)

GetTechnologicalObject Devuelve el tipo de datos de parámetros que tenemos aplicados en el producto (devuelve colecciones u objetos simples). iApplicationType Tipo de información buscada Dim CnstMiProd As Collection Set CnstMiProd =_

MiProd.GetTechnologicalObject("Constraints")

HasAMasterShapeRepresentation

Devuelve la respuesta a si el product tiene una representación principal. Si se devuelve True la tiene

HasMSRep = MiProd.HasAMasterShapeReprsentation()

HasShapeRepresentation Devuelve la respuesta a si el product tiene una representación para un nombre y comportamiento. Si se devuelve True la tiene

iShapeName Nombre de la representación del producto iRepBehavior Comportamiento de la representación (catRep3D, catRep2D y capRepText iContext Condición de contexto para representarlo con otros productos

Page 11: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

52

3

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

HasRep =_ MiProd.HasRepresentation("PART",catRep3D,TRUE)

RemoveMasterShapeRepresentation

Elimina la representación principal de un producto.

MiProd.RemoveMasterShapeRepresentation()

RemoveShapeRepresentation Elimina una representación específica de un producto.

iShapeName Nombre de la representación del producto iRepBehavior Comportamiento de la representación (catRep3D, catRep2D y capRepText iContext Condición de contexto para representarlo con otros productos MiProd.RemoveShapeRepresentation("PART",catRep3D,TRUE)

Update Actualiza el producto (debido a los cambios en el Producto o en los Parts que contiene a cualquier nivel)

MiProdRaiz.Update

Tabla 3.6 Colección de Métodos del Objeto Product

3.4 PartDocument y objeto Part

Un documento CATPart contiene toda la información necesaria para generar un modelo

sólido computerizado. Se pueden crear de diversas formas y contener multitud de patrones e

información muy variada.

Respecto a las características de programación del archivo CATPart, al igual que el

CATProduct y CATDrawing, posee características de Document y de objeto individual gracias a

los objetos PartDocument y Part. Es uno de los elementos más complejos y de él cuelgan

muchas funciones y objetos que a su vez están compuestos por otros para conseguir abarcar

todas las posibilidades de diseño.

Por lo tanto, un estudio exhaustivo de este documento (al igual ocurre con el CATDrawing)

a nivel de programación extendería demasiado este apartado y no es el objeto del proyecto.

A continuación se explicarán levemente las características más generales y directas de

ambos objetos.

3.4.1 PartDocument

Representa al Document que contiene la información de la pieza. Al igual que en el

apartado anterior, cuando se crea este objeto (nuevo) se asocia un objeto Part raíz que

contiene la información del modelo 3D. Además, podemos acceder a la información del objeto

Product que lo contiene.

Page 12: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

53

3

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

Propiedad Acción

Part Devuelve el objeto Part ‘raíz’ del PartDocument activado

Set oPartRaiz = CATIA.ActiveDocument.Part

Product Devuelve el objeto Product ‘raíz’ del PartDocument activado

Set oProdRaiz = CATIA.ActiveDocument.Product

Tabla 3.7 Colección de Propiedades del Objeto PartDocument

3.4.2 Objeto Part

Acerca del objeto Partya se ha hablado con anterioridad en este proyecto. Por lo que a

continuación se explica la estructura de los objetos y colecciones que contiene. Estos son:

Las restricciones que se pueden configurar para los objetos en 3D y almacenarlas

en la colección Constraints.

Figura 3.2 Objetos y Colecciones del Part

Page 13: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

54

3

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

Las relaciones entre parámetros almacenadas en una colección Relations.

Los parámetros almacenados en la colección Parameters.

Las factorías ShapeFactory para crear formas e HybridShapeFactory para crear

formas híbridas. Además del objeto InstanceFactory para crear User Defined

Features o Power Copies (relacionados ambos con el knowledgeweare apdo. 1.2.1)

Las anotaciones funcionales y sus objetos pertenecientes bajo las colecciones

AnnotationSets y UserSurfaces

En cuanto a las colecciones de elementos pueden ser clasificadas en dos categorías:

a) Aquellas que sólo contienen objetos y métodos para eliminarlos o recuperarlos, pero

que dejan fuera a las factorías dedicadas a creación. Estas colecciones son:

Sketches

GeometricElements

Shapes

b) Las colecciones que también tienen medios para crear los objetos que contienen, tales

como:

Constraints

Relations

Parameters

Propiedad Acción

AnnotationSets Devuelve la colección annotation sets con todas aquellas anotaciones que se han agregado en el Part. Set PartRaiz = partDoc.Part Dim ConfigAntnos As AnnotationSets Set ConfigAntnos = PartRaiz.AnnotationSets

AxisSystems Devuelve la colección que contiene los sistemas de ejes.

Set PartRaiz = partDoc.Part Dim SistEjes As AxisSystems Set SistEjes = PartRaiz.AxisSystems

Bodies Devuelve la colección de Bodies que son hijos directos del Part. Set ColBodies = PartRaiz.Bodies

Constraints Devuelve la colección de constraints que contiene el Part(solo las relacionadas con modelo 3D). Set csts = PartRaiz.Constraints

Density Devuelve la densidad del Part.

MsgBox "La densidad es " &

Page 14: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

55

3

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

PartRaiz.Density

GeometricElements Devuelve la colección que contiene los elementos geométricos (solo las relacionadas con modelo 3D). Set ElemGeoms = PartRaiz.GeometricElements

HybridBodies Devuelve la colección que contiene los cuerpos híbridos que son hijos directos del Part. Set CuerHibrids = PartRaiz.HybridBodies

HybridShapeFactory Devuelve la factoría de formas híbridas. Permite la creación de formas híbridas en el Part. Dim FactFormHibrid As Factory Set FacFrmHibrd =_

PartRaiz.HybridShapeFactory

InWorkObject Devuelve o establece el último objeto en el que se trabaja del Part Set PartRaiz.InWorkObject = ObjetoPrevio

MainBody Devuelve o establece el cuerpo principal del Part

Dim CuerpoPrin As Body Set CuerpoPrin = PartRaiz.MainBody

OrderedGeometricalSets Devuelve la colección que contiene las configuraciones de objetos geométricos ordenados Set ColObjGeoOrd =_

PartRaiz.OrderedGeometricalSets

OriginElements Devuelve el objeto Partque define el origen del sistema de referencia Set OriSistElem = PartRaiz.OriginElements

Parameters Devuelve la colección que contiene los parámetros del Part (todos aquellos contenidos en cualquier nivel) Dim Params As Parameters Set Params = PartRaiz.Parameters

Relations Devuelve la colección que contiene las relaciones / fórmulas del Part (todas aquellas contenidas en cualquier nivel) Set Relas = PartRaiz.Relations

ShapeFactory Devuelve la factoría de formas del Part (Permite la creación de formas en el Part) Set FactForm = PartRaiz.ShapeFactory

SheetMetalFactory Devuelve la factoría de elementos metálicos (Permite la creación de elementos metálicos en el Part) Dim FactMet As Factory Set FactMet = PartRaiz.SheetMetalFactory

SheetMetalParameters Devuelve los parámetros de los elementos metálicos

Dim ParamElemMetal As SheetMetalParameters Set ParamElemMetal =_PartRaiz.SheetMetalParameters

UserSurfaces Devuelve la colección de superficies del usuario (todas aquellas contenidas en cualquier nivel) Dim SuprfUsus As UserSurfaces Set SuprfUsus = PartRaiz.UserSurfaces

Tabla 3.8 Colección de Propiedades del Objeto Part

Page 15: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

56

3

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

Método Función

Activate Aísla un objeto del proceso de actualización. Lo establece como objeto de trabajo Set pieza =_ PartRaiz.FindObjectByName("Biela") partRoot.Activate(pieza)

CreateReferenceFromBRepName

Crea una referencia desde una etiqueta GenericNaming. Permite trabajar con Breps de difícil acceso. iLabel Nombre de la etiqueta GenericNaming (tiene que describir la relación de forma sencilla) iObjectContext Establece la resolución para el objeto GenericNaming

CreateReferenceFromName Crea una referencia desde una etiqueta Generic Label. Permite trabajar con Breps de difícil acceso. iLabel Nombre de la etiqueta GenericNaming (tiene que describir la relación de forma sencilla)

CreateReferenceFromObject Crea una referencia desde un operador. Usar referencias facilita el manejo de objetos BRep y normales. iObject Objeto geométrico que va a ser referenciado (planos, líneas o puntos)

FindObjectByName Encuentra un objeto que no está en una colección por su nombre (en todos los niveles de la estructura). iObjName Nombre del objeto de la búsqueda Set obj = PartRaiz.FindObjectByName("Aro") If TypeName(obj)="Aro" Then MsgBox "Objecto Encontrado"

GetCustomerFactory Devuelve una factoría de usuario a partir de un nombre dado por el usuario. Permite al usuario definer su propia factoría de objetos. iFactoryIID El nombre en código de la factoría

Inactivate Inactiva la capacidad de un objeto para ser actualizado.

iObject Nombre del objeto desactivado Set obj1 = PartRaiz.FindObjectByName("Aro") PartRaiz.Inactivate(obj1)

IsInactive Indica si un objeto está desactivado. Un objeto desactivado no se actualiza con el Part. iObject El objeto a examinar Set obj1 = PartRaiz.FindObjectByName("Aro") isInactive = PartRaiz.IsInactive(obj1)

IsUpToDate Indica si un objeto necesita ser actualizado.

iObject El objeto a examinar

Page 16: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

57

3

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

isuptodate = PartRaiz.IsUpToDate(obj1)

Update Actualiza el Part conforme a las especificaciones.

PartRaiz.Update

UpdateObject Actualiza un objeto conforme a las especificaciones.

iObject El objeto a examinar Set pad1 = PartRaiz.FindObjectByName("Pad.1") PartRaiz.UpdateObject(pad1)

Tabla 3.9 Colección de Métodos del Objeto Part

3.5 DrawingDocument y objeto DrawingRoot

Al igual que con los dos archivos anteriores, el CATDrawing está abarcado por dos objetos

relacionados: el DrawingDocument y el RootDrawing (o Drawing). Sin embargo, debido a las

Figura 3.3 Objetos y Colecciones del CATDrawing

Page 17: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

58

3

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

peculiaridades de los dibujos en Catia se puede decir que la mayoría de las funciones que

abarcan están ramificadas en sus diferentes objetos y colecciones.

Un CATDrawing posee una estructura compuesta por Sheets (hojas), que a su vez tienen

diferentes Views (vistas) e incluso Layers (capas). Por lo tanto los objetos que contienen la

información y que son susceptibles de crear cambios en los documentos (al menos a nivel

geométricos) pueden estar contenidos en niveles de programación lejanos al propio

documento (por ello es necesario estudiar todas las opciones que se ofrecen en la ayuda).

En la Figura 3.3 Objetos y Colecciones del CATDrawing Figura 3.3 podemos ver cómo se

realiza esta estructura y la multitud de objetos y colecciones con sus propios métodos y

propiedades que ‘cuelgan’ de nuestros objetos principales.

3.5.1 DrawingDocument

De forma similar a sus los dos objetos tipo Document también poseemos uno para el caso

del CATDrawing. Sin embargo esta vez no abarca sólo las características propias de un

Document sino que también incluye algunas propias del archivo al que referencia.

Cuando creamos un DrawingDocument no sólo crearemos el DrawingRoot

correspondiente sino que también establecemos una serie de nuevas colecciones asociadas

que son necesarias para el funcionamiento (ver Tabla 3.10).

Propiedad Acción DrawingRoot Devuelve el drawing raíz del documento drawing

Set Dibj = CATIA.ActiveDocument.DrawingRoot

Parameters Devuelve la colección de parámetros del drawing

Set ParamsDib = Dibj.Parameters

Relations Devuelve la colección de relaciones del drawing

Set RelaDibs = Dibj.Relations

Sheets Devuelve la colección de hojas contenidas en un drawing

Set ColHojas = Dibj.Sheets

Standard Devuelve o establece el estándar del drawing o del documento drawing

Dibj.Standard = catISO

Tabla 3.10 Colección de Propiedades del DrawingDocument

Método Función Isolate Aísla todas las vistas de todas las hojas del dibujo

Dibj.Isolate

Update Actualiza todas las hojas del dibujo

Dibj.Update

Tabla 3.11 Colección de Métodos del DrawingDocument

Page 18: 3 Principales Objetos y Colecciones - Servidor de la ...

1 Principales Objetos y Colecciones

59

3

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

3.1.1. Objeto RootDrawing

De forma similar al archivo Part, el Drawing están compuesto por muchas colecciones y

objetos que permiten realizar diferentes acciones. Desde establecer tipo, forma, tamaño y

alineación de un cuadro de texto a rotar una vista pasando por incluir una fotografía en un

plano.

A continuación se especifican las propiedades y métodos generales de este objeto:

Propiedad Acción ActiveSheet Devuelve o establece la hoja active del documento Drawing.

CATIA.ActiveDocument.DrawingRoot.GetActiveSheet

Parameters Devuelve la colección de parámetros del documento Drawing.

Dim ParamDraw As Parameters Set ParamDraw = MiDibj.Parameters

Relations Devuelve la colección Relations del documento Drawing.

Dim RelDraws As Relations Set RelDraws = MiDibj.Relations

Sheets Devuelve la colección de hojas del documento Drawing.

Dim ColHojas As DrawingSheets Set ColHojas = MiDibj.Sheets

Standard Devuelve o establece la configuración de dibujo del documento Drawing.

MiDibj.Standard = catISO

Tabla 3.12 Colección de Propiedades del Objeto RootDrawing

Método Función Isolate Aísla todas las vistas de todas las hojas del documento Drawing.

MiDibj.Isolate

Update Actualiza todas las hojas del documento Drawing.

MiDibj.Update

reorder_Sheets Cambia el orden de las hojas del Drawing de acuerdo con una lista ordenada.

Set ColHojas = MiDibj.Sheets Set drwsheetsorder = MiDibj.DibjRaiz Set sheet1 = ColHojas.item(1) Set sheet2 = ColHojas.item(2) newsheetorder = Array(sheet2, sheet1) drwsheetsorder.reorder_Sheets(newsheetorder)

Tabla 3.13 Colección de Métodos del Objeto RootDrawing