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