SolidWorks平臺下的擠壓模具CAD系統(tǒng)
本文基于SolidWorks軟件平臺開發(fā)了一套擠壓模具C A D系統(tǒng),該系統(tǒng)將專家知識和設(shè)計(jì)經(jīng)驗(yàn)存儲于模具結(jié)構(gòu)和零件模型中,通過選用不同模具組件的結(jié)構(gòu)形狀,實(shí)現(xiàn)了擠壓模具的優(yōu)化設(shè)計(jì),同時(shí)也保證了設(shè)計(jì)質(zhì)量,加快了設(shè)計(jì)速度。 SolidWorks軟件采用了特征建模技術(shù)和設(shè)計(jì)過程的全相關(guān)技術(shù),是目前領(lǐng)先的、主流的三維CAD軟件。它具有配置管理、協(xié)同工作、零件建模、裝配設(shè)計(jì)、全相關(guān)工程圖、鈑金設(shè)計(jì)、有限元分析和動(dòng)態(tài)仿真等多項(xiàng)功能,在機(jī)械制造業(yè)的應(yīng)用非常廣泛。該軟件為用戶提供了功能強(qiáng)大的API接口,而且具有宏錄制功能,所以可以很方便地進(jìn)行二次開發(fā)。本文所述的就是以SolidWorks軟件為平臺開發(fā)的一套擠壓模具CAD系統(tǒng)。 基于SolidWorks平臺的擠壓模具CAD系統(tǒng)將大量的專家知識和設(shè)計(jì)經(jīng)驗(yàn)存儲于模具結(jié)構(gòu)和零件模型中,通過選用不同模具組件的結(jié)構(gòu)形狀,來達(dá)到擠壓模具的優(yōu)化設(shè)計(jì)。此外,它還能利用模具零件間的裝配形式和裝配關(guān)系實(shí)現(xiàn)擠壓模具的自動(dòng)裝配,生成模具零件工程圖和裝配體工程圖,從而提高了擠壓模具設(shè)計(jì)的智能度,減少了設(shè)計(jì)人員的工作量,并保證了設(shè)計(jì)質(zhì)量,加快了設(shè)計(jì)速度。 該系統(tǒng)以Visual Basic為開發(fā)工具,利用VB的面向?qū)ο缶幊陶Z言、模塊化和組件共享等技術(shù),建立擠壓模具CAD系統(tǒng)的用戶界面及程序代碼;利用SolidWorks建立模具各部分組件的模型;還可以通過對SolidWorks提供的API接口函數(shù)進(jìn)行二次開發(fā)來實(shí)現(xiàn)對模型庫的調(diào)用;并利用ADO數(shù)據(jù)庫訪問技術(shù)實(shí)現(xiàn)對零件模型的參數(shù)化驅(qū)動(dòng),最終生成模具零件工程圖和模具總裝配圖。 ![](http://www.machine8.net/upload/picture/2006-7/12/0671219501391618.jpg)
圖1 擠壓模具CAD系統(tǒng)結(jié)構(gòu)
一、系統(tǒng)設(shè)計(jì)進(jìn)程 1.系統(tǒng)的功能和應(yīng)用 首先選擇合適的模架,然后選擇擠壓類型,包括正擠壓、反擠壓、復(fù)合擠壓和鐓擠壓等。在不同的擠壓類型里提供模具的凸模、凹模、頂出、預(yù)應(yīng)力及料等不同部分組件的結(jié)構(gòu)形狀,用戶選擇后可以組成一套完整的擠壓模具裝配體結(jié)構(gòu),然后進(jìn)行單個(gè)模具零件的設(shè)計(jì)。用戶可以在模具設(shè)計(jì)對話框中更改模具零件的參數(shù)尺寸以滿足實(shí)際需求,還可以對模具零件的工程圖進(jìn)行適當(dāng)?shù)男薷囊赃_(dá)到最滿意的效果。最后系統(tǒng)將所有設(shè)計(jì)好的模具零件按照預(yù)定的裝配關(guān)系自動(dòng)裝配起來,生成總裝配圖。 2.功能模塊和設(shè)計(jì)流程 擠壓模具的CAD系統(tǒng)結(jié)構(gòu)由四個(gè)模塊組成,如圖1所示。 (1)模架選擇模塊 系統(tǒng)模架庫里存儲了許多不同類型的模架結(jié)構(gòu),通過選擇不同的模架名稱,在架構(gòu)選擇對話框的右邊將出現(xiàn)該模架的模型圖片。選擇模架的主要零件名稱,可以調(diào)出該零件的模型圖片和參數(shù)信息,選取三維圖按鈕和工程圖按鈕則可以分別打開對應(yīng)的SolidWorks模型文件和工程圖文件,如圖2所示。 ![](http://www.machine8.net/upload/picture/2006-7/12/0671219501591912.jpg)
圖2 模架選擇界面
(2)擠壓類型選擇模塊 擠壓類型包括正擠壓、反擠壓和復(fù)合擠壓等,通過選取左邊的按鈕確定擠壓類型,在右邊就會(huì)出現(xiàn)該種類型的示意圖和擠壓件類型示意圖,如圖3所示。 ![](http://www.machine8.net/upload/picture/2006-7/12/0671219501696762.jpg)
圖3 擠壓類型選擇界面
(3)模具組件結(jié)構(gòu)選擇模塊 模具組件可分為凸模組件、凹模組件、頂出組件、預(yù)應(yīng)力組件和料組件等,系統(tǒng)建立了模具組件庫供用戶選擇選擇使用。在該模塊中用戶可以選擇不同組件結(jié)構(gòu)的任意一種形狀,點(diǎn)選放大組件按鈕可以查看對結(jié)構(gòu)的詳細(xì)介紹和使用場合,點(diǎn)擊其他組件按鈕可以選擇其他組件,如圖4所示。 ![](http://www.machine8.net/upload/picture/2006-7/12/0671219501760672.jpg)
圖4 模具組件選擇界面
(4)裝配體結(jié)構(gòu)確認(rèn)模塊 通過上一步選擇模具各部分的組件結(jié)構(gòu),系統(tǒng)將會(huì)按照組裝關(guān)系將組合起來的裝配結(jié)構(gòu)圖輸出并讓用戶加以確認(rèn),如果用戶覺得不夠滿意,可以點(diǎn)返回上層按鈕重新選擇各部分組件結(jié)構(gòu)。如果選擇的模具各部分組件不能組成一套裝配圖,系統(tǒng)將彈出一個(gè)提示框提示用戶返回重選。確認(rèn)后右邊會(huì)出現(xiàn)該裝配結(jié)構(gòu)的零件清單,通過點(diǎn)選不同的零件名稱按鈕將出現(xiàn)模具零件設(shè)計(jì)模塊,如圖5所示。 ![](http://www.machine8.net/upload/picture/2006-7/12/0671219501720555.jpg)
圖5 裝配體確認(rèn)界面
(5)模具零件設(shè)計(jì)模塊 系統(tǒng)建立了不同模具零件的尺寸數(shù)據(jù)庫,可以在尺寸屬性對話框中對零件的尺寸和公差進(jìn)行修改,選取修改按鈕后該零件的SolidWorks模型的尺寸和公差就會(huì)實(shí)時(shí)更新。在注解屬性對話框中可以輸入零件的其他屬性信息,這樣這些信息將在零件工程圖的標(biāo)題欄中顯示出來。當(dāng)用戶滿意后就可以選取保存按鈕對該模型文件進(jìn)行保存,如圖6所示。 ![](http://www.machine8.net/upload/picture/2006-7/12/0671219501884237.jpg)
圖6 模具零件設(shè)計(jì)界面
(6)工程圖編輯模塊 如果工程圖上的信息不夠準(zhǔn)確、完整和規(guī)范,用戶可以通過本模塊對工程圖加以編輯修改,選擇保存按鈕可以實(shí)現(xiàn)工程圖的自動(dòng)保存,如圖7所示。 ![](http://www.machine8.net/upload/picture/2006-7/12/0671219502095074.jpg)
圖7 工程圖編輯界面
(7)自動(dòng)裝配模塊 系統(tǒng)按照預(yù)定的裝配結(jié)構(gòu)和裝配關(guān)系對設(shè)計(jì)好的各種模具零件進(jìn)行自動(dòng)裝配。系統(tǒng)輸出的模具裝配體和裝配體工程圖,如圖8和圖9所示。 此時(shí)已完成該系統(tǒng)的主要功能,使用該系統(tǒng)可以促進(jìn)擠壓模具的高效和快速設(shè)計(jì),并且已經(jīng)在生產(chǎn)實(shí)踐中得到充分的檢驗(yàn)。事實(shí)證明,這套系統(tǒng)的工作效率很高,并且工作狀況。 ![](http://www.machine8.net/upload/picture/2006-7/12/0671219502197069.jpg)
圖8 系統(tǒng)輸出的裝配體模型
二、系統(tǒng)模具零件設(shè)計(jì)模塊部分源程序 鑒于本系統(tǒng)的源程序比較龐大,所以本文只給出系統(tǒng)模具零件設(shè)計(jì)模塊部分的源程序。 Dim ss As String Dim boolstatus As Boolean ss=App.Path &“\圖形庫\三維\” Set swApp=CreateObject("SldWorks.Application") swApp.Visible = True '調(diào)用SolidWorks程序 Set Part = swApp.OpenDoc6(ss & “\反擠壓\6\凸模.SLDPRT”, 1, 0,“”, longstatus, longwarnings) ![](http://www.machine8.net/upload/picture/2006-7/12/0671219502449145.jpg)
圖9 系統(tǒng)輸出的工程圖
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID(“注解”, “DCABINET”, 0,0, 0, False, 0, Nothing) '打開對應(yīng)的模型文件 Dim rs As ADODB.Recordset Dim conn As ADODB.Connection '定義ADO對象變量 ss = App.Path & "\database\" Set conn = New ADODB.Connection conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" & “Persist Security Info=False;” & “Mode=read;”& “Data Source=” & ss & “模具零件庫.mdb;” c onn.Open ‘建立ADO連接,打開數(shù)據(jù)庫 newTableName = Str(2011) A d o d c 1 . R e c o r d S o u r c e =newTableName Adodc1.Refresh S e t D a t a G r i d 1 . D a t a S o u r c e =Adodc1 ‘打開記錄集,讀取模具零件型號 DataGrid1.Row = 0 For i = 1 To DataGrid1.Columns.Count 1 D(i) = DataGrid1.Columns(i).Value Next DataGrid1.Row = 1 For i = 1 To DataGrid1.Columns.Count 1 tolMax(i) = DataGrid1.Columns(i).Value Next DataGrid1.Row = 2 For i = 1 To DataGrid1.Columns.Count 1 tolMin(i) = DataGrid1.Columns(i).Value Next '存入模具零件尺寸值和公差值 B o o l s t a t u s = P a r t . E x t e n s i o n .SelectByID(“D1@草圖1@凸模.SLDPRT”, “DIMENSION”, 0, 0, 0, False, 0,Nothing) Part.Parameter(“D1@草圖1”).SystemValue = D(1) / 1000 retval = Part.Parameter(“D1@草圖1”).SetToleranceValues(tolMin(1) /1000, tolMax(1) / 1000) ‘驅(qū)動(dòng)模具零件尺寸和公差 三、結(jié)論 基于S o l i d W o r k s平臺的擠壓模具CAD系統(tǒng)通過集成大量擠壓模設(shè)計(jì)資料和專家經(jīng)驗(yàn),形成了模具設(shè)計(jì)知識庫,為典型擠壓零件的模具設(shè)計(jì)提供了完整的計(jì)算機(jī)輔助設(shè)計(jì)手段,甚至連一些缺乏經(jīng)驗(yàn)的技術(shù)人員也能夠利用本系統(tǒng)完成擠壓模具的設(shè)計(jì),從而有利于擠壓技術(shù)的推廣和應(yīng)用。同時(shí)該系統(tǒng)也是對SolidWorks專業(yè)化應(yīng)用的開拓與實(shí)踐,對其余專業(yè)從事SolidWorks本地化專業(yè)化的二次開發(fā)具有重要借鑒意義。為了使本系統(tǒng)更加完整,目前正在補(bǔ)充模具強(qiáng)度校核部分。
|