用Python来控制Autocad的打印------以Pycomcad为例

from pycomcad import * #以pycomcad作为接口库为例
import win32com
acad=Autocad()

用Python来控制Autocad的打印------以Pycomcad为例

打印最重要的设置都在上面的界面中,下面对这些个界面,用Python控制来一一进行说明:

(1)打印机的控制

全部显示出打印机:

acad.acad.ActiveDocument.ModelSpace.Layout.GetPlotDeviceNames()

用Python来控制Autocad的打印------以Pycomcad为例

选择打印机:

acad.acad.ActiveDocument.ActiveLayout.ConfigName='DWG to PDF.pc3'

(2)选择图纸尺寸

显示所有可供选择的尺寸

acad.acad.ActiveDocument.ModelSpace.Layout.GetCanonicalMediaNames()

用Python来控制Autocad的打印------以Pycomcad为例

设定打印图纸尺寸:

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

其他选项如下:

用Python来控制Autocad的打印------以Pycomcad为例

(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 方法,该方法说明如下:

用Python来控制Autocad的打印------以Pycomcad为例

(6)打印样式表

查看所有的打印样式表

acad.acad.ActiveDocument.ModelSpace.Layout.GetPlotStyleTableNames ()

用Python来控制Autocad的打印------以Pycomcad为例

设定特定的打印样式表,以monochrome.ctb为例:

acad.acad.ActiveDocument.ModelSpace.Layout.StyleSheet='monochrome.ctb'

(7)预览

acad.acad.ActiveDocument.Plot.DisplayPlotPreview(win32com.client.constants.acFullPreview)

用Python来控制Autocad的打印------以Pycomcad为例

(8)打印到文件

acad.acad.ActiveDocument.Plot.PlotToFile(r'johnyangPlot.pdf')

打印成功返回True

用Python来控制Autocad的打印------以Pycomcad为例

上一篇:探秘AutoCAD中的组


下一篇:用AutoCAD画尺寸链小结