python使用Win32com將excel和CAD連接起來,執(zhí)行自動(dòng)繪圖
#前綴
我主要從事空調(diào)設(shè)備的開發(fā)和設(shè)計(jì)。在非標(biāo)準(zhǔn)產(chǎn)品設(shè)計(jì)過程中,經(jīng)常會(huì)遇到類似結(jié)構(gòu)的零件重復(fù)圖形。在這個(gè)過程中,如何消耗設(shè)計(jì)師們的大量工作,提高生產(chǎn)率,減少設(shè)計(jì)錯(cuò)誤,是亟待解決的問題。在這種情況下,我根據(jù)我的經(jīng)驗(yàn)和其他博主的介紹,使用python編寫了自動(dòng)繪圖軟件。這個(gè)軟件現(xiàn)在正在解決我們部門的圖紙問題。
# 1,excel連接
excel表中的數(shù)據(jù)
目前本人只找到Win32com庫(kù),連接到excel和CAD,所以這里主要以Win32com為主。代碼如下:
Import win32com.client
app=win 32 com . client . dispatch(' excel . application ')
#后臺(tái)運(yùn)行、不顯示、不警告
A=1
A=0
()
#請(qǐng)注意,不能使用絕對(duì)路徑。如果使用絕對(duì)路徑,則在打包程序后無法打開其他計(jì)算機(jī)。
因?yàn)槭褂昧祟惙椒?,所以這里有一個(gè)self。如果不在類內(nèi),就可以不用。
()
=a(' sheet 1 ')# 2,CAD連接
與Font color=#999AAA CAD的連接也使用Win32com,在這里直接連接CAD即可。附錄代碼運(yùn)行之前,必須打開CAD并創(chuàng)建新窗口。代碼如下:
wincad=win 32 com . client . dispatch(' au;)。
Doc=wincad。ActiveDocument
DOC . U(' Hello!Autocad from py win32 com.\ n ')
Msp=doc。ModelSpace# 3,從excel讀取數(shù)據(jù)
與Font color=#999AAA CAD的連接也使用Win32com,在這里直接連接CAD即可。附錄代碼運(yùn)行之前,必須打開CAD并創(chuàng)建新窗口。代碼如下:
Excel表數(shù)據(jù)
#請(qǐng)查看excel表中有多少有效數(shù)據(jù)
總計(jì)1=0
While。cells(sum1 2、2)。value!=None:
#從excel讀取數(shù)據(jù),從第二行的第二列開始讀取數(shù)據(jù)
Pnts1=。cells(sum1 2、2)。value
Pnts2=。cells(sum1 2、3)。value
#起點(diǎn)坐標(biāo)
Point_x=sum1*7000
Point_x1=point_x pnts1
Pointcoordinates (point _ x、pnts1、pnts2)
Sum1=1# 4,根據(jù)CAD確定的坐標(biāo)點(diǎn)繪制圖形
# data transform,win32com的AddPolyLine函數(shù)的參數(shù)需要數(shù)據(jù)類型,而python生成的數(shù)據(jù)類型多數(shù)是變化類型,因此需要進(jìn)行轉(zhuǎn)換
Def vtfloat(lst):
Return win32 com.client.variant |,lst)
Def vtpnt(x、y、z=0):
坐標(biāo)點(diǎn)“”將轉(zhuǎn)換為浮點(diǎn)數(shù)“”
Returnwin32com.client.variant |,(x、y、z)
Def pointcoordinatesin (point _ x、lenth、width) :
Pnts=[point_x,0,0,
Point _ x、寬度/2,0、
Point _ x、寬度/2,0、
Point _ x、寬度/2,0、
Point _ xlenth,寬度/2,0,
Point _ xlenth,寬度/2,0,
Point _ xlenth,寬度/2,0,
Point_x lenth、0和0
]。
Pnts=vtfloat(pnts)
Pline_obj=m(pnts)
結(jié)果圖表
#第五,結(jié)論
以上是我現(xiàn)在正在做的一些事情。后續(xù)更新,開發(fā)進(jìn)展記錄,以及分析我在這個(gè)過程中遇到的各種問題,供以后學(xué)習(xí)。各成果的分享是我不斷學(xué)習(xí)和嘗試后的結(jié)果,避免后人少走彎路,有不足之處就望上帝糾正和改善。(莎士比亞)。
# 6、參考文獻(xiàn)
1、python二次開發(fā)AutoCAD簡(jiǎn)介:[;dist _ request _ id=3834095 B- 09 c 6-43 c 2-8 c 59-e 197 c 51 c 21 e 2 depth _ 1-UTM _ source=di]
1.《【EXcel怎么鏈接CAD】python使用Win32com將excel和CAD連接起來,執(zhí)行自動(dòng)繪圖》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。
2.《【EXcel怎么鏈接CAD】python使用Win32com將excel和CAD連接起來,執(zhí)行自動(dòng)繪圖》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來源地址,http://f99ss.com/keji/2500630.html