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
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.
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).
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 &
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).
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
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
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
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.
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
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.
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
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 " &
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
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
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
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
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
Top Related