Autor
|
Thema: Selection/SelectedElement (1454 mal gelesen)
|
Bartleby Mitglied
Beiträge: 102 Registriert: 17.06.2004 Win XP V5R12 SP3, SP5 Win 2000 SP4 V5R12 SP3
|
erstellt am: 06. Jul. 2004 07:54 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen.... Habe das Problem, das ich innerhalb einer Selektion ein einzelnes Element(Item) auswählen will um darin wieder ein search durchführen will. das search funktioniert im SelectedElement nicht und ich kriege auch das einzelne SelectedElement nicht in die Selection. (mit add oder so...) Bin für jeden Tip dankbar, hab mich warscheinlich verrannt, die Lösung ist bestimmt ganz einfach, oder? [Diese Nachricht wurde von Bartleby am 06. Jul. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
em Michael Kirsch Mitglied Teamleiter KBE Methoden & Tools
Beiträge: 222 Registriert: 21.10.2002 CATIA V5 R16 CATIA V5 R18 CATIA V5 R19 NX 5 NX 6 NX 7.5
|
erstellt am: 06. Jul. 2004 17:05 <-- editieren / zitieren --> Unities abgeben: Nur für Bartleby
Hallo Bartleby, man kann nicht IN einer Selection eine Suche durchführen, sondern die Selection ist das ZIEL, in das die gefundenen Elemente hineingefügt werden. Der ORT, der Suche muss immer ein Document sein. Wenn ich es richtig verstehe, soll hier die Schnittmenge zweier Suchkriterien ermittelt werden: "CATPartSearch.BodyFeature,all" UND ".block,selectedelement". Um eine solche Schnittmenge zu erhalten, kann man auch einfach die betreffenden Suchkriterien mit "&" aneinanderreihen, also "'Suchkriterium I'&'Suchkriterium II'" Allerdings kommen mir die genannten Suchkriterien seltsam vor. Im Zweifel Suche manuell durchführen mit "Edit/Search...", dann den Such-String mit Copy/Paste in den Code übernehmen. Hope that helps! Michael Kirsch ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andis Mitglied Student
Beiträge: 2 Registriert: 07.07.2004
|
erstellt am: 07. Jul. 2004 15:26 <-- editieren / zitieren --> Unities abgeben: Nur für Bartleby
Hallo Michael, Du schreibst: "man kann nicht IN einer Selection eine Suche durchführen, sondern die Selection ist das ZIEL, in das die gefundenen Elemente hineingefügt werden. Der ORT, der Suche muss immer ein Document sein." Danke. Muss der Ort immer ein Document sein? händig über Suchen in Selection geht doch. selection.search(".*?*,aus") aber: das soll eine such-schleife werden, zuerst sollen die Elemente im Baum gesucht werden (Körper), in denen die Suchschleife jeweils einzeln nach dem zweiten Kriterium (Blöcken) suchen soll. also im ersten Search suche ich mir alle Bodies (Körper). In der schleife soll, Item für Item (Körper für Körper) des ersten Searchs, nach pads (Blöcken) durchsucht werden. Soweit so gut, aber das Ergebnis der ersten Suche ist eine Selection mit allen x(count) Ergebnissen. wenn ich da jetzt in jedem einzeln suchen will, dann brauche ich die einzelnen Items als selection um die in dem zweiten search als Selektion{("*,aus")} anzugeben, in der er suchen soll. Kriege aber ein Item nicht als Selection, sondern nur als SelectedElement hin, und da drin kann man nicht suchen. auch das Add des Items als SelectedElement zu einer geclearten Selection geht nicht. Verwirrend ich weiss....... Danke, wer diesen Beitrag überhaupt bis zu ende gelesen hat:-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bartleby Mitglied
Beiträge: 102 Registriert: 17.06.2004 Win XP V5R12 SP3, SP5 Win 2000 SP4 V5R12 SP3
|
erstellt am: 07. Jul. 2004 15:34 <-- editieren / zitieren --> Unities abgeben:
|
em Michael Kirsch Mitglied Teamleiter KBE Methoden & Tools
Beiträge: 222 Registriert: 21.10.2002 CATIA V5 R16 CATIA V5 R18 CATIA V5 R19 NX 5 NX 6 NX 7.5
|
erstellt am: 09. Jul. 2004 11:50 <-- editieren / zitieren --> Unities abgeben: Nur für Bartleby
Hallo Bartleby, was Du vorhast, könnte man auch einfach mit dem Objektpfad lösen statt mit einer Suche. Dim i, j As Long Dim MyPart As Part Dim MyCurrentBody As Body Dim MyPad As Pad Set MyPart = CATIA.ActiveDocument.Part For i = 1 To MyPart.Bodies.Count Set MyCurrentBody = MyPart.Bodies.Item(i) '-----Alle Bodies abprüfen----- For j = 1 To MyCurrentBody.Shapes.Count '-----Variable MyPad leeren----- Set MyPad = Nothing '-----Error Handling ausschalten----- On Error Resume Next '-----Der Reihe nach wird jede Shape im aktuellen Body der Variable MyPad zugewiesen. Wenn das nicht klappt, war es wohl kein Pad. Damit das Programm dennoch nicht abstürzt, Error Handling abschalten. Set MyPad = MyCurrentBody.Shapes.Item(j) '-----Error Handling wieder anschalten----- On Error Goto 0 '-----Nur wenn die aktuelle Shape ein Pad ist, hat MyPad einen Inhalt----- If Not MyPad Is Nothing Then '-----Hier nun die gewünschten Aktion mit MyPad durchführen... End If Next Next Viel Erfolg! Michael Kirsch ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bartleby Mitglied
Beiträge: 102 Registriert: 17.06.2004 Win XP V5R12 SP3, SP5 Win 2000 SP4 V5R12 SP3
|
erstellt am: 12. Jul. 2004 16:34 <-- editieren / zitieren --> Unities abgeben:
Danke das klappt prima, Wäre allein wohl eher nicht auf die Idee gekommen alle Items einfach mal einer Pad-Variablen zuzuweisen und dann erst zu gucken ob das überhaupt passt... Damit ist der Mittelsch...icht-Montag (bis 22:30) gerettet. Danke 10 Points MfG Bartleby Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|