(中車株洲電力機車有限公司,湖南 株洲 412001)
鈑金加工是機械生產(chǎn)的一個重要組成部分,特別是在航空、軌道交通、家電、儀器儀表等行業(yè),鈑金零件的應用非常廣泛。當前,大多采用的是先利用現(xiàn)有軟件計算展開長度,然后結(jié)合展開長度繪制零配件展開圖。對于形狀較為簡單、折彎次數(shù)相對較少的配件而言,這種方法效率較高,容易實施。而對于形狀較為復雜,折彎次數(shù)較多的零件,仍需要進行手動計算,這種方法效率則較低。
針對上述現(xiàn)象,本文擬對鈑金展開計算軟件進行優(yōu)化,主要研究三、四道折彎內(nèi)的復雜鈑金件展開的計算方法,使之能夠便捷得到多道折彎鈑金件的相關展開尺寸參數(shù)。
目前較常規(guī)的計算方法是以截面中性層來計算展開長度,下面簡單地介紹該種計算方法。
從理論分析可知,要計算折彎件的展開長度,首先要將折彎件分成若干直線段和圓弧段的基本幾何單元,分別計算出各單元部分的長度,然后求出各部分單元長度的總和,得到折彎件的展開長度。
而在一般情況下,材料在折彎前后,長度在拉伸和壓縮之間,必然存在一個總長度不變中間的一層材料,即中性層。確定鈑金折彎件的展開長度,計算折彎段的中性層長度。中性層離折彎段內(nèi)側(cè)的位置L(見圖1),一般由折彎半徑r和板料厚度t的比值確定。
圖1 中性層離圓弧內(nèi)側(cè)的距離L
L=xt
式中:t—材料厚度
x—中性層位置系數(shù)
x=(ρ-r)/t
ρ=r+xt
式中:ρ—從半徑r的中心至折彎中性線的距離,即中性線的彎曲半徑。
從上式可知,中性層位置系數(shù)x隨彎曲內(nèi)經(jīng)r與板料厚度t的比值變化而進行變化。一般情況下,從理論計算而言,其值如表1所示。
表1 理論中性層位置系數(shù)x值
雖然在相同材質(zhì)的情況下,中性層位置系數(shù)x主要由r/t所決定。但是由于影響板料彎曲的實際因素很多,例如模具類型,彎曲方式等因素均會影響板料的實際展開長度,因而中性層位置系數(shù)x的值由實驗以及經(jīng)驗進行確定相對來說更加準確。
由上述可確定鈑金件折彎部分中性層的展開長度l
l=πρα/180°
式中:α—彎曲中心角
設直線部分長度分別為a,b,如圖2所示,則展開長度為:
圖2 展開長度示意圖
L=a+b+l=a+b+πρα/180
=a+b+π(r+xt)α/180°
在工程實際中使用的圖紙,一般只標注零件的外尺寸,采用上式計算需要進行尺寸轉(zhuǎn)換,運用時不方便。故而,本文在綜合國內(nèi)外相關資料的基礎上,采用如下公式:
L=L1+L2+m
式中:
L—展開長度
L1,L2—鈑金件的折彎邊長
m—計算補償值
其值的計算方法見表2所示。
α—折彎角度;t—鈑金件厚度;R—工件內(nèi)折彎半徑;K—中性層系數(shù),具體值見表1。
使用以上公式計算時,很多因素(如材料性能、模具情況及板厚附加值等)沒有考慮在內(nèi),因而可能產(chǎn)生較大的誤差。所以只適用于形狀簡單,折彎次數(shù)少和公差等級要求不高的鈑金折彎件。對于形狀復雜,折彎次數(shù)多及精度要求高的鈑金折彎件,應用上述公式進行初步計算,經(jīng)過試壓后才能夠最后確定合適的零件形狀和尺寸。
表2 鈑金件展開長度補償長度表
由于VB語言的易用性和可移植強的特點,本文擬采用Visual Basic語言平臺搭建鈑金展開自動計算軟件,根據(jù)需求分析,鈑金自動展開計算系統(tǒng)有兩大基本功能:計算和繪圖。軟件的總體設計框圖如圖3所示。在進入程序后,分為兩個步驟。
1)計算,根據(jù)設計折彎鈑金件的尺寸參數(shù),計算出展開長度和折彎線位置的尺寸,并填入到輸出界面中。
2)繪圖,根據(jù)計算結(jié)果,對AutoCAD進行二次開發(fā),繪制鈑金件的簡單的二維圖,包括展開長度和折彎線位置。
在進入主界面之前,軟件設置了一個歡迎登錄界面,如圖4所示。歡迎界面主要由兩個標簽框、一個組合列表框、兩個按鈕組成,軟件在鈑金件不同的折彎次數(shù)的展開計算都建立了不同窗體,操作者通過下拉選擇組合列表框?qū)倪x項,并單擊確定按鈕后,軟件可以進入對應次數(shù)的展開計算界面。操作者單擊退出按鈕,便可以直接退出本軟件。歡迎登錄界面的主要代碼如下所示。
圖3 鈑金自動展開計算軟件總體設計框圖
圖4 鈑金自動展開計算系統(tǒng)的歡迎界面
Private Sub Command1_Click()
If (Combo1.ListIndex=0) Then
Form1.Hide
Form2.Show
End If
If (Combo1.ListIndex=1) Then
Form1.Hide
Form3.Show
End If
If(Combo1.ListIndex=2) Then
Form1.Hide
Form4.Show
End If
If (Combo1.ListIndex=3) Then
Form1.Hide
Form5.Show
End If
End Sub
Private Sub Command2_Click()
Unload Form1
End Sub
Private Sub Form_Load()
Combo1.AddItem "1次折彎"
Combo1.AddItem "2次折彎"
Combo1.AddItem "3次折彎"
Combo1.AddItem "4次折彎"
End Sub
當操作者進入軟件的主界面后,可以看到對應折彎次數(shù)的計算界面,本文以鈑金三道折彎展開界面為例,如圖5、圖6所示。在主界面系統(tǒng)里,用戶需要按照圖片提示輸入折彎邊長Li、板厚t、折彎角度α、β、γ、折彎半徑Ri等參數(shù),系統(tǒng)可以自動地計算得出各折彎線的位置尺寸、展開長度。以鈑金三道折彎展開計算為例,軟件的計算方法是將鈑金件分割成3個1次折彎的小部分,折彎邊長分別為LA和LB/2、LB/2和LC/2、LC/2和LD,利用第二節(jié)介紹的中性層系數(shù)法計算各小部分的展開長度和補償長度,各部分展開長度相加便是所求的展開長度,對于折彎線位置,距離兩端的折彎線尺寸與1次折彎計算方法相同,中間的折彎線位置尺寸等于LA和LB/2段的展開長度與中間段折彎線距LB/2端的尺寸之和。
此外,軟件對AutoCAD進行二次開發(fā),當輸出這些尺寸參數(shù)后并單擊繪圖按鈕,系統(tǒng)調(diào)用AutoCAD軟件對鈑金件進行簡單的展開圖和折彎線的繪制。
此外,當操作者在輸入?yún)?shù)時,出現(xiàn)某項參數(shù)為空、某段折彎邊長Li為負數(shù)或者折彎半徑Ri If(Text1.Text=""Or Text2.Text=""Or Text3.Text=""Or Text4.Text=""Or Text5.Text=""Or Text10.Text=""Or Text11.Text=""Or Text12.Text=""Or Text12.Text=""Or Text13.Text="") Then Dim m As String m=MsgBox("輸入?yún)?shù)不能為空!",vbOKCancel,"提示") Text7.Text="" Text8.Text="" Text9.Text="" ElseIf (LA<=0 Or LB<=0 Or LC<=0 Or LD<=0 Or t<=0 Or R1<=0 Or R2<=0 Or R3<=0 Or R1 Dim v As String v=MsgBox("您輸入的參數(shù)不正確! ",vbOKCancel,"提示") Text7.Text="" Text8.Text="" Text9.Text="" End else 圖7 鈑金三道折彎展開自動計算容錯界面 通過1.1的介紹,可以看出鈑金件的展開長度與中性層位置系數(shù)有著很大的關系。在表1中,每一個折彎半徑與板厚的比值r/t都對應著特定的中性層系數(shù)x的值。而這些對應的數(shù)值只是一些離散的點,需要用連續(xù)的曲線近似地刻畫或擬合離散點組所表示的坐標之間的函數(shù)關系,本軟件采用線性擬合的方法對連續(xù)前后的R/t值和x值構(gòu)建函數(shù)關系。即假定前后的R/t和x兩個變量之間的關系是一次函數(shù)關系的——圖象是直線,兩個變量之間存在著“線性關系”。如圖8所示,建立R/t值和x值的關系曲線,軟件具體確定中性層系數(shù)的代碼如下所示。 圖8 x值與r/t的關系曲線 Public Function MyFunc(x As Double,y As Double) As Double Dim a As Double a=x/y Select Case a Case 0.1 To 0.3 MyFunc=0.2+0.1×a Case 0.3 To 0.4 MyFunc=0.23 Case 0.4 To 0.5 MyFunc=0.15+0.2×a Case 0.5 To 0.6 MyFunc=0.2+0.1×a Case 0.6 To 0.7 MyFunc=0.16+0.2×a Case 0.7 To 0.8 MyFunc=0.14+0.2×a Case 0.8 To 1 MyFunc=0.22+0.1×a Case 1 To 1.2 MyFunc=0.27+0.05×a Case 1.2 To 1.5 MyFunc=0.21+0.1×a Case 1.5 To 2 MyFunc=0.3+0.04×a Case 2 To 8 MyFunc=0.34+0.02×a Case 8 To 100000 MyFunc=0.5 End Select End Function 通過前面的程序?qū)φ蹚濃k金的展開長度和折彎線位置尺寸進行計算,下面軟件將對Auto CAD進行二次開發(fā),實現(xiàn)計算鈑金折彎件的展開圖的繪制。本模塊的實現(xiàn)方法是首先與Auto CAD 軟件建立相關接口的連接,用戶輸入基準點的坐標指定圖元中其中一個p1點的坐標,然后根據(jù)輸入的鈑金寬度、軟件輸出參數(shù)(各折彎線位置尺寸、鈑金件的展開長度)確定圖元其他點的坐標,同時利用程序建立三種圖幅的圖層,分別為:粗實線層、細實線層、中心線層,最后程序利用不同線型實現(xiàn)不同點的相互之間連接。下面是軟件對Auto CAD進行二次開發(fā)的主要代碼。 '線型的添加 Dim entry As AcadLineType:Dim found As Boolean: Dim ltName(0 To 2) As String Dim j As Integer found=False '準備添加的3種線型 ltName(0)="BORDER" ltName(1)="CENTER" ltName(2)="DASHDOT" For j=0 To 2 '搜尋要添加的線型在線型集合中是否已存在 For Each entry In ThisDrawing.Linetypes If StrComp(entry.Name,ltName(j),1)=0 Then found=True Exit For End If Next '如果不存在則將其從線型文件acadiso.lin中加載 If Not (found) Then ThisDrawing.Linetypes.Load ltName(j),"acadiso.lin" End If Next '創(chuàng)建圖層 Dim objLayer As AcadLayer '粗實線 Set objLayer=ThisDrawing.Layers.Add("粗實線") objLayer.color=acWhite objLayer.Linetype="Continuous" objLayer.Lineweight=acLnWt035 ThisDrawing.ActiveLayer=objLayer p1(1)=10:p1(2)=30:p1(2)=0 p2(0)=p1(0):p2(1)=p1(1) + Val(TextBox45.Text):p2(2)=0 p3(0)=p1(0)+Val(TextBox33.Text):p3(1)=p1(1):p3(2)=0 p4(0)=p1(0)+Val(TextBox33.Text):p4(1)=p1(1)+Val(TextBox45.Text):p4(2)=0 p5(0)=p1(0)+Val(TextBox34.Text):p5(1)=p1(1):p5(2)=0 p6(0)=p1(0)+Val(TextBox34.Text):p6(1)=p1(1)+Val(TextBox45.Text):p6(2)=0 p7(0)=p1(0)+Val(TextBox35.Text):p7(1)=p1(1):p7(2)=0 p8(0)=p1(0)+Val(TextBox35.Text):p8(1)=p1(1)+Val(TextBox45.Text):p8(2)=0 p9(0)=p1(0)+Val(TextBox36.Text):p9(1)=p1(1):p9(2)=0 p10(0)=p1(0)+Val(TextBox36.Text):p10(1)=p1(1)+Val(TextBox45.Text):p10(2)=0 p11(0)=p1(0)+Val(TextBox37.Text):p11(1)=p1(1):p11(2)=0 p12(0)=p1(0)+Val(TextBox37.Text):p12(1)=p1(1)+Val(TextBox45.Text): p12(2)=0 如圖9所示,這是程序運行時生成的一個三次折彎鈑金件的展開圖,其中鈑金展開的輪廓用粗實線表示,各個折彎線用細實線表示。 圖9 程序生成的一個三次折彎鈑金件的展開圖 本軟件以Visual Basic為開發(fā)工具,實現(xiàn)了鈑金件展開長度、折彎線尺寸的自動便攜計算,通過對CAD的二次開發(fā)對展開圖的簡單繪制,在一定程度上提高了辦公效率和圖紙尺寸的正確性。2.4 基于AutoCAD二次開發(fā)的鈑金簡單展開圖的繪制
3 結(jié)語