Autor
|
Thema: SelectElement2, Mehrere Elemente (2109 mal gelesen)
|
IAmTheFabian Mitglied Konstrukteur
Beiträge: 58 Registriert: 17.10.2013 CATIA V5 R19 Windows 7 Professionel Intel Core 2 Duo8GB RAM 64Bit System
|
erstellt am: 21. Mai. 2014 10:30 <-- editieren / zitieren --> Unities abgeben:
kann man den Anwender mehrere Selektionen während des Makros auswählen lassen? Möchte gerne dass ein Anwender mit gedrückter STRG-Taste mehrere Selektionen über "SelectElement2" ausführen kann. Die Selektion über "SelectElement2" funktioniert zwar, aber diese Funktion gibt nur eine Selektion zurück? Muss ich da mit SelectElement3 oder SelectElement4 arbeiten? LG ------------------ Anfänger! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
xam0560 Mitglied Konstruktion / Administration
Beiträge: 445 Registriert: 11.08.2008
|
erstellt am: 21. Mai. 2014 10:45 <-- editieren / zitieren --> Unities abgeben: Nur für IAmTheFabian
mhh wüsste ich auf anhieb auch nicht. Aber du könntest ein Array erstellen, sodass der Anwenden Teil für Teil anklicken kann, die Selection (Name oder was du brauchst) ins Array schreiben lassen und wenn er nicht mehr weiter will, klickt er einfach auf "Selection Ende" in deiner Form. Danach nur dein Makro auf das Array lenken und du solltest das haben was du willst. Zusätzlich kannst du noch eine Vorschau generieren, sodass der User weis, was er schon gewählt hat und was nicht. Ist zwar nicht ganz so schnell wie STRG-und klicken, aber immerhin eine Lösung. Oder was brauchst du genau, bzw. was willst den basteln? ------------------ Gruß, Maximilian ------------ Top 10 der CAD Programme: 10=ACAD; 09=SolidWorks; 08=Inventor; 07=SolidEdge; 06=Creo; 05; 04=UG; 03; 02=Catia; 01=???
[Diese Nachricht wurde von xam0560 am 21. Mai. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
IAmTheFabian Mitglied Konstrukteur
Beiträge: 58 Registriert: 17.10.2013 CATIA V5 R19 Windows 7 Professionel Intel Core 2 Duo8GB RAM 64Bit System
|
erstellt am: 21. Mai. 2014 11:53 <-- editieren / zitieren --> Unities abgeben:
Ich möchte das Einfärben von AllCATParts für den Anwender benutzerfreundlicher machen. Über SelectElement3 klappt es sehr gut. Hab es gerade getestet. Dabei erscheint eine Toolbar in der man auswählen kann, ob man einzelne oder mehrere Elemente anklickbar sein sollen. Man kann auch mit der Maus ein Fenster ziehen und somit viele Elemente gleichzeitig selektieren.
------------------ Anfänger! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
IAmTheFabian Mitglied Konstrukteur
Beiträge: 58 Registriert: 17.10.2013 CATIA V5 R19 Windows 7 Professionel Intel Core 2 Duo8GB RAM 64Bit System
|
erstellt am: 21. Mai. 2014 12:59 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Mai. 2014 13:09 <-- editieren / zitieren --> Unities abgeben: Nur für IAmTheFabian
Servus Du könntest den User auffordern erst alles entsprechende zu selektieren und dann die Selektion im Makro (SelectElement2) starten (Option iObjectSelectionBeforeCommandUsePossibility) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 NX 10 Win 7
|
erstellt am: 21. Mai. 2014 13:25 <-- editieren / zitieren --> Unities abgeben: Nur für IAmTheFabian
Zitat: Original erstellt von IAmTheFabian: Ich möchte das Einfärben von AllCATParts für den Anwender benutzerfreundlicher machen.
Hat das UrspungsPart die richtigen Farben ? und hat man vielleicht die DF1 Lizenz? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
IAmTheFabian Mitglied Konstrukteur
Beiträge: 58 Registriert: 17.10.2013 CATIA V5 R19 Windows 7 Professionel Intel Core 2 Duo8GB RAM 64Bit System
|
erstellt am: 21. Mai. 2014 13:34 <-- editieren / zitieren --> Unities abgeben:
|
IAmTheFabian Mitglied Konstrukteur
Beiträge: 58 Registriert: 17.10.2013 CATIA V5 R19 Windows 7 Professionel Intel Core 2 Duo8GB RAM 64Bit System
|
erstellt am: 21. Mai. 2014 13:44 <-- editieren / zitieren --> Unities abgeben:
|
IAmTheFabian Mitglied Konstrukteur
Beiträge: 58 Registriert: 17.10.2013 CATIA V5 R19 Windows 7 Professionel Intel Core 2 Duo8GB RAM 64Bit System
|
erstellt am: 21. Mai. 2014 14:10 <-- editieren / zitieren --> Unities abgeben:
|
IAmTheFabian Mitglied Konstrukteur
Beiträge: 58 Registriert: 17.10.2013 CATIA V5 R19 Windows 7 Professionel Intel Core 2 Duo8GB RAM 64Bit System
|
erstellt am: 21. Mai. 2014 14:45 <-- editieren / zitieren --> Unities abgeben:
Hab jetzt nur ein weiteres Problem: wenn ich mehrere Elemente(Flächen) selektiert habe, möchte ich die Solids und die Body einfärben. Dies funktioniert aber nur mit dem ersten selektierten Element. Code: Set findeshape = selektion.FindObject("CATIAShape") selektion.Add findeshape Set findebody = selektion.FindObject("CATIABody") selektion.Add findeshape selektion.Add findebody
Bei den weiteren Elementen werden nur die Bodies eingefärbt und die Solids leider nicht... Woran könnte das liegen?
------------------ Anfänger! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Mai. 2014 15:00 <-- editieren / zitieren --> Unities abgeben: Nur für IAmTheFabian
Servus Was hast du genau vor? Was selektierst du? Wie sieht der Code in etwa aus? ggf musst du zunächst deine Selektierten Element zwischenspeichern, nicht dass du deine Selektion überschreibst. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
IAmTheFabian Mitglied Konstrukteur
Beiträge: 58 Registriert: 17.10.2013 CATIA V5 R19 Windows 7 Professionel Intel Core 2 Duo8GB RAM 64Bit System
|
erstellt am: 21. Mai. 2014 15:27 <-- editieren / zitieren --> Unities abgeben:
Zunächst hole ich mir die Selektionen im AllCATPart, dabei handelt es sich um Faces,Edges etc: Code: 'Alle Selektionen aufheben Dim partDocument1 As PartDocument Set partDocument1 = CATIA.ActiveDocument Set selektion = partDocument1.Selection selektion.Clear'Anwender soll nun die erste Fläche selektieren MsgBox ("Bitte selektieren Sie ein oder mehrere Elemente." & Chr(13) & Chr(13) & "!!!Zum beenden des Makros, bitte ESC drücken!!!") 'SelectElement3 Dim selektionOBJ As Object Set selektionOBJ = partDocument1.Selection Dim sInputObjectType(0) As Variant sInputObjectType(0) = "AnyObject" 'Dim userselect1 As String 'userselect1 = selektionOBJ.SelectElement2(sInputObjectType(), "Selektieren Sie ein Element oder ziehen Sie die Maus über mehrere Elemente.", True) Dim userselect2 As String userselect2 = selektionOBJ.SelectElement3(sInputObjectType(), "Selektieren Sie ein Element oder ziehen Sie die Maus über mehrere Elemente.", True, CATMultiSelTriggWhenUserValidatesSelection, True) 'Bei der Eingabe von Esc soll das Makro beendet werden If userselect2 = "Cancel" Then End End If
Dann möchte ich in den Selektionen nach den zugehörigen Solids und Bodies suchen und diese selektieren: Code: Set findeshape2 = selektion.FindObject("CATIAShape") selektion.Add findeshape2 Set findebody2 = selektion.FindObject("CATIABody") selektion.Add findeshape2 selektion.Add findebody2
Danach kann ich die Selektierten Elemente Einfärben. Funktioniert auch mit dem ersten selektierten Element. ------------------ Anfänger! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |