彭澤軍
(中國工程物理研究院 機(jī)械制造工藝研究所,綿陽 621900)
在傳統(tǒng)的包裝容器箱蓋模具設(shè)計(jì)方法中,設(shè)計(jì)時(shí)需要查找的資料較多,需要根據(jù)箱蓋的結(jié)構(gòu)進(jìn)行模具零部件設(shè)計(jì),需要考慮的條件、參數(shù)也較多,需要熟悉拉深模具設(shè)計(jì)的相關(guān)知識(shí),對(duì)設(shè)計(jì)人員的設(shè)計(jì)水平依賴性較大。采用傳統(tǒng)的分析、計(jì)算方法進(jìn)行設(shè)計(jì),設(shè)計(jì)的效率較低,設(shè)計(jì)過程經(jīng)常重復(fù)[1],設(shè)計(jì)的模具因設(shè)計(jì)人員的不同存在較大差異,標(biāo)準(zhǔn)不統(tǒng)一。為了提高設(shè)計(jì)效率和統(tǒng)一設(shè)計(jì)標(biāo)準(zhǔn),以UG/OPEN、C#為開發(fā)工具,構(gòu)建箱蓋模具快速設(shè)計(jì)系統(tǒng)對(duì)提高設(shè)計(jì)效率、統(tǒng)一設(shè)計(jì)標(biāo)準(zhǔn)、實(shí)現(xiàn)快速智能設(shè)計(jì)具有重要意義[2]。
表達(dá)式在UG中進(jìn)行參數(shù)化設(shè)計(jì)時(shí)起著重要的作用,通過改變?nèi)S模型的尺寸,達(dá)到模型發(fā)生相應(yīng)變化,模型尺寸的變化實(shí)質(zhì)是約束模型的尺寸表達(dá)式發(fā)生了改變,通過UG表達(dá)式編輯器可以查看。利用UG/Open API編程可通過創(chuàng)建表達(dá)式、改變表達(dá)式達(dá)到參數(shù)化設(shè)計(jì)的目的。
本文主要通過預(yù)先建立表達(dá)式文件,通過設(shè)計(jì)程序改變表達(dá)式值,達(dá)到更新模型實(shí)現(xiàn)快速設(shè)計(jì)。其基本思路是以UG/Open API編程技術(shù)[3]為基礎(chǔ),以C#為開發(fā)工具,開發(fā)可在UG中訪問的DLL函數(shù),DLL函數(shù)在UG啟動(dòng)時(shí)自動(dòng)加載,形成箱蓋拉深模具的快速設(shè)計(jì)系統(tǒng)模塊。
基于UG/Open API編程參數(shù)化設(shè)計(jì)的基本過程是:首先對(duì)模型進(jìn)行參數(shù)化處理,建立模型表達(dá)式文件,然后創(chuàng)建參數(shù)化的圖形模板,再通過設(shè)計(jì)程序處理模型表達(dá)式的參數(shù)值,更新模型即可達(dá)到參數(shù)化設(shè)計(jì)的目的。通常情況下,參數(shù)化設(shè)計(jì)程序運(yùn)行時(shí),先從模型表達(dá)式文件提取模型的參數(shù),再更新參數(shù)值,然后更新模型。其運(yùn)行基本流程如圖1所示。
圖1 參數(shù)化設(shè)計(jì)程序運(yùn)行基本流程
UG/Open API程序可分為外部程序模式和內(nèi)部程序模式。外部UG/Open API程序的運(yùn)行與UG的環(huán)境無關(guān),在操作系統(tǒng)下單獨(dú)運(yùn)行,它是作為操作系統(tǒng)的一個(gè)進(jìn)程存在,但不能與UG圖形界面進(jìn)行交互,運(yùn)行結(jié)果不能在UG圖形界面中顯示,所以應(yīng)用很少。內(nèi)部UG/Open API程序的運(yùn)行與UG的環(huán)境有關(guān),只能在UG中運(yùn)行。它是編譯、連接后得到的dll文件,程序代碼小,連接速度快。運(yùn)行UG內(nèi)部的API程序通過動(dòng)態(tài)鏈接成為UG的一部分,并可與用戶進(jìn)行交互,實(shí)現(xiàn)與UG的無縫集成。因此,本文采用內(nèi)部API程序開發(fā)箱蓋模具快速設(shè)計(jì)dll程序文件。
圖2 箱蓋模具快速設(shè)計(jì)菜單界面
在UG中使用UG/Open MenuScript工具創(chuàng)建用戶菜單,該工具的功能是為開發(fā)人員創(chuàng)建和編輯下拉菜單和工具欄,通過它用戶可以方便地用菜單腳本文件編輯UG菜單來支持自己的應(yīng)用開發(fā)程序[4]。圖2所示為開發(fā)的箱蓋模具快速設(shè)計(jì)系統(tǒng)菜單。
箱蓋模具快速設(shè)計(jì)系統(tǒng)用戶對(duì)話框主要用于用戶輸入箱蓋的尺寸參數(shù),圖3所示為箱蓋快速設(shè)計(jì)系統(tǒng)的用戶對(duì)話框界面。由圖3所示,用戶對(duì)話框主要由箱蓋結(jié)構(gòu)示意圖、箱蓋類型下拉列表、箱蓋參數(shù)輸入框、設(shè)計(jì)模具存放路徑、模具總圖名、執(zhí)行按鈕六部分組成。用戶對(duì)話框開發(fā)可以采用UG/Open UIStyle工具[4],進(jìn)入對(duì)話框設(shè)計(jì)界面,可進(jìn)行可見即所得的對(duì)話框界面制作。
圖3 箱蓋模具快速設(shè)計(jì)對(duì)話框界面
圖4 對(duì)話框的回調(diào)函數(shù)
在對(duì)話框設(shè)計(jì)時(shí),需要定義按鈕及對(duì)話框的回調(diào)函數(shù)用于執(zhí)行相關(guān)操作,這里定義了4個(gè)回調(diào)函數(shù),如圖4所示,即構(gòu)造回調(diào)函數(shù)Construction、析構(gòu)回調(diào)函數(shù)Destruction、確定按鈕回調(diào)函數(shù)ParaDesign、瀏覽按鈕回調(diào)函數(shù)liulan_cb。在保存時(shí),將對(duì)話框設(shè)計(jì)代碼保存為c#文件,這里保存為lid2.cs,lid2.cs中包含了上述四個(gè)回調(diào)函數(shù)的定義。
在開發(fā)參數(shù)化設(shè)計(jì)dll文件時(shí),利用UG/OPEN二次開發(fā)的向?qū)0寮纯山⒍伍_發(fā)程序框架,在項(xiàng)目目錄下生成program.cs文件,為程序主要代碼文件。程序框架中包含一個(gè)main(string[]args)的入口函數(shù),在UG中調(diào)用快速設(shè)計(jì)系統(tǒng)時(shí),首先是從這個(gè)函數(shù)開始執(zhí)行的。將lid2.cs復(fù)制到項(xiàng)目目錄,在項(xiàng)目中添加lid2.cs,將對(duì)話框文件加入到項(xiàng)目中。參數(shù)化設(shè)計(jì)主要通過lid2.cs中的ParaDesign()函數(shù)實(shí)現(xiàn)。圖5為快速設(shè)計(jì)程序執(zhí)行過程示意圖。
圖5 快速設(shè)計(jì)程序執(zhí)行過程
圖6 凹模參數(shù)化尺寸示意圖
2.5.1 箱蓋凹模結(jié)構(gòu)尺寸表達(dá)式建立
為建立箱蓋到凹模的快速參數(shù)化設(shè)計(jì)模型,需要建立與箱蓋尺寸D、t、r、H之間的表達(dá)關(guān)系,凹模的表達(dá)式文件是依據(jù)模具設(shè)計(jì)相關(guān)經(jīng)驗(yàn)、知識(shí)規(guī)則,根據(jù)箱蓋的結(jié)構(gòu)特征,以箱蓋結(jié)構(gòu)參數(shù)為基礎(chǔ)建立的凹模結(jié)構(gòu)尺寸知識(shí)規(guī)則。圖6所示為凹模參數(shù)化尺寸示意圖。下面列出基于箱蓋尺寸驅(qū)動(dòng)的凹模尺寸參數(shù)部分表達(dá)式如下:
將表達(dá)式文件另存為w_j_am.exp,形成凹模表達(dá)式模板。在UG中導(dǎo)入表達(dá)式式參數(shù),并應(yīng)用參數(shù)化的尺寸繪制凹模圖形,通過修改更新表達(dá)式參數(shù),可以實(shí)現(xiàn)凹模零件的參數(shù)化設(shè)計(jì)。
2.5.2 參數(shù)化模板程序錄制及應(yīng)用開發(fā)
下面以無筋箱蓋凹模說明參數(shù)化模板程序的開發(fā)過程。
在UG中,選【工具】→【表達(dá)式】,彈出表達(dá)式創(chuàng)建窗口,點(diǎn)從文件中導(dǎo)入表達(dá)式,選擇w_j_am.exp,導(dǎo)入表達(dá)式,如圖7所示。
圖7 讀入初始表達(dá)式
然后通過繪制草圖,添加約束,生成初始凹模零件。然后【工具】→【表達(dá)式】中導(dǎo)入表達(dá)式文件w_j_am_n.exp更新凹模參數(shù)表達(dá)式,文件w_j_am_n.exp和w_j_am.exp表達(dá)式結(jié)構(gòu)相同,只是相關(guān)參數(shù)值進(jìn)行了更新。將整個(gè)模板制作的操作記錄錄制生成c#代碼。將代碼復(fù)制到總體程序框架下凹模參數(shù)化設(shè)計(jì)模塊,在執(zhí)行快速設(shè)計(jì)時(shí),程序?qū)⑾渖w尺寸更新到w_j_am_n.exp文件中,當(dāng)代碼讀入w_j_am_n.exp文件中的表達(dá)式時(shí),即實(shí)現(xiàn)了凹模的更新。
圖8 快速設(shè)計(jì)的凹模零件
依照同樣的方法完成凸模、凹模、壓邊圈、頂桿、頂板的參數(shù)化程序模塊,編譯項(xiàng)目,生成dll文件。將dll復(fù)制到環(huán)境變量“UGII_USER_DIR”指定目錄的application子目錄下,啟動(dòng)NX,選無筋箱蓋拉伸模設(shè)計(jì)菜單,彈出箱蓋參數(shù)輸入對(duì)話框,按圖樣輸入箱蓋外徑D、高度H、壁厚t、圓角r等參數(shù),瀏覽模具存放路徑,輸入模具名,選確定,即可快速自動(dòng)生成整套模具零件圖,圖8為自動(dòng)生成的凹模零件。
為檢驗(yàn)系統(tǒng)的有效性,對(duì)以往三十余套箱蓋模具進(jìn)行了應(yīng)用模擬設(shè)計(jì),設(shè)計(jì)時(shí),依據(jù)箱蓋結(jié)構(gòu)特征,選擇相應(yīng)的設(shè)計(jì)模塊,輸入箱蓋的結(jié)構(gòu)參數(shù),系統(tǒng)能快速生成滿足實(shí)際需要模具零件模型,模型可直接用于新造模具生產(chǎn)。通常一個(gè)熟練的模具設(shè)計(jì)人員設(shè)計(jì)一套完整的模具圖紙(裝配圖、工程圖等)需要超過三個(gè)工作日,而一個(gè)一般工藝人員通過快速設(shè)計(jì)系統(tǒng)可在半個(gè)工作日內(nèi)完成整套模具圖紙?jiān)O(shè)計(jì),提高效率逾6倍,且設(shè)計(jì)的模具符合拉深模具的相關(guān)要求。另外,針對(duì)兩種新型號(hào)的包裝容器箱蓋模具進(jìn)行了快速設(shè)計(jì)實(shí)際應(yīng)用,制作了相應(yīng)的工程圖,并試制生產(chǎn),經(jīng)箱蓋沖壓試驗(yàn),設(shè)計(jì)的模具沖壓的箱蓋完全符合圖樣要求。因此,快速設(shè)計(jì)系統(tǒng)可直接用于新型號(hào)箱蓋模具的設(shè)計(jì)。
1)本文分析包裝容器箱蓋模具快速設(shè)計(jì)的基本思路,論述了更新圖形模板的參數(shù)化設(shè)計(jì)基本流程。分析了基于UG/OPEN、C#的箱蓋模具快速設(shè)計(jì)系統(tǒng)的詳細(xì)開發(fā)過程,開發(fā)了用戶菜單及用戶對(duì)話框,構(gòu)建了系統(tǒng)總體框架。
2)分析了NX環(huán)境下模具零件的參數(shù)化設(shè)計(jì)方法,論述了程序更新表達(dá)式的參數(shù)化設(shè)計(jì)方法,并成功應(yīng)用于包裝容器箱蓋快速設(shè)計(jì)系統(tǒng)的開發(fā)。
3)通過模具模擬設(shè)計(jì)和新型號(hào)箱蓋模具設(shè)計(jì)實(shí)際應(yīng)用檢驗(yàn)了快速設(shè)計(jì)系統(tǒng)的有效性、高效性、智能性,系統(tǒng)可直接用于新型號(hào)箱蓋模具的設(shè)計(jì)。
4)基于零件結(jié)構(gòu)參數(shù)的模具快速設(shè)計(jì)思想可推廣到其他類似產(chǎn)品模具的快速設(shè)計(jì)系統(tǒng)開發(fā),可減少許多不必要的重復(fù)設(shè)計(jì)工作,實(shí)現(xiàn)模具設(shè)計(jì)過程的標(biāo)準(zhǔn)、高效、統(tǒng)一。
[1]金先敏.基于UG的汽車覆蓋件模具設(shè)計(jì)研究[D].武漢:武漢理工大學(xué),2007.
[2]楊丙輝.基于參數(shù)化技術(shù)的零件快速設(shè)計(jì)系統(tǒng)的研究與應(yīng)用[D].重慶:重慶大學(xué),2008.
[3]汪銳.NX Open API編程技術(shù)[M].北京:電子工業(yè)出版社,2012.
[4]黃勇.UG/OPEN應(yīng)用開發(fā)典型實(shí)例精解[M].北京:國防工業(yè)出版社,2010.