| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| PLM TechnologieForum Bamberg |
Autor
|
Thema: Hilfe bei Macro - speichern als DWG (3632 mal gelesen)
|
SNOOP_69 Mitglied Konstrukteur - Innenausbau
Beiträge: 549 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2018-2020 (Vollversion+LT) - BricsCad - DraftSight - SolidWorks 2017-2019 - SWOOD 2019 - MasterCAM 2018-2019
|
erstellt am: 28. Apr. 2015 14:55 <-- editieren / zitieren --> Unities abgeben:
Hallo, kann mir vielleicht jemand bei der Änderung eines Makros behilflich sein? Ich möchte eine Zeichnung automatisch als DWG abspeichern, die Datei soll unter gleichem Namen in C:\TEMP\SWX\Zeichnungsableitung\ landen... 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 Part = swApp.OpenDoc6(" .SLDPRT", 1, 0, "", longstatus, longwarnings) swApp.ActivateDoc2 "Blende-links.SLDPRT", False, longstatus Set Part = swApp.ActiveDoc Set Part = swApp.ActiveDoc Dim myModelView As Object Set myModelView = Part.ActiveView myModelView.FrameLeft = 0 myModelView.FrameTop = 22 Set myModelView = Part.ActiveView myModelView.FrameWidth = 2250 myModelView.FrameHeight = 1231 Set Part = swApp.NewDocument("V:\4000_SolidWorks\4100_Vorlagen\4130_Zeichnung\Zeichnungsableitung_DWG.drwdot", 12, 10, 10) Set myModelView = Part.ActiveView myModelView.FrameWidth = 2250 myModelView.FrameHeight = 1292 Part.ViewZoomtofit2 Part.SheetPrevious boolstatus = Part.EditRebuild3() Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1 Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1 Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1 Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1 Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1 Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1 Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1 Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1 Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1 Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1 Part.ViewZoomtofit2 longstatus = Part.SaveAs3("C:\TEMP\SWX\Zeichnungsableitung\ .DWG", 0, 0) End Sub
Was muss ich da beim Zeichnungsnamen eintragen, so dass er mir das auf jede beliebige Zeichnung ausführen kann? Weiß das jemand? [Diese Nachricht wurde von SNOOP_69 am 28. Apr. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 28. Apr. 2015 16:10 <-- editieren / zitieren --> Unities abgeben: Nur für SNOOP_69
Was soll denn das Makro machen? Wenn Du alle Dateien aus einem Ordner laden und umwandeln willst, mußt Du Dir alle mit der passenden Dateiendung geben lassen, laden und speichern (DIR- Befehl). Wenn Du schon geöffnete Dateien speichern willst, mußt Du Dir den Namen des jeweiligen Fensters (GetTitle) besorgen. ------------------ Lutz Federbusch Mein Gästebuch Der Mensch, Herr oder Sklave der Technik? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 29. Apr. 2015 07:53 <-- editieren / zitieren --> Unities abgeben: Nur für SNOOP_69
|
SNOOP_69 Mitglied Konstrukteur - Innenausbau
Beiträge: 549 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2018-2020 (Vollversion+LT) - BricsCad - DraftSight - SolidWorks 2017-2019 - SWOOD 2019 - MasterCAM 2018-2019
|
erstellt am: 29. Apr. 2015 14:39 <-- editieren / zitieren --> Unities abgeben:
Zitat: Was soll denn das Makro machen?
ich wollte aus allen Parts (die in einem Ordner liegen) jeweils eine Zeichnung mit einer speziellen Vorlage erstellen (in dieser Vorlage sind alle Ansichten voreingestellt und sollten sich eigentlich auch automatisch einfügen (klappt zumindest wenn ich "Zeichnung aus Bauteil erstellen) anklicke fehlerfrei. Ich bekomme es aber leider nicht wirklich hin...diese Makro-Geschichte übersteigt meine Fähigkeiten... Danke euch trotzdem! Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SNOOP_69 Mitglied Konstrukteur - Innenausbau
Beiträge: 549 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2018-2020 (Vollversion+LT) - BricsCad - DraftSight - SolidWorks 2017-2019 - SWOOD 2019 - MasterCAM 2018-2019
|
erstellt am: 30. Apr. 2015 09:28 <-- editieren / zitieren --> Unities abgeben:
so...das erstellen der Zeichnung habe ich soweit hinbekommen... kann mir jemand noch helfen und das "speichern als dwg unter gleichem namen" mit einbauen?! Code: Dim swApp As SldWorks.SldWorks Dim swCurModel As SldWorks.ModelDoc2 Dim swDraw As SldWorks.DrawingDoc Sub main() Set swApp = Application.SldWorks Set swCurModel = swApp.ActiveDoc If swCurModel.GetPathName <> "" Then Dim drawTemplate As String drawTemplate = swApp.GetUserPreferenceStringValue(swUserPreferenceStringValue_e.swDefaultTemplateDrawing) If drawTemplate = "" Then MsgBox "Template is not found" End End If Set swDraw = swApp.NewDocument("V:\4000_SolidWorks\4100_Vorlagen\4130_Zeichnung\Zeichnungsableitung_DWG.drwdot", 12, 10, 10) swDraw.InsertModelInPredefinedView swCurModel.GetPathName() Else MsgBox "Please save the model" End If End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1358 Registriert: 24.07.2002 AutoCAD ACA 2019 Solidworks 2021 Sp5.1 Enterprise PDM 2021 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Dell Ultrasharp U2415 Dell M4800
|
erstellt am: 30. Apr. 2015 09:36 <-- editieren / zitieren --> Unities abgeben: Nur für SNOOP_69
Hi, Du kannst den kompletten Pfad mit Dateinamen und Endung mittels GetPathName ermitteln. Dann ersetzt du die Dateiendung bei dem String mit ".DWG" und kann mit SaveAs die Datei speichern. Was hast du denn Vor?! Willst du deine Platten für die CNC ausgeben?! Kann das dein Swood nicht?! Gruß, Carsten
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SNOOP_69 Mitglied Konstrukteur - Innenausbau
Beiträge: 549 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2018-2020 (Vollversion+LT) - BricsCad - DraftSight - SolidWorks 2017-2019 - SWOOD 2019 - MasterCAM 2018-2019
|
erstellt am: 30. Apr. 2015 09:47 <-- editieren / zitieren --> Unities abgeben:
Hi Carsten, uns fehlt die CAM-Anbindung noch...deshalb muss ich für unsere AV beim aktuellen Projekt noch den Weg über ACAD gehen... Mir fehlt leider das Knowhow... kann mir bitte jemand unten in das Makro ein "einfaches" SaveAs einbauen...ich schaffe es einfach nicht... Ich möchte die entstandene Zeichnungsdatei als SLDDRW in folgendem Ordner Speichern "C:\TEMP\SWX\Zeichnungsableitung\XXX.slddrw" Code: Dim swApp As SldWorks.SldWorks Dim swCurModel As SldWorks.ModelDoc2 Dim swDraw As SldWorks.DrawingDoc Sub main() Set swApp = Application.SldWorks Set swCurModel = swApp.ActiveDoc If swCurModel.GetPathName <> "" Then Dim drawTemplate As String drawTemplate = swApp.GetUserPreferenceStringValue(swUserPreferenceStringValue_e.swDefaultTemplateDrawing) If drawTemplate = "" Then MsgBox "Template is not found" End End If Set swDraw = swApp.NewDocument("V:\4000_SolidWorks\4100_Vorlagen\4130_Zeichnung\Zeichnungsableitung_DWG.drwdot", 12, 10, 10) swDraw.InsertModelInPredefinedView swCurModel.GetPathName() Else MsgBox "Please save the model" End If End Sub
[Diese Nachricht wurde von SNOOP_69 am 30. Apr. 2015 editiert.] [Diese Nachricht wurde von SNOOP_69 am 30. Apr. 2015 editiert.] [Diese Nachricht wurde von SNOOP_69 am 30. Apr. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1358 Registriert: 24.07.2002 AutoCAD ACA 2019 Solidworks 2021 Sp5.1 Enterprise PDM 2021 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Dell Ultrasharp U2415 Dell M4800
|
erstellt am: 30. Apr. 2015 10:48 <-- editieren / zitieren --> Unities abgeben: Nur für SNOOP_69
Hi, Füge mal folgendes ein:
Code: Dim Dateiname As String Dim Splitty() As String Splitty = Split(swApp.ActiveDoc.GetPathName, "\") Splitty = Split(Splitty(UBound(Splitty)), ".") Dateiname = "C:\TEMP\SWX\Zeichnungsableitung\" & Splitty(0) & ".dwg" swdraw.SaveAs2 Dateiname, 0, True, False
Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SNOOP_69 Mitglied Konstrukteur - Innenausbau
Beiträge: 549 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2018-2020 (Vollversion+LT) - BricsCad - DraftSight - SolidWorks 2017-2019 - SWOOD 2019 - MasterCAM 2018-2019
|
erstellt am: 10. Jun. 2015 12:45 <-- editieren / zitieren --> Unities abgeben:
ich muss den Beitrag nochmal aufgreifen... das Makro läuft mittlerweile wunderbar, nur eine Kleinigkeit müsste ich noch mit einbauen (hoffentlich mit eurer Hilfe) ich möchte gerne im Dateinamen der DWG-Datei ganz vorne die Eigenschaft (Benutzer+Konfig) PARTNO stehen haben...wie müsste das Makro dazu erweitert werden? Code: Dim swApp As SldWorks.SldWorks Dim swCurModel As SldWorks.ModelDoc2 Dim swDraw As SldWorks.DrawingDoc Dim fullname, finame, fnamenoext, foname As String Sub main() Set swApp = Application.SldWorks Set swCurModel = swApp.ActiveDoc If swCurModel.GetPathName <> "" Then Dim drawTemplate As String drawTemplate = swApp.GetUserPreferenceStringValue(swUserPreferenceStringValue_e.swDefaultTemplateDrawing) If drawTemplate = "" Then MsgBox "Template is not found" End End If Set swDraw = swApp.NewDocument("V:\4000_SolidWorks\4100_Vorlagen\4130_Zeichnung\Zeichnungsableitung_DWG.drwdot", 12, 10, 10) swDraw.InsertModelInPredefinedView swCurModel.GetPathName() fullname = swCurModel.GetPathName finame = Right(fullname, Len(fullname) - InStrRev(fullname, "\")) fnamenoext = Left(finame, InStrRev(finame, ".") - 1) swDraw.SaveAs3 "C:\TEMP\SWX\Zeichnungsableitung\" & fnamenoext & ".DWG", 0, 0 End If End Sub
also kurz erklärt: in einem PART (bspw. "Schrankseite_links.sldprt") wird die Eigenschaft PartNo angelegt und bspw. mit 005 eingetragen der Dateinamen meiner DWG-Datei lautet aktuell "Schrankseite_links.dwg" und sollte dann "005_Schrankseite_links.dwg" heißen...
[Diese Nachricht wurde von SNOOP_69 am 10. Jun. 2015 editiert.] 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: 10. Jun. 2015 13:35 <-- editieren / zitieren --> Unities abgeben: Nur für SNOOP_69
Hallo SNOOP, so sollte es eigentlich gehen, du kannst natürlich auch an stelle der CustomPropertyManager (IModelDocExtension) Methode auch die alte GetCustomInfoValue Method (IModelDoc2) verwenden. Code:
Dim swApp As SldWorks.SldWorks Dim swCurModel As SldWorks.ModelDoc2 Dim swDraw As SldWorks.DrawingDoc Dim fullname, finame, fnamenoext, foname As String Dim swConfigMgr As SldWorks.ConfigurationManager Dim swConfig As SldWorks.Configuration Dim swCustPropMgr As SldWorks.CustomPropertyManager Dim ValOut As String Dim ReesolvedValOut As String Dim strPartNo As StringSub main() Set swApp = Application.SldWorks Set swCurModel = swApp.ActiveDoc Set swConfigMgr = swCurModel.ConfigurationManager Set swConfig = swConfigMgr.ActiveConfiguration Set swCustPropMgr = swConfig.CustomPropertyManager swCustPropMgr.Get2 "PartNo", ValOut, ReesolvedValOut strPartNo = ValOut If swCurModel.GetPathName <> "" Then Dim drawTemplate As String drawTemplate = swApp.GetUserPreferenceStringValue(swUserPreferenceStringValue_e.swDefaultTemplateDrawing) If drawTemplate = "" Then MsgBox "Template is not found" End End If Set swDraw = swApp.NewDocument("V:\4000_SolidWorks\4100_Vorlagen\4130_Zeichnung\Zeichnungsableitung_DWG.drwdot", 12, 10, 10) swDraw.InsertModelInPredefinedView swCurModel.GetPathName() fullname = swCurModel.GetPathName finame = Right(fullname, Len(fullname) - InStrRev(fullname, "\")) fnamenoext = Left(finame, InStrRev(finame, ".") - 1) swDraw.SaveAs3 "C:\TEMP\SWX\Zeichnungsableitung\" & strPartNo & "_" & fnamenoext & ".DWG", 0, 0 End If End Sub
Gruß Bernd
------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SNOOP_69 Mitglied Konstrukteur - Innenausbau
Beiträge: 549 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2018-2020 (Vollversion+LT) - BricsCad - DraftSight - SolidWorks 2017-2019 - SWOOD 2019 - MasterCAM 2018-2019
|
erstellt am: 10. Jun. 2015 14:45 <-- editieren / zitieren --> Unities abgeben:
Hi Bernd! vielen Dank soweit! Kann es sein, dass das Makro nur konfigurationsspezifische Eigenschaften erkennt? Bei denen funktioniert es...bei den benutzerdefinierten leider nicht?! Gibt es da noch eine Möglichkeit diese (benutzerdefinierten Eigenschaften) mit einzubinden? Gruß Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 10. Jun. 2015 16:02 <-- editieren / zitieren --> Unities abgeben: Nur für SNOOP_69
Die Möglichkeit gibt es und sie ist in der API- Hilfe auch beschrieben. Einfach mal kurz reingucken und Du bist ganz schnell fertig! Ist einfach. Wenn es bei Dir unerwarteterweise aber immer die konfigurationsspezifische Eigenschaft statt der benutzerdefinierten nimmt, könnte es daran liegen, daß es dieselbe Eigenschaft an beiden Stellen gibt und in diesem Zweifelsfall nimmt SolidWorks immer die konfigurationsspezifische (ist auch sinnvoll so). Also mußt Du den Wert in diesem Falle eben dorthin schreiben... ------------------ Lutz Federbusch Mein Gästebuch Der Mensch, Herr oder Sklave der Technik? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SNOOP_69 Mitglied Konstrukteur - Innenausbau
Beiträge: 549 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2018-2020 (Vollversion+LT) - BricsCad - DraftSight - SolidWorks 2017-2019 - SWOOD 2019 - MasterCAM 2018-2019
|
erstellt am: 11. Jun. 2015 14:17 <-- editieren / zitieren --> Unities abgeben:
|
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 11. Jun. 2015 14:31 <-- editieren / zitieren --> Unities abgeben: Nur für SNOOP_69
|
SNOOP_69 Mitglied Konstrukteur - Innenausbau
Beiträge: 549 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2018-2020 (Vollversion+LT) - BricsCad - DraftSight - SolidWorks 2017-2019 - SWOOD 2019 - MasterCAM 2018-2019
|
erstellt am: 11. Jun. 2015 16:12 <-- editieren / zitieren --> Unities abgeben:
mit der Klammer funktioniert es...aber leider nun genau "andersherum"...jetzt werden die "benutzdef. PartNo" eingetragen, die "konfigspez. PartNo" aber leider nicht mehr... siehe Screenshot: eigentlich sollte bei "_Teil3.DWG" noch die 002 davor stehen...
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau
Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 11. Jun. 2015 16:21 <-- editieren / zitieren --> Unities abgeben: Nur für SNOOP_69
Probiere mal in der Zeile drüber am Ende statt ("") in Klammern den Namen der Konfiguration zu übergeben. EDIT: Nein, das sieht nicht richtig aus. Man muß sich den PropertyManager von der Konfiguration holen: Set config = swModel.GetActiveConfiguration Set cusPropMgr = config.CustomPropertyManager Dann müßte man bei den richtigen Eigenschaften landen. Siehe API-Hilfe-Beispiel: Get Custom Properties for Configuration Example (VBA) ------------------ Lutz Federbusch Mein Gästebuch Der Mensch, Herr oder Sklave der Technik? [Diese Nachricht wurde von Lutz Federbusch am 11. Jun. 2015 editiert.] [Diese Nachricht wurde von Lutz Federbusch am 11. Jun. 2015 editiert.] 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: 12. Jun. 2015 07:28 <-- editieren / zitieren --> Unities abgeben: Nur für SNOOP_69
Hallo Matthias, Zitat: Kann es sein, dass das Makro nur konfigurationsspezifische Eigenschaften erkennt? Bei denen funktioniert es...bei den benutzerdefinierten leider nicht?!Gibt es da noch eine Möglichkeit diese (benutzerdefinierten Eigenschaften) mit einzubinden?
Ich dachte das du immer die benutzerdefinierte Eigenschaft möchtest daher habe ich das so aufgebaut. Das erste Makro von mir war ja auf konfigurationsspezifische Eigenschaften fixiert und das zweite auf benutzerdefinierte, daher müsstes du eigentlich nur beide kombinieren. Zitat:
siehe Screenshot 1: welche Ursache hat diese Fehlermeldung?siehe Screenshot 2: wäre das so richtig?
Ja das mit der Klammer ist eine Möglichkeit, du könntest aber auch einfach das "boolstatus =" davor weglassen. Hier mal das angepasste Makro, es ist zu beachten wenn eine benutzerdef. Eigenschfat und eine konfigspez. Eigeschaft vorhanden sind wird der Wert aus der benutzerdef. Eigenschaft bevorzugt. Code:
Dim swApp As SldWorks.SldWorks Dim swCurModel As SldWorks.ModelDoc2 Dim swCurModelDocExt As SldWorks.ModelDocExtension Dim swConfigMgr As SldWorks.ConfigurationManager Dim swConfig As SldWorks.Configuration Dim sConfig As String Dim swDraw As SldWorks.DrawingDoc Dim fullname, finame, fnamenoext, foname As String Dim swCustPropMgr As SldWorks.CustomPropertyManager Dim ValOut As String Dim ReesolvedValOut As String Dim strPartNo As String Sub main()
Set swApp = Application.SldWorks Set swCurModel = swApp.ActiveDoc Set swCurModelDocExt = swCurModel.Extension Set swConfigMgr = swCurModel.ConfigurationManager Set swConfig = swConfigMgr.ActiveConfiguration sConfig = swConfig.Name Set swCustPropMgr = swCurModelDocExt.CustomPropertyManager("") swCustPropMgr.Get4 "PartNo", False, ValOut, ReesolvedValOut If ValOut = "" Then Set swCustPropMgr = swConfig.CustomPropertyManager swCustPropMgr.Get4 "PartNo", False, ValOut, ReesolvedValOut End If If ValOut = "" Then MsgBox "Bitte die Eigenschaft " & """PartNo""" & "ausfüllen", vbOKOnly + vbCritical, "fehlender Eintrag" End End If strPartNo = ValOut If swCurModel.GetPathName <> "" Then Dim drawTemplate As String drawTemplate = swApp.GetUserPreferenceStringValue(swUserPreferenceStringValue_e.swDefaultTemplateDrawing) If drawTemplate = "" Then MsgBox "Template is not found" End End If
Set swDraw = swApp.NewDocument("V:\4000_SolidWorks\4100_Vorlagen\4130_Zeichnung\Zeichnungsableitung_DWG.drwdot", 12, 10, 10) swDraw.InsertModelInPredefinedView swCurModel.GetPathName() fullname = swCurModel.GetPathName finame = Right(fullname, Len(fullname) - InStrRev(fullname, "\")) fnamenoext = Left(finame, InStrRev(finame, ".") - 1) swDraw.SaveAs3 "C:\TEMP\SWX [SolidWorks] \Zeichnungsableitung\" & strPartNo & "_" & fnamenoext & ".DWG", 0, 0 End If End Sub
Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SNOOP_69 Mitglied Konstrukteur - Innenausbau
Beiträge: 549 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2018-2020 (Vollversion+LT) - BricsCad - DraftSight - SolidWorks 2017-2019 - SWOOD 2019 - MasterCAM 2018-2019
|
erstellt am: 12. Jun. 2015 08:12 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, vielen Dank für deine Mühen! Dein Makro läuft zwar ohne Fehler durch, jedoch werden die DWG-Dateien nicht gespeichert...ich seh den "Erstellungs-Vorgang" kurz in SWX aufblitzen, speichern tut es die Zeichnung danach allerdings leider nicht?! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1358 Registriert: 24.07.2002 AutoCAD ACA 2019 Solidworks 2021 Sp5.1 Enterprise PDM 2021 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Dell Ultrasharp U2415 Dell M4800
|
erstellt am: 12. Jun. 2015 08:16 <-- editieren / zitieren --> Unities abgeben: Nur für SNOOP_69
Hi Matthias, Den Pfad:
Code: swDraw.SaveAs3 "C:\TEMP\SWX\Zeichnungsableitung\" & strPartNo & "_" & fnamenoext & ".DWG", 0, 0
hast du aber angepasst und der ist auch vorhanden?! Gruß, Carsten [Diese Nachricht wurde von Carsten1210 am 12. Jun. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SNOOP_69 Mitglied Konstrukteur - Innenausbau
Beiträge: 549 Registriert: 25.01.2006 Hardware: - Lenovo-W540 Software: - Win10 Pro 64bit - Autocad 2018-2020 (Vollversion+LT) - BricsCad - DraftSight - SolidWorks 2017-2019 - SWOOD 2019 - MasterCAM 2018-2019
|
erstellt am: 12. Jun. 2015 08:36 <-- editieren / zitieren --> Unities abgeben:
oh Gott...peinlich... beim copy+paste macht das Symbol bei SWX natürlich den Pfad kaputt... mit [SOLIDWORKS] im Pfad kann Windows natürlich nichts anfangen! Läuft jetzt perfekt! Danke an alle für die hervorragende Unterstützung! 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: 12. Jun. 2015 10:09 <-- editieren / zitieren --> Unities abgeben: Nur für SNOOP_69
Hallo Matthias, dann bitte den Thread auch als Erledigt markieren. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |