Registered forum members do not see this ad.
(The description has been stolen because it describes exactly what im looking for )
I have a macro that I use to generate a pdf of an open drawing. My drawing
filename is simply the part number. I want to Macro to append a revision
to the end of the filename before saving as a pdf. I carry the current rev
in a custom propety in the model. I have a note on my sheet format that
references this to diplay the rev in the title block.
I can't seem to use part.getcustominfo2 because it looks in the custom
property area of the drawing (which is empty) instead of referencing from the model
I do not know how to access the properties of the referenced model like my
notes do ($PRPSHEET:REV).
Any ideas how to do this?
My collegue found this link which asks the same question but our knowlege of VB is non existent.Sub pdfmaker1()
Dim swApp As Object
Dim Part As Object
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Dim swModel As SldWorks.ModelDoc2
Dim WholeFilename As String
Dim Prefix As String
Dim MyFilename As String
Dim MyPath As String
Dim CurrentRev As String
Dim LastParenPosition As Integer
Dim PDFName As String
Set swModel = swApp.ActiveDoc
WholeFilename = swModel.GetPathName
CurrentRev = swModel.GetCustomInfoValue("", "Revision")
If CurrentRev = "--" Then CurrentRev = "-Rev0" Else CurrentRev = "-Rev" & CurrentRev
LastParenPosition = InStrRev(Prefix, "\")
MyFilename = Right(WholeFilename, Len(WholeFilename) - LastParenPosition)
If Len(MyFilename) = 0 Then MsgBox ("Drawing not saved yet")
If Len(MyFilename) = 0 Then End
MyFilename = Left(MyFilename, Len(MyFilename) - 7) + CurrentRev + ".pdf"
Set Part = swApp.ActiveDoc
Part.EditSketch
swApp.ActiveDoc.ActiveView.FrameState = 1
Part.SaveAs2 MyFilename, 0, True, False
Part.EditSketch
MsgBox MyFilename + " saved as a pdf"
End Sub
http://compgroups.net/comp.cad.solid...ed-model/15615
Any help would be much appreciated.
Steven Smith
Solidworks - CSWP | AutoCad
Peak Scientific Instruments: Hydrogen, Nitrogen and Zero Air Generators
Registered forum members do not see this ad.
It's ok folks I managed to get a code for it.
Code:Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swDraw As SldWorks.DrawingDoc Dim swCustProp As CustomPropertyManager Dim valOut As String Dim valOut1 As String Dim valOut2 As String Dim resolvedValOut As String Dim resolvedValOut1 As String Dim resolvedValOut2 As String Dim Filepath As String Dim FileName As String Dim ConfigName As String Sub main() Set swApp = Application.SldWorks Set swDraw = swApp.ActiveDoc ' Check to see if a drawing is loaded. If (swDraw Is Nothing) Or (swDraw.GetType <> swDocDRAWING) Then ' If no model currently loaded, then exit Exit Sub End If Set swView = swDraw.GetFirstView Set swView = swView.GetNextView Set swModel = swView.ReferencedDocument ConfigName = swView.ReferencedConfiguration Set swCustProp = swModel.Extension.CustomPropertyManager(ConfigName) swCustProp.Get2 "NewPartNo", valOut, resolvedValOut 'Change the custom property name here swCustProp.Get2 "AssyDescription", valOut1, resolvedValOut1 'Change the custom property name here swCustProp.Get2 "CurrentRev", valOut2, resolvedValOut2 'Change the custom property name here Filepath = "C:\Drawings\" FileName = Left(swDraw.GetTitle, Len(swDraw.GetTitle) - 9) swDraw.SaveAs (Filepath + resolvedValOut + " - " + resolvedValOut1 + " - Rev" + resolvedValOut2 + ".PDF") 'Change the custom property text here MsgBox resolvedValOut + " - " + resolvedValOut1 + " - Rev" + resolvedValOut2 + " Saved as a PDF" End Sub
Steven Smith
Solidworks - CSWP | AutoCad
Peak Scientific Instruments: Hydrogen, Nitrogen and Zero Air Generators
Bookmarks