| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Bechtle stärkt PLM-Geschäft mit Neugründung |
Autor
|
Thema: Komplett alle Zeichnungen, Teile und Baugruppen schließen (1933 / mal gelesen)
|
4kspeed Mitglied
Beiträge: 91 Registriert: 27.10.2016
|
erstellt am: 07. Sep. 2017 15:47 <-- editieren / zitieren --> Unities abgeben:
Wie kann ich per Makrocode alle geöffnette Zeichnungen, Teile und Baugruppen ohne zu speichern u. Rückmeldung schließen, so dass nur das Solidworksprogramm offen ist? [Diese Nachricht wurde von 4kspeed am 07. Sep. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2019 SP5 AutoCAD 2019 Win 10 pro 64 bit Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz 64GB RAM Nvidia Quadro M5000 SWx EPDM
|
erstellt am: 07. Sep. 2017 15:59 <-- editieren / zitieren --> Unities abgeben: Nur für 4kspeed
|
4kspeed Mitglied
Beiträge: 91 Registriert: 27.10.2016
|
erstellt am: 08. Sep. 2017 08:33 <-- editieren / zitieren --> Unities abgeben:
|
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 08. Sep. 2017 09:02 <-- editieren / zitieren --> Unities abgeben: Nur für 4kspeed
|
dopplerm Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3592 Registriert: 11.02.2005 Win 10 SWX 2019 SP 5.0
|
erstellt am: 08. Sep. 2017 09:09 <-- editieren / zitieren --> Unities abgeben: Nur für 4kspeed
bei mir hat sich bewährt Solidworks hin und wieder neu zu starten und nicht nur die offenen Dokumente zu schliessen Abstürze gingen deutlich zurück vielleicht kannst du das noch einbauen, dass alle zwei Stunden, bei Ausführung des Makros dies zusätzlich gemacht wird lg Martin ------------------ ich spiel noch immer gern mit Bauklötzen, nur sind sie jetzt teurer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
4kspeed Mitglied
Beiträge: 91 Registriert: 27.10.2016
|
erstellt am: 08. Sep. 2017 09:45 <-- editieren / zitieren --> Unities abgeben:
|
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2019 SP5 AutoCAD 2019 Win 10 pro 64 bit Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz 64GB RAM Nvidia Quadro M5000 SWx EPDM
|
erstellt am: 08. Sep. 2017 10:30 <-- editieren / zitieren --> Unities abgeben: Nur für 4kspeed
Zitat: Original erstellt von dopplerm: Solidworks hin und wieder neu zu starten
SolidWorks hat ja die blöde Angewohnheit, Modelle nach dem Schließen nicht sauber aus dem RAM zu entladen. Da ich regelmäßig sehr viele Teile/Baugruppen (jenseits der 2k) per Makro bearbeite/konvertiere/etc., wird der Rechner irgendwann seeeeeeehr laaaaangsaaaaaam, weil er anfängt, in die Auslagerungsdatei zu schreiben. Wenn ich jetzt die swapp mit Quit beende, ist automatisch auch das Makro mit weg. Kennt da jemand einen Trick/Code, um SolidWorks so aller 100 Teile neu zu starten, OHNE dabei das Makro abzuschießen (und ohne Stand-Alone-Programmierung, die kann ich noch nicht ) ? Gruß, Jens ------------------ CSWA, CSWP, CSWPA-SM & -SU =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jörg.jwd Ehrenmitglied V.I.P. h.c. CAD-PDM Administrator
Beiträge: 3109 Registriert: 05.11.2003
|
erstellt am: 08. Sep. 2017 11:27 <-- editieren / zitieren --> Unities abgeben: Nur für 4kspeed
Hallo Jens, IMHO geht das nur mir "Standalone" da das Makro ja nicht beendet werden darf sondern eben regelmäßig SWX startet. Wir haben da einen Konverter gebaut, da kannst du im Dialog eintragen nach wie vielen Sitzungen neu gestartet werden soll. Das ändert sich je nachdem ob wir Einzelteile BG's oder Zeichnungen konvertieren. Bei 900000 zu konvertierenden Dateien ist das unerlässlich weil sonst SWX irgendwann den Löffel abgibt und es schwer ist rauszufinden wie weit die Konvertierung bis zum Absturz bereits war. HTH ------------------ Grüße Jörg man hat nie Zeit es richtig zu machen, aber immer genug Zeit es nochmals zu machen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GWS Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2401 Registriert: 23.07.2001 Nach drei Jahren Inventor wieder zurück zu SolidWorks: SWX 23 SP4, PDM Professionell.
|
erstellt am: 08. Sep. 2017 13:32 <-- editieren / zitieren --> Unities abgeben: Nur für 4kspeed
Zitat: Aber du kannst den Google Übersetzer verwenden. API Hilfe mit Google Übersetzer
@Andreas: Eigentlich Offtopic, aber ich kann es mir jetzt nicht verkneifen: Wenn es um sinnvolle Übersetzungen geht, solltest du dich mal mit deepL beschäftigen. Dann vergisst du Google Translate ganz schnell. Wenn du dein Deutsch verbessern willst, übersetzte deinen Text mit deepL ins Englische und anschließend wieder zurück. Grüße Günter [Diese Nachricht wurde von GWS am 08. Sep. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
4kspeed Mitglied
Beiträge: 91 Registriert: 27.10.2016
|
erstellt am: 08. Sep. 2017 14:24 <-- editieren / zitieren --> Unities abgeben:
Noch ein anderes Problem bzw. umgekehrtes Problem. Ich brauche ein Makro der nur ausführt, wenn bestimmte Zeichnungen offen sind, ansonsten wird dann einfach abgebrochen. Da ich manchmal den falschen Mini-Makro-Button klicke schmiert Solidworks ab (Absturz), siehe Bild. @GWS Danke für die Seite! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2019 SP5 AutoCAD 2019 Win 10 pro 64 bit Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz 64GB RAM Nvidia Quadro M5000 SWx EPDM
|
erstellt am: 08. Sep. 2017 15:10 <-- editieren / zitieren --> Unities abgeben: Nur für 4kspeed
Zitat: Original erstellt von 4kspeed: Noch ein anderes Problem bzw. umgekehrtes Problem.Ich brauche ein Makro der nur ausführt, wenn bestimmte Zeichnungen offen sind, ansonsten wird dann einfach abgebrochen.
Na die üblichen Fehlerabfragen am Anfang solltest du ja drin haben (nix geöffnet, keine Teil/Baugruppe/Zeichnung, etc.). Dort dann dein Kriterium reinbasteln und mit 'Exit Sub' oder 'End' ggf. abbrechen. Code:
Set swApp = Application.SldWorks Set AssemblyDoc = swApp.ActiveDoc If AssemblyDoc Is Nothing Then MsgBox "Kein Dokument geöffnet." Exit Sub Else FileTyp = AssemblyDoc.GetType If FileTyp = swDocASSEMBLY Then DocName = AssemblyDoc.GetTitle mypath = AssemblyDoc.GetPathName Else MsgBox "Keine Baugruppe geöffnet." Exit Sub End if End if
Zitat: Da ich manchmal den falschen Mini-Makro-Button klicke
Ich würde dir dringend empfehlen, zu deinen Makros verschiedene kleine Icons anzulegen, damit man sie auf den ersten Blick auseinanderhalten kann... Siehe Anhang. Gruß, Jens ------------------ CSWA, CSWP, CSWPA-SM & -SU =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
4kspeed Mitglied
Beiträge: 91 Registriert: 27.10.2016
|
erstellt am: 11. Sep. 2017 08:37 <-- editieren / zitieren --> Unities abgeben:
Nee nicht allgemein, ob eine Zeichnung offen ist. Ich brauche speziel geöffnete Zeichnungennr. Es sollte so ungefähr aussehen, was ich damit meine.
Code: Dim swApp As ObjectDim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Sub main() Set swApp = _ Application.SldWorks Set AssemblyDoc = swApp.ActiveDoc If "C:\Test\Zeichnungsnummer_123.SLDDRW" _ "C:\Test\Zeichnungsnummer_564.SLDDRW" _ "C:\Test\Zeichnungsnummer_856.SLDDRW" _ Is Nothing Then MsgBox "Nicht alle Zeichnungen (Nr. 123, 564 u. 856) sind geöffnet. Bitte prüfen!" Exit Sub
End If 'mein Code _ erstellt pdf, dxf... End Sub
Aber so kann der Code nicht funktionieren. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2019 SP5 AutoCAD 2019 Win 10 pro 64 bit Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz 64GB RAM Nvidia Quadro M5000 SWx EPDM
|
erstellt am: 11. Sep. 2017 09:31 <-- editieren / zitieren --> Unities abgeben: Nur für 4kspeed
Gediebt aus Stefans MakroMania... Ohne den Code getestet zu haben: Code:
Sub main() ' an SolidWorks anklinken Set SldWorks = CreateObject("SldWorks.Application") Set ModelDoc = SldWorks.ActiveDoc ' durch alle offenen Dokumente gehen Set ModelDoc = SldWorks.GetFirstDocument While Not ModelDoc Is Nothing MyPath = LCase(ModelDoc.GetPathName) Select Case True Case MyPath Like "*123.slddrw" 123_geöffnet = True Case MyPath Like "*456.slddrw" 456_geöffnet = True Case MyPath Like "*856.slddrw" 856_geöffnet = True End Select Set ModelDoc = ModelDoc.GetNext Wend If Not (123_geöffnet = True And 456_geöffnet = True And 856_geöffnet = True) Then MsgBox "Nicht alle Zeichnungen (Nr. 123, 564 u. 856) sind geöffnet. Bitte prüfen!" Exit Sub Else 'Dein Code End If End Sub
Ein bißchen mehr Such-Einsatz deinerseits wäre aber lobenswert. So schwer war das jetzt nicht zu finden... Gruß, Jens ------------------ CSWA, CSWP, CSWPA-SM & -SU =) [Diese Nachricht wurde von CAD-Maler am 11. Sep. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
4kspeed Mitglied
Beiträge: 91 Registriert: 27.10.2016
|
erstellt am: 11. Sep. 2017 15:30 <-- editieren / zitieren --> Unities abgeben:
In der Seite (http://solidworks.cad.de/mm_index.htm) habe ich nicht nachgeschaut . Da ich meine die Codes sind dort veraltet bzw. nicht mehr auf dem neuesten Stand. Ich benutzte ein Solidworks 2016 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2019 SP5 AutoCAD 2019 Win 10 pro 64 bit Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz 64GB RAM Nvidia Quadro M5000 SWx EPDM
|
erstellt am: 11. Sep. 2017 16:11 <-- editieren / zitieren --> Unities abgeben: Nur für 4kspeed
In der Regel funktionieren die "alten" Codes auch nach vielen Jahren noch. Ausnahmen: a) 32bit-Code auf 64bit-Systemen benötigt ein wenig Anpassung oder b) Code, der von SolidWorks aus der API entfernt wurde (eher selten). Ansonsten: Probieren geht über studieren... Gruß, Jens ------------------ CSWA, CSWP, CSWPA-SM & -SU =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |