| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | KISTERS 3DViewStation optimiert die Lizenzverwaltung für ihre Kunden, eine Pressemitteilung
|
Autor
|
Thema: Geschwindigkeitsproblem beim Makro (552 mal gelesen)
|
Sabine Feminin Mitglied Konstrukteur

 Beiträge: 10 Registriert: 30.07.2006
|
erstellt am: 20. Aug. 2006 19:53 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe ein Problem mit der Geschwindigkeit meines Makros. Da steckt eine Schleife mit vielen Anweisungen (Verschneidungen, Aufmaßflächen, Muster ...) drin. Komisch ist auch das der erste Schleifendurchgang bedeutend schneller von statten geht als die folgenden. Ist es möglich mittels Unterstrukturen das ganze zu beschleunigen oder gibt es irgendwelche Regeln für den Makroaufbau diesbezüglich? Grüsse Sabine Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
okl Mitglied Wirtsch-Ing (Maschbau)
 
 Beiträge: 157 Registriert: 21.04.2006 2x3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1800, Delmia V5R16 SP1, Win XP Prof SP2, Office, VS 2005, VB 6, Inventor (Test), VBExpress .NET 2005 Adminrechte
|
erstellt am: 21. Aug. 2006 12:35 <-- editieren / zitieren --> Unities abgeben:          Nur für Sabine Feminin
Hallo Sabine, leider ist meine Glaskugel schon wieder beim Glaser. Ich weiß nicht, wie's dem Rest des Forums so geht, ich bräuchte ein paar detailliertere Infos, also: was für eine Schleife, wird's in Variablen geschrieben, wie oft, wie tief, wie schön und wie toll? okl Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlausJ Mitglied
   
 Beiträge: 1336 Registriert: 17.03.2003 CATIA V4.2.4 Ref 2 CATIA V5R16SP7 AIX 5.3 Windows 2000 und XP
|
erstellt am: 21. Aug. 2006 13:16 <-- editieren / zitieren --> Unities abgeben:          Nur für Sabine Feminin
Hallo Sabine, es hängt sicher auch davon ab, welche Funktionen Du aufrufst. Ist ein Search mit drin, dann kann es je nach Ausführung ziemlich lange dauern. Du könntest z.B. die Zeit rausschreiben und damit zumindestens erkennen, wo es so lange dauert. Eine Umstrukturierung kann anschließend Wunder bewirken (muß aber nicht). ------------------ in diesem Sinne Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sabine Feminin Mitglied Konstrukteur

 Beiträge: 10 Registriert: 30.07.2006
|
erstellt am: 21. Aug. 2006 15:52 <-- editieren / zitieren --> Unities abgeben:         
Oh, ich muss wohl genauer werden. Die Schleife ist als Array deklariert. Vor ablauf der Schleife kann der Benutzer eine Zahl für die Schleifendurchgänge angeben, so ca 3 bis 7 welche die Anzahl von Skizzen darstellt. Im Anschluss wird der Benutzer aufgefordert die Skizzen zu selektieren worauf jeweils zwei Parameter und Muster, eine Aufmaßfläche erstellt werden und eine Verschneidung stattfindet. Weitere Selektionen oder ein Search ist nicht vorhanden. Die Schleife befindet sich direkt im "Hauptsub" also es wurde nicht mit Unterstrukturen oder sonstigem außer globalen Variablen gearbeitet. Sabine Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
okl Mitglied Wirtsch-Ing (Maschbau)
 
 Beiträge: 157 Registriert: 21.04.2006 2x3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1800, Delmia V5R16 SP1, Win XP Prof SP2, Office, VS 2005, VB 6, Inventor (Test), VBExpress .NET 2005 Adminrechte
|
erstellt am: 21. Aug. 2006 16:02 <-- editieren / zitieren --> Unities abgeben:          Nur für Sabine Feminin
 Wie deklariert man eine Schleife als Array? Code: dim For i = 0 to 7 (5) as Variant ?
*Ganzblödschau* Villeicht wäre es sinnvoll, den Ausschnitt zu posten. Dann kann man ein bisschen mehr machen, also ich zumindest. Vielleicht gibt's ja Chefmeister, die jetzt schon Aussagen zu Verbesserungen bringen können. Generell kann ich nur sagen, dass eine rein sequentielle Programmierung (also oben anfangen und unten aufhören in nur einem Sub) mindestens genauso schnell ist wie eine identische Programmieung über ausgelagerte Funktionen. Mindestens deshlab, da die ausgelagerte Funktion in einem anderen Modul sein kann, was dann zusätzlich den Speicher belastet. Wie sind Deine Vars deklariert? oklEine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stoffel Mitglied Student
 
 Beiträge: 322 Registriert: 09.10.2002 R6/V2010
|
erstellt am: 25. Aug. 2006 13:08 <-- editieren / zitieren --> Unities abgeben:          Nur für Sabine Feminin
kann OKL nur zustimmen! "Schleife als Array" ist mit Sicherheit kein perfekter Begriff  Auslagern in eigene Funktionen bringt nix. Nützlicher wird es sein, die Update-Routine zu meiden und Catia so einzustellen, dass nicht jede Kleinigkeit neu berechnet wird! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
93Aero Mitglied Ing
 
 Beiträge: 106 Registriert: 02.12.2004
|
erstellt am: 19. Sep. 2006 11:01 <-- editieren / zitieren --> Unities abgeben:          Nur für Sabine Feminin
|