Python使用pyautocad+openpyxl处理cad文件示例
作者:mengtianwxs 发布时间:2022-05-24 11:44:18
标签:Python,pyautocad,openpyxl,cad
本文实例讲述了Python使用pyautocad+openpyxl处理cad文件。分享给大家供大家参考,具体如下:
示例1:
from pyautocad import Autocad
import openpyxl
wb=openpyxl.load_workbook('./cads.xlsx')
sheet=wb.get_sheet_by_name('Sheet1')
data=[]
pset=[]
acad=Autocad(create_if_not_exists=True)
acad.prompt('hello this is python in')
for text in acad.iter_objects('Text'):
data.append(text.TextString)
from pyautocad import APoint
for text in acad.iter_objects('Text'):
pset.append(APoint(text.InsertionPoint))
print len(data)
for d in range(1,len(data)):
sheet['A'+str(d)].value=data[d]
sheet['B'+str(d)].value=str(pset[d].x)
sheet['C'+str(d)].value=str(pset[d].y)
wb.save('aabb1.xlsx')
print 'success aabb1.xlsx'
其实pyautocad中有关于table的api
示例2:
from pyautocad import Autocad
import openpyxl
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
wb=openpyxl.load_workbook('./aabb.xlsx')
sheet=wb.get_sheet_by_name('Sheet1')
data=[]
acad=Autocad(create_if_not_exists=True)
acad.prompt('hello this is python in')
for text in acad.iter_objects('Text'):
data.append(text.TextString)
print len(data)
for d in range(1,len(data)):
if(str(data[d])[0:4]=="BM30" or str(data[d])[0:4]=="BM65"):
sheet['A'+str(d)].value=data[d]
wb.save('ky1.xlsx')
print 'success ky1.xlsx'
截取了BM30和BM65的数据
示例3:
import openpyxl
from pyautocad import Autocad,APoint
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
wb=openpyxl.load_workbook("a.xlsx")
sheet=wb.get_sheet_by_name("Sheet1")
data=[]
px=[]
py=[]
acad=Autocad(create_if_not_exists=True)
acad.prompt("hello this is mt")
for text in acad.iter_objects('Text'):
data.append(text.TextString)
#print text.TextString
px.append(APoint(text.InsertionPoint).x)
py.append(APoint(text.InsertionPoint).y)
#print text.InsertionPoint
print len(data)
print "eof"
for d in range(1,len(data)):
if(str(data[d])[0:4]=="Vigi" or str(data[d])[0:4]=="iC65" or str(data[d])[0:3]=="CVS" or str(data[d])[0:3]=="PRD" or str(data[d])[0:4]=="DDZY"):
sheet['A'+str(d)]=data[d]
sheet['B'+str(d)]=px[d]
sheet["C"+str(d)]=py[d]
# print data[d]
wb.save("kv.xlsx")
print "success"
#or str(data[d])[0:3]=="CVS" or str(data[d])[0:3]=="PRD" or str(data[d])[0:4]=="DDZY"
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/mengtianwxs/article/details/53465209
0
投稿
猜你喜欢
- 本文介绍了详解TensorFlow在windows上安装与简单示例,分享给大家,具体如下:安装说明平台:目前可在Ubuntu、Mac OS、
- 用 docx 模块读取 Worddocx 安装cmd 中输入pip install python-docx 即可安装 docx 模块docx
- 前言使用python做一个加密资料的软件,可加密应用程序、文件、压缩包等多种文件格式,不可直接加密文件夹,可以先用压缩包打包在加密。加密后的
- Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块我在之前的文章已经有所介绍,它提
- 优先级队列概述队列,是数据结构中实现先进先出策略的一种数据结构。而优先队列则是带有优先级的队列,即先按优先级分类,然后相同优先级的再 进行排
- 前言前面已经讲述了如何获取股票的k线数据,今天我们来分析一下股票的资金流入情况,股票的上涨和下跌都是由资金推动的,这其中的北上资金就是一个风
- 三通道数组转成彩色图片 img=np.array(img1)img=img.reshape(3,img1.shap
- 本文实例讲述了python通过imaplib模块读取gmail里邮件的方法。分享给大家供大家参考。具体实现方法如下:import imapl
- 想把python提取出来的 加载点反力和某个单元的应力画在同一个XY曲线图上,由于两者数量级差太远,故而需要建立有两个Y轴的XY曲线图。效果
- 代码很简洁,也很简单,就不多废话了。/** * 去除多余的0 */ function del0($s)&
- 前言MySQL是目前非常流行的数据库之一,也是中小企业持久化存储的首选数据库。不同于我们日常学习,在实际应用中,MySQL服务都会挂载在某台
- 什么是索引拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为
- 需要安装的python库使用python编写程序进行测试MQTT的发布和订阅功能。首先要安装:pip install paho-mqtt测试
- 在面试中,大家应该经历过如下场景面试官:"用过mysql吧,你们是用自增主键还是UUID?" 你
- 为了显示一个渐变而专门制作一个图片的做法是不灵活的,而且很快会成为一种不好的做法。但是遗憾的是,截至写这篇文章,可能还必须这样做,但是希望不
- 本文实例讲述了使用coverage统计python web项目代码覆盖率的方法。分享给大家供大家参考,具体如下:在使用python+sele
- 接下来我们会进入 字符串常用方法的应用阶段,重点学习字符串的内置函数。正式学习之前,我们要先了解一个词 对象 (划重点,不是男女朋友!),只
- 前提准备:1.使用python requests模块2.了解json3.zabbix api的具体调用建议先浏览一下官网先上代码:impor
- 最近遇到一个头疼的问题,用socket接收到一个字符串格式如下:{“trade_status”: {“desc”: “\u30106\u30
- 一.ASP使用SQL查询数据库方法: 方法1 Set&nbs