| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | KISTERS 3DViewStation: 3D-Visualisierung für After Sales, Service und Ersatzteile, eine Pressemitteilung
|
Autor
|
Thema: Captures mit selection.search selektieren und aktivieren? (4085 mal gelesen)
|
Maximilianus Mitglied PLM-Consultant
 
 Beiträge: 136 Registriert: 28.05.2004
|
erstellt am: 10. Jun. 2008 16:03 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich möchte in einem VBA-Makro alle Captures (FT&A) eines Annotation Set nacheinander selektieren und aktivieren. Das mit dem Selektieren habe ich auch schon hionbekommen, indem ich die selection.search-Funktion verwendet habe: CapName = Anno.Captures.Item(i).Name SearchString = "Name=" & CapName & ",all" Set selection1 = CATIA.ActiveDocument.Selection selection1.Search SearchString Was mir noch nicht gelungen ist, ist die Aktivierung des gerade selektierten Captures. Hat jemand eine Idee, wie ich die aktuelle Selection aktivieren kann (In CATIA ist das CaptureName object -> Edit)? Maximilianus ------------------ Maximilianus Dipl.-Ing. (Wi-Ing ET) PLM-Consultant Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
   
 Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 10. Jun. 2008 16:14 <-- editieren / zitieren --> Unities abgeben:          Nur für Maximilianus
Also ein Activate läuft über das Product/Part: partWork.Inactivate selectionMy Habe deine Frage leider nicht richtig verstanden, deshalb die etwas komische Antwort, da ich Captures und so nicht kenne, hoffe ich konnte trozdem helfen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Maximilianus Mitglied PLM-Consultant
 
 Beiträge: 136 Registriert: 28.05.2004
|
erstellt am: 10. Jun. 2008 16:30 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von HoBLila: partWork.Inactivate selectionMyHabe deine Frage leider nicht richtig verstanden, deshalb die etwas komische Antwort, da ich Captures und so nicht kenne, hoffe ich konnte trozdem helfen.
Also mit selection1.Search "Name=Capturename,all" wird im aktuellen Part ein Element gesucht, welches "Capturename" heißt und anschließend selektiert. Anschließend muss das capture aber noch aktiviert werden, und das bekomme ich nicht hin. Captures sind gespeicherte Ansichten in einem Annotation Set ( gehört zum Functional Tolerancing & Annotation Workbench). partWork.Activate selectionMy bzw. part1.Activate selection1(1) funktioniert übrigens nicht. Gruß, Maximilianus
Maximilianus
------------------ Maximilianus Dipl.-Ing. (Wi-Ing ET) PLM-Consultant [Diese Nachricht wurde von Maximilianus am 10. Jun. 2008 editiert.] [Diese Nachricht wurde von Maximilianus am 10. Jun. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
apollo11 Mitglied

 Beiträge: 47 Registriert: 31.03.2007 MacBook Leopard 10.5.6 4GB Ram VMWARE 3 WinXP Pro SP2 V5R16 SP5
|
erstellt am: 11. Jun. 2008 01:04 <-- editieren / zitieren --> Unities abgeben:          Nur für Maximilianus
Also so bekommstu du mal das selektierte Element: Code:
CapName = Anno.Captures.Item(i).Name SearchString = "Name=" & CapName & ",all"Dim MySelection As Selection Set MySelection = CATIA.ActiveDocument.Selection MySelection.Search SearchString Dim gesuchtesObjekt As ....... 'hier den Typ deines Objektes ' oder du lässt es ganz weg, allerdings hast du dann im VBA-Editor ' das Auto-Highlighting nicht mehr. If MySelection.Count > 0 Then Set gesuchtesObjekt = MySelection.Item(1).Value ' hier kannst du das ganze dann aktivieren oder so... gesuchtesObjekt.Activate 'Manchmal musst du hier noch ein Call davorschreiben, ' also "Call gesuchtesObjekt.Activate" End If 'Wenn du mehrere Objekte in deiner Selektion hast kannst statt dem If auch eine For-Schleife machen.
Ist alles sicher nicht ganz korrekt, aber der Knackpunkt liegt bei Myselektion.Item(...).Value gruß ap Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Maximilianus Mitglied PLM-Consultant
 
 Beiträge: 136 Registriert: 28.05.2004
|
erstellt am: 11. Jun. 2008 08:18 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von apollo11:
Code:
' hier kannst du das ganze dann aktivieren oder so... gesuchtesObjekt.Activate
Leider funktioniert das Activate nicht. Ich bekomme folgende Fehlermeldung: Run-time error 438: Object doesn't support this property or method Maximilianus ------------------ Maximilianus Dipl.-Ing. (Wi-Ing ET) PLM-Consultant Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
   
 Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 11. Jun. 2008 09:58 <-- editieren / zitieren --> Unities abgeben:          Nur für Maximilianus
|