| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | |  | Visiativ Blog | Tipps & Tricks rund um SOLIDWORKS und 3DEXPERIENCE. , ein Kurs
|
Autor
|
Thema: Makro PDF mit Version (1746 mal gelesen)
|
CSchnitz Mitglied

 Beiträge: 30 Registriert: 12.03.2008 SWX 2011 64x SP 3.0 WINDOWS7 64bit
|
erstellt am: 13. Feb. 2012 10:42 <-- editieren / zitieren --> Unities abgeben:         
Hallo Kollegen, habe hier ein Makro das mir von der Zeichnung ein pdf erstellt, aber wie kann ich die Eigenschaft "Version" nicht von der Zeichnung sondern vom Modell erhalten? Was auch noch gut wäre ist eine Meldung das es funktioniert hat. Das bringe ich leider nicht hin. Vielleicht kann mir jemand helfen? 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 Version = Part.GetCustomInfoValue("", "Version") saveFileName = Left(swApp.ActiveDoc.GetPathName, Len(swApp.ActiveDoc.GetPathName) - 7) & "_" & Version & ".pdf" ' Speichern als PDF-Datei Part.SaveAs2 saveFileName, 0, True, False Set swApp = Application.SldWorks End Sub
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: 13. Feb. 2012 11:15 <-- editieren / zitieren --> Unities abgeben:          Nur für CSchnitz
Hallo CSchnitz, dazu musst du aus der Zeichnung zunächst auslesen, welche Zeichenansicht für die benutzerdefinierten Eigenschaften des Modells zuständig ist (ein Beispiel dafür findest du in der MakroMania unter http://solidworks.cad.de/mm_37.htm. Von dieser View kannst du dann mit View::ReferencedDocument das dazu passende Modell ermitteln, ein Beispiel steht in der API Hilfe unter "Get Document Referenced by Drawing View (VBA)". Von da aus kannst du dann die Version genauso auslesen wie jetzt. Für die Meldung, ob das Speichern geklappt hat, wertest du einfach den Rückgabewert deiner Speicher-Methode aus - bisher ignorierst du die einfach. Also so was in der Art von
Code:
If Part.SaveAs2(saveFileName, 0, True, False) = True Then Msgbox "Heureka, das PDF wurde erstellt" else Msgbox "Upps, irgendwas ist schief gegangen" endif
Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de
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. Feb. 2012 19:19 <-- editieren / zitieren --> Unities abgeben:          Nur für CSchnitz
Hallo CSchnitz, anbei habe ich dir mein Schriftfeldmakro angehängt. (das Urmakro ist von Stefan  , aber um einiges erweitert.) Darin sind unter anderem eine Menge Exportformate enthalten. Allen Exporten werden dem Dateinamen des Originals der Revisionsstand angehängt. Bei Zeichnungen wird der Revisionsstand vom Part oder der Baugruppe geholt. Aber Achtung, bei uns ist der in den Konfigurationen gespeichert. Zumindest kannst du aus diesem Makro die Logik entnehmen. Eine andere Funktion daraus wurde hier diskutiert. http://ww3.cad.de/foren/ubb/Forum2/HTML/023352.shtml#000012 Bis dann, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |