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