python利用pyautocad绘制岩体产状

1.读取EXCEL表相应数据

2.插入block块

3.根据表格数据旋转block角度

4.增加文字注释

acad.model.InsertBlock(p3,"D:\\python\\dccz.dwg",1,1,1,0)中后续参数的含义:Scale/X/Y/Z/Rotate

并且rotate中为弧度,非度。以下为实现代码:

#by helix  [email protected]
from pyautocad import Autocad, APoint
import pyautocad
import openpyxl
import sys
import math
wb=openpyxl.load_workbook('D:\\python\\地质点.xlsx')
wsheet=wb.worksheets[0]#或者wb.active#获取文档列表get_sheet_by_name(wb.get_sheet_names[0]
acad = Autocad(create_if_not_exists = True)#true表示没有文件则打开一个
for row in wsheet.iter_rows(min_col=1, min_row=2, max_row=wsheet.max_row, max_col=wsheet.max_column): 
    #读取单元格数据:excel中数据行列索引均为0,与min_col/min_row设置不一致。
    # 0     1   2   3   4       5       6
    # 点号  x   y	h	倾向	倾角	备注
    print(row[0].value,row[1].value,row[4].value)
    p3 = APoint(float(row[1].value),float(row[2].value),0.0)
    ratangel = float(row[4].value)     #读取的数值为度
    acad.model.InsertBlock(p3,"D:\\python\\dccz.dwg",0.5,0.5,0.5,-ratangel* math.pi/180) #此处为弧度,切记!!
    acad.model.AddText('产状:%s∠%s' % (ratangel,int(row[5].value)), p3-APoint(-3,1.5), 1.5)#添加文本:标注文字,标注点位置,标注字体高度
    acad.model.AddText('描述:%s' % row[6].value,(p3-APoint(-3,3.5)),1.5)

python利用pyautocad绘制岩体产状_第1张图片

你可能感兴趣的:(python,cad)