用Python来控制Autocad的打印------以Pycomcad为例
from pycomcad import * #以pycomcad作为接口库为例
import win32com
acad=Autocad()
打印最重要的设置都在上面的界面中,下面对这些个界面,用Python控制来一一进行说明:
(1)打印机的控制
全部显示出打印机:
acad.acad.ActiveDocument.ModelSpace.Layout.GetPlotDeviceNames()
选择打印机:
acad.acad.ActiveDocument.ActiveLayout.ConfigName='DWG to PDF.pc3'
(2)选择图纸尺寸
显示所有可供选择的尺寸
acad.acad.ActiveDocument.ModelSpace.Layout.GetCanonicalMediaNames()
设定打印图纸尺寸:
acad.acad.ActiveDocument.ModelSpace.Layout.CanonicalMediaName='ISO_A1_(841.00_x_594.00_MM)'
(3)打印区域---窗口为例
以打印窗口设置为例(设定acWindow前,需要调用SetWindoToPlot方法来指定打印区域,p1是左下角,p2是右上角)
p1=acad.GetPoint()
p2=acad.GetPoint()
acad.acad.ActiveDocument.ModelSpace.Layout.SetWindowToPlot(VtFloat(p1[:2]),VtFloat(p2[:2]))
acad.acad.ActiveDocument.ModelSpace.Layout.PlotType=win32com.client.constants.acWindow
其他选项如下:
(4)打印偏移---以居中为例
acad.acad.ActiveDocument.ModelSpace.Layout.CenterPlot=True
(5)打印比例---以布满为例
acad.acad.ActiveDocument.ModelSpace.Layout.UseStandardScale=True #选用标准的比例
acad.acad.ActiveDocument.ModelSpace.Layout.StandardScale=win32com.client.constants.acScaleToFit
如果要自定义打印比例,将UseStandardScale
设置为False
,并调用SetCustomScale
方法,该方法说明如下:
(6)打印样式表
查看所有的打印样式表
acad.acad.ActiveDocument.ModelSpace.Layout.GetPlotStyleTableNames ()
设定特定的打印样式表,以monochrome.ctb
为例:
acad.acad.ActiveDocument.ModelSpace.Layout.StyleSheet='monochrome.ctb'
(7)预览
acad.acad.ActiveDocument.Plot.DisplayPlotPreview(win32com.client.constants.acFullPreview)
(8)打印到文件
acad.acad.ActiveDocument.Plot.PlotToFile(r'johnyangPlot.pdf')
打印成功返回True
#####
愿你一寸一寸地攻城略地,一点一点地焕然一新
#####
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)