| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| CAD/CAM-Workshop in Suhl-Friedberg: SolidCAM + SOLIDWORKS |
Autor
|
Thema: Makro zum export mit Datum (1693 mal gelesen)
|
alte.socke Mitglied
Beiträge: 11 Registriert: 23.01.2018
|
erstellt am: 24. Jan. 2018 12:14 <-- editieren / zitieren --> Unities abgeben:
Die Suche hat mir nicht weiter geholfen, obwohl ich denke, dass es soetwas bestimmt schon gibt. Bei Stefan gibts ein Makro, mit dem man Zeichnungen in allen möglichen Formaten exportieren kann (z.B. PDF, DXF und JPG) und das gleiche auch für Modelle (z.B. als Step und Parasolid). Die Makros funktionieren (Nr 20 und 36 in der Tauschbörse). Was ich nur gerne hätte wäre, dass beim Speichern das aktuelle datum mit an den Dateinamen angehängt wird. Wie bekommt man das hin oder gibt es soetwas schon? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ad_man Mitglied freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))
Beiträge: 1366 Registriert: 20.12.2003 SolidWorks 2023 SP5 mit Enterprise PDM , Windows 11, Dell Precision 3660, i7-12700K, 96 GB DDR-Ram, Quadro RTX A4000
|
erstellt am: 25. Jan. 2018 08:32 <-- editieren / zitieren --> Unities abgeben: Nur für alte.socke
Hallo alte Socke, ich habe mal die Änderungen am Makro 20 eingebaut. Code:
Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim FeatureData As Object Dim Feature As Object Dim Component As Object Dim saveFileName As String Sub main()Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc swApp.ActiveDoc.ActiveView.FrameState = 1 swApp.ActiveDoc.ActiveView.FrameState = 1 Part.EditSketch If (swApp.ActiveDoc.GetPathName = "") Then 'Abfrage ob Name vergeben wurde MsgBox ("Bitte zuerst Zeichnung speichern!") Exit Sub End If ' Dateiname mit angehängtem Datum saveFileName = Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 7) & " " & Date Part.SaveAs2 saveFileName & ".dxf", 0, True, False ' Speichern als DXF-Datei Part.SaveAs2 saveFileName & ".pdf", 0, True, False ' Speichern als PDF-Datei Part.SaveAs2 saveFileName & ".jpg", 0, True, False ' Speichern als JPG-Datei End Sub
Wenn du das Datum vorangestellt haben möchtest, dann wird es etwas aufwändiger, da du dann den kompletten Dateinamen "zerlegen" musst in den Pfad und in den eigentlichen Dateinamen. Dazu gibt es aber einige Beispiele.
------------------ ========== Gruß Andreas ========== Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 25. Jan. 2018 08:32 <-- editieren / zitieren --> Unities abgeben: Nur für alte.socke
Hallo, irgendwo im Code wird der neue Name für das Speichern zusammengesetzt und hier könntest du direkt die Funktion "Date" mit einbauen. [EDIT] Da war der Andreas einen ticken schneller wie ich und vor allem ausführlicher Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete [Diese Nachricht wurde von bk.sc am 25. Jan. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
alte.socke Mitglied
Beiträge: 11 Registriert: 23.01.2018
|
erstellt am: 25. Jan. 2018 09:06 <-- editieren / zitieren --> Unities abgeben:
|
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 25. Jan. 2018 09:55 <-- editieren / zitieren --> Unities abgeben: Nur für alte.socke
|
Ralf Tide Moderator -
Beiträge: 4978 Registriert: 06.08.2001 Sehr seltsame Dinge passiern <Klaus Lage - Toy Story> .-)
|
erstellt am: 25. Jan. 2018 10:07 <-- editieren / zitieren --> Unities abgeben: Nur für alte.socke
...zum noch besseren sortieren (bei numerischen Datumsangaben empfiehlt die DIN 5008 die Schreibweise JJJJ-MM-TT): Code:
saveFileName = (Format(Date, "yyyy-mm-dd")) & "_" & Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 7)
my 2cents [edit] Zu schnell gewesen [/edit] [edit2] Jetzt nochmal langsam Code: ' Dateinamen aus Pfad, Datum und Titel zusammensetzen Titel = Part.GetTitle Pfad = Part.GetPathName While Right$(Pfad, 1) <> "\" Pfad = Left(Pfad, (Len(Pfad) - 1)) Wend saveFileName = Pfad & (Format(Date, "yyyy-mm-dd")) & "_" & Titel
[/edit2] ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
alte.socke Mitglied
Beiträge: 11 Registriert: 23.01.2018
|
erstellt am: 25. Jan. 2018 14:01 <-- editieren / zitieren --> Unities abgeben:
Wow, das geht ja flott hier! ich hab es so umgestellt, dass das Datum nach hinten kommt, jetzt hab ich nur noch eine Kleinigkeit: Es wird immer "Blatt-1" mit ausgegeben als Name. Bekommt man das noch irgendwie weg? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ad_man Mitglied freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))
Beiträge: 1366 Registriert: 20.12.2003 SolidWorks 2023 SP5 mit Enterprise PDM , Windows 11, Dell Precision 3660, i7-12700K, 96 GB DDR-Ram, Quadro RTX A4000
|
erstellt am: 25. Jan. 2018 14:11 <-- editieren / zitieren --> Unities abgeben: Nur für alte.socke
|
alte.socke Mitglied
Beiträge: 11 Registriert: 23.01.2018
|
erstellt am: 25. Jan. 2018 16:03 <-- editieren / zitieren --> Unities abgeben:
|
ad_man Mitglied freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))
Beiträge: 1366 Registriert: 20.12.2003 SolidWorks 2023 SP5 mit Enterprise PDM , Windows 11, Dell Precision 3660, i7-12700K, 96 GB DDR-Ram, Quadro RTX A4000
|
erstellt am: 25. Jan. 2018 16:27 <-- editieren / zitieren --> Unities abgeben: Nur für alte.socke
Hallo, dann ändere in meinem Code von oben mal die nachfolgende Zeile: Code: ' Dateiname mit angehängtem Datum saveFileName = Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 7) & "_" & (Format(Date, "yyyy-mm-dd"))
Ralf hat den Fenstertitel rangezogen und der hat dieses "Blatt1" mit dabei. ------------------ ========== Gruß Andreas ========== Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
alte.socke Mitglied
Beiträge: 11 Registriert: 23.01.2018
|
erstellt am: 26. Jan. 2018 13:33 <-- editieren / zitieren --> Unities abgeben:
|