Danke für den Tipp, aber ich hab noch eine andere Lösung gefunden. Ich arbeite die beiden Schritte einfach nacheinander ab.
Zunächst lasse ich eine Schleife über alle Bodies laufen und zu prüfen ob sie "leer" sind. Dabei blende ich die "leeren" Bodies aus.
Im Anschluss selektiere ich über die Suche alle Körper, die sich im Show befinden.
Zwar etwas umständlicher, als beides in einem Abwasch zu erledigen, aber es scheint zu funktionieren. Hier der Code dazu:
Sub CATmain()
Dim Anz
Dim i
Dim Sel
Anz = CATIA.ActiveDocument.Part.Bodies.Count
Set Sel = CATIA.ActiveDocument.Selection
Sel.Clear
For i = 1 To Anz
If CATIA.ActiveDocument.Part.Bodies.Item(i).Shapes.Count = 0 Then
Sel.Add CATIA.ActiveDocument.Part.Bodies.Item(i)
Sel.VisProperties.SetShow catVisPropertyNoShowAttr
Sel.Clear
End If
Next
Sel.Clear
Sel.Search "(((((CATStFreeStyleSearch.BodyFeature + CATPrtSearch.BodyFeature) + CATGmoSearch.BodyFeature) + CATSpdSearch.SpdBodyRef) + CATSpdSearch.BodyFeature) & Visibility=Visible),all"
End Sub
[Diese Nachricht wurde von Julenk0rt am 23. Mai. 2014 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP