python:pyautocad
文章目录
- 一、使用
- 1、主接口和类型
- 2、处理表
- 二、API
- 1、AutoCAD主接口
一、使用
1、主接口和类型
导入相关模块
from pyautocad import Autocad, APoint
创建AutoCAD应用程序或连接到已经运行的应用程序:
acad = Autocad(create_if_not_exists=True)
# 在CAD命令行输出内容
acad.prompt("Hello, Autocad from Python\n")
# 输出当前图形文件的名称
print(acad.doc.Name)
在文档中添加对象:
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
迭代文档中的Texts, Lines和Circles对象:
for obj in acad.iter_objects():print(obj.ObjectName)for text in acad.iter_objects('Text'):print(text.TextString, text.InsertionPoint)for obj in acad.iter_objects(['Text', 'Line']):print(obj.ObjectName)
在一定条件下找到第一个对象:
def text_contains_3(text_obj):return '3' in text_obj.TextStringtext = acad.find_one('Text', predicate=text_contains_3)
print(text.TextString)
通过ACAD查找对象并修改属性:
from pyautocad import ACADfor text in acad.iter_objects('Text'):old_insertion_point = APoint(text.InsertionPoint)text.Alignment = ACAD.acAlignmentRighttext.TextAlignmentPoint = old_insertion_point
更改对象位置:
for line in acad.iter_objects('Line'):p1 = APoint(line.StartPoint)line.EndPoint = p1 - APoint(20, 0)
2、处理表
添加对象并保存到EXCEL中:
from pyautocad import Autocad, APoint
from pyautocad.contrib.tables import Tableacad = Autocad()
p1 = APoint(0, 0)
for i in range(5):obj = acad.model.AddText(u'Hi %s!' % i, p1, 2.5)p1.y += 10table = Table()
for obj in acad.iter_objects('Text'):x, y, z = obj.InsertionPointtable.writerow([obj.TextString, x, y, z])
table.save('C:/Users/liuzhi/Desktop/data.xls', 'xls')
提高AutoCAD表格操作的速度:
table = acad.model.AddTable(pos, rows, columns, row_height, col_width)
with suppressed_regeneration_of(table):table.SetAlignment(ACAD.acDataRow, ACAD.acMiddleCenter)for row in range(rows):for col in range(columns):table.SetText(row, col, '%s %s' % (row, col))
二、API
1、AutoCAD主接口
class pyautocad.api.Autocad(create_if_not_exists=False, visible=True)
参数:
创建if_NOT_存在-如果AutoCAD不运行,那么新的实例化将被装箱
可见-如果是True(默认),新的AutoCAD实例将是可见的。
prompt(文本)
在控制台和AutoCAD提示符
get_selection(Text=“SelectObjects”)
要求用户选择对象
pyautocad.types.distance(P1, P2)
返回两点之间的距离P1和P2
pyautocad.types.aDouble(*seq)
回报array.array为传递到AutoCAD的双倍代码(‘d’代码),对于3D点使用APoint相反。
pyautocad.types.aInt(*seq)
回报array.array用于传递到AutoCAD的INTS(‘l’代码)
pyautocad.types.aShort(*seq)
回报array.array传递到AutoCAD的简写(h‘代码)
python:pyautocad相关推荐
- python读取cad表格,Python使用pyautocad+openpyxl处理cad文件示例
本文实例讲述了Python使用pyautocad+openpyxl处理cad文件.分享给大家供大家参考,具体如下: 示例1: from pyautocad import Autocad import ...
- python:Json模块dumps、loads、dump、load介绍
20210831 https://www.cnblogs.com/bigtreei/p/10466518.html json dump dumps 区别 python:Json模块dumps.load ...
- OpenCV+python:Canny边缘检测算法
1,边缘处理 图像边缘信息主要集中在高频段,通常说图像锐化或检测边缘,实质就是高频滤波.我们知道微分运算是求信号的变化率,具有加强高频分量的作用. 在空域运算中来说,对图像的锐化就是计算微分.由于数字 ...
- pyhton 安装pip 以及 numpy (解决python:ModuleNotFoundError:No module named numpy 等类似缺包问题
https://blog.csdn.net/phs999/article/details/79218869 pyhton 安装pip 以及 numpy (解决python:ModuleNotFound ...
- 中文Python:中文编程不是梦
我曾经与一位朋友讨论有没有可能用中文编程.当然计算机语言毕竟不是自然语言,但是目前大多数计算机语言(包括内置函数和库函数)都是基于英语的.所以,你会写System.PrintScreen(" ...
- python:未找到命令
参考下面的文章: python:未找到命令_无色云的博客-CSDN博客https://blog.csdn.net/weixin_38669561/article/details/103010621这样 ...
- python:json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes问题解决
python:json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes问题解决 参考文章: (1) ...
- python: 关于解决‘\u‘开头的字符串转中文的方法
python: 关于解决'\u'开头的字符串转中文的方法 参考文章: (1)python: 关于解决'\u'开头的字符串转中文的方法 (2)https://www.cnblogs.com/hahaxz ...
- Python:SMOTE算法——样本不均衡时候生成新样本的算法
Python:SMOTE算法 直接用python的库, imbalanced-learn imbalanced-learn is a python package offering a number ...
最新文章
- (笔试题)不用除法操作符,实现两个整数的除法
- windows密钥连接linux,windows使用密钥登录linux
- Obj文件和Bin文件
- linux gnome 桌面,GNOME Linux桌面
- html 模板配置,模板文件配置
- python手机编译器可以干什么_世界上最好的Python编辑器是什么?
- 你留言,我送书!20本《玩转Python轻松过二级》等你拿!
- 空间复杂度,实现从excel导出到txt文件中的java代码自动构建,逻辑条件不同实现则不同...
- ASP.NET深入浅出系列3- Page类
- group by分组后获得每组中时间最大的那条记录
- 尚硅谷大数据hadoop教程
- Python RPM包制作
- 用C语言编译一元二次方程的求解,用c语言求解一元二次方程
- 网易云评论 爬虫 java_网易云歌曲评论爬虫如何实现翻页?
- css 屏幕背景图片 img.html
- 快速正确的搭建一个微服务架构需要了解的那几个点
- 小学生的搞笑考试卷子
- centos安装MySQL到指定盘_Centos下安装mysql 和挂载硬盘
- 关于第三方App发起Unity开发的app的解决方案
- 雷林鹏最人性化访谈:做投资不仅仅是要赚钱,要成为有价值的人
热门文章
- RK3399平台开发系列讲解(网络篇)7.25、Socket接口的分层
- 数据仓库之缓慢变化维度处理
- DB2数据库安装(db2 9.7 ,centos7)
- poi中word中表格跨列合并以及不兼容wps问题,java下 linux下word转pdf 问题解决
- 微信小程序 错题记事本 111111
- LeetCode-5299. 找到一个数字的 K 美丽值_Python
- python jpg压缩_python 实现图片批量压缩的示例
- php代码加密tp5,TP5.1写接口用来加密解密的方法
- 计算机语言栏在哪里,缺少计算机语言栏的解决方案是什么
- The container name XXX is already in use by container