Process Autocad by python
一、处理AutoCad模块 -pyautocad
1.安装
pip install pyautocad
注:1.该操作会自动安装 comtypes模块,如果其他方式安装,请自行安装comtypes模块
2.如要使用tables 命令,要另外安装xlrd 和 tablib
2.使用准备
pyautocad 通过调用autocad的com接口,具体可以参考AutoCAD ActiveX documentation。
acad_aag.chm- ActiveX and VBA Developer’s Guideacadauto.chm- ActiveX and VBA Reference
二、连接AutoCad
使用pyautocad连接cad 会自动打开电脑上安装的cad软件,所以必须安装autocad,任意版本均可。
#导入模块
from pyautocad import Autocad, APoint
#创建cad实例
acad = Autocad(create_if_not_exists=True)
#在cad控制面板中输出
acad.prompt("Hello, Autocad from Python\n")
#输出文件的名字
print(acad.doc.Name)
python会自动连接上cad,只要cad是开着的,就创建了一个<pyautocad.api.Autocad> 对象。这个对象连接最近打开的cad文件。
create_if_not_exists=True:如果此时还没有打开cad,将会创建一个新的dwg文件,并自动开启cad软件
使用ActiveX接口简单操作cad,具体参考原文文档:
To work with AutoCAD documents and objects we can use ActiveX interface,
Autocad(from pyautocad) contains some methods to simplify common Automation tasks, such as object iteration and searching, getting objects from user’s selection, printing messages.There are shortcuts for current
ActiveDocument-Autocad.docandActiveDocument.ModelSpace-Autocad.model
二、pyautocad使用方式
调用方式主要有如下几种:
1.Autocad.app :对应Autocad Active 接口中的 Application
method:
- Eval
- GetAcadState
- GetInterfaceObject
- ListARX
- LoadARX
- LoadDVB
- Quit
- RunMacro
- StatusID
- UnloadARX
- UnloadDVB
- Update
- ZoomAll
- ZoomCenter
- ZoomExtents
- ZoomPickWindow
- ZoomPrevious
- ZoomScaled
- ZoomWindow
2.Autocad.doc :对应Autocad Active 接口中的 Document(ActiveDocument)
method:
- Activate
- AuditInfo
- Close
- CopyObjects
- EndUndoMark
- Export
- GetVariable
- HandleToObject
- Import
- LoadShapeFile
- ObjectIDToObject
- Open
- PurgeAll
- Regen
- Save
- SaveAs
- SendCommand
- SetVariable
- StartUndoMark
- WBlock
2.Autocad.model :对应Autocad Active 接口中的 Document.ModelSpace(ActiveDocument.ModelSpace)
method:
- Add3DFace
- Add3DMesh
- Add3DPoly
- AddArc
- AddAttribute
- AddBox
- AddCircle
- AddCone
- AddCustomObject
- AddCylinder
- AddDim3PointAngular
- AddDimAligned
- AddDimAngular
- AddDimArc
- AddDimDiametric
- AddDimOrdinate
- AddDimRadial
- AddDimRadialLarge
- AddDimRotated
- AddEllipse
- AddEllipticalCone
- AddEllipticalCylinder
- AddExtrudedSolid
- AddExtrudedSolidALongPath
- AddHatch
- AddLeader
- AddLightWeightPolyline
- AddLine
- AddMLeader
- AddMLine
- AddMText
- AddPoint
- AddPolyfaceMesh
- AddPolyline
- AddRaster
- AddRay
- AddRegion
- AddRevolvedSolid
- AddShape
- AddSolid
- AddSphere
- AddSpline
- AddTable
- AddText
- AddTolerance
- AddTorus
- AddTrace
- AddWedge
- AddXLine
- AttachExternalReference
- InsertBlock
- Item
三、结语
pyautocad仅仅封装了一下接口,加入了一些迭代方式和table操作,可以导入导出excel等文本数据,官方文档也比较简陋,只有一两个简单实例,并未接受所有的方法,而这些方法主要是一个接口,所以这些方法所要求的参数并不太清楚,只能自己测试。本文只做简单介绍,更多实例会在以后更新。
Process Autocad by python的更多相关文章
- A daemon process class in python
In everbright task schedule project, we need some daemon process to do certain work, here is a examp ...
- Process Pool实现Python的并行执行
参考:Python3.6.2文档 Source code: Lib/concurrent/futures/thread.py and Lib/concurrent/futures/process.py ...
- python学习笔记——multiprocessing 多进程模块Process
系统自带的fork模块创建的多进程是基于Linux或Unix平台的,而window平台并不支持: python中的multiprocess为跨平台版本的多进程模块,支持子进程.通信和共享数据.执行不同 ...
- python操作cad
from pyautocad import Autocad # 自動連接上cad,只要cad是開着的,就創建了一個<pyautocad.api.Autocad> 對象.這個對象連接最近打開 ...
- Python之路第一课Day9--随堂笔记之二(进程、线程、协程篇)
本节内容 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queu ...
- python高级之多进程
python高级之多进程 本节内容 多进程概念 Process类 进程间通讯 进程同步 进程池 1.多进程概念 multiprocessing is a package that supports s ...
- Python之路,Day9, 进程、线程、协程篇
本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者 ...
- python之路-Day10
操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 ...
- python学习笔记-多进程
multiprocessing from multiprocessing import Process import time def f(name): time.sleep(2) print('he ...
随机推荐
- 《Spark Python API 官方文档中文版》 之 pyspark.sql (三)
摘要:在Spark开发中,由于需要用Python实现,发现API与Scala的略有不同,而Python API的中文资料相对很少.每次去查英文版API的说明相对比较慢,还是中文版比较容易get到所需, ...
- bzoj 3208 花神的秒题计划I
bzoj 3208 花神的秒题计划I Description 背景[backboard]: Memphis等一群蒟蒻出题中,花神凑过来秒题-- 描述[discribe]: 花花山峰峦起伏,峰顶常年被雪 ...
- JS和CS互访【后台前台代码调用JavaScript变量以及JavaScript调用代码变量】
原文发布时间为:2008-10-13 -- 来源于本人的百度文章 [由搬家工具导入] .如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问Ja ...
- Introduction to the WinPcap Networking Libraries
Introduction to the WinPcap Networking Libraries use wire shark or fiddler
- Yii CDbCriteria的常用方法总结
查看代码 打印 01 $criteria=new CDbCriteria; 02 $criteria->addCondition("id=1");//查询条件,即wher ...
- cmd 命令提示符常用操作
切换盘符: d: 进入子目录: cd web 返回上级目录: cd .. 查询子目录下所有文件:dir
- 转载:P2P技术原理及应用(2)
转载allen303allen的空间 在Gnutella网络中存在以下问题: 冗余消息多,对带宽的消耗存在一定的浪费.Gnutella网络协议采用泛洪式(Flooding)消息传播机制,这种消息传播机 ...
- vue常用指命
1.v-text:用于更新标签包含的文本,作用和{{}}的效果一样. 2.v-html:绑定一些包含html代码的数据在视图上. 3.v-show:用来控制元素的display属性,和显示隐藏有关.v ...
- 天天算法————快排及java实现。
快排说的很邪乎,原理懂了,实现自然也就出来了: public void static quickSorted( int[] a ,int low ,int high){ //递归结束条件 if(low ...
- SharePreferences使用
获取数据: @SuppressLint("InlinedApi") private String getFromSharePreference(String key) { if ( ...