美文网首页
利用pyautocad模块批量画点位

利用pyautocad模块批量画点位

作者: 马可菠萝_1d13 | 来源:发表于2018-03-10 15:13 被阅读0次

某次遇到批量数据画到cad图上,数量一多来回看容易错不说。

现在有了python,来看看怎么帮忙自动处理。

好了,闲话不多说,现在有这样一个xlsx文件,

名称     north      east      z

1    -3xxxx.xxxx      3yyy.yyyy      3.zzz 

恕我已经忘记North,East对应的x,y了

假设North=x,East=y,不对的话换一下也很简单。

先读取xlsx,然后写到cad里,因为cad里点找不到的,那就以点为圆心画圆,旁边标注上高程Z就行了。数据格式用的还不熟练,边学边做。

===============我是分割线=============

# 导入openpyxl模块的load_workbook函数

from openpyxl import load_workbook

#导入pyautocad模块的autocad和apiont函数

from pyautocad import Autocad, APoint

#取得cad软件现在打开的窗口,如果没有则创建一个

acad = Autocad(create_if_not_exists=True)

#测量数据文件

path="aaa.xlsx"

#导入aaa.xlsx里面的工作簿

wb = load_workbook(filename=path)

#取得工作簿里的当前工作表

ws = wb.active

#初始化需要用的数据

list = []

p = []

#对工作簿中所有行进行迭代

for row in ws.rows:   

#做一个临时列表

    temp = []

    #对每一行里的每个单元格进行迭代

    for cell in row: 

          #把每一个单元格的数据添加到临时列表中

            temp.append([cell.value])

    #将每一行的数据添加到list中

    list.append(temp)

#对list去掉第一行标题行,然后迭代

for l,i in zip(list[1:],range(1,len(list))):

    #拿到每一行中x,y,z

    x = l[1][0]

    y = l[2][0] 

    print(i)

    print(x) 

    print(y) 

    #用xy坐标画点,如果xy反了,就颠倒一下 

    p=APoint(x, y)

    #点旁边备注的文字格式为[点号]标高,字体高度为1

    text = acad.model.AddText(u'%s' % "["+str(l[0][0])+"]"+str(l[3][0]), p, 1)

    #画圆圈,半径为1    acad.model.AddCircle(p, 1)

相关文章

  • 利用pyautocad模块批量画点位

    某次遇到批量数据画到cad图上,数量一多来回看容易错不说。 现在有了python,来看看怎么帮忙自动处理。 好了,...

  • python 使用pyautocad操作AutoCAD

    一、python 连接AutoCAD的两种基本方法 1、使用pyautocad pyautocad包可以用任何版本...

  • 【笔记】利用Python自动化操作AutoCAD

    1 Python自动绘图 在这里我主要运用了pyautocad库进行AutoCAD的自动化操作,pyautocad...

  • python实现本地批量ping多个IP

    本文主要利用python的相关模块进行批量ping ,测试IP连通性。 下面看具体代码(python3):

  • week12-ansible 常用模块

    ① command 模块 【批量管理主机执行命令 (默认)】 command模块官方资料说明 批量执行一条命令 去...

  • RedisTemplate批量操作

    RedisTemplate批量添加操作教程,利用pipeline批量操作;multiSet()批量操作;for循环...

  • NodeJS 自定义模块

    模块的组成 require - 引入其他模块 module - 单独输出模块 exports - 批量输出模...

  • Ansible为什么备受青睐?

    Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,通过集成非...

  • ansible

    Ansible特性:批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部...

  • 利用Python统计各乡镇各地类面积

    利用Python统计各乡镇各地类面积 导入相关模块 创建文件地理数据库 批量投影 我们进行面积计算都是需要投影坐标...

网友评论

      本文标题:利用pyautocad模块批量画点位

      本文链接:https://www.haomeiwen.com/subject/aetbfftx.html