最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

python讀取excel數(shù)據(jù)寫入CAD指定位置

2023-08-16 09:25 作者:肖冰的百寶箱  | 我要投稿

代碼原理是新建空列表,打開excel文件,讀取第一個工作簿的信息以鍵值對形式存入列表,打開cad,在指定位置(P1坐標)寫入值的信息,或許源代碼通過修改會有更好的用處,代碼如下,可以直接復制進python自帶編輯器:

?#本程序可從excel中讀取數(shù)據(jù),再將數(shù)據(jù)寫入cad文件指定位置。

import xlrd

from xlrd import xldate_as_tuple

import datetime? ? ?#導入需要讀取的第一個Excel表格的路徑

from pyautocad import Autocad, APoint

import re

import math

# 打開cad文件 自動連接上cad,只要cad是開著的,就創(chuàng)建了一個<pyautocad.api.Autocad> 對象。這個對象連接最近打開的cad文件。 如果此時還沒有打開cad,將會創(chuàng)建一個新的dwg文件,并自動開啟cad軟件

acad = Autocad(create_if_not_exists=True)

# acad.prompt() 用來在cad控制臺中打印文字

acad.prompt("Hello, Autocad from Python")

# acad.doc.Name儲存著cad最近打開的圖形名

print(acad.doc.Name)

data1 = xlrd.open_workbook(r'D:\\自編明細表.xls')

table = data1.sheets()[0]? ? ?

tables = []? #創(chuàng)建一個空列表,存儲Excel的數(shù)據(jù)

def import_excel(excel):? ? ?#將excel表格內容導入到tables列表中,定義一個import_excel函數(shù),利用for循環(huán)導入表格數(shù)據(jù)

? for rown in range(excel.nrows):

? ?array = {'桿號':'','桿型':'','直耐終':'','轉角度數(shù)':'','檔距':''}

? ?array['桿號'] = table.cell_value(rown,1)

? ?array['桿型'] = table.cell_value(rown,2)

? ?array['直耐終'] = table.cell_value(rown,3)

? ?array['轉角度數(shù)'] = table.cell_value(rown,4)

? ?array['檔距'] = table.cell_value(rown,5)

? ?tables.append(array)

p1=APoint(1559.72,1103.63)? #桿號

p2=APoint(1569.44,1105.77)? #桿型

p3=APoint(1569.44,1101.26)? #轉角度數(shù)

p4=APoint(1595.64,1098.31)? #檔距

import_excel(table)

print(tables)

for i in range(1,22):

? ? ? ganhao=tables[i]['桿號']

? ? ? ?text = acad.model.AddText(ganhao, p1, 3)#增加文字,坐標,大小 # 畫線用“acad.model.AddLine(p1, p2)”? ?# 畫圓用“acad.model.AddCircle(p1, 10)”

?? ? ?p1.y -= 10? # P1的y坐標累加10


for i in range(1,22):

? ? ganhao=tables[i]['桿型']

? ? text = acad.model.AddText(ganhao, p2, 3)#增加文字,坐標,大小

? ? ?p2.y -= 10? # P1的y坐標累加10

for i in range(1,22):

? ? ganhao=tables[i]['轉角度數(shù)']

? ? ?text = acad.model.AddText(ganhao, p3, 3)#增加文字,坐標,大小

? ? ? p3.y -= 10? # P1的y坐標累加10

for i in range(1,22):

? ? ganhao=tables[i]['檔距']

? ? text = acad.model.AddText(ganhao, p4, 3)#增加文字,坐標,大小

? ? ?p4.y -= 10? # P1的y坐標累加10


# ?。。。。。?!遍歷cad圖形對象以及訪問/修改對象屬性

for text in acad.iter_objects('Text'):

? ? print('text: %s at: %s' % (text.TextString, text.InsertionPoint))

? ? text.InsertionPoint = APoint(text.InsertionPoint) #代碼到此結束

明細表界面如下,可以自己隨意調整,只要每一列數(shù)據(jù)屬性和代碼中對應即可。

excel明細表截圖

以上代碼來源互聯(lián)網,經過拼接調試,親試可以使用,通過修改其中部分代碼還可以實現(xiàn)更多功能,本文僅作為自己學習編程的記錄。


? ? ? ??


python讀取excel數(shù)據(jù)寫入CAD指定位置的評論 (共 條)

分享到微博請遵守國家法律
天气| 巴彦县| 汝阳县| 沁源县| 翁源县| 大埔区| 南江县| 莒南县| 靖江市| 巴里| 汾西县| 金堂县| 连江县| 涟源市| 长宁区| 离岛区| 大宁县| 嘉峪关市| 禹城市| 天镇县| 张家界市| 武宣县| 平定县| 台山市| 桦南县| 班玛县| 多伦县| 渭源县| 奉节县| 秦皇岛市| 乌恰县| 禄劝| 上栗县| 湘乡市| 呼伦贝尔市| 海门市| 潜山县| 砚山县| 商都县| 英吉沙县| 抚州市|