| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | KISTERS 3DViewStation optimiert die Lizenzverwaltung für ihre Kunden, eine Pressemitteilung
|
Autor
|
Thema: Show Status von Elementen prüfen (2895 mal gelesen)
|
Julenk0rt Mitglied Produktentwickler / Konstrukteur

 Beiträge: 63 Registriert: 05.03.2010 Win10 Catia V5-6 Release 2016 SP5
|
erstellt am: 23. Mai. 2014 10:08 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zusammen, ich hab leider auch über die Suche noch nicht die richtige Lösung gefunden. Ich möchte über ein Makro (CATVBA bzw. CATScript) alle Bodies eines CAtParts auswählen, die sich im sichtbaren Raum befinden. Zusätzlich möchte ich nur die Körper auswählen, die auch Volumengeometrie enthalten. Dazu möchte ich wie folgt vorgehen: 1. Bodies des CatParts zählen 2. Schleife von 1 bis Anzahl Bodies mit Abfrage ob sichtbar und "nicht leer", wenn beides erfüllt, zur Auswahl hinzufügen Mein Problem ist nun die Abfrage der Sichtbarkeit. Alles andere funktioniert. Mit welchem Befehl kann ich die Sichtbarkeit eines Bodies prüfen? (Analog zur Prüfung ob der Körper leer ist: If CATIA.ActiveDocument.Part.Bodies.Item(i).shapes.count <> 0 Then.....) Danke schonmal für die Hilfe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 23. Mai. 2014 10:12 <-- editieren / zitieren --> Unities abgeben:          Nur für Julenk0rt
Servus Versuche die mal über die Suche (Bearbeiten -> Suche). Dabei kann man AFAIK  den Filter auf sichtbare Geometrie einschränken (und zusätzlich nur Körper, ...) Dies sollte sich dann auch mit dem Makrorekorder aufzeichnen lassen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Julenk0rt Mitglied Produktentwickler / Konstrukteur

 Beiträge: 63 Registriert: 05.03.2010 Win10 Catia V5-6 Release 2016 SP5
|
erstellt am: 23. Mai. 2014 10:21 <-- editieren / zitieren --> Unities abgeben:         
Hallo, über die Suche habe ich es bereits versucht und aufgezeichnet. Problem dabei: Ich kann zwar alle Körper suchen, die sichtbar sind, jedoch werden dann auch die Körper ausgewählt, die "leer" sind. Genau das muss ich irgendwie vermeiden. Ich möchte nur die Körper auswählen, die sichtbar sind und Volumengeometrie enthalten. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 23. Mai. 2014 10:34 <-- editieren / zitieren --> Unities abgeben:          Nur für Julenk0rt
|
Julenk0rt Mitglied Produktentwickler / Konstrukteur

 Beiträge: 63 Registriert: 05.03.2010 Win10 Catia V5-6 Release 2016 SP5
|
erstellt am: 23. Mai. 2014 10:45 <-- editieren / zitieren --> Unities abgeben:         
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 |
Julenk0rt Mitglied Produktentwickler / Konstrukteur

 Beiträge: 63 Registriert: 05.03.2010 Win10 Catia V5-6 Release 2016 SP5
|
erstellt am: 06. Jan. 2016 08:44 <-- editieren / zitieren --> Unities abgeben:         
Ich will das Thema nochmal kurz aufgreifen. Die Suche der Körper funktioniert in meinem Makro wie beschrieben ganz gut. Allerdings taucht von Zeit zu Zeit immer mal folgendes Problem auf: Wenn das Part verschachtelte Bodies enthält (durch boolsche Operationen) werden auch die Körper selektiert, die mit anderen Körper durch boolsche Operationen verbaut wurden. Ich möchte allerdings jeweils nur die Körper in der ersten Ebene selektieren. Hat hierzu jemand eine Idee? Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 06. Jan. 2016 09:58 <-- editieren / zitieren --> Unities abgeben:          Nur für Julenk0rt
|