0 引言
參數(shù)化設(shè)計是通過改動圖形的某一部分或某幾部分的尺寸,或修改已定義好的零件參數(shù),自動完成對圖形中相關(guān)部分的改動,從而實現(xiàn)對圖形的驅(qū)動。本文針對某起熏機典型系列產(chǎn)品的主梁進行二次開發(fā),在NX環(huán)境下運用Visual C++程序語言對主梁進行了二次開發(fā),開發(fā)出了多功能機組主梁的三維參數(shù)化模型,經(jīng)過驗證說明所開發(fā)的主梁參數(shù)化建模系統(tǒng)能對主梁的主要尺寸參數(shù)進行參數(shù)化驅(qū)動,實現(xiàn)了主梁的參數(shù)化開發(fā)。
1 起重機主梁的參數(shù)化設(shè)計系統(tǒng)開發(fā)
1.1 建立主梁裝配體樣板
分析起重機主梁的結(jié)構(gòu)特點,對主梁裝配體的參數(shù)化設(shè)計采用自頂向下的方法。在參數(shù)化前,首先要分清主梁尺寸中的一級驅(qū)動參數(shù)、次級驅(qū)動參數(shù)及不對其他部件產(chǎn)生影響的無關(guān)參數(shù)等級別,通過修改一個尺寸來刷新整個模型的目的。對所有的零件和子部件的定位方式采用3個基準(zhǔn)面和結(jié)構(gòu)控制草圖中的草圖線段,避免在零件裝配過程中出現(xiàn)整個裝配體的混亂,如某些零部件的缺失、更換、重疊等。如果某些零部件的一些幾何特征參數(shù)難以在裝配圖中進行表達,那么可以通過建立與裝配體模型當(dāng)中的變量關(guān)聯(lián)的函數(shù)表達式或是建立父子關(guān)系的方法進行解決。主梁參數(shù)化NX三維裝配體模型如圖1所示。
圖1 主梁參數(shù)化裝配體模型
1.2 設(shè)計主梁參數(shù)化建模系統(tǒng)
使用Visual C++和NX/Open API編寫應(yīng)用程序建立主梁參數(shù)化建模系統(tǒng),主梁參數(shù)化建模系統(tǒng)在NX環(huán)境下生成用戶自定義菜單(見圖2),通過選取菜單項當(dāng)中的“主梁1”選項彈出用戶交互對話框(見圖3),在對話框中有若干個有關(guān)主梁幾何參數(shù)的輸入項,可以直接設(shè)定主梁參數(shù)化過程中所需要的關(guān)鍵結(jié)構(gòu)參數(shù),按“確定”或者“應(yīng)用”按鈕,程序自動將主梁的關(guān)鍵參數(shù)設(shè)定為輸入值,從而生成所需要的主梁模型。
圖2 用戶自定義菜單界面
圖3 用戶交互式對話框
此系統(tǒng)的設(shè)計是利用NX/NX所提供的二次開發(fā)語言模塊NX/Open API,NX/Open UI Styler,NX/Open Menu Script,再結(jié)合Visual C++,實現(xiàn)了主梁參數(shù)化模型的二次開發(fā)。
(1)創(chuàng)建應(yīng)用程序部署目錄結(jié)構(gòu)
創(chuàng)建工作目錄為“E:\zhuliangl”,在其中分別創(chuàng)建2個子目錄“E:\zhuliangl\startup”和“E:\zhuliangl\application”。其中“startup”目錄中用來存放菜單文件(*.men)和動態(tài)庫文件(*dll),“application”目錄中存放對話框文件(*.dlg)。
(2)編寫菜單文件
在Window操作系統(tǒng)的記事本當(dāng)中編輯寫入創(chuàng)建菜單文件的應(yīng)用程序,其作用是生成如圖2所示菜單界面,并保存在工作目錄的“E:\zhuliangl\start-up”下,文件名取為pro_design.men。
(3)設(shè)置系統(tǒng)環(huán)境變量
右鍵單擊“我的電腦”,單擊[屬性]→[高級]→[環(huán)境變量],在系統(tǒng)變量下設(shè)置“NXII_USER_DIR”為“E:\zhuliangl”,單擊“確定”按鈕。
(4)制作用戶界面對話框
打開NX,進入到UIStyler模式(主菜單application下的用戶界面樣式編輯器),對用戶交互式對話框界面進行設(shè)計,對話框本身屬性當(dāng)中所要設(shè)置的參數(shù)如圖4(a)所示,對話框回叫函數(shù)當(dāng)中所要設(shè)置的參數(shù)如圖4(b)所示。
圖4 對話框?qū)傩约捌浠亟泻瘮?shù)
對話框設(shè)計完成后,其結(jié)果保存為用戶對話框文件ZHULIANG1.dlg,并保存至剛建立好的application文件夾當(dāng)中。同時系統(tǒng)提示用戶保存了3個文件,然后退出NX/Open UIStyler模式。
(5)編寫相應(yīng)的控制程序
①創(chuàng)建應(yīng)用程序框架 啟動VC++,單擊[File]-[New…],創(chuàng)建一個新的工程。因為需要建立一個內(nèi)部UF程序,所以選擇”Win32 Dynamic-Link Library”。為工程起一個名字“canshuhua”,如圖5所示,單擊[OK]按鈕,選擇[A simple DLL project],然后單擊“完成”按鈕,單擊“確定”按鈕,自動在制定目錄下創(chuàng)建canshuhua.c和canshuhua.h應(yīng)用程序框架。同時將創(chuàng)建對話框文件ZHULIANGl.dlg時生成的ZHULIANG1.h和ZHULIANGl_template.c復(fù)制到其目錄下;
圖5 創(chuàng)建工程
②修改主程序 添加ufsta入口函數(shù),在NX啟動的時候就自動執(zhí)行用戶定義的dll程序。該函數(shù)用于判別用戶在NX中打開的模型是否為指定模型,若不是指定模型則顯示“當(dāng)前顯示模型不是主梁部件,不能進行參數(shù)化設(shè)計”。如果打開的模型是指定模型,則裝載對話框文件ZHULIANG1.dlg,并彈出用戶對話框圖3;
③進一步編寫對話框控鍘程序 打開程序ZHULIANGl_template.c,對回叫函數(shù)中調(diào)用對話框命令進行相應(yīng)的修改編輯;
④編寫獲取主梁相關(guān)參數(shù)表達式值的程序 編輯程序ZHULIANGl_template.c,按要求修改獲取主梁相關(guān)參數(shù)表達式構(gòu)造函數(shù)值;
⑤編寫用戶對話框“應(yīng)用”按鈕回叫函數(shù) 用戶對話框“應(yīng)用”按鈕回叫函數(shù),用于獲取用戶在對話框中輸入的參數(shù),修改表達式,更新主梁。
用戶對話框中的“確定”按鈕函數(shù),除了在函數(shù)尾部增加UF_MODL_update()函數(shù)外,與“應(yīng)用”按鈕回叫函數(shù)代碼基本相似。
(6)構(gòu)建主梁參數(shù)化模型系統(tǒng)
①設(shè)置VC++環(huán)境 添加鏈接庫,這些庫是調(diào)用UF函數(shù)的代碼在鏈接時必須的。單擊【Project】→【Setting】→【Link】,在Output file name文本框中填入最終編譯鏈接成的DLL文件名,在Object/Library modules文本框中,加入需要的庫名。對于NX Open程序,添加庫名:libufun.lib、libNXopenint.lib、libvmathpp.lib,如圖6所示。
圖6 鏈接庫的添加
②加入工程選擇“工程|設(shè)置|File”菜單項,依次加入文件ZHULIANGl.h和ZHULIANGl_template.c。
③設(shè)定編譯和鏈接時頭文件和庫文件的查找目錄在菜單上單擊【Tools】→【Options】→【Directories】,在Options對話框中分別為包含文(Includefiles)和庫文件(Library filds)設(shè)置查找目錄,都設(shè)置為NX的安裝路徑,如圖7所示。
圖7 目錄設(shè)置
④創(chuàng)建DLL文件編譯和鏈接此工程,若沒有錯誤,則系統(tǒng)會提示生成了動態(tài)鏈接庫文件“canshuhua.dll”。然后,把此文件存放在startup文件下。
(7)主梁參數(shù)化建模系統(tǒng)驗證
編譯程序后,啟動NX4.0程序,可發(fā)現(xiàn)在菜單欄當(dāng)中多了本文所開發(fā)的按鈕“PTM27-28多功能起重機主梁參數(shù)化設(shè)計”,選擇此菜單項,出現(xiàn)“主梁1”下拉子菜單,選擇“主梁1”則可彈出如圖3所示的用戶對話框,在對話框中按用戶設(shè)計要求輸入?yún)?shù),單擊“確定”按鈕后,系統(tǒng)便根據(jù)用戶輸入的參數(shù)生成更新了的主梁模型,從而驗證本文所建立的主梁參數(shù)化建模系統(tǒng)的有效性。
2 結(jié)語
本文以三維設(shè)計軟件NX為工作平臺,以VC++6.0為開發(fā)語言,完成了主梁參數(shù)化設(shè)計系統(tǒng)的開發(fā)。該系統(tǒng)具有人機界面友好,使用方便等特點,對提高設(shè)計人員的設(shè)計效率及加強企業(yè)的競爭力具有很強的現(xiàn)實意義。另外對設(shè)計標(biāo)準(zhǔn)化、系列化程度較高的產(chǎn)品也有著廣泛的應(yīng)用價值。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于NX的二次開發(fā)技術(shù)實現(xiàn)起重機主梁的參數(shù)化設(shè)計
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/14019318415.html