资源简介

使用Python结合AutoCAD程序,开发的一款自动出plt和pdf的小软件,拥有较为漂亮的界面,部分python连接CAD的源代码,以及CAD内部判断图框,自动确定纸张长度的代码也已经公开,欢迎交流

资源截图

代码片段和文件信息

def get_paper_list(kand):
    global Plt_huituyi
    global shuchu
    acad = win32com.client.Dispatch(“AutoCAD.Application.19.1“)
    acaddoc = acad.ActiveDocument
    acaddoc.Utility.Prompt(“get paper list\n“)
    layout1 = acaddoc.layouts.item(‘Model‘)
    acaddoc.SetVariable(‘BACKGROUNDPLOT‘ 0)
    layout1.styleSheet = style
    layout1.PlotWithLineweights = True
    if ‘PDF‘ in kand:
        name = ‘DWG To PDF.pc3‘
        layout1.ConfigName = name
        paper_names = layout1.GetCanonicalMediaNames()
        shuchu = ‘本机PDF绘图仪为‘ + name + ‘!\n‘
        text_out.insert(tk.END shuchu)
    elif ‘PLT‘ in kand:
        try:
            Plt_huituyi = ‘DesignJet 430 C4714A FENG.pc3‘
            layout1.ConfigName = Plt_huituyi
        except:
            plt_names = list(layout1.GetPlotDeviceNames())
            for plt_name in plt_names:
                if len(plt_name.split(‘ ‘)) > 2:
                    mid_plt = plt_name.split(‘ ‘)[1]
                    if mid_plt == ‘430‘ or mid_plt == ‘750C‘:
                        layout1.ConfigName = plt_name
                        Plt_huituyi = plt_name
                        break
        shuchu = ‘本机PLT绘图仪为‘ + Plt_huituyi + ‘!\n‘
        text_out.insert(tk.END shuchu)
        paper_names = layout1.GetCanonicalMediaNames()
    return paper_names


def get_style_sheet():
    acad2 = win32com.client.Dispatch(“AutoCAD.Application.19.1“)
    acaddoc2 = acad2.ActiveDocument
    acaddoc2.Utility.Prompt(“get style sheets\n“)
    layout2 = acaddoc2.layouts.item(‘Model‘)
    style_sheets = layout2.GetPlotstyleTableNames()
    k = [‘acad.ctb‘]
    for f1 in style_sheets:
        if f1[-4:] == ‘.ctb‘ and f1 not in k:
            k.append(f1)
    return k

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1790  2020-10-28 08:26  auto.py
     文件    60590121  2020-09-22 16:16  自动打印.exe

评论

共有 条评论