- 积分
- 147
- 明经币
- 个
- 注册时间
- 2022-2-15
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 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个视口,现在遇到的问题是,总是在部分视口打印的时候卡住。在另一份图纸中打印就很顺利,没有任何问题。
经过我的排查,不是图纸太大的原因,因为几十兆的图纸都能够顺利打印,只不过比较慢,现在怀疑是块参照等东西对打印有影响,请大佬们指点迷津
|
|