黃華
(四川工程職業(yè)技術(shù)學(xué)院 機(jī)電工程系,四川 德陽 618000)
Auto CAD VBA(Visual Basic for Applications)是從AutoCAD R14.01版本開始內(nèi)嵌于AutoCAD軟件中的二次開發(fā)工具。VBA將AutoCAD和Visual Basic的功能結(jié)合在一起,借助于在建筑、機(jī)械、電子等行業(yè)中廣泛應(yīng)用的AutoCAD軟件的優(yōu)秀的二維以及三維繪圖功能,以及Visual Basic友好的編程界面工具,能快捷、快速地創(chuàng)建出符合用戶要求的程序,大大提高用戶的工作效率。
AutoCAD VBA開發(fā)使用的是AutoCAD ActiveX技術(shù),這種技術(shù)使得用戶能從Auto CAD的內(nèi)部或外部,以編程方式來操作AutoCAD[6]。從理論上來說,AutoCAD中大多數(shù)命令,都能夠通過VBA編程來控制實(shí)現(xiàn),同時(shí)還加入了一些VB特有的功能,從而大大方便了用戶的開發(fā)應(yīng)用。
方圓接頭鈑金件,一般上部為圓形,下部為方形,用于連接圓形和方形流道,其本體是由4個(gè)斜圓錐面和4個(gè)三角形平面構(gòu)成,如圖1所示。
圖1 方圓接頭的構(gòu)成
要用Auto CAD VBA來編程實(shí)現(xiàn)自動(dòng)建模,首先要能夠在Auto CAD中能手動(dòng)操作實(shí)現(xiàn),并且操作及算法簡(jiǎn)單。本建模方法利用Auto CAD中具有的放樣(Loft)功能來實(shí)現(xiàn)。放樣(Loft)是 Auto CAD2007之后的版本才具有的功能,其作用是在幾個(gè)橫截面之間,沿著引導(dǎo)線生成所需要的曲面。
橫截面(通常為曲線或直線)可以是開放的(例如圓?。部梢允情]合的(例如圓)。使用放樣(Loft)命令時(shí),必須指定至少兩個(gè)橫截面。
在方圓接頭中,則以上圓以及下方形為兩截面,以4個(gè)斜圓錐面和4個(gè)三角形平面分解的8條截交線為引導(dǎo)線。用VBA控制Auto CAD實(shí)現(xiàn)方圓接頭建模的具體步驟為:
步驟1:讀取方圓接頭各參數(shù),包括上圓直徑,下正方形邊長(zhǎng),上下底面高度,壁厚等;
步驟2:給出方形底面中心點(diǎn)O1坐標(biāo),結(jié)合正方形邊長(zhǎng),用多邊形(Polygon)命令畫出方形底面;
步驟3:由O1坐標(biāo)及上下底面高度得出上圓圓心O2坐標(biāo),結(jié)合直徑,用圓(Circle)命令畫出圓形頂面;
步驟4:利用幾何方法算出上圓4個(gè)象限點(diǎn)E、F、G、H,用直線(Line)命令分別連接方形的 4 個(gè)角點(diǎn),得到斜錐面與4個(gè)三角形的截交線;
步驟5:用放樣(Loft)命令,選擇上圓和下底方形為放樣橫截面,以8條截交線為導(dǎo)向曲線進(jìn)行放樣,從而得到放樣實(shí)體,并對(duì)實(shí)體進(jìn)行標(biāo)記;
步驟6:根據(jù)壁厚,重復(fù)步驟2到步驟5過程,得到另一內(nèi)部放樣實(shí)體,同樣對(duì)實(shí)體進(jìn)行標(biāo)記;
步驟7:由步驟5和步驟6生成的實(shí)體進(jìn)行差集(Subtract)操作,生成所要的方圓接頭鈑金件。
展開圖在鈑金下料過程中,起著重要的作用,鈑金下料的準(zhǔn)確與否,決定著鈑金件的制造品質(zhì)。故,如何得到準(zhǔn)確可靠的展開圖,一直是方圓接頭制造中的重要課題。
如圖2中的展開原理圖中,我們可以觀察到,方圓接頭的展開圖下部,是由方形4條邊成一定角度展開,上部雖然是由圓形展開的,但由于接頭的特殊結(jié)構(gòu),展開后已經(jīng)不是圓弧了,而是4段不規(guī)則曲線組成。
由此,我們可知得到展開圖的關(guān)鍵,是得出展開圖中所示的各個(gè)特殊點(diǎn)的坐標(biāo),以及在上部曲線找到一些一般點(diǎn)進(jìn)行描點(diǎn)作圖。對(duì)于計(jì)算機(jī)作圖來說,則是要在上部曲線中找到足夠多的細(xì)分點(diǎn),并用直線連接這些細(xì)分點(diǎn),以直代曲來擬合曲線。
圖2 方圓接頭的展開原理圖
如圖2(a),以M點(diǎn)為展開圖的坐標(biāo)原點(diǎn),由方形邊長(zhǎng)易得B、C兩點(diǎn)坐標(biāo)。由F點(diǎn)往底面做投影得到L點(diǎn),則L點(diǎn)必在MN直線上。設(shè)方形邊長(zhǎng)a,上圓半徑為 r,高為 h,則
可得F點(diǎn)在展開圖中的坐標(biāo)。
如圖2(b),P點(diǎn)為圓周上的第i個(gè)等分點(diǎn),則B、P兩點(diǎn)間的距離可由以下公式獲得:
之后,計(jì)算∠PBM:
由以上即可得到P點(diǎn)在展開圖中的坐標(biāo)。
其他各點(diǎn)均可按上述方法算出。
我們以HN直線為界(N、M分別為AD和BC的中點(diǎn))來展開圖形,其展開步驟如下:
步驟1:以M點(diǎn)作為展開圖作圖起點(diǎn),由方形邊長(zhǎng)可得到B、C兩點(diǎn)坐標(biāo);
步驟2:由圖2(a)中所示幾何關(guān)系可得到MF長(zhǎng)度,從而得到F點(diǎn)坐標(biāo);
步驟3:計(jì)算∠FBM,給出曲線EF的均分點(diǎn)數(shù),計(jì)算點(diǎn)B與曲線EF各均分點(diǎn)的距離,同時(shí)計(jì)算B與曲線EF各均分點(diǎn)的連線與X軸正向的夾角,由幾何關(guān)系算出各均分點(diǎn)的坐標(biāo),依次連接各均分點(diǎn);
步驟4:同步驟3的方法,計(jì)算出上部其余各段曲線上各均分點(diǎn)的坐標(biāo),并依次連接各均分點(diǎn);
步驟5:由步驟3和步驟4步計(jì)算的結(jié)果,算出下部N、A、D各點(diǎn)的坐標(biāo),依次連線;
步驟6:連接上部曲線和下部折線,進(jìn)行標(biāo)注。
依據(jù)上述方法,用AutoCAD VBA編制程序得到程序交互界面如下:
在AutoCAD軟件中運(yùn)行宏程序,輸入如圖3所示的參數(shù)之后,點(diǎn)擊三維建模按鈕,就能得到所要的三維鈑金件模型,再點(diǎn)擊平面展開按鈕Auto CAD,就能自動(dòng)新建文件生產(chǎn)展開圖并自動(dòng)進(jìn)行標(biāo)注。
圖3 軟件交互界面
實(shí)例輸出結(jié)果如圖4所示。
圖4 實(shí)例結(jié)果
本文基于AutoCAD VBA技術(shù),應(yīng)用解析幾何知識(shí),給出了方圓接頭鈑金件的三維精確建模方法以及展開圖算法。實(shí)際編程驗(yàn)證表明,方法準(zhǔn)確可靠,所建模型完全能滿足三維演示、工程分析等的要求。用上述方法所得的展開圖,實(shí)現(xiàn)了自動(dòng)化展開和自動(dòng)化標(biāo)注,減輕了繪圖人員的工作量。
[1]梁國(guó)高.基于AutoCAD及Pro/E的天圓地方類結(jié)構(gòu)件建模及展開研究[J].機(jī)械,2010,37(3):55-57.
[2]李玉龍,徐澤銀,徐 強(qiáng).異形方圓接頭的鈑金建模及展料實(shí)現(xiàn)[J].機(jī)械工程師,2005,(9):73-74.
[3]周運(yùn)金,王 剛,李靜蕊.圓方過度接頭展開圖在AutoCAD中的繪制[J].陜西理工學(xué)院學(xué)報(bào),2005,21(3):36-38.
[4]李元偉,陳良才.天圓地方流道三維建模[J].機(jī)械設(shè)計(jì)與制造,2009,(8):110-111.
[5]楊玉杰.鈑金展開200例[M].北京:機(jī)械工業(yè)出版社,2003.
[6]張 帆,鄭立楷,王華杰.AutoCAD VBA開發(fā)精彩實(shí)例教程[M].北京:清華大學(xué)出版社,2004.
[7]張 帆,鄭立楷,盧擇臨,王成煌.AutoCAD VBA二次開發(fā)教程[M].北京:清華大學(xué)出版社,2006.