鞠仁豪,仲梁維
(200093 上海市 上海理工大學(xué) 機(jī)械工程學(xué)院)
隨著制造業(yè)的飛速發(fā)展,UG、CATIA 等三維建模軟件的二次開發(fā)技術(shù)已被充分應(yīng)用到工程設(shè)計(jì)領(lǐng)域,深刻改變了傳統(tǒng)的設(shè)計(jì)方法和理念。模具推出機(jī)構(gòu)用于卸除鑄件對(duì)型芯的包緊力,所以該機(jī)構(gòu)設(shè)計(jì)的好壞直接影響鑄件質(zhì)量的優(yōu)劣,因此推出機(jī)構(gòu)的設(shè)計(jì),是壓鑄模設(shè)計(jì)的一個(gè)重要環(huán)節(jié)[1]。而推出機(jī)構(gòu)中,推桿、推板等結(jié)構(gòu)的尺寸都是固定、單一的。這種固定結(jié)構(gòu)的單一設(shè)計(jì)模式大大增加了人工和時(shí)間成本,并且短時(shí)間內(nèi)很難滿足客戶的要求,而且企業(yè)利潤也會(huì)受到很大程度的影響。為了生產(chǎn)出更好的產(chǎn)品,提高模具推出機(jī)構(gòu)設(shè)計(jì)的靈活性、多變性,本文以UG/Open 為二次開發(fā)平臺(tái),在Visual C++環(huán)境下進(jìn)行編程[2],結(jié)合MySQL 數(shù)據(jù)庫交互,實(shí)現(xiàn)了模具推出機(jī)構(gòu)中推桿、推板快速設(shè)計(jì)、智能設(shè)計(jì)。
參數(shù)化設(shè)計(jì)是一種借助幾何參數(shù)快速構(gòu)建和修改產(chǎn)品結(jié)構(gòu)模型的方法[3]。借助UG 強(qiáng)大的參數(shù)化功能,在參數(shù)化設(shè)計(jì)中利用約束條件去限制模型的幾何形狀,改變參數(shù)去驅(qū)動(dòng)模型更新,因此只要根據(jù)需求改變相應(yīng)參數(shù)就可以快速驅(qū)動(dòng)模型更新,設(shè)計(jì)出一套全新模型。
UG 具有用戶界面開發(fā)工具對(duì)話框編輯工具UI Styler 和Block UI Styler,菜單與工具條采用UG 自帶的 KF 語言進(jìn)行編譯。人機(jī)交互界面在UG 的“塊UI 樣式編輯器”中制作,生成對(duì)應(yīng)的.cpp、.hpp 以及.dlx 文件,并將.dlx 文件放到“application”文件夾中,就可以在UG 中設(shè)計(jì)出與UG 軟件系統(tǒng)本身對(duì)話框具有相同風(fēng)格的交互界面[4]。
在制作“塊 UI 樣式編輯器”生成的 C++程序中編寫程序,將模型尺寸信息與人機(jī)交互界面中的表達(dá)式聯(lián)系起來,即可以驅(qū)動(dòng)模型更新。
推出機(jī)構(gòu)用于卸除鑄件對(duì)型芯的包緊力,對(duì)它的設(shè)計(jì)好壞直接影響到鑄件的質(zhì)量,而推出機(jī)構(gòu)中,主要就是推桿、推板等尺寸固定、單一的結(jié)構(gòu),因此對(duì)推桿、推板的參數(shù)化設(shè)計(jì)顯得尤為重要,能夠節(jié)約大量的人力財(cái)力。
這里采用的是平面形圓截面推桿(如圖1 所示),以及機(jī)動(dòng)推出的推板(如圖2 所示)。
圖1 平面形圓截面推桿Fig.1 Plane shaped circular cross section push rod
圖2 機(jī)動(dòng)推出的推板Fig.2 Power-driven push plate
推桿推出壓鑄件時(shí),壓鑄件尚處于高溫狀態(tài),此時(shí)壓鑄件的強(qiáng)度低于室溫時(shí)的許用強(qiáng)度。當(dāng)壓鑄件包緊力較大,而設(shè)置的推桿又較少時(shí),若每根推桿上的推出力超出壓鑄件的最大受推壓力,推桿就會(huì)頂入壓鑄件內(nèi)部[5],頂壞壓鑄件。為避免這種情況,推桿的截面可按式(1)計(jì)算:
式中:A——推桿推出段端部的截面面積,mm2;Ft——推桿承受總推力,F(xiàn)t=10 N;n——推桿數(shù)量;[σ]——壓鑄件的許用強(qiáng)度(推壓力),MPa。
推板必須有足夠的強(qiáng)度和剛度,因此,推板需要有一定的厚度。推板厚度計(jì)算公式為:
式中:H——推板厚度,cm;F——推板載荷,F(xiàn)=10 N;C——推桿孔在推板上分布的最大距離,cm;B——推板寬度,cm;K——系數(shù),(其中,L——壓鑄機(jī)頂桿之間的距離)。
UG 作為通用的開放的 CAD 設(shè)計(jì)軟件,為用戶提供了充分的權(quán)限來制作菜單以滿足需求,用戶可以通過修改菜單文件的方式來開發(fā)自定義菜單。UG 提供了2 種定制菜單的方法:(1)進(jìn)入系統(tǒng)文件編輯系統(tǒng)的標(biāo)準(zhǔn)菜單;(2)新建 .men 文件,建立自定義菜單項(xiàng)。新建 .men 文件的創(chuàng)建菜單方式是一種獨(dú)立的建立菜單的方式,它不影響 UG 原有的風(fēng)格,可以隨時(shí)添加隨時(shí)去掉,對(duì) UG 的系統(tǒng)菜單不產(chǎn)生任何影響。本系統(tǒng)采用的是第2 種新建菜單的方式[6]。
首先在UG 安裝目錄中建立一個(gè)包含“startup”和“application”2 個(gè)文件夾的新文件夾。這里我們以“模具推出機(jī)構(gòu)快速設(shè)計(jì)系統(tǒng)”為例,在“startup”文件夾中建立“mould.men”的腳本文件,主要代碼如下:
重新啟動(dòng)UG,在菜單欄中將會(huì)顯示自制的菜單信息,如圖3 所示。
圖3 菜單示意圖Fig.3 Menu diagram
在UG 的“塊UI 樣式編輯器”中,按模塊主要分為5 類控件,即“基本”、“布局”、“數(shù)字”、“選擇”及“特殊”[7]。這里我們用了“選擇”模塊中的指定點(diǎn)控件,用來指定一點(diǎn)插入推桿或者推板、“基本”模塊中的標(biāo)簽/位圖,用來存放推桿或者推桿尺寸示意圖,以及“數(shù)字”模塊中的枚舉和表達(dá)式控件,用來選擇設(shè)計(jì)的零件類型,以及輸入尺寸參數(shù)。其中,為了美觀,將枚舉控件中PresentationStyle 屬性值設(shè)置為Radio Box。這里提供了3 個(gè)類型選項(xiàng),分別為:普通推桿設(shè)計(jì)、特殊推桿設(shè)計(jì)以及推板設(shè)計(jì),當(dāng)用戶選擇任意類型,這一類型對(duì)應(yīng)的尺寸示意圖以及尺寸信息會(huì)顯示出來,其他類型的信息會(huì)被隱藏。推桿或推板的尺寸信息通過MySQL 數(shù)據(jù)庫讀取調(diào)用,完成Block UI Style 對(duì)話框,如圖4 所示。
圖4 對(duì)話框示意圖Fig.4 Dialog box diagram
對(duì)話框制作完成后,選擇C++語言,保存生成的3 個(gè)文件:dlx,.hpp,.cpp,將這3 個(gè)文件放入到菜單文件中的“application”文件夾中。以推板設(shè)計(jì)為例,根據(jù)用戶選擇的壓鑄機(jī)的型號(hào),通過讀取數(shù)據(jù)庫,推板的尺寸就會(huì)自動(dòng)更新,點(diǎn)擊“確定”或“應(yīng)用”即可完成對(duì)推桿、推板的快速設(shè)計(jì)。
為了用戶使用的方便性,以及系統(tǒng)使用的靈活性,推桿、推板的尺寸參數(shù)全部通過數(shù)據(jù)庫調(diào)用。
不同的壓鑄機(jī)對(duì)應(yīng)不同的推板的尺寸,根據(jù)推板推薦值借助MySQL 的可視化界面Navicat Premium,創(chuàng)建數(shù)據(jù)庫,如圖5 所示。
圖5 創(chuàng)建MySQL 數(shù)據(jù)庫表Fig.5 Create a MySQL database table
以推板為例,設(shè)置推板模型的導(dǎo)入路徑
以推板快速參數(shù)化設(shè)計(jì)為例,在這段代碼的驅(qū)動(dòng)下,實(shí)現(xiàn)了選擇不同的壓鑄機(jī),推板對(duì)應(yīng)的尺寸從數(shù)據(jù)庫自動(dòng)導(dǎo)入U(xiǎn)I界面對(duì)應(yīng)的表達(dá)式控件中。
由于對(duì)話框類型選擇為枚舉控件,在用戶選擇一種類型后,為方便用戶操作以及界面的美觀,UI界面只顯示所選類型的圖示以及尺寸信息,添加如下示例代碼:
在這段代碼驅(qū)動(dòng)下,就能實(shí)現(xiàn)點(diǎn)擊不同的零件類型,顯示對(duì)應(yīng)的零件圖示以及尺寸信息。
在讀取到數(shù)據(jù)庫的數(shù)據(jù)并將其顯示到對(duì)話框后,再根據(jù)對(duì)話框的尺寸信息驅(qū)動(dòng)模型更新。示例代碼:
編譯程序,生成dll 文件,將dll 文件添加到.men文件的”Application”后面,則程序運(yùn)行結(jié)果就傳遞到了UG 中。
本文以壓鑄模具推出機(jī)構(gòu)為例,首先在MySQL 中建立對(duì)應(yīng)的推桿、推板的尺寸信息表,利用VS C++對(duì)UG 進(jìn)行二次開發(fā),實(shí)現(xiàn)壓鑄模具推出機(jī)構(gòu)的推桿、推板的快速設(shè)計(jì)。查詢的推桿、推板的尺寸推薦值分別為表1、表2。
表1 推桿尺寸推薦值(mm)Tab.1 Recommendation for push rod dimensions(mm)
表2 推板尺寸推薦值(mm)Tab.2 Recommended size of push plate(mm)
推桿使用表1 的d=12 mm 的這一行數(shù)據(jù),推板使用壓鑄機(jī)型號(hào)為J1113 的這一行數(shù)據(jù),運(yùn)行的結(jié)果如圖6 所示。此實(shí)例插入了4 根推桿。
圖6 程序運(yùn)行結(jié)果示意圖Fig.6 Schematic diagram of program running results
本文將UG 二次開發(fā)技術(shù)運(yùn)用到壓鑄模具的推出機(jī)構(gòu)上,利用UG 自帶的KF 語言創(chuàng)建了人機(jī)交互界面,通過VS C++與UG 的結(jié)合,以及與MySQL 數(shù)據(jù)庫的交互,來驅(qū)動(dòng)模型更新。通過推桿、推板的參數(shù)化設(shè)計(jì),大大簡化了推出結(jié)構(gòu)的設(shè)計(jì)流程。數(shù)據(jù)庫的交互使用方便了用戶以后的模型尺寸的修改更新,使得用戶更加方便快捷地設(shè)計(jì)出所需要的模具推出機(jī)構(gòu),很大程度上減少了設(shè)計(jì)工程師的重復(fù)性勞動(dòng)。