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