? 這是金屬加工(mw1950pub)發(fā)布的第13355篇文章 編者按 介紹了UG/NX的開發(fā)模塊以及如何在NX軟件平臺下二次開發(fā)中使用MFC資源,;并從模具生產(chǎn)前期技術(shù)生產(chǎn)準備出發(fā),介紹模具結(jié)構(gòu)設(shè)計和數(shù)控編程開發(fā)應(yīng)用實例,,以提高模具設(shè)計和數(shù)控編程的工作效率及質(zhì)量,,實現(xiàn)了模具前期相應(yīng)工作環(huán)節(jié)的自動化,、規(guī)范化和標準化。 01 序言 汽車模具數(shù)字化制造的發(fā)展和三維實體設(shè)計的普及使模具的全尺寸程序化設(shè)計和數(shù)控加工成為可能,。汽車模具在設(shè)計階段,,在N X軟件平臺上基于PDM系統(tǒng)并結(jié)合汽車模具的應(yīng)用需求,開發(fā)建立了三維大型汽車模具智能設(shè)計系統(tǒng),;在數(shù)控編程CAM階段,,泡沫整體加工、鑲塊加工和模具結(jié)構(gòu)加工實現(xiàn)了數(shù)字化的加工流程,。因此,,如何將模具結(jié)構(gòu)設(shè)計人員和數(shù)控編程人員從大量單一、機械性的工作中解放出來,,能將更多的精力放在前期設(shè)計優(yōu)化和標準化,、提高加工效率等技術(shù)含量高的工作上,從而提高設(shè)計和數(shù)控編程的效率及質(zhì)量,,成為亟待解決的問題,。 02 NX軟件特點 在智能化制造系統(tǒng)開發(fā)前,設(shè)計特點如下,。 (1)設(shè)計效率低三維模具設(shè)計周期長,,如斜楔修邊整形模具,設(shè)計裝配圖如圖1所示,,其設(shè)計周期長達5個月,,不能滿足用戶的要求。設(shè)計人員流動性大,,新手多,,容易出現(xiàn)設(shè)計質(zhì)量問題。簡單重復(fù)性工作內(nèi)容多,,設(shè)計工作非常辛苦,,沒有充分發(fā)揮計算機輔助設(shè)計作用。 圖1 模具設(shè)計裝配圖 (2)標準化程度低標準化程度低,、標準雜亂,、標準件跟不上需要等已嚴重制約了汽車覆蓋件模具的發(fā)展。目前,,國內(nèi)已有不少企業(yè)以中國模具工業(yè)協(xié)會汽車車身模具及裝備委員會編印的《汽車沖模標準匯編》作為標準,,但這一標準匯編尚未得到廣泛應(yīng)用,還不是行業(yè)標準,。在國內(nèi)幾大汽車模具企業(yè)中通常采用合資方的外國標準,,如東風公司與PSA合資就采用E24標準,與日產(chǎn)合資就采用KPS,、NPS標準,,各模具企業(yè)很難形成統(tǒng)一的設(shè)計,、制造標準,造成現(xiàn)有的覆蓋件沖模CAD/CAM系統(tǒng)的集成化和智能化程度都比較低,,知識重用困難,。 (3)現(xiàn)有CAD軟件專用性差目前國內(nèi)自主開發(fā)的CAD軟件較少,而多數(shù)廠家引進的國外先進軟件多為通用型軟件,,未經(jīng)開發(fā)則專用性較差,。面對當前模具行業(yè)日益激烈的競爭,開發(fā)“模具智能化設(shè)計系統(tǒng)”,,以實現(xiàn)模具設(shè)計技術(shù)專業(yè)化,、通用化和高效化已迫在眉睫。 汽車模具使用的NX軟件是主流的CAD/CAM系統(tǒng),,是集計算機輔助設(shè)計,、輔助制造、輔助工程和產(chǎn)品數(shù)據(jù)管理(CAD/CAM/CAE/PDM)一體化的軟件系統(tǒng),。但N X作為通用支撐軟件系統(tǒng),,提供相關(guān)的CAD和CAM功能,并沒有提供模具設(shè)計和數(shù)控編程所需的專業(yè)功能,。N X軟件給用戶提供了豐富的開發(fā)接口,,用戶能在此基礎(chǔ)上開發(fā)專業(yè)的CAD和CAM功能。軟件二次開發(fā)模塊(UG/Open)以開發(fā)性架構(gòu)面向不同的軟件平臺提供靈活的開發(fā)支持,,從而讓開發(fā)者可針對模具制造開發(fā)出功能強大、適合自己使用的模具智能制造系統(tǒng),。此外還提供了后置處理開發(fā)模塊(UG/GPM,、UG/POST)、車間工藝文檔開發(fā)模塊(UG/ShopDoc)和知識融合(UG/KF)等,。 03 UG/Open二次開發(fā)流程 UG/Open是一系列UG開發(fā)工具的總稱,,它主要由MenuScript(菜單腳本語言)和UIStyler(對話框設(shè)計)、API(應(yīng)用程序接口)和Grip(圖形交互程序)4個組件組成,。 (1)UG/Open MenuScript 一種定義菜單的腳本語言,,以關(guān)鍵字來表示菜單的內(nèi)容和結(jié)構(gòu)。用戶創(chuàng)建或修改菜單文件(*.men,,純文本格式),,即可很方便地定義、修改UG界面的主菜單,、快捷菜單及菜單項的響應(yīng)動作(action),,action需要在UG啟動時注冊方可使用。 (2)UG/Open UIStyler UG提供的對話框設(shè)計模塊UIStyler,,可快速得到具有文本,、按鈕和列表等控件的UG風格的對話框,。但同目前流行的Windows應(yīng)用程序開發(fā)工具相比,UIStyler包含的控件太少,,且不能使用windows的豐富資源,,有很大的局限性。 (3)UG/Open API 又稱User Function,,是UG提供給外部應(yīng)用程序的接口,,由一系列函數(shù)和過程組成,是UG二次開發(fā)的關(guān)鍵,。通過在C/C++程序中調(diào)用這些函數(shù),,能在UG主界面中創(chuàng)建交互式界面,并調(diào)用UG內(nèi)部的操作,。 (4)UG/Open Grip UGNX自帶的一種圖形交互編程語言,,有其完整的語法規(guī)則、程序結(jié)構(gòu)和內(nèi)部函數(shù),,受其語法,、結(jié)構(gòu)的影響,適合做一些小型的,、簡單的程序開發(fā),,往往把它作為API的一種補充。在UG的二次開發(fā)過程中,,上述4個組件往往需要組合使用,,調(diào)用關(guān)系如圖2所示。 圖 2 UG/Open 4大組件調(diào)用關(guān)系 MFC的UG/Open API動態(tài)鏈接庫的二次開發(fā)流程 MFC(Microsoft Foundation Class)是VC++的一個重要資源,,這套由微軟開發(fā)的庫已經(jīng)成為設(shè)計窗口應(yīng)用程序的準工業(yè)標準,,它包含了上百種事先用C++程序?qū)懞玫念悾瑢⑦@些類組合起來,,可以編寫功能強大的應(yīng)用程序,。與UG/UIStyler界面設(shè)計技術(shù)相比,使用MFC的界面在布局上更為容易,,控件更為豐富,,修改調(diào)試更為靈活。UGNX開發(fā)環(huán)境沒有提供對MFC的支持,,無法直接使用MFC的豐富資源,。通過改變MFC DLL項目的程序結(jié)構(gòu),成功地把MFC應(yīng)用到了UG的二次開發(fā)中,,大大增加了UG二次開發(fā)的自由度,。其CString、CDialog,、CList等類的使用,,極大地簡化了二次開發(fā)的過程,。其一般開發(fā)流程如下。 (1)創(chuàng)建項目文件在VS2010/VC++里創(chuàng)建MFC DLL型項目文件,,包括:.h頭文件,、.cpp源文件、.def模塊定義文件和.rc資源文件等,。 (2)項目屬性設(shè)置在項目屬性里添加UG文件夾UGOpen,、UGOpenPP為頭文件包含路徑,添加6 個UG導(dǎo)入庫文件(*.lib)為附加庫依賴項,。 (3)入口函數(shù)的設(shè)定入口函數(shù)定義了UG以何種方式及何時加載動態(tài)鏈接庫,。UG提供了多種入口函數(shù)。 1)ufusr(用戶入口):二次開發(fā)中最常用的入口方式,,可通過菜單命令或工具條按鈕來加載,,有3種不同的卸載方式:IMMEDIATELY、SEL_DIALOG(通過對話框卸載)和UG_TERMINATE(UG進程終止時卸載),。 2)ufsta(自動入口):UG啟動時自動加載,,UG進程退出時卸載。菜單項響應(yīng)動作(actions)需要在此入口函數(shù)內(nèi)登記后方可被正常調(diào)用,。 3)user exit(特定操作入口):可以在UG執(zhí)行某一特定操作時轉(zhuǎn)而加載用戶程序,,如新建文件、打開文件,、CAM初始化等操作都有自己的入口函數(shù),,每個入口函數(shù)對應(yīng)一個系統(tǒng)環(huán)境變量。 圖3所示是開發(fā)的UG文件管理系統(tǒng)的打開文件界面,,其入口函數(shù)為ufget,,建立對應(yīng)的環(huán)境變量USER_RETRIEVE,指向生成的動態(tài)鏈接庫文件,。這樣當用戶在UG中點擊打開文件按鈕時,系統(tǒng)在動態(tài)鏈接庫中搜索并執(zhí)行ufget函數(shù),,出現(xiàn)圖3所示的界面,,取代了UG自身的打開對話框。 圖3 UG文件管理系統(tǒng)界面 對話框設(shè)計 (1)利用MFC創(chuàng)建對話框類在資源視圖里添加對話框資源,,用對話框編輯器設(shè)計話框布局,,最后使用ClassWizard(類向?qū)В﹦?chuàng)建對話框類,修改此類的源程序以實現(xiàn)對話框控件的功能,。 (2)對話框的調(diào)用在主程序中必須先調(diào)用宏AFX_MANAGE_ST,,指明MFC對話框使用DLL本身的資源。常用的對話框分為模式和無模式兩種形式,,其中模式對話框較簡單,,定義一個對話框類實例,,并調(diào)用其成員函數(shù)DoModal()即可實現(xiàn)對話框功能;無模式對話框的使用更為靈活,,可以在不關(guān)閉對話框的條件下直接調(diào)用UG提供的界面交互函數(shù),,其創(chuàng)建及銷毀較為復(fù)雜,需要調(diào)用CWnd::Create函數(shù)創(chuàng)建對象,、調(diào)用ShowWindow函數(shù)顯示對話框,。 (3)源代碼編寫在MFC、UG/Open環(huán)境中編寫源代碼,,調(diào)試,、編譯。加載設(shè)置:根據(jù)觸發(fā)方式的不同分為如下幾種情況,。 1)UG啟動時調(diào)用:將*.dll文件放到U G的STARTUP文件夾內(nèi),。 2)通過菜單按鈕調(diào)用:使用MenuScript語言編寫菜單文件(*.men),將*.men和*.dll文件放到STARTUP文件夾內(nèi),。 3)通過工具條按鈕調(diào)用:修改STARTUP文件夾內(nèi)用戶工具條文件(*.tbr),,添加按鈕(button),并定義響應(yīng)動作(actions),,指向*.dll文件,。 4)通過菜單命令(ctrl + U)調(diào)用:用戶需手動加載*.dll文件。 5)UG執(zhí)行某一特定操作(user exit)時觸發(fā):對應(yīng)一個入口函數(shù),、一個環(huán)境變量,,將*.dll放入環(huán)境變量定義的路徑內(nèi)。 04 UG開發(fā)與智能化實例 (1)建立大梁落料沖孔模裝配的參數(shù)化設(shè)計模板 整理大梁模原始資料,,總結(jié)出其典型斷面結(jié)構(gòu),,建立大梁主斷面的草繪圖,使用主參數(shù)和輔參數(shù)控制表達式來改變上下底板的大小和特征組,。在UGNX軟件中事先使用參數(shù)化功能建立起上,、下底板,上,、下安裝座的通用三維模板,,按功能將特征成組。按照設(shè)計規(guī)范建立起模具主要零件的裝配特征樹,。使用開發(fā)的克隆程序,,僅需輸入路徑和模具號即可完成一套新大梁模的模具主要部件的生成(見圖4),通過參數(shù)調(diào)整完成大梁模上底板,、下底板,、凸模固定座和凹模固定座4大鑄件的參數(shù)化實體設(shè)計,以及標準件裝配。 圖4 設(shè)計大梁模智能設(shè)計模塊 底板生成步驟:建立大梁主斷面的草繪圖→通過拉伸命令生成大梁上,、下底板的基本實體→添加功能特征組,,如導(dǎo)向部件、起吊部件,、壓板槽特征組和加強筋組等完成參數(shù)化模板→手工修改添加其他特征,,完成上、下底板設(shè)計,。 (2)標準編程模板的建立為了建立數(shù)控編程標準作業(yè)流程,,減少出錯的幾率,公司將多年積累的編程經(jīng)驗,,及各種成熟的加工方法,、加工策略、參數(shù)等進行固化,,做成標準CAM模板,,以便數(shù)控編程人員直接調(diào)用。圖5所示分別為泡沫編程模板,、結(jié)構(gòu)編程模板和鋼模編程模板,。 a)泡沫編程模板 b)結(jié)構(gòu)編程模板 c)鋼模編程模板 圖5 標準編程模板 通過模板的調(diào)用,大大簡化了數(shù)控編程人員的工作量,,同時利于實現(xiàn)標準化作業(yè)流程,,便于統(tǒng)一管理。 (3)孔加工數(shù)控編程系統(tǒng)的開發(fā)如圖6所示,,采用非模式屬性頁(MFC)的對話框界面,,能對設(shè)計三維實體自動進行孔的檢測,包括孔的類型,、大小,、方向和位置等參數(shù),并生成孔位列表,,可以通過右鍵彈出菜單方式對孔信息進行手工編輯,,可自動輸出孔位加工程序、孔位清單,,實現(xiàn)了孔加工的自動化編程,,大大提高了孔加工數(shù)控編程的效率。 圖6 孔加工數(shù)控編程系統(tǒng) 尤其對于大梁類沖孔模,,孔非常多,,數(shù)控編程的主要工作量是孔加工編程,。軟件開發(fā)前只能靠人工來進行孔類型,、大小等參數(shù)的辨別,并通過手工選取生成程序,效率非常低,。編程工具開發(fā)前進行某項目大梁模編程,,前后投入了3人,歷時1.5個月才完成數(shù)控編程任務(wù),。采用此工具,,數(shù)控編程周期至少可縮短至原周期的1/6~1/5,質(zhì)量也得到了保障,。 05 結(jié)束語 對MFC的UGNX二次開發(fā)技術(shù)進行了深入的探討,,同時提供基于UG/CAM的VC++編程開發(fā)實例:通過UGNX的開發(fā)接口調(diào)用內(nèi)部指令,由軟件自動完成原本需要手工完成的工作,。通過工具軟件的二次開發(fā),,大大降低了設(shè)計和數(shù)控編程人員的勞動強度,提高了模具的工作效率及質(zhì)量,,縮短了模具設(shè)計和數(shù)控編程的周期,,極大地緩解了實際生產(chǎn)中任務(wù)重、工期緊的矛盾,,實現(xiàn)了模具前期技術(shù)工作部分環(huán)節(jié)的自動化,、規(guī)范化。 然而,,與國外領(lǐng)先行業(yè)的智能化制造相比,,軟件開發(fā)和實際應(yīng)用仍有差距。在今后的工作中,,針對模具智能化制造仍需進一步的探索,、開發(fā),向模具作業(yè)流程的智能化,、標準化道路前進,,提升模具制造技術(shù)水平。 |
|