Autor
|
Thema: Performance bei SelectElement3 (1383 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: 11. Jul. 2014 07:34 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe während eines Makros zum einfärben folgenden Code: Code: userselect2 = selektionOBJ.SelectElement3(sInputObjectType(), "Selektieren Sie ein Element oder ziehen Sie die Maus über mehrere Elemente.", True, CATMultiSelTriggWhenSelPerf, True) 'Bei der Eingabe von Esc soll das Makro beendet werden If userselect2 = "Cancel" Then End End If
Während das Makro auf eine Selektion durch den Anwender wartet, leidet die Performance im Part Design. Es hakt. D.h. wenn ich das Bauteildrehen möchte kann ich das mit der Kombination mittlere Maustaste + rechte Maustaste durchführen. Während der SelectElement3 muss ich die Kombination mittlere Maustaste + rechte Maustaste langsamer nacheinander anklicken weil CATIA das sonst nicht erkennt, dass ich drehen möchte. Hoffe ihr versteht was ich meine. Kann ich das irgendwie optimieren?
------------------ Anfänger! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 26. Jul. 2014 18:16 <-- editieren / zitieren --> Unities abgeben: Nur für IAmTheFabian
|
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: 25. Sep. 2014 09:41 <-- editieren / zitieren --> Unities abgeben:
Danke für die Antwort. Habe jetzt mal die Eigenschaft HSOSynchronized auf False gesetzt. Lässt sich leider kein signifikanter Unterschied feststellen. Oder hab ich was falsch gemacht? Code: 'Alle Selektionen aufheben Dim partDocument1 As PartDocument Set partDocument1 = CATIA.ActiveDocument Set selektion = partDocument1.Selection selektion.Clear'SelectElement3 Dim selektionOBJ As Object Set selektionOBJ = partDocument1.Selection Dim sInputObjectType(0) As Variant sInputObjectType(0) = "AnyObject" Dim userselect2 As String If an = True Then 'Click-Click Dim HSOSynchronizedFilter(0) Dim status HSOSynchronizedFilter(0) = "SetCATIADotHSOSynchronizedToFalse" status = selektionOBJ.SelectElement3(HSOSynchronizedFilter, "", False) userselect2 = selektionOBJ.SelectElement3(sInputObjectType(), "Selektieren Sie ein Element oder ziehen Sie die Maus über mehrere Elemente.", False, CATMultiSelTriggWhenSelPerf, False) 'Bei der Eingabe von Esc soll das Makro beendet werden If userselect2 = "Cancel" Then End End If HSOSynchronizedFilter(0) = "SetCATIADotHSOSynchronizedToTrue" status = selektionOBJ.SelectElement3(HSOSynchronizedFilter, "", False)
------------------ 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: 25. Sep. 2014 09:58 <-- editieren / zitieren --> Unities abgeben: Nur für IAmTheFabian
Servus Dein Code läuft bei mir gar nicht. (hab ich auch so noch nicht gesehen) Probiere mal mit: Code: CATIA.HSOSynchronized = False 'bzw CATIA.HSOSynchronized = true
die Eigenschaft "HSOSynchronized" umzuschalten. 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: 25. Sep. 2014 11:03 <-- editieren / zitieren --> Unities abgeben:
|