python控制autocad_利用python控制Autocad:pyautocad方式

本文介绍了如何使用pyautocad库来控制Autocad进行图形绘制和操作,包括连接CAD、使用ActiveX接口、绘制简单图形,以及遍历和修改图形对象属性。示例代码展示了如何绘制线条、圆和螺旋图,以及如何通过对象属性进行移动和修改。
摘要由CSDN通过智能技术生成

发现pyautocad模块:可以用python控制autocad的包。今天把文档中的重点内容摘录出来,以后绘图、计算大工程量、或者识别施工图的时候时候也许可以用到。

一、连接cad

pyautocad包可以用任何版本的cad进行操作,实际上接口都是一样的。文档中首先给出连接cad的代码:

from pyautocad import Autocad, APoint

acad = Autocad(create_if_not_exists=True)

acad.prompt("Hello, Autocad from Python\n")

print acad.doc.Name

第一行:自动连接上cad,只要cad是开着的,就创建了一个 对象。这个对象连接最近打开的cad文件。

如果此时还没有打开cad,将会创建一个新的dwg文件,并自动开启cad软件(贴心)

第二行:acad.prompt() 用来在cad控制台中打印文字

第三行:acad.doc.Name储存着cad最近打开的图形名

二、ActiveX interface(这个到底是什么东西)

可以利用ActiveX interface,python中储存的autocad对象中保存了一些可以简化操作的自动化操作(可以迭代对象、搜索对象等等)

三、用acad.model 对象绘制简单图形

acad.model对象是用来在图形中添加图元的,先来做一个简单的功能,在两点之间画线,以一个点为圆心画圆

# 已经导入 APoint 类

p1 = APoint(0, 0)

p2 = APoint(50, 25)

for i in range(5):

text = acad.model.AddText(u'Hi %s!' % i, p1, 2.5)

acad.model.AddLine(p1, p2)

acad.model.AddCircle(p1, 10)

p1.y += 10

1、循环中的第一行用于添加一个Text,参数:(u'%s' % text, x, y)

如果后面不需要操作AddText对象的话,只是实现在cad中创建一个Text并不一定要创建变量,直接调用acad.model.AddText()方法就可以做到了。

2、acad.model.AddCircle(p1, 10) 画圆,同理

3、可以尝试更多的 addXxxx 方法,由于文档中并没有写输入变量究竟是什么,慢慢尝试吧

尝试过可以使用的:addPolyLine(

练练手:

用递归程序写一个在cad中画一个螺旋图,写的有点啰嗦,

from pyautocad import Autocad, APoint

acad = Autocad(create_if_not_exists = True)

p = APoint(5, 0)

def recur(p, step, layer):

if layer == 50:

return

p2 = next_p(p, layer, step)

acad.model.AddLine(p, p2)

layer += 1

step += 5

print step

recur(p2, step, layer)

def next_p(p, i, step):

x = p.x

y = p.y

if i % 4 == 0:

x += s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值