Siemens NX(UG)Python 开发 – 图纸文件导出 PDF

最近更新于 2025-11-05 21:37

环境

  • Windows 11 25H2
  • NX 2506
  • 内置 Python 3.12.8

实现

import NXOpen
from NXOpen.Drawings import DraftingDrawingSheet

import os

def exportPdf(workPart: NXOpen.Part, sheets: list[DraftingDrawingSheet], pdfPath: str, lw: NXOpen.ListingWindow):
    try:
        pdfbuilder = workPart.PlotManager.CreatePrintPdfbuilder() # 创建PDF构建器
        pdfbuilder.Filename = pdfPath # 设置PDF文件名
        pdfbuilder.SourceBuilder.SetSheets(sheets) # 设置要导出的图纸
        pdfbuilder.Commit() # 提交PDF构建器
        pdfbuilder.Destroy() # 销毁PDF构建器
    except Exception as e:
        lw.WriteLine(f'导出PDF失败: {e}')
        return False
    else:
        lw.WriteLine(f'成功导出 {len(sheets)} 张图纸到:{pdfPath}')
        return True

def main():
    session = NXOpen.Session.GetSession()
    lw = session.ListingWindow
    lw.Open()

    workPart = session.Parts.Work
    if not workPart:
        lw.WriteLine('没有工作文件')
        return

    sheets = [ sheet for sheet in workPart.DrawingSheets ] # 获取所有图纸
    if len(sheets) == 0:
        lw.WriteLine('没有图纸')
        return

    outdir = os.path.dirname(workPart.FullPath)
    pdfPath = os.path.join(outdir, f'{workPart.Leaf}_图纸集.pdf') # 文件名前缀使用图纸文件名
    exportPdf(workPart, sheets, pdfPath, lw)

if __name__ == '__main__':
    main()

读取当前工作部件中的所有图纸,并创建为 PDF 文件
file

file

Siemens NX(UG)Python 开发 – 图纸文件导出 PDF
Scroll to top

目录

打开目录