利用Python自动化操作AutoCAD的实现


Posted in Python onApril 01, 2020

1 Python自动绘图

在这里我主要运用了pyautocad库进行AutoCAD的自动化操作,pyautocad是一款功能非常强大的AutoCAD操作处理库,可以实现Python自动绘图、CAD图像对象读取、对象属性修改等操作。

from pyautocad import Autocad,APoint

# 连接及库导入
acad = Autocad(create_if_not_exists = True)
acad.prompt("Hello! Autocad from Python.")
print(acad.doc.Name)

# 定义点
p1=APoint(0,0)
p2=APoint(50,25)
for i in range(0,5):
  text=acad.model.AddText('Hi %s' %i,p1,2.5)  # 将i值插入到%s占位符的字符串中(字符串内容,坐标位置,字号大小)
  acad.model.AddLine(p1,p2)  # 绘制线段(起始点,终止点)
  acad.model.AddCircle(p1,10)  # 绘制圆(圆心,半径)
  p1.y+=10  # p1点纵坐标加10

利用Python自动化操作AutoCAD的实现

图1.Python自动绘图结果.png

如果此时你的计算机上未打开AutoCAD软件,在运行该代码时会自动打开AutoCAD并开始绘图;如果已经打开了AutoCAD软件,则在运行该代码时会默认在已打开的图上进行绘图。

2 读取CAD图像对象

from pyautocad import Autocad,APoint

# 连接及库导入
acad = Autocad(create_if_not_exists = True)
acad.prompt("Hello! Autocad from Python.")
print(acad.doc.Name)

# 遍历CAD图像的所有文本对象,打印其文本内容及坐标位置
dp=APoint(10,0)
for text in acad.iter_objects('Text'):
  print('text: %s at: %s' %(text.TextString,text.InsertionPoint))

# 打印对象的类型名称
for obj in acad.iter_objects(['Circle','Line','Text']):
  print(obj.ObjectName)

3 修改对象属性

from pyautocad import Autocad,APoint

# 连接及库导入
acad = Autocad(create_if_not_exists = True)
acad.prompt("Hello! Autocad from Python.")
print(acad.doc.Name)

# 遍历CAD图像对象,修改对象属性
for text in acad.iter_objects('Text'):
  print('text: %s at: %s' %(text.TextString,text.InsertionPoint))
  # 将文本中的“Hi”字符替换为“OK”
  if 'Hi' in text.TextString:
    print('text: %s at: %s' %(text.TextString,text.InsertionPoint))
    # 修改?ο?傩
    text1 = str(text.TextString)
    text1 = text1.replace('Hi','OK')
    text.TextString = text1

将CAD图中,所有文本中的“Hi”字符串替换为“OK”,修改结果如图2所示。

利用Python自动化操作AutoCAD的实现

图2.修改对象属性后

到此这篇关于利用Python自动化操作AutoCAD的实现的文章就介绍到这了,更多相关Python自动化操作AutoCAD内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Python的web框架中配置app的教程
Apr 30 Python
Python的time模块中的常用方法整理
Jun 18 Python
Python HTTP客户端自定义Cookie实现实例
Apr 28 Python
Python使用numpy实现BP神经网络
Mar 10 Python
Python读取数据集并消除数据中的空行方法
Jul 12 Python
Python Pillow Image Invert
Jan 22 Python
python实现邮件发送功能
Aug 10 Python
详解python中docx库的安装过程
Nov 08 Python
浅谈TensorFlow中读取图像数据的三种方式
Jun 30 Python
解决python3中os.popen()出错的问题
Nov 19 Python
Python中glob库实现文件名的匹配
Jun 18 Python
Python 的演示平台支持 WSGI 接口的应用
Apr 20 Python
python使用信号量动态更新配置文件的操作
Apr 01 #Python
python和pywin32实现窗口查找、遍历和点击的示例代码
Apr 01 #Python
python自动脚本的pyautogui入门学习
Apr 01 #Python
Python自动重新加载模块详解(autoreload module)
Apr 01 #Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
Apr 01 #Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
Apr 01 #Python
django model的update时auto_now不被更新的原因及解决方式
Apr 01 #Python
You might like
PHP中的array数组类型分析说明
2010/07/27 PHP
yii操作session实例简介
2014/07/31 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
PHP fopen函数用法实例讲解
2019/02/15 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
2019/02/16 PHP
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
2015/08/31 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
详解Angular 开发环境搭建
2017/06/22 Javascript
解决layui前端框架 form表单,table表等内置控件不显示的问题
2018/08/19 Javascript
python pickle 和 shelve模块的用法
2013/09/16 Python
python获取Linux发行版名称
2019/08/30 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
2020/02/07 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
2020/06/17 Python
详解Python Celery和RabbitMQ实战教程
2021/01/20 Python
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
英国DIY汽车维修配件网站:DIY Car Service Parts
2019/08/30 全球购物
恒华伟业笔试面试题
2015/02/26 面试题
测绘工程本科生求职信
2013/10/10 职场文书
会计系个人求职信范文分享
2013/12/20 职场文书
小学毕业感言50字
2014/02/16 职场文书
教师党员承诺书
2014/03/25 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
初三化学教学反思
2016/02/22 职场文书