用Python來控制Autocad的打印------以Pycomcad為例


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

image-20210201230038135

打印最重要的設置都在上面的界面中,下面對這些個界面,用Python控制來一一進行說明:

(1)打印機的控制

全部顯示出打印機:

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

image-20210201230712797

選擇打印機:

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

其他選項如下:

image-20210201231808766

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

image-20210201232315210

(6)打印樣式表

查看所有的打印樣式表

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

image-20210201232422436

設定特定的打印樣式表,以monochrome.ctb為例:

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

(7)預覽

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

image-20210201232633160

(8)打印到文件

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

打印成功返回True

image-20210201232755901


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM