' Makro: Hide_Show_Result ' Version: 1.0 ' Catia Level: V5R19 ' UIL: English (User Interface Language) ' Autor: Christian Obholzer ' E-Mail: ch.obholzer@aon.at ' Erstellt: 11.03.2011 ' Zweck: Es wird der Body "Result" ein oder ausgeblendet '----------------------------------------------------------------------------------- ' Änderungen: Datum, Name ' Hier wird die Änderung angegeben ' Datum, Name ' Hier wird die Änderung angegeben '----------------------------------------------------------------------------------- Option Explicit Sub CATMain() '***Deklarationen Dim objWindows As Windows Dim objDoc As Document Dim strTyp As String Dim objSel As Object Dim Status As CatVisPropertyStatus Dim HideShow As CatVisPropertyShow '***Fehlerroutine einschalten On Error GoTo Fehler '***Abfrage nach geöffnetem Dokument Set objWindows = CATIA.Windows If objWindows.Count = 0 Then MsgBox "Es ist kein Dokument geöffnet." & vbNewLine & _ "Das Makro kann nicht ausgeführt werden und wird beendet.", vbCritical + vbOKOnly, "Kein Dokument offen" Exit Sub End If '***Auslesen der Dokumentart Set objDoc = CATIA.ActiveDocument strTyp = TypeName(objDoc) If strTyp = "DrawingDocument" Then MsgBox "Dieses Dokument ist kein Drawing." & vbNewLine & _ "Das Makro kann nicht ausgeführt werden und wird beendet.", vbCritical + vbOKOnly, "Falscher Dokumententyp" Exit Sub End If Set objSel = objDoc.Selection '***Vorselektion löschen um das Ergebnis nicht zu verfälschen objSel.Clear '***Performanceerhöhung der Suche CATIA.HSOSynchronized = False '***Element suchen objSel.Search "Part Design.Body.Name=Result, all" CATIA.HSOSynchronized = True If objSel.Count = 0 Then MsgBox "Der Body ist nicht vorhanden.", vbExclamation + vbOKOnly, "Body nicht vorhanden" Else '***Sichtbarkeitsstatus der Bodies ermitteln Status = objSel.VisProperties.GetShow(HideShow) '***Bodies ein und ausblenden If HideShow = catVisPropertyShowAttr Then objSel.VisProperties.SetShow catVisPropertyNoShowAttr ElseIf HideShow = catVisPropertyNoShowAttr Then objSel.VisProperties.SetShow catVisPropertyShowAttr End If End If Exit Sub '***Fehlerbehandlung: Ausgabe der Fehlernummer und Fehlerbeschreibung Fehler: MsgBox "Fehlernummer: " & Err.Number & vbNewLine & _ "Fehlerbeschreibung: " & Err.Description, vbCritical + vbOKOnly, "Fehler" End Sub