python操作cad文件_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相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pyautocad是一个Python库,用于与AutoCAD软件进行交互。它提供了一系列函数和方法,可以通过Python脚本来控制和操作AutoCAD软件。 以下是pyautocad库的一些常用函数和方法: 1. `Autocad()`:创建一个与AutoCAD软件的连接。 2. `open()`:打开一个DWG文件。 3. `close()`:关闭当前打开的DWG文件。 4. `zoom_extents()`:将视图缩放到适应所有对象的大小。 5. `zoom_window(x1, y1, x2, y2)`:将视图缩放到指定窗口范围。 6. `zoom_scale(scale)`:按比例缩放视图。 7. `zoom_previous()`:还原到上一次的视图状态。 8. `add_line(start_point, end_point)`:在指定的起点和终点之间添加一条直线。 9. `add_circle(center_point, radius)`:在指定的中心点和半径处添加一个圆。 10. `add_text(text, insertion_point, height)`:在指定的插入点添加一段文本。 11. `add_block(name, base_point, x_scale, y_scale, rotation_angle)`:添加一个块定义。 12. `insert_block(name, insertion_point, x_scale, y_scale, rotation_angle)`:在指定的插入点插入一个块。 13. `delete_entity(entity)`:删除指定的实体。 14. `modify_entity(entity, properties)`:修改指定实体的属性。 15. `get_entity(entity_name)`:获取指定名称的实体。 这些只是pyautocad库中的一部分函数和方法,还有很多其他功能可以通过pyautocad来实现。你可以根据具体需求查阅pyautocad的官方文档或者参考示例代码来学习和使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值