Die Erste: PDF mit Revisionsindex
27. Januar 2022 · Aufbau · Zeichnungen
Ich möchte von einem Drawing Dokument ein PDF speichern, jedoch mit dem Revisionsindex der gezeichneten Komponente, also mit dem Revisionsindex der Baugruppe oder des Teils, welches auf der Zeichnung dargestellt wurde.
Können Sie mir einen Tipp geben?
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Set swApp = Application.SldWorks
Dim swModelDoc As ModelDoc2
Set swModelDoc = swApp.ActiveDoc
Dim names As Variant
names = swApp.GetDocumentDependencies2(swModelDoc.GetPathName, False, True, False)
Dim docType As swDocumentTypes_e
If Right(names(1), 6) = "SLDPRT" Then
docType = swDocPART
ElseIf Right(names(1), 6) = "SLDASM" Then
docType = swDocASSEMBLY
End If
Dim nErrors As Long
Dim nWarnings As Long
Dim swDepModelDoc As ModelDoc2
Set swDepModelDoc = swApp.OpenDoc6(names(1), docType, swOpenDocOptions_Silent, "", nErrors, nWarnings)
Dim swCustPropMgr As CustomPropertyManager
Set swCustPropMgr = swDepModelDoc.Extension.CustomPropertyManager("")
Dim valOut As String
Dim resValOut As String
swCustPropMgr.Get6 "Revision", False, valOut, resValOut, False, False
Debug.Print valOut
Debug.Print resValOut
End Sub</pre>
Code-Sprache: VB.NET (vbnet)Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Set swApp = Application.SldWorks
Dim swModelDoc As ModelDoc2
Set swModelDoc = swApp.ActiveDoc
Dim swDrawingDoc As DrawingDoc
Set swDrawingDoc = swModelDoc
Dim swView As View
Set swView = swDrawingDoc.GetFirstView
Set swView = swView.GetNextView
Dim refModelName As String
refModelName = swView.GetReferencedModelName
Debug.Print refModelName
Dim docType As swDocumentTypes_e
If Right(refModelName, 6) = "SLDPRT" Then
docType = swDocPART
ElseIf Right(refModelName, 6) = "SLDASM" Then
docType = swDocASSEMBLY
End If
Dim nErrors As Long
Dim nWarnings As Long
Dim swDepModelDoc As ModelDoc2
Set swDepModelDoc = swApp.OpenDoc6(refModelName, docType, swOpenDocOptions_Silent, "", nErrors, nWarnings)
Dim swCustPropMgr As CustomPropertyManager
Set swCustPropMgr = swDepModelDoc.Extension.CustomPropertyManager("")
Dim valOut As String
Dim resValOut As String
swCustPropMgr.Get6 "Revision", False, valOut, resValOut, False, False
Debug.Print valOut
Debug.Print resValOut
End Sub</pre>
Code-Sprache: VB.NET (vbnet)Fragen zu diesem Beitrag? Stell sie im Discord.