用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

用Python来控制Autocad的打印------以Pycomcad为例的更多相关文章
- python爬虫中文网页cmd打印出错问题解决
问题描述 用python写爬虫,很多时候我们会先在cmd下先进行尝试. 运行爬虫之后,肯定的,我们想看看爬取的结果. 于是,我们print... 运气好的话,一切顺利.但这样的次数不多,更多地,我们会 ...
- 使用VS2017进行Python代码的编写并打印出九九乘法表
我们来盘一盘怎么使用VS2017进行python代码的编写并打印出九九乘法表. 使用Visual Studio 2017进行Python编程不需要太复杂的工作,只需要vs2017安装好对Python的 ...
- LogUtil【实现自由的控制日志的打印的封装类】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 主要用于控制项目开发和上线阶段日志的打印. 效果图 暂不需要. 代码分析 在LogUtil类中声明代表不同日志级别的常量值(VERB ...
- Python直接控制鼠标键盘
Python直接控制鼠标键盘 之前因为期末的原因已经很久没写博客了,今天博主发现一个好玩的模块PyAutoGUI,借助它可以使用Python脚本直接控制键盘鼠标,感觉可以解决很多无聊的机械运动.这里记 ...
- Python 条件控制
Python 条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: if 语句 Python中if语 ...
- python 流程控制(条件语句)
1,python流程控制单条件基本语句 2,python流程流程多条件控制语句 3,三元运算 1,python流程控制单条件基本语句 if 判断条件: 执行语句…… else: 执行语句…… 判断条件 ...
- Python(四)之Python流程控制(if、while、for)
Python流程控制 if测试: if 条件测试表达式: 组合条件测试: x and y:与运算 x or y:或运算 not x:非运算 while: break:跳出最内层的循环 continue ...
- Python - 条件控制、循环语句 - 第十二天
Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...
- Python 流程控制-分支结构详解
目录 Python 流程控制--分支结构 1.结构分类 顺序结构 分支结构 循环结构 2.分支结构详解 分支结构 定义格式: if 单支结构 if 双分支结构 if 多分支结构 Python 流程控制 ...
随机推荐
- 说说 JavaScript中 call和apply
下面有关JavaScript中 call和apply的描述,错误的是? call与apply都属于Function.prototype的一个方法,所以每个function实例都有call.apply属 ...
- HDU5740 Glorious Brilliance【最短路 KM匹配】
HDU5740 Glorious Brilliance 题意: 给出一张不一定合法的染色图,每次可以交换相邻两点的颜色,问最少多少次能使染色图合法 合法的染色图相邻点的颜色不能相同 题解: 首先要确定 ...
- 【洛谷 p3383】模板-线性筛素数(数论)
题目:给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内).(N<=10000000,M<=100000) 解法:1.欧拉筛O(n),数组近乎100KB:2.( ...
- codeforces628D. Magic Numbers (数位dp)
Consider the decimal presentation of an integer. Let's call a number d-magic if digit d appears in d ...
- codeforces 632F. Magic Matrix (最小生成树)
You're given a matrix A of size n × n. Let's call the matrix with nonnegative elements magic if it i ...
- Codeforces Round #578 (Div. 2) C. Round Corridor (思维,数论)
题意: 有一个分两层的圆盘,每层从12点方向均分插入\(n\)和\(m\)个隔板,当内层和外层的隔板相连时是不能通过的,有\(q\)个询问,每次给你内层或外层的两个点,判断是否能从一个点走到另外一个点 ...
- Cobalt Strike特征隐藏
前言 首先红蓝对抗的时候,如果未修改CS特征.容易被蓝队溯源. 前段时间360公布了cobalt strike stage uri的特征,并且紧接着nmap扫描插件也发布了.虽说这个特征很早就被发现了 ...
- K8S(16)集成实战-使用spinnaker进行自动化部署
K8s集成实战-使用spinnaker进行自动化部署 1 spinnaker概述和选型 1.1 概述 1.1.1 主要功能 Spinnaker是一个开源的多云持续交付平台,提供快速.可靠.稳定的软件变 ...
- HDU 6706 huntian oy(杜教筛 + 一些定理)题解
题意: 已知\(f(n,a,b)=\sum_{i=1}^n\sum_{j=1}^igcd(i^a-j^a,i^b-j^b)[gcd(i,j)=1]\mod 1e9+7\),\(n\leq1e9\),且 ...
- Mysql(三)------事务的特性、事务并发、事务读一致性问题
1 什么是数据库的事务? 1.1 事务的典型场景 在项目里面,什么地方会开启事务,或者配置了事务?无论是在方法上加注解,还 是配置切面 <tx:advice id="txAdvice& ...