| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | |  | SOLIDWORKS Electrical Schematic, ein Seminar am 04.08.2025
|
Autor
|
Thema: Makro zu langsam (1740 mal gelesen)
|
Bigles Mitglied Student, Technischer Zeichner

 Beiträge: 26 Registriert: 09.03.2012 Solidworks 2012 Windows 7
|
erstellt am: 13. Apr. 2012 16:55 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen! Ich habe ein Makro geschrieben, welches automatisch alle Konfigurationen einer Zeichnung als einzelne Dateien speichert. (Vorgehen: Zeichnung wird nach Anzahl Konfiguration kopiert (über den (automatisierten) Befehl "PackAndGo"), jede Kopie wird nacheinander geöffnet und darin die nicht benötigten Konfigurationen einzeln gelöscht + noch einige sonstige Änderungen (zb Zeichnungsrahmen ersetzen, o.ä.) gemacht. Nun, das funktioniert alles perfekt. Mein Problem ist aber, dass wir oft Zeichnungen haben die über 15mb gross sind und 20 verschiedene Konfigurationen enthalten und für solche Bauteile ist mein Makro extrem langsam da es jedesmal eine >15mb Datei öffnen muss. Gibt es eine Möglichkeit die Zeichnung performance-schonend zu laden oder hat sonst jemand eine Idee wie man das schneller machen könnte? Edit: Was das Makro zusätzlich auch noch langsam macht ist dass ich das Löschen der Zeichnungsblätter über folgende Befehle mache: Set swSelMgr = swModelDoc.SelectionManager bRet = swModelDoc_2.Extension.SelectByID2(sheetnames(x), "SHEET", 0, 0, 0, False, 0, Nothing, 0) bRet = swModelDoc_2.Extension.DeleteSelection2(0) Wenn bei 20 Konfigurationen (pro Konfig. 1 Zeichnungsblatt + ein DXF) 38 Blätter gelöscht werden müssen dauert das auch Ewigkeiten. Vielen Dank schon im voraus für jede(!) Hilfe! lg Bigles -Windows7 -Solidworks 2012 [Diese Nachricht wurde von Bigles am 13. Apr. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur

 Beiträge: 2580 Registriert: 02.10.2006 Firma: SW 2024-3.1 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2023-5.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 13. Apr. 2012 19:31 <-- editieren / zitieren --> Unities abgeben:          Nur für Bigles
Hallo Bigles, nur mal so zur Info: Zeichnungen haben keine Konfigurationen, höchstens mehrere Blätter. Von was sprichst also du? Wahrscheinlich von Teilen (Parts) bzw. Baugruppen (Assemblys), welche Konfigurationen haben können. In Zeichnungen kannst du allerdings verschiedene Ansichten von unterschiedlichen Komponenten (Teile bzw. Baugruppen) und deren Konfigurationen darstellen. Aber letzteres wirst du wohl nicht meinen, oder? Schau dir mal auf dieser Seite das Makro Nr. 30 an. http://solidworks.cad.de/mm_index.htm Evtl. hilft dir das ein wenig weiter. Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bigles Mitglied Student, Technischer Zeichner

 Beiträge: 26 Registriert: 09.03.2012 Solidworks 2012 Windows 7
|
erstellt am: 13. Apr. 2012 21:48 <-- editieren / zitieren --> Unities abgeben:         
Ja, du hast schon recht. Aber das Model hat Konfigurationen und entsprechend der Anzahl Konfigurationen hat es auch Zeichnungen(bzw Zeichnungsblätter). Darum sind die Zeichnungsblätter für mich auch Konfigurationen da es ja Ableitungen einer Konfiguration sind. Aber ist sprachlich nicht ganz korrekt, da hast du recht. Danke für den Link. Das Makro kenne ich schon. Aber auch dieser Ersteller hat es gleich wie ich gelöst. Siehe Beschreibung oben. Was ich eigentlich suche sind zwei Dinge: -gibt es einen Befehl um Zeichnungsblätter schnell zu löschen, bei mir braucht das pro Zeichnungsblatter fast 1-2 Sekunden. Wenn man das hochrechnet auf Anzahl zu löschende Zeichnungsblätter kommt man schnell auf 4-5min Makro Laufzeit (Mein "Zeichnungsblätter-Lösch-Code ist auch oben). Z.B. ohne das "select" vorher, so dass es das Blatt gar nicht erst anzeigt -> weil das braucht viel Zeit! -gibt es einen Methode um Zeichnungen schneller öffnen zu können. Zb dass es die Zeichnung gar nicht lädt/auf dem Bildschirm anzeigt sondern reduziert öffnet. Ist es jetzt verständlicher was ich Suche? Entschuldigung für die etwas unklare erste Beschreibung. Lg und Danke! Bigles Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur

 Beiträge: 2580 Registriert: 02.10.2006 Firma: SW 2024-3.1 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2023-5.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 14. Apr. 2012 15:38 <-- editieren / zitieren --> Unities abgeben:          Nur für Bigles
Zitat: Original erstellt von Bigles:
-gibt es einen Methode um Zeichnungen schneller öffnen zu können.
Hallo, wenn du in SolidWorks unter Datei - Öffnen in den Windowsdialog gehst, gibt es die Optionen Schnellansicht bzw. Reduziert. Mach mal einen Test mit der Stopuhr, ob deine realen Zeichnungen dadurch schneller geladen werden können. Du solltest aber jedesmal vorher SolidWorks schließen und erneut öffnen, um einen realistischen Wert zu erhalten. Ob nun aber diese Optionen auch über API zu erreichen sind, habe ich keine Ahnung. Aber evtl. ist dies schon ein Hinweis für dich. Mit welchem Befehl öffnest du die Zeichnung, etwa mit dem OpenDoc6? Evtl. hilft da die Option ReadOnly bzw. ViewOnly statt Silent. Aber Ahnung habe ich da wirklich nicht richtig. Ich kenne den Unterschied zwischen den dreien nicht. Aber versuchen kannst du es ja mal. Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) [Diese Nachricht wurde von Andi Beck am 14. Apr. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |