Autor
|
Thema: Ladebalken als ProgressBar (2338 mal gelesen)
|
student1992 Mitglied Student
Beiträge: 98 Registriert: 03.05.2017
|
erstellt am: 05. Okt. 2017 12:09 <-- editieren / zitieren --> Unities abgeben:
Während eines Messvorgangs, muss der Anwender 90 Sekunden warten, damit er sieht dass das Makro nicht abgestürzt ist würde ich gerne ein Ladebalken hinzufügen. In meiner Toolbox befindet sich der Balken nicht, die reference hinzufügen habe ich versucht (Microsoft Windows Common Controls 6.0) doch es funktioniert nicht. Die Toolbox ändert sich nicht. Weiß da vielleicht jemand mehr. Oder gibt es alternative Möglichkeiten, vielleicht in Prozent anzeigen wie lange die Messung noch dauert? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 05. Okt. 2017 14:06 <-- editieren / zitieren --> Unities abgeben: Nur für student1992
|
student1992 Mitglied Student
Beiträge: 98 Registriert: 03.05.2017
|
erstellt am: 05. Okt. 2017 15:06 <-- editieren / zitieren --> Unities abgeben:
|
student1992 Mitglied Student
Beiträge: 98 Registriert: 03.05.2017
|
erstellt am: 05. Okt. 2017 15:08 <-- editieren / zitieren --> Unities abgeben:
|
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 05. Okt. 2017 15:47 <-- editieren / zitieren --> Unities abgeben: Nur für student1992
|
student1992 Mitglied Student
Beiträge: 98 Registriert: 03.05.2017
|
erstellt am: 06. Okt. 2017 08:32 <-- editieren / zitieren --> Unities abgeben:
|
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 06. Okt. 2017 09:06 <-- editieren / zitieren --> Unities abgeben: Nur für student1992
|
student1992 Mitglied Student
Beiträge: 98 Registriert: 03.05.2017
|
erstellt am: 06. Okt. 2017 12:25 <-- editieren / zitieren --> Unities abgeben:
|
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 06. Okt. 2017 12:34 <-- editieren / zitieren --> Unities abgeben: Nur für student1992
|
Sylas Mitglied
Beiträge: 322 Registriert: 19.11.2012 Dell Precision T3500 Intel Xeon W3550 @ 3,07 GHz 12 GB RAM CATIA V5 R28
|
erstellt am: 06. Okt. 2017 12:51 <-- editieren / zitieren --> Unities abgeben: Nur für student1992
Daswegen ich mache dass immer mit ein Formular und zwei Textfelde welche einanderer liegen. Zweite Feld hat z.B. blaue HIntergrund und Size vergrosern mit jedes Loop Schritt. Es ist dann unabhangich vom Instalation. Sorry fuer mein schlecht Deutch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 06. Okt. 2017 12:58 <-- editieren / zitieren --> Unities abgeben: Nur für student1992
|
Sylas Mitglied
Beiträge: 322 Registriert: 19.11.2012 Dell Precision T3500 Intel Xeon W3550 @ 3,07 GHz 12 GB RAM CATIA V5 R28
|
erstellt am: 06. Okt. 2017 13:08 <-- editieren / zitieren --> Unities abgeben: Nur für student1992
Zitat: Original erstellt von joehz: Wenn alle Stricke reissen, kannst die PB auch mit zwei Labels simulieren, zB wie im Bild.Tschau, Joe
Das ist genau das, was ich meinte, nur verwirrte den Text mit dem Label
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
student1992 Mitglied Student
Beiträge: 98 Registriert: 03.05.2017
|
erstellt am: 06. Okt. 2017 15:06 <-- editieren / zitieren --> Unities abgeben:
|
student1992 Mitglied Student
Beiträge: 98 Registriert: 03.05.2017
|
erstellt am: 12. Okt. 2017 13:26 <-- editieren / zitieren --> Unities abgeben:
ein kleines Problem habe ich, Die Userform ist inaktiv wenn ich das Makro schnell durschlaufen lase (also mit der Play taste oder mit "run") Die Userform reagiert erst wenn der Ladebalken voll ist. Wenn ich das Makro Schritt für Schritt laufen lasse (mit F8) dann kann ich genau sehen wie der Balken sich füllt. Kann mir da jemand weiterhelfen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 12. Okt. 2017 15:20 <-- editieren / zitieren --> Unities abgeben: Nur für student1992
|
student1992 Mitglied Student
Beiträge: 98 Registriert: 03.05.2017
|
erstellt am: 12. Okt. 2017 15:35 <-- editieren / zitieren --> Unities abgeben:
Code: For h = 1 To oHB9.Count Messen.Label4.Width = ((Messen_der_Flanschlaenge.Label3.Width - 2) / oHB9.Count) * h osel.Clear osel.Add oHB9.Item(h) ' CATIA.StatusBar = oCrvRef.Name Set usersel = oHB9.Item(h) osel.Search ("Topology.CGMEdge,sel") For n = 1 To osel.Count Set mySel = osel.Item(n) Set oCrvRef = mySel.Reference miLongitud = Len(mySel.Reference.Name) strTmp = Right(mySel.Reference.Name, miLongitud - 21) miLongitud = Len(strTmp) Texto = Left(strTmp, miLongitud - 1) Set oRefCurva = opart.CreateReferenceFromBRepName(Texto, mySel.Value) Set oCurva = oHSF.AddNewCurveDatum(oRefCurva) oCurva.Compute oHB7.AppendHybridShape (oCurva) Next n Next h
und
Code: Private Sub UserForm_Initialize()Label4.Left = Label3.Left + 1 Label4.Height = Label3.Height - 2 Label4.Top = Label3.Top + 1 Label4.Width = 0 End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 12. Okt. 2017 19:31 <-- editieren / zitieren --> Unities abgeben: Nur für student1992
|
PeterFleischmann Mitglied Software Entwickler
Beiträge: 10 Registriert: 12.09.2016 CATIA V5-6 B29 SP3 HF05
|
erstellt am: 12. Okt. 2017 19:49 <-- editieren / zitieren --> Unities abgeben: Nur für student1992
Hallo, ich nehme an, dass das die "Berechnungen" über ein Button gestartet werden. Die Oberfläche wird somit erst dann aktualisiert, wenn die Berechnungen fertig sind. Daher muss explizit angegeben werden, dass sofort aktualisiert werden soll. Messen.Label4.Width = ((Messen_der_Flanschlaenge.Label3.Width - 2) / oHB9.Count) * h Messen.Label4.Redraw() Messen.Label4.Update() sollte das label sofort neu zeichnen. Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
student1992 Mitglied Student
Beiträge: 98 Registriert: 03.05.2017
|
erstellt am: 13. Okt. 2017 09:09 <-- editieren / zitieren --> Unities abgeben:
|
student1992 Mitglied Student
Beiträge: 98 Registriert: 03.05.2017
|
erstellt am: 13. Okt. 2017 09:22 <-- editieren / zitieren --> Unities abgeben:
Hallo joehz, ich habe eine Userform davor, von der ich durch klicken auf ein Button auf die nächste Userform komme Code: UserForm1.show
Mit 'DoEvents' meinst du die Schleife vom Modul, richtig? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Moderator Freiberuflicher Konstrukteur
Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 13. Okt. 2017 14:13 <-- editieren / zitieren --> Unities abgeben: Nur für student1992
Hi, wenn du schon eine Userform hast, dann kannst dir die zweite auch sparen. Das Beispiel hier http://catia2.cad.de/index.php/de/tipps-tricks/programmierung/257-statusbar-auf-userform lässt sich auch um die 'ProgressBar' erweitern. Die 'DoEvents'-Anweisung hätt ich in die innere Schleife gesetzt:
Code:
For h = 1 To oHB9.Count Messen.Label4.Width = ((Messen_der_Flanschlaenge.Label3.Width - 2) / oHB9.Count) * h
oSel.Clear oSel.Add oHB9.Item(h) 'CATIA.StatusBar = oCrvRef.Name Set UserSel = oHB9.Item(h) oSel.Search ("Topology.CGMEdge,sel") For n = 1 To oSel.Count Set mySel = oSel.Item(n) Set oCrvRef = mySel.Reference miLongitud = Len(mySel.Reference.Name) strTmp = Right(mySel.Reference.Name, miLongitud - 21) miLongitud = Len(strTmp) Texto = Left(strTmp, miLongitud - 1) Set oRefCurva = oPart.CreateReferenceFromBRepName(Texto, mySel.Value) Set oCurva = oHSF.AddNewCurveDatum(oRefCurva) oCurva.Compute oHB7.AppendHybridShape (oCurva) DoEvents Next n Next h
Kann sein, dass das noch nicht reicht. Dazu kenn ich dein Makro zu wenig. Tschau, Joe ------------------ Inoffizielle Catia Hilfeseite Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
student1992 Mitglied Student
Beiträge: 98 Registriert: 03.05.2017
|
erstellt am: 15. Okt. 2017 16:45 <-- editieren / zitieren --> Unities abgeben:
|
student1992 Mitglied Student
Beiträge: 98 Registriert: 03.05.2017
|
erstellt am: 16. Okt. 2017 09:04 <-- editieren / zitieren --> Unities abgeben:
sehr gut funktioniert top Noch eine letzte Frage zu meinem Code oben: wenn ich vor der "Search Edge" folgenden Code definiere, müsste der Suchvorgang doch ein wenig schneller laufen, richtig? Code: CATIA.HSOSynchronized = False
Zu beginn meines Makros habe ich Code: CATIA.DisplayFileAlerts = False CATIA.RefreshDisplay = False
definiert, kann es daran liegen, dass der Suchvorgang länger dauert? 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: 16. Okt. 2017 09:33 <-- editieren / zitieren --> Unities abgeben: Nur für student1992
Servus Hast du schon mal in der Doku geschaut was diese Methoden machen? Eine Topologie-Suche ist recht langsam. ggf geht ein andere Weg für dein Makro schneller. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
student1992 Mitglied Student
Beiträge: 98 Registriert: 03.05.2017
|
erstellt am: 16. Okt. 2017 09:57 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 16. Okt. 2017 09:59 <-- editieren / zitieren --> Unities abgeben: Nur für student1992
Servus Ich meinte auch DisplayFileAlerts und RefreshDisplay. Dann wird es ab Zeit mal, vor dem Stellen einer Frage in die Doku zu schauen Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |