摘 要:人性化的辦公座椅設計是企業(yè)展示自身研發(fā)實力和拓展市場的基礎。本文章基于UG軟件,應用計算機語言搭建辦公座椅再設計平臺,以滿足生產企業(yè)發(fā)展需求。
關鍵詞:UG;二次開發(fā);開發(fā)環(huán)境;設計平臺
1 UG軟件概述
UG是Unlgraphiessolutions公司的產品。1997年10月Unigraphies Solutions公司合并了Intergraph公司的機械CAD產品,將微機版的SOLIDEDGE軟件統(tǒng)一到Parasolid平臺上,形成了一個從低端到高端比較完善的企業(yè)級CAD/CAE/CAM/PDM集成系統(tǒng)。
2 應用UG/OPEN API搭建再設計平臺
UG/Open是一系列UG開發(fā)工具的總稱,由UG/Open API、UG/Open GRIP、UG/Open MenuScript及UG/Open UIStyler4個部分組成。[1,2,3]UG/OPEN API結合C++程序能實現(xiàn)與Unigraphics的各種交互操作。本文章使用UG/Open API,UG/Open MenuScript作為再設計平臺的開發(fā)工具。
2.1 UG二次開發(fā)環(huán)境搭建
本文利用MFC AppWizard向導創(chuàng)建了UG二次開發(fā)編譯環(huán)境。在VC++ 6.0下開發(fā)UG座椅設計動態(tài)鏈接庫DCEvaluate.dll文件,其具體步驟如下:
第一,在VC++6.0中創(chuàng)建一個MFC AppWizard(dll)工程,工程名為DCEvaluate。在工程向導里面設置工程為共享MFC動態(tài)鏈接庫。
第二,設置開發(fā)環(huán)境:添加并配置UG二次開發(fā)的UG/Open API靜態(tài)庫文件libopenintpp.lib,libopenpp.lib,libufun.lib,libugopenint.lib libvmathpp.lib等。
第三,在工程中添加UG用戶入口函數(shù):為了使UG能識別工程所生成的dll文件,需要在dll工程中添加用戶入口函數(shù),通過入口函數(shù)UG才能調用并實現(xiàn)dll的功能。UG用戶入口函數(shù)如下:
Extern “C” DllExport void ufusr(char *parm,int *returnCode,int rlen)
{//Initialize the API environmentUgSession session(true);……
第四,將編寫好的功能代碼在VC++中編譯。
第五,交互對話框的設計:為了使用戶與UG交互進行座椅設計,本文利用MFC對話框資源作為用戶交互界面,在工程中添加界面對話框資源,通過界面設計與功能實現(xiàn),從而實現(xiàn)座椅設計。
第六,配置數(shù)據(jù)庫:為了利用數(shù)據(jù)庫來完成座椅設計,需要對數(shù)據(jù)庫進行配置,然后通過功能代碼實現(xiàn)對數(shù)據(jù)庫的操作。本文利用數(shù)據(jù)源ODBC來建立寫數(shù)據(jù)庫的操作。連接數(shù)據(jù)庫的核心代碼如下:
CDatabase *m_pdatabase;CRecordset *m_pset;try{m_pdatabase=new CDatabase();……
第七,座椅設計界面交互功能實現(xiàn):在界面中有對座椅的初始化,參數(shù)化更新以及生成脊椎曲線生成。通過代碼編寫實現(xiàn)其功能。其功能實現(xiàn)所用到的UG/Open API函數(shù)主要有:UF_PART_open找開模型,UF_free_string_array釋放資源,UF_PART_close_all(關閉模型),UF_PART_new(創(chuàng)建新新型),UF_OBJ_delete_object(刪除對象),UF_CURVE_create_spline_thru_pts(生成曲線),UF_MODL_edit_exp(編輯表達式)等。
第八,編譯生成DCEvaluate.dll文件:通過編寫代碼完成座椅設計界面交互功能,最后將整個工程進行編譯生成DCEvaluate.dll文件。
2.2 UG二次開發(fā)環(huán)境的設置
辦公座椅再設計平臺作為UG的一個插件在UG中使用,要讓它在UG環(huán)境中正常運行,需要對UG環(huán)境進行設置,其具體步驟如下:
第一,創(chuàng)建UG用戶工作目錄:在磁盤上創(chuàng)建一個文件夾,將其命名為DCEvaluate,本文中該文件夾的絕對路徑為“D:\DCEvaluate”,在該文件夾下再創(chuàng)建兩個子文件夾,分別為application和startup,其中application中存放UG啟動時需要加載的共享動態(tài)鏈接庫文件(*.dll)以及對話框資源文件(*.dlg),startup中存放菜單腳本文件(*.men)。
第二,配置用戶工作目錄環(huán)境:在通常情況下,UG規(guī)定了配置文件$UGBASEDIR\UGII \ugii_env.dat為UG環(huán)境變量的配置。當UG啟動時,系統(tǒng)檢查該文件中的環(huán)境變量配置,并自動加載文件中所有配置下的環(huán)境變量,通過環(huán)境變量來確定UG的配置。UGII_USER_DIR是用來確定用戶的工作目錄的環(huán)境變量,系統(tǒng)會通過環(huán)境變量的值找到用戶工作目錄,然后加載目錄中的資源。例如,菜單,對話框,以及動態(tài)鏈接庫等。配置文件ugii_env.dat的語法如下:一是文件以‘#注釋,需要對一行進行注釋時,在行開頭加上‘#。二是為了保證變量配置的正確性,每一行只允許配置一個變量。三是變量的加載是按先后順序進行加載的,如果變量配置中有同名變量,則只有排在最后的一個變量配置生效。本文變量配置中,在ugii_env.dat文件中的最后一行加入 UGII_USER_DIR=D:\vcproject\ug\ug_run。至此,UG二次開發(fā)環(huán)境的設置完成。
2.3 菜單項的設計
最后利用MenuScript來編輯菜單文件,根據(jù)菜單文件編寫的語法創(chuàng)建UG的主菜單及下拉菜單,然后將編輯完成的men文件放入上文中的startup文件夾中。本文中利用MenuScript創(chuàng)建的座椅設計菜單核心代碼如下:
VERSION 120 EDIT UG_GATEWAY_MAIN_MENUBAR BEFORE UG_HELP CASCADE_BUTTON STANDARD_PART_MENU LABEL辦公座椅人機設計……END_OF_MENU
3 小結
本文章基于UG軟件,利用其二次開發(fā)環(huán)境,搭建了辦公座椅再設計平臺,為生產企業(yè)后續(xù)的研發(fā)提供了一定的數(shù)據(jù)支持,同時為辦公座椅再設計提供了設計平臺,縮短了企業(yè)再設計周期,提高了再設計效率。
參考文獻:
[1] 尹顯東,劉春燕,崔樹禮,李在銘.UG的二次開發(fā)及其應用技術研究[J].機械,2002(1).
[2] 范元勛,莊亞紅,王華坤.UG二次開發(fā)工具的使用[J].機械制造與自動化,2002(6).
[3] 宋傳斌,張樹生,張博林.基于UG平臺的保護頭盔外殼參數(shù)化逆向設計[J].現(xiàn)代制造工程,2008(4).
[4] 周宇峰.基于UG三維參數(shù)化標準庫件開發(fā)方法的研究[J].新疆大學,2003.
作者簡介:許云(1985—),男,湖南懷化人,貴州師范學院助教。