• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于UG辦公座椅再設(shè)計(jì)平臺(tái)的搭建

      2014-09-09 00:17:42許云
      藝術(shù)科技 2014年8期
      關(guān)鍵詞:二次開(kāi)發(fā)

      摘 要:人性化的辦公座椅設(shè)計(jì)是企業(yè)展示自身研發(fā)實(shí)力和拓展市場(chǎng)的基礎(chǔ)。本文章基于UG軟件,應(yīng)用計(jì)算機(jī)語(yǔ)言搭建辦公座椅再設(shè)計(jì)平臺(tái),以滿足生產(chǎn)企業(yè)發(fā)展需求。

      關(guān)鍵詞:UG;二次開(kāi)發(fā);開(kāi)發(fā)環(huán)境;設(shè)計(jì)平臺(tái)

      1 UG軟件概述

      UG是Unlgraphiessolutions公司的產(chǎn)品。1997年10月Unigraphies Solutions公司合并了Intergraph公司的機(jī)械CAD產(chǎn)品,將微機(jī)版的SOLIDEDGE軟件統(tǒng)一到Parasolid平臺(tái)上,形成了一個(gè)從低端到高端比較完善的企業(yè)級(jí)CAD/CAE/CAM/PDM集成系統(tǒng)。

      2 應(yīng)用UG/OPEN API搭建再設(shè)計(jì)平臺(tái)

      UG/Open是一系列UG開(kāi)發(fā)工具的總稱,由UG/Open API、UG/Open GRIP、UG/Open MenuScript及UG/Open UIStyler4個(gè)部分組成。[1,2,3]UG/OPEN API結(jié)合C++程序能實(shí)現(xiàn)與Unigraphics的各種交互操作。本文章使用UG/Open API,UG/Open MenuScript作為再設(shè)計(jì)平臺(tái)的開(kāi)發(fā)工具。

      2.1 UG二次開(kāi)發(fā)環(huán)境搭建

      本文利用MFC AppWizard向?qū)?chuàng)建了UG二次開(kāi)發(fā)編譯環(huán)境。在VC++ 6.0下開(kāi)發(fā)UG座椅設(shè)計(jì)動(dòng)態(tài)鏈接庫(kù)DCEvaluate.dll文件,其具體步驟如下:

      第一,在VC++6.0中創(chuàng)建一個(gè)MFC AppWizard(dll)工程,工程名為DCEvaluate。在工程向?qū)Ю锩嬖O(shè)置工程為共享MFC動(dòng)態(tài)鏈接庫(kù)。

      第二,設(shè)置開(kāi)發(fā)環(huán)境:添加并配置UG二次開(kāi)發(fā)的UG/Open API靜態(tài)庫(kù)文件libopenintpp.lib,libopenpp.lib,libufun.lib,libugopenint.lib libvmathpp.lib等。

      第三,在工程中添加UG用戶入口函數(shù):為了使UG能識(shí)別工程所生成的dll文件,需要在dll工程中添加用戶入口函數(shù),通過(guò)入口函數(shù)UG才能調(diào)用并實(shí)現(xiàn)dll的功能。UG用戶入口函數(shù)如下:

      Extern “C” DllExport void ufusr(char *parm,int *returnCode,int rlen)

      {//Initialize the API environmentUgSession session(true);……

      第四,將編寫好的功能代碼在VC++中編譯。

      第五,交互對(duì)話框的設(shè)計(jì):為了使用戶與UG交互進(jìn)行座椅設(shè)計(jì),本文利用MFC對(duì)話框資源作為用戶交互界面,在工程中添加界面對(duì)話框資源,通過(guò)界面設(shè)計(jì)與功能實(shí)現(xiàn),從而實(shí)現(xiàn)座椅設(shè)計(jì)。

      第六,配置數(shù)據(jù)庫(kù):為了利用數(shù)據(jù)庫(kù)來(lái)完成座椅設(shè)計(jì),需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行配置,然后通過(guò)功能代碼實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作。本文利用數(shù)據(jù)源ODBC來(lái)建立寫數(shù)據(jù)庫(kù)的操作。連接數(shù)據(jù)庫(kù)的核心代碼如下:

      CDatabase *m_pdatabase;CRecordset *m_pset;try{m_pdatabase=new CDatabase();……

      第七,座椅設(shè)計(jì)界面交互功能實(shí)現(xiàn):在界面中有對(duì)座椅的初始化,參數(shù)化更新以及生成脊椎曲線生成。通過(guò)代碼編寫實(shí)現(xiàn)其功能。其功能實(shí)現(xiàn)所用到的UG/Open API函數(shù)主要有:UF_PART_open找開(kāi)模型,UF_free_string_array釋放資源,UF_PART_close_all(關(guān)閉模型),UF_PART_new(創(chuàng)建新新型),UF_OBJ_delete_object(刪除對(duì)象),UF_CURVE_create_spline_thru_pts(生成曲線),UF_MODL_edit_exp(編輯表達(dá)式)等。

      第八,編譯生成DCEvaluate.dll文件:通過(guò)編寫代碼完成座椅設(shè)計(jì)界面交互功能,最后將整個(gè)工程進(jìn)行編譯生成DCEvaluate.dll文件。

      2.2 UG二次開(kāi)發(fā)環(huán)境的設(shè)置

      辦公座椅再設(shè)計(jì)平臺(tái)作為UG的一個(gè)插件在UG中使用,要讓它在UG環(huán)境中正常運(yùn)行,需要對(duì)UG環(huán)境進(jìn)行設(shè)置,其具體步驟如下:

      第一,創(chuàng)建UG用戶工作目錄:在磁盤上創(chuàng)建一個(gè)文件夾,將其命名為DCEvaluate,本文中該文件夾的絕對(duì)路徑為“D:\DCEvaluate”,在該文件夾下再創(chuàng)建兩個(gè)子文件夾,分別為application和startup,其中application中存放UG啟動(dòng)時(shí)需要加載的共享動(dòng)態(tài)鏈接庫(kù)文件(*.dll)以及對(duì)話框資源文件(*.dlg),startup中存放菜單腳本文件(*.men)。

      第二,配置用戶工作目錄環(huán)境:在通常情況下,UG規(guī)定了配置文件$UGBASEDIR\UGII \ugii_env.dat為UG環(huán)境變量的配置。當(dāng)UG啟動(dòng)時(shí),系統(tǒng)檢查該文件中的環(huán)境變量配置,并自動(dòng)加載文件中所有配置下的環(huán)境變量,通過(guò)環(huán)境變量來(lái)確定UG的配置。UGII_USER_DIR是用來(lái)確定用戶的工作目錄的環(huán)境變量,系統(tǒng)會(huì)通過(guò)環(huán)境變量的值找到用戶工作目錄,然后加載目錄中的資源。例如,菜單,對(duì)話框,以及動(dòng)態(tài)鏈接庫(kù)等。配置文件ugii_env.dat的語(yǔ)法如下:一是文件以‘#注釋,需要對(duì)一行進(jìn)行注釋時(shí),在行開(kāi)頭加上‘#。二是為了保證變量配置的正確性,每一行只允許配置一個(gè)變量。三是變量的加載是按先后順序進(jìn)行加載的,如果變量配置中有同名變量,則只有排在最后的一個(gè)變量配置生效。本文變量配置中,在ugii_env.dat文件中的最后一行加入 UGII_USER_DIR=D:\vcproject\ug\ug_run。至此,UG二次開(kāi)發(fā)環(huán)境的設(shè)置完成。

      2.3 菜單項(xiàng)的設(shè)計(jì)

      最后利用MenuScript來(lái)編輯菜單文件,根據(jù)菜單文件編寫的語(yǔ)法創(chuàng)建UG的主菜單及下拉菜單,然后將編輯完成的men文件放入上文中的startup文件夾中。本文中利用MenuScript創(chuàng)建的座椅設(shè)計(jì)菜單核心代碼如下:

      VERSION 120 EDIT UG_GATEWAY_MAIN_MENUBAR BEFORE UG_HELP CASCADE_BUTTON STANDARD_PART_MENU LABEL辦公座椅人機(jī)設(shè)計(jì)……END_OF_MENU

      3 小結(jié)

      本文章基于UG軟件,利用其二次開(kāi)發(fā)環(huán)境,搭建了辦公座椅再設(shè)計(jì)平臺(tái),為生產(chǎn)企業(yè)后續(xù)的研發(fā)提供了一定的數(shù)據(jù)支持,同時(shí)為辦公座椅再設(shè)計(jì)提供了設(shè)計(jì)平臺(tái),縮短了企業(yè)再設(shè)計(jì)周期,提高了再設(shè)計(jì)效率。

      參考文獻(xiàn):

      [1] 尹顯東,劉春燕,崔樹禮,李在銘.UG的二次開(kāi)發(fā)及其應(yīng)用技術(shù)研究[J].機(jī)械,2002(1).

      [2] 范元?jiǎng)祝f亞紅,王華坤.UG二次開(kāi)發(fā)工具的使用[J].機(jī)械制造與自動(dòng)化,2002(6).

      [3] 宋傳斌,張樹生,張博林.基于UG平臺(tái)的保護(hù)頭盔外殼參數(shù)化逆向設(shè)計(jì)[J].現(xiàn)代制造工程,2008(4).

      [4] 周宇峰.基于UG三維參數(shù)化標(biāo)準(zhǔn)庫(kù)件開(kāi)發(fā)方法的研究[J].新疆大學(xué),2003.

      作者簡(jiǎn)介:許云(1985—),男,湖南懷化人,貴州師范學(xué)院助教。

      猜你喜歡
      二次開(kāi)發(fā)
      淺談基于Revit平臺(tái)的二次開(kāi)發(fā)
      甘肅科技(2020年20期)2020-04-13 00:30:02
      西門子Operate高級(jí)編程的旋轉(zhuǎn)坐標(biāo)系二次開(kāi)發(fā)
      淺談Mastercam后處理器的二次開(kāi)發(fā)
      模具制造(2019年3期)2019-06-06 02:11:02
      基于C#的AutoCAD建筑構(gòu)件庫(kù)二次開(kāi)發(fā)
      江西建材(2018年2期)2018-04-14 08:01:14
      西門子Easy Screen對(duì)倒棱機(jī)床界面二次開(kāi)發(fā)
      基于全站儀二次開(kāi)發(fā)的覆冰厚度測(cè)量與實(shí)現(xiàn)
      Micaps3.2 版本二次開(kāi)發(fā)入門淺析
      西藏科技(2015年12期)2015-09-26 12:13:51
      基于VB的ANSYS二次開(kāi)發(fā)在變壓器抗短路性能分析中的應(yīng)用
      基于CATIA的橡皮囊成形毛料展開(kāi)的二次開(kāi)發(fā)
      ANSYS Workbench二次開(kāi)發(fā)在汽車穩(wěn)定桿CAE分析中的應(yīng)用
      汽車零部件(2014年5期)2014-11-11 12:24:32
      玉山县| 永州市| 鹿泉市| 镇安县| 辰溪县| 望奎县| 英吉沙县| 麟游县| 长垣县| 贵州省| 东乌| 江山市| 房产| 始兴县| 松潘县| 贵德县| 泰来县| 泸溪县| 华宁县| 缙云县| 新乡县| 罗平县| 盈江县| 浪卡子县| 台州市| 长垣县| 田林县| 元朗区| 平乐县| 莫力| 赤峰市| 九龙坡区| 马公市| 故城县| 晋宁县| 宝鸡市| 庐江县| 敦化市| 涡阳县| 牙克石市| 河西区|