当前位置: 服务支持 >  技术文档 >  利用Python将CAD表格数据高效导出至Excel

利用Python将CAD表格数据高效导出至Excel

阅读数 59
点赞 83
copyright 著作权
article_banner

  日常工程设计中,Cad文件中的表格通常存在大量数据(如节点、构件编号、面积尺寸、坐标等)。为便于阅读和处理,通常需要将以上数据转到excel表格中。现有的处理方法有品茗插件、浩辰cad等软件、插件。

  考虑到安装插件或软件的不便,本文采用python语言编写脚本,利用第三方库pyautocad、xlwt等第三方库读取cad的数据并写入excel表格中,可大大节省时间,并且避免了安装软件的不变。且代码通用性强,适合2007~2020各个版本的autocad软件。

  为便于描述,以下列数据为例,其中第1列为序号,第2、3、4列为x、y、z空间三维坐标),表格如下。

cad表格数据

大量的cad表格数据。。

为处理以上数据,可采用python第三方模块pyautocad提取数据,采用xlwt模块将数据提取到excel表格。代码如下。

#! /user/bin/python
# -*- coding:UTF-8 -*-
from pyautocad import Autocad
import xlwt

acad = Autocad(create_if_not_exists=True)
acad.prompt("Hello, Autocad from Python\n")
print (acad.doc.Name)  #当前cad文件名

drawing_name= [[text.TextString, text.InsertionPoint] for text in acad.iter_objects('Text',dont_cast=True)]  #文字字符串||文字插入点

drawing_name= [int(text.TextString) for text in acad.iter_objects('Text',dont_cast=True)]   #字符串转为整数型
print(type(drawing_name))  #list类型
def chunk2(l,chunk_size):   #自定义函数||将列表等分||l是列表||chunk_size是几等分
   return [l[x:x + chunk_size] for x in range(0,len(l),chunk_size)]
a=chunk2(drawing_name,4)   #等分后的列表||二维列表,内部各个列表元素个数均为4

#建立excel表格
wbkName = 'joint-1-100'      #命名excel文件名
wbk = xlwt.Workbook()        #创建excel文件
sheet = wbk.add_sheet('sheet1')  #创建sheet1
sheet.write(0,0,'编号')  #写入列标题
sheet.write(0,1,'X')
sheet.write(0,2,'Y')
sheet.write(0,3,'Z')
for i in range(len(a)):
   for j in range(len(a[i])):
      sheet.write(i+1,j,a[i][j])
wbk.save(wbkName+'.xls')   #结果表明输出成功

最终输入至excel表格的效果如下(可使用excel自带功能对数据进行升序排列):

数据存入excel表格

相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空