|  |  | 
|  | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 | 
|  |  | 
|  | Mit der Kisters 3DViewStation komplexeste 3D CAD-Daten beherrschen, eine Pressemitteilung 
 | 
| Autor | Thema:  Selection von einem Teil (988 mal gelesen) | 
 | weylin Mitglied
 
 
  
 
      Beiträge: 25Registriert: 16.06.2010
 Catia V5 R18Win 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.  Part1Part2
 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: 12117Registriert: 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: 25Registriert: 16.06.2010
 Catia V5 R18Win 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: 12117Registriert: 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: 25Registriert: 16.06.2010
 Catia V5 R18Win 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 number
 Set selection = editor1.selectionselection.search ("Name=*Part*, all")
 number = selection.count For i = 1 To numberselection.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: 12117Registriert: 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: 25Registriert: 16.06.2010
 Catia V5 R18Win 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: 12117Registriert: 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 |