![1c944e3292823fcdaa75eb65d9694cd8.png](https://i-blog.csdnimg.cn/blog_migrate/709c787812a21bc74a10578e9108dfe4.png)
你也许听说过Python,能对Revit进行开发,能对Ansys进行开发,能对编写grasshopper脚本,也能编写Dynamo脚本,但你也许没有听说过,Python能对CAD进行开发,今天就带你走进这样一个世界。
AutoCAD是一个广受欢迎的绘图软件,在建筑、机械、制造、工业等各个行业受到广泛关注和使用,对各行各业设计人员来说,掌握AutoCAD软件绘图是一个基本功。
本期使用材料:Python3.6,CAD2014
一、相关内容简介
ActiveX Automation是ActiveX为Windows系统提供的一项重要计算机技术,允许应用程序之间通过数据嵌入或链接方式进行程序间的数据共享,允许程序间相互控制和沟通。
Python是一门解释性语言,在过去的一段时间很欢迎,由于其易用性和可拓展性,在科研和实际生产项目中都展现了非常强大的力量。
pyautocad是一个受到python支持的AutoCAD ActiveX Automation库,由俄罗斯工程师Roman Haritonov开发。
pyautocad安装方法:pip install pyautocad
如果安装速度太慢,参考参考这篇文章来进行换源。
下面就pyautocad使用方法和常见功能进行介绍。
二、使用方法
执行Python代码时候请务必保持CAD软件对要操作的图纸保存过且处于打开状态。
三、常见功能
主要包含自动绘图、CAD对象读取、属性修改等操作。
1.自动绘图
(1)创建图层
示范代码,设置了图层名称、颜色、线宽
from
执行完成代码
![c19bcddda1a1dc22748fd530d5a02847.png](https://i-blog.csdnimg.cn/blog_migrate/fbf7b30a6860a8f4ce737fdb5d382515.png)
批量创建图层也使用该方法。
(2)创建几何形状和文字
通过pyautocad可以绘制各类常见图形和文字,并支持颜色,线性等属性设置。
代码如下:
from pyautocad import Autocad, APoint, aDouble
acad = Autocad(create_if_not_exists=True)
acad.prompt("Hello, Autocad from Pythonn")
print(acad.doc.Name)
point_list = []
point = "point"
p1 = APoint(0, 0)
p2 = APoint(50, 0)
p3 = APoint(100, 0)
p4 = APoint(150, 0)
p5 = APoint(0, 50)
p6 = APoint(50, 50)
p7 = APoint(100, 50)
p8 = APoint(150, 50)
# 使用多段线工具绘制两个矩形
rectangle_1 = [p1, p2, p6, p5, p1]
rectangle_2 = [p3, p4, p8, p7, p3]
rectangle_1 = [j for i in rectangle_1 for j in i]
rectangle_2 = [j for i in rectangle_2 for j in i]
rectangle_1 = aDouble(rectangle_1)
rectangle_2 = aDouble(rectangle_2)
acad.model.AddPolyLine(rectangle_1)
acad.model.AddPolyLine(rectangle_2)
# 创建三个圆及其对应的圆心注释
acad.model.AddCircle(p6, 25)
aca