彭澤軍
(中國工程物理研究院 機械制造工藝研究所,綿陽 621900)
在傳統的包裝容器箱蓋模具設計方法中,設計時需要查找的資料較多,需要根據箱蓋的結構進行模具零部件設計,需要考慮的條件、參數也較多,需要熟悉拉深模具設計的相關知識,對設計人員的設計水平依賴性較大。采用傳統的分析、計算方法進行設計,設計的效率較低,設計過程經常重復[1],設計的模具因設計人員的不同存在較大差異,標準不統一。為了提高設計效率和統一設計標準,以UG/OPEN、C#為開發工具,構建箱蓋模具快速設計系統對提高設計效率、統一設計標準、實現快速智能設計具有重要意義[2]。
表達式在UG中進行參數化設計時起著重要的作用,通過改變三維模型的尺寸,達到模型發生相應變化,模型尺寸的變化實質是約束模型的尺寸表達式發生了改變,通過UG表達式編輯器可以查看。利用UG/Open API編程可通過創建表達式、改變表達式達到參數化設計的目的。
本文主要通過預先建立表達式文件,通過設計程序改變表達式值,達到更新模型實現快速設計。其基本思路是以UG/Open API編程技術[3]為基礎,以C#為開發工具,開發可在UG中訪問的DLL函數,DLL函數在UG啟動時自動加載,形成箱蓋拉深模具的快速設計系統模塊。
基于UG/Open API編程參數化設計的基本過程是:首先對模型進行參數化處理,建立模型表達式文件,然后創建參數化的圖形模板,再通過設計程序處理模型表達式的參數值,更新模型即可達到參數化設計的目的。通常情況下,參數化設計程序運行時,先從模型表達式文件提取模型的參數,再更新參數值,然后更新模型。其運行基本流程如圖1所示。

圖1 參數化設計程序運行基本流程
UG/Open API程序可分為外部程序模式和內部程序模式。外部UG/Open API程序的運行與UG的環境無關,在操作系統下單獨運行,它是作為操作系統的一個進程存在,但不能與UG圖形界面進行交互,運行結果不能在UG圖形界面中顯示,所以應用很少。內部UG/Open API程序的運行與UG的環境有關,只能在UG中運行。它是編譯、連接后得到的dll文件,程序代碼小,連接速度快。運行UG內部的API程序通過動態鏈接成為UG的一部分,并可與用戶進行交互,實現與UG的無縫集成。因此,本文采用內部API程序開發箱蓋模具快速設計dll程序文件。

圖2 箱蓋模具快速設計菜單界面
在UG中使用UG/Open MenuScript工具創建用戶菜單,該工具的功能是為開發人員創建和編輯下拉菜單和工具欄,通過它用戶可以方便地用菜單腳本文件編輯UG菜單來支持自己的應用開發程序[4]。圖2所示為開發的箱蓋模具快速設計系統菜單。
箱蓋模具快速設計系統用戶對話框主要用于用戶輸入箱蓋的尺寸參數,圖3所示為箱蓋快速設計系統的用戶對話框界面。由圖3所示,用戶對話框主要由箱蓋結構示意圖、箱蓋類型下拉列表、箱蓋參數輸入框、設計模具存放路徑、模具總圖名、執行按鈕六部分組成。用戶對話框開發可以采用UG/Open UIStyle工具[4],進入對話框設計界面,可進行可見即所得的對話框界面制作。

圖3 箱蓋模具快速設計對話框界面

圖4 對話框的回調函數
在對話框設計時,需要定義按鈕及對話框的回調函數用于執行相關操作,這里定義了4個回調函數,如圖4所示,即構造回調函數Construction、析構回調函數Destruction、確定按鈕回調函數ParaDesign、瀏覽按鈕回調函數liulan_cb。在保存時,將對話框設計代碼保存為c#文件,這里保存為lid2.cs,lid2.cs中包含了上述四個回調函數的定義。
在開發參數化設計dll文件時,利用UG/OPEN二次開發的向導模板即可建立二次開發程序框架,在項目目錄下生成program.cs文件,為程序主要代碼文件。程序框架中包含一個main(string[]args)的入口函數,在UG中調用快速設計系統時,首先是從這個函數開始執行的。將lid2.cs復制到項目目錄,在項目中添加lid2.cs,將對話框文件加入到項目中。參數化設計主要通過lid2.cs中的ParaDesign()函數實現。圖5為快速設計程序執行過程示意圖。

圖5 快速設計程序執行過程

圖6 凹模參數化尺寸示意圖
2.5.1 箱蓋凹模結構尺寸表達式建立
為建立箱蓋到凹模的快速參數化設計模型,需要建立與箱蓋尺寸D、t、r、H之間的表達關系,凹模的表達式文件是依據模具設計相關經驗、知識規則,根據箱蓋的結構特征,以箱蓋結構參數為基礎建立的凹模結構尺寸知識規則。圖6所示為凹模參數化尺寸示意圖。下面列出基于箱蓋尺寸驅動的凹模尺寸參數部分表達式如下:

將表達式文件另存為w_j_am.exp,形成凹模表達式模板。在UG中導入表達式式參數,并應用參數化的尺寸繪制凹模圖形,通過修改更新表達式參數,可以實現凹模零件的參數化設計。
2.5.2 參數化模板程序錄制及應用開發
下面以無筋箱蓋凹模說明參數化模板程序的開發過程。
在UG中,選【工具】→【表達式】,彈出表達式創建窗口,點從文件中導入表達式,選擇w_j_am.exp,導入表達式,如圖7所示。

圖7 讀入初始表達式
然后通過繪制草圖,添加約束,生成初始凹模零件。然后【工具】→【表達式】中導入表達式文件w_j_am_n.exp更新凹模參數表達式,文件w_j_am_n.exp和w_j_am.exp表達式結構相同,只是相關參數值進行了更新。將整個模板制作的操作記錄錄制生成c#代碼。將代碼復制到總體程序框架下凹模參數化設計模塊,在執行快速設計時,程序將箱蓋尺寸更新到w_j_am_n.exp文件中,當代碼讀入w_j_am_n.exp文件中的表達式時,即實現了凹模的更新。

圖8 快速設計的凹模零件
依照同樣的方法完成凸模、凹模、壓邊圈、頂桿、頂板的參數化程序模塊,編譯項目,生成dll文件。將dll復制到環境變量“UGII_USER_DIR”指定目錄的application子目錄下,啟動NX,選無筋箱蓋拉伸模設計菜單,彈出箱蓋參數輸入對話框,按圖樣輸入箱蓋外徑D、高度H、壁厚t、圓角r等參數,瀏覽模具存放路徑,輸入模具名,選確定,即可快速自動生成整套模具零件圖,圖8為自動生成的凹模零件。
為檢驗系統的有效性,對以往三十余套箱蓋模具進行了應用模擬設計,設計時,依據箱蓋結構特征,選擇相應的設計模塊,輸入箱蓋的結構參數,系統能快速生成滿足實際需要模具零件模型,模型可直接用于新造模具生產。通常一個熟練的模具設計人員設計一套完整的模具圖紙(裝配圖、工程圖等)需要超過三個工作日,而一個一般工藝人員通過快速設計系統可在半個工作日內完成整套模具圖紙設計,提高效率逾6倍,且設計的模具符合拉深模具的相關要求。另外,針對兩種新型號的包裝容器箱蓋模具進行了快速設計實際應用,制作了相應的工程圖,并試制生產,經箱蓋沖壓試驗,設計的模具沖壓的箱蓋完全符合圖樣要求。因此,快速設計系統可直接用于新型號箱蓋模具的設計。
1)本文分析包裝容器箱蓋模具快速設計的基本思路,論述了更新圖形模板的參數化設計基本流程。分析了基于UG/OPEN、C#的箱蓋模具快速設計系統的詳細開發過程,開發了用戶菜單及用戶對話框,構建了系統總體框架。
2)分析了NX環境下模具零件的參數化設計方法,論述了程序更新表達式的參數化設計方法,并成功應用于包裝容器箱蓋快速設計系統的開發。
3)通過模具模擬設計和新型號箱蓋模具設計實際應用檢驗了快速設計系統的有效性、高效性、智能性,系統可直接用于新型號箱蓋模具的設計。
4)基于零件結構參數的模具快速設計思想可推廣到其他類似產品模具的快速設計系統開發,可減少許多不必要的重復設計工作,實現模具設計過程的標準、高效、統一。
[1]金先敏.基于UG的汽車覆蓋件模具設計研究[D].武漢:武漢理工大學,2007.
[2]楊丙輝.基于參數化技術的零件快速設計系統的研究與應用[D].重慶:重慶大學,2008.
[3]汪銳.NX Open API編程技術[M].北京:電子工業出版社,2012.
[4]黃勇.UG/OPEN應用開發典型實例精解[M].北京:國防工業出版社,2010.