明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 984|回复: 2

请教一个python写的批量打印问题!请大佬解答!!

[复制链接]
发表于 2022-2-15 15:06:45 | 显示全部楼层 |阅读模式
本帖最后由 mylovecc 于 2022-2-15 15:10 编辑

打印的代码如下:for i in range(len(coordinate) + 1):
    pdf_path = out_path + "\\" + str(i) + ".pdf"
    if i == 0:
        plot_layer.Plottable = True
    else:
        plot_layer.Plottable = False
    num = (i // 10) + 1
    layout = doc.layouts.item(str(num))  # 先来个layout对象
    doc.ActiveLayout = doc.Layouts(str(num))  # 切换到对应布局
    if i % 10 == 0:
        doc.Application.ZoomAll()
        sum_distance = 0
    name = 'Microsoft Print to PDF'
    # layout.StyleSheet = 'acad.ctb'  # 选择打印样式
    # layout.PlotWithLineweights = False  # 不打印线宽
    layout.ConfigName = name  # 选择打印机
    layout.CanonicalMediaName = "A3"  # 图纸大小这里选择A3  #'ISO_A3_(420.00_x_297.00_MM)'
    # layout.PaperUnits = 1  # 图纸单位,1为毫米
    # layout.PlotRotation = 1  # 横向打印
    layout.StandardScale = 0  # 图纸打印比例
    # layout.CenterPlot = True  # 居中打印
    # layout.PlotWithPlotStyles = True  # 依照样式打印
    # layout.PlotHidden = False  # 隐藏图纸空间对象
    po1 = vtFloat([sum_distance - 110.0000, -77.7500])
    po2 = vtFloat([sum_distance + 100.0000, 70.7500])  # 左下点和右上点
    layout.SetWindowToPlot(po1, po2)
    print(po1, po2)
    layout.PlotType = 3.5  # 按照窗口打印,别问我为什么是3.5我试出来的。

    plot.PlotToFile(pdf_path)
    sum_distance = sum_distance + 500
    pdfs.append(pdf_path)
分割线————————————————————————————————————————————————————————

被打印的图纸中,制作了6个布局,每个布局里有10个视口,现在遇到的问题是,总是在部分视口打印的时候卡住。在另一份图纸中打印就很顺利,没有任何问题。
经过我的排查,不是图纸太大的原因,因为几十兆的图纸都能够顺利打印,只不过比较慢,现在怀疑是块参照等东西对打印有影响,请大佬们指点迷津

 楼主| 发表于 2022-2-15 15:08:32 | 显示全部楼层
C:\Users\Huangchao\Desktop\屏幕截图 2022-02-15 150746.png
 楼主| 发表于 2022-2-15 15:09:21 | 显示全部楼层
CAD卡住的情形

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 02:27 , Processed in 0.129559 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表