- 945 042 105
- info@torrecillacatia.com
- Login
Foros CATIA
- 2578 lecturas
- Inicie sesión o regístrese para comentar
No sé que nivel de programación partimos. Te lo comento porque el tema no es tan sencillo como para contarlo en dos palabras. Si tienes código de macro ya avanzado y el tema está en averiguar puntualemente lo que necesitas te podremos echar un cable más o menos rápido, pero si buscar la solución global hay que preparar todo el desarrollo de la macro.
Las macros en catia no son tan sencillas como grabar y ejecutar, hay que definir la estructura de objetos desde el Documento hasta la vista en tu caso, y después hacer las operaciones.
Aquí os dejo la rutina del Command button que lo inicia todo...(He quitado partes del código para no ocupar demasiado,..)pero ya veis que aun queda faena,... a ver si podéis echarme una mano en alguna de las ordenes,... (vereis que existen comentarios de lo que deberia hacer cada paso)
Private Sub ExecutarButton_Click()
Dim drawingDocument1 As DrawingDocument
'INICIO RUTINA
If CheckBox01.Enabled = True Then
'Activar WorkView
End If
If CheckBox02.Enabled = True Then
'Ocultar ejes
End If
If CheckBox03.Enabled = True Then
'Ocultar recuadros de vistas
End If
If CheckBox04.Enabled = True Then
'Bloquear vistas
End If
If CheckBox05.Enabled = True Then
'Renombrar 1,ºhoja
End If
If CheckBox06.Enabled = True Then
'Activar Sheet/Hoja (no las vistas)
End If
If CheckBox07.Enabled = True Then
'Fill All
CATIA.ActiveWindow.ActiveViewer.Reframe
End If
If CheckBox08.Enabled = True Then
'Executar el CATDUA
End If
If CheckBox09.Enabled = True Then
'Guardar cambios
End If
End Sub
Muchas gracias!!
Hay que ir definiendo todo hasta encontrar lo que necesites:
La siguiente macro necesitas tener catia abierto, y el documento CATDrawing que tiene las hojas activo y abierto
Sobre el documento abierto busca la primera hoja, le cambia el nombre y bloquea todas las vistas que tenga esta hoja.
Sub CATMain()
'Los documentos
Set documentos = Catia.Documents
'El documento abierto
Set MiDocumento = Catia.ActiveDocument
'Las hojas
Set Hojas = MiDocumento.Sheets
'localiza la primera hoja
Set Hoja = Hojas.Item(1)
'la activa
Hoja.Activate
'le cambia el nombre
Hoja.Name ="Nombre de la hoja"
'busca las vistas que tenga la hoja
Set Views =Hoja.Views
'calcula el numero de vistas en la hoja 1
Numero = Views.Count
'bloquea todas las vistas
For x = 1 To Numero
Set mivista = Views.Item(x)
mivista.LockStatus = true
next
End Sub
Esta es la estructura principal, a partir de aqui sería ir implementando con las demás propiedades que necesitas.
Hola m_ricca78
Yo en su dia hice una macro para pasar el CATDUA de forma automatizada, recuerdo que exporte un XML del CATDUA del UTILITY las caracteristicas y configuraciones que me interesaban del CATDUA.
Luego prepare una macro para rellenar las lineas de todos los modelos que quería pasar en este XML, el rollo es que hay que añadir una linea por cada fichero a analizar.
Y luego lanzaba este XML modificado desde la macro con el UTILITY y el comando:
Call ShellandWait(PathCNext$ & "\CATBatchStarter.exe -input " & RutaLog$ & "\CATDUA.xml")
donde:
PathCNext$ tendría que tener la ruta de instalacion de catia
RutaLog$ la ruta donde esta el XML
Un saludo
No entiendo bien cuando dices que te desactive una vista, ya que solo puede haber una vista activa en cada momento. ¿te refieres a que cuando activas una hoja te sale una vista activa diferente a la que necesitas?
Saludos m_ricca