| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | KISTERS 3DViewStation: verbesserte Effizienz durch optimierte Bedienoberfläche, eine Pressemitteilung
|
Autor
|
Thema: Selection von einem Teil (956 mal gelesen)
|
weylin Mitglied

 Beiträge: 25 Registriert: 16.06.2010 Catia V5 R18 Win 7 Core 2 Quad 2,4 Ghz
|
erstellt am: 30. Sep. 2013 14:25 <-- editieren / zitieren --> Unities abgeben:         
Hallo Leute, Ich habe in meinem Strukturbaum 3 Parts. Part1 Part2 Part3 über: Code: Dim selection As Selection selection.search ("Name=*Part*,all")
kann ich alle drei Parts gleichzeitig auswählen. Gibt es eine Möglichkeit mit dieser Suche nur das erste Teil anzuwählen bzw. das zweite und dritte ? Finde in der Automation keine Hilfe und der Objekt-Katalog ist auch keine Hilfe. Vielen Dank für Euere Hilfe MfG weylin
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: 30. Sep. 2013 14:31 <-- editieren / zitieren --> Unities abgeben:          Nur für weylin
Servus Du kannst zB über: Code: selection.search ("Name=*Part*,all") Set oPart = selection.item2(3).value
das 3. Element einer Selektion ansprechen. Oder du verwendest die Products-Collection deiner Baugruppe: Code: Dim oPartProduct set oPartProduct = oRootProduct.Products.item(3)
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
weylin Mitglied

 Beiträge: 25 Registriert: 16.06.2010 Catia V5 R18 Win 7 Core 2 Quad 2,4 Ghz
|
erstellt am: 30. Sep. 2013 14:57 <-- editieren / zitieren --> Unities abgeben:         
Danke für deine Hilfe. Stimmt, so kann ich das Element ansprechen. Würde allerdings weiterhin gerne die Selection Befehle, wie beispielsweise selection.copy benutzen. Und die gesamten selektierten Elemente so nach einander abarbeiten. Eine Möglichkeit der Art Selection(1).copy gibt es wohl nicht ? 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: 30. Sep. 2013 15:15 <-- editieren / zitieren --> Unities abgeben:          Nur für weylin
Servus Wenn du einzelne Element einer Selektion nacheinander kopieren willst, musst du die Elemente er Selektion in einen Array/Collection zwischenspeichern, und später dann einzeln selektieren und kopieren. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
weylin Mitglied

 Beiträge: 25 Registriert: 16.06.2010 Catia V5 R18 Win 7 Core 2 Quad 2,4 Ghz
|
erstellt am: 30. Sep. 2013 16:28 <-- editieren / zitieren --> Unities abgeben:         
Array klingt ziemlich Clever  Vielen Dank für den Tipp !! Habe leider mit Arrays noch nichts in Catia gemacht. In meinen Vorstellungen müsste das Befüllen wie folgt laufen (ungetestet) Code: Dim Array() Dim Selection Dim numberSet selection = editor1.selection selection.search ("Name=*Part*, all") number = selection.count For i = 1 To number selection.Item(i) = Array(i) Next
Und das lesen wie folgt (ebenfalls ungetestet)
Code: For i to number selection.clear selection.add array(i) selection.copy 'Selection Operationen wie Einfügen oder Ähnliches next
Kommt das so ungefähr hin?
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: 30. Sep. 2013 16:34 <-- editieren / zitieren --> Unities abgeben:          Nur für weylin
Servus Fast ungetestet): Code: number = selection.count ReDim Array(number) 'ggf auch number + 1
und Code: selection.Item2(i).value = Array(i)
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
weylin Mitglied

 Beiträge: 25 Registriert: 16.06.2010 Catia V5 R18 Win 7 Core 2 Quad 2,4 Ghz
|
erstellt am: 01. Okt. 2013 11:21 <-- editieren / zitieren --> Unities abgeben:         
Funktionier einwandfrei  Vielen Dank dir  einen kleinen Fehler haben wir noch gemacht es muss wie folgt lauten: Code: Set array(i) = selection.Item2(i).value
Weil das Array befüllt werden soll. Wollts nur richtigstellen, falls das nochmal jemand braucht  Kleine Frage noch: Gibt es einen Unterschied zwischen .Item() und .Item2()? Oder hast du .Item2() nur genommen, falls .Item() schon "besetzt" wäre? Vielen Dank nochmal Gruß weylin
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: 01. Okt. 2013 11:46 <-- editieren / zitieren --> Unities abgeben:          Nur für weylin
Servus Danke für die Berichtigung. Zu dem Thema steht in der Doku zu "Item" bei der Selection: Zitat: Deprecated: V5R16 #Item2 . The Count and Item Methods have been replaced by the Count2 and Item2 methods because they did not process correctly features which are not exposed to automation (such as a ResourcesList feature of a .CATProcess document).
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |