tompol74
Mechanical
- Mar 15, 2011
- 7
Hi,
I try to create a journal in VisualBasic to create a pdf file of all sheets of current drawing with one click. I have recorded in NX6 a journal file of export and modified it to set pdf file name same as drawing file. I have problem with the number and the names of drawing sheets. I need to put all sheets into an array "sheets1". In the following example I have 3 sheets: "SHT1", "SHT2", "SHT3" but the number and the names of sheets should be handled automaticaly. Can anyone help me with this?
' NX 6.0.5.3
Option Strict Off
Imports System
Imports NXOpen
imports system.windows.forms
Module NXJournal
Sub Main
Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work
Dim displayPart As Part = theSession.Parts.Display
' ----------------------------------------------
' Menu: File->Export->PDF...
' ----------------------------------------------
Dim printPDFBuilder1 As PrintPDFBuilder
printPDFBuilder1 = workPart.PlotManager.CreatePrintPdfbuilder()
printPDFBuilder1.Scale = 1.0
printPDFBuilder1.Colors = PrintPDFBuilder.Color.BlackOnWhite
printPDFBuilder1.Size = PrintPDFBuilder.SizeOption.ScaleFactor
printPDFBuilder1.Units = PrintPDFBuilder.UnitsOption.English
printPDFBuilder1.XDimension = 8.5
printPDFBuilder1.YDimension = 11.0
printPDFBuilder1.OutputText = PrintPDFBuilder.OutputTextOption.Polylines
printPDFBuilder1.ImageResolution = PrintPDFBuilder.ImageResolutionOption.Medium
printPDFBuilder1.RasterImages = True
printPDFBuilder1.Watermark = ""
Dim sheets1(2) As NXObject
Dim drawingSheet1 As Drawings.DrawingSheet = CType(workPart.DrawingSheets.FindObject("SHT1"), Drawings.DrawingSheet)
sheets1(0) = drawingSheet1
Dim drawingSheet2 As Drawings.DrawingSheet = CType(workPart.DrawingSheets.FindObject("SHT2"), Drawings.DrawingSheet)
sheets1(1) = drawingSheet2
Dim drawingSheet3 As Drawings.DrawingSheet = CType(workPart.DrawingSheets.FindObject("SHT3"), Drawings.DrawingSheet)
sheets1(2) = drawingSheet3
printPDFBuilder1.SourceBuilder.SetSheets(sheets1)
Dim path_length As Integer = Len(thesession.Parts.Work.FullPath)
Dim path_trunc As String = Mid(thesession.Parts.Work.FullPath,1,path_length-4)
Dim part_name As String = path_trunc + ".pdf"
printPDFBuilder1.Filename = part_name
Dim nXObject1 As NXObject
nXObject1 = printPDFBuilder1.Commit()
printPDFBuilder1.Destroy()
' ----------------------------------------------
' Menu: Tools->Journal->Stop Recording
' ----------------------------------------------
End Sub
End Module
I try to create a journal in VisualBasic to create a pdf file of all sheets of current drawing with one click. I have recorded in NX6 a journal file of export and modified it to set pdf file name same as drawing file. I have problem with the number and the names of drawing sheets. I need to put all sheets into an array "sheets1". In the following example I have 3 sheets: "SHT1", "SHT2", "SHT3" but the number and the names of sheets should be handled automaticaly. Can anyone help me with this?
' NX 6.0.5.3
Option Strict Off
Imports System
Imports NXOpen
imports system.windows.forms
Module NXJournal
Sub Main
Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work
Dim displayPart As Part = theSession.Parts.Display
' ----------------------------------------------
' Menu: File->Export->PDF...
' ----------------------------------------------
Dim printPDFBuilder1 As PrintPDFBuilder
printPDFBuilder1 = workPart.PlotManager.CreatePrintPdfbuilder()
printPDFBuilder1.Scale = 1.0
printPDFBuilder1.Colors = PrintPDFBuilder.Color.BlackOnWhite
printPDFBuilder1.Size = PrintPDFBuilder.SizeOption.ScaleFactor
printPDFBuilder1.Units = PrintPDFBuilder.UnitsOption.English
printPDFBuilder1.XDimension = 8.5
printPDFBuilder1.YDimension = 11.0
printPDFBuilder1.OutputText = PrintPDFBuilder.OutputTextOption.Polylines
printPDFBuilder1.ImageResolution = PrintPDFBuilder.ImageResolutionOption.Medium
printPDFBuilder1.RasterImages = True
printPDFBuilder1.Watermark = ""
Dim sheets1(2) As NXObject
Dim drawingSheet1 As Drawings.DrawingSheet = CType(workPart.DrawingSheets.FindObject("SHT1"), Drawings.DrawingSheet)
sheets1(0) = drawingSheet1
Dim drawingSheet2 As Drawings.DrawingSheet = CType(workPart.DrawingSheets.FindObject("SHT2"), Drawings.DrawingSheet)
sheets1(1) = drawingSheet2
Dim drawingSheet3 As Drawings.DrawingSheet = CType(workPart.DrawingSheets.FindObject("SHT3"), Drawings.DrawingSheet)
sheets1(2) = drawingSheet3
printPDFBuilder1.SourceBuilder.SetSheets(sheets1)
Dim path_length As Integer = Len(thesession.Parts.Work.FullPath)
Dim path_trunc As String = Mid(thesession.Parts.Work.FullPath,1,path_length-4)
Dim part_name As String = path_trunc + ".pdf"
printPDFBuilder1.Filename = part_name
Dim nXObject1 As NXObject
nXObject1 = printPDFBuilder1.Commit()
printPDFBuilder1.Destroy()
' ----------------------------------------------
' Menu: Tools->Journal->Stop Recording
' ----------------------------------------------
End Sub
End Module