• 
    

    
    

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

      基于Pro/E二次開(kāi)發(fā)的界面設(shè)計(jì)與對(duì)比分析

      2013-01-26 03:20:34西安航空職業(yè)技術(shù)學(xué)院宋育紅龔小濤武欣竹謝賀年
      電子世界 2013年19期
      關(guān)鍵詞:界面設(shè)計(jì)二次開(kāi)發(fā)對(duì)話(huà)框

      西安航空職業(yè)技術(shù)學(xué)院 孔 琳 宋育紅 龔小濤 武欣竹 謝賀年

      1.引言

      Pro/ENGINEER是PTC公司設(shè)計(jì)開(kāi)發(fā)的基于參數(shù)化、特征設(shè)計(jì)的三維實(shí)體造型設(shè)計(jì)軟件,其強(qiáng)大的功能一直受到業(yè)界用戶(hù)的好評(píng)。雖然Pro/ENGINEER的功能強(qiáng)大并且通用性良好,但是在具體使用過(guò)程中不可能滿(mǎn)足各種各樣的特定要求,為使軟件能夠滿(mǎn)足特定使用者的多樣化需求,則需在該軟件已有功能的基礎(chǔ)上進(jìn)行二次開(kāi)發(fā)。本文是基于Pro/E Wildfire 4.0版本的設(shè)計(jì),PTC公司推薦使用Visual Studio.NET 2005平臺(tái)進(jìn)行開(kāi)發(fā)。

      2.Pro/ENGINEER開(kāi)發(fā)工具的對(duì)比分析

      Pro/ENGINEER軟件在提供強(qiáng)大的設(shè)計(jì)分析與制造功能的同時(shí),也為用戶(hù)提供了多種二次開(kāi)發(fā)工具,常用的方式有Pro/Program(內(nèi)置)、Pro/TOOLKIT、VB以及J-Link等。

      在Pro/ENGINEER軟件中,對(duì)于每一個(gè)模型都有一個(gè)Pro/Program,用于記錄模型的主要涉及步驟和參數(shù)列表,其語(yǔ)言結(jié)構(gòu)類(lèi)似于BASIC高級(jí)語(yǔ)言。用戶(hù)可以根據(jù)模型的設(shè)計(jì)要求來(lái)編輯該模型的程序,通過(guò)運(yùn)行程序,系統(tǒng)可以通過(guò)良好的人機(jī)交互的方法來(lái)控制系統(tǒng)參數(shù)、特征是否顯示、特征尺寸的大小等。該方式多用來(lái)開(kāi)發(fā)齒輪、鏈輪、蝸輪蝸桿等復(fù)雜零件。

      VB.NET是完全面向?qū)ο蟮木幊陶Z(yǔ)言,在它的完全模式下,實(shí)現(xiàn)了監(jiān)聽(tīng)Pro/ENGINEER軟件本身發(fā)出的各種消息的接口,因此也支持調(diào)用Pro/E的函數(shù),向添加菜單、按鈕等。

      J-Link是Pro/ENGINEER軟件自帶的基于JAVA語(yǔ)言的二次開(kāi)發(fā)工具,是一種面向?qū)ο螵?dú)立于操作系統(tǒng)平臺(tái)的應(yīng)用程序接口,它封裝了許多針對(duì)Pro/E底層資源調(diào)動(dòng)的類(lèi)庫(kù)和程序包,用戶(hù)可以使用來(lái)擴(kuò)展Pro/E功能。

      Pro/TOOLKIT是PTC公司專(zhuān)門(mén)定制的開(kāi)發(fā)工具包,它提供了應(yīng)用程序接口,使客戶(hù)具有擴(kuò)展Pro/E功能的能力。Pro/TOOLKIT使用面向?qū)ο箫L(fēng)格的C語(yǔ)言編程,并且提供了用于底層資源調(diào)用的函數(shù)庫(kù)和頭文件,外部應(yīng)用程序可以通過(guò)這些函數(shù)來(lái)訪(fǎng)問(wèn)Pro/E。另外,還可以利用Pro/TOOLKIT提供的UI對(duì)話(huà)框、菜單以及VC的可視化界面技術(shù),設(shè)計(jì)出方便、實(shí)用、美觀(guān)的人機(jī)交互界面,從而大大地提高了系統(tǒng)發(fā)的使用效率。

      3.Pro/TOOLKIT工作模式的對(duì)比分析

      Pro/TOOLKIT開(kāi)發(fā)方式有兩種工作模式:異步模式(Asynchronous)是在不需要啟動(dòng)Pro/E的情況下,就可以單獨(dú)運(yùn)行Pro/TOOLKIT應(yīng)用程序的方式。但是相對(duì)來(lái)說(shuō)該方式代碼較為復(fù)雜,開(kāi)發(fā)難度大以main()函數(shù)作為Pro/TOOLKIT應(yīng)用程序的接口函數(shù);同步模式(Synchronous Mode)必須與Pro/E軟件同時(shí)運(yùn)行,能達(dá)到所見(jiàn)即所得的設(shè)計(jì)結(jié)果,相對(duì)開(kāi)發(fā)比較容易;并且程序執(zhí)行速度較快。在本次開(kāi)發(fā)過(guò)程中,鑒于設(shè)計(jì)者并非專(zhuān)業(yè)程序設(shè)計(jì)人員,所以最終采用同步模式進(jìn)行設(shè)計(jì)開(kāi)發(fā),比較容易上手。

      在同步設(shè)計(jì)開(kāi)發(fā)模式中,又分為動(dòng)態(tài)鏈接模式(DLL模式)和多進(jìn)程模式(Multiprocess)兩種。多進(jìn)程模式主要用于程序開(kāi)發(fā)階段以便程序的測(cè)試,但由于DLL模式運(yùn)行比較快,所以程序開(kāi)發(fā)完成后,最后轉(zhuǎn)換為后者。

      4.Pro/ENGINEER UI界面設(shè)計(jì)的對(duì)比分析

      在本文的零件庫(kù)的開(kāi)發(fā)設(shè)計(jì)過(guò)程中,不僅有菜單的使用,還涉及UI對(duì)話(huà)框的設(shè)計(jì)以及零件的可視化表達(dá)等內(nèi)容,因此,主要以Pro/Program和Pro/TOOLKIT作為主要對(duì)象加以對(duì)比分析。

      用戶(hù)界面對(duì)話(huà)框(User Interface Dialog Boxes,簡(jiǎn)稱(chēng)UI對(duì)話(huà)框)是Pro/TOOLKIT提供的一種交互界面設(shè)計(jì)工具。它能夠按界面的布局編寫(xiě)對(duì)話(huà)框資源文件;針對(duì)UI對(duì)話(huà)框的功能編寫(xiě)相應(yīng)的控制程序。該方式設(shè)計(jì)的UI界面和Pro/E的資源、設(shè)計(jì)風(fēng)格相一致,人機(jī)交互界面風(fēng)格有連貫性。但是這種利用文本文件設(shè)計(jì)的方式不能直觀(guān)地反映界面的布局,設(shè)計(jì)、修改和調(diào)試比較困難。

      另外采用Visual C++2005.NET與Pro/ENGINEER軟件相匹配,就可以直接使用VC的面向?qū)ο蟮目梢暬勺兂上到y(tǒng),它具有程序框架自動(dòng)生成、類(lèi)別管理方便靈活,代碼編寫(xiě)和界面設(shè)計(jì)的交互設(shè)計(jì),3D控制界面等多種開(kāi)發(fā)程式。MFC是VC++程序的界面設(shè)計(jì)開(kāi)發(fā)方式,實(shí)現(xiàn)界面的可視化設(shè)計(jì)。

      本文以直齒圓柱齒輪的參數(shù)界面設(shè)計(jì)為例,來(lái)加以對(duì)比分析。采用Pro/Program方式,只是需要在【工具】菜單的模型【程序】的頭部,INPUT和END INPUT程序中間添加以下程序:Z NUMBER

      “請(qǐng)輸入齒輪的齒數(shù)==”

      … …

      就可以通過(guò)INPUT SEL列表來(lái)選擇需要修改的參數(shù)名稱(chēng),并在消息區(qū)根據(jù)提示輸入新的尺寸,完成模型的修改。這種方式實(shí)現(xiàn)比較容易,但是人性化設(shè)計(jì)理念不強(qiáng)。

      采用UI對(duì)話(huà)框方式進(jìn)行如圖所示的參數(shù)表設(shè)計(jì),仍以齒數(shù)為例,則需要的部分程序如下:

      (Dialog spus

      (Components … …)

      可以看出雖然設(shè)計(jì)的界面更接近于Pro/E常用對(duì)話(huà)框的風(fēng)格,但是設(shè)計(jì)語(yǔ)句較為復(fù)雜,實(shí)現(xiàn)難度較大。

      使用MFC設(shè)計(jì)的對(duì)話(huà)框界面則較為容易,只需要使用Dialog對(duì)話(huà)框編輯器中的Static Text進(jìn)行文字說(shuō)明的編寫(xiě),使用Edit Control建立示例編輯框,即可完成上圖界面的設(shè)計(jì)工作。需要注意的是,示例編輯框要想進(jìn)行數(shù)值的傳遞,就必須通過(guò)【添加變量】來(lái)進(jìn)行屬性的編輯以及命名。其后的程序修改和調(diào)試工作也相對(duì)來(lái)說(shuō)較為容易,為了實(shí)現(xiàn)齒數(shù)值得傳遞僅需要一下程序:

      ProParameterInit(&item,L”Z”,¶m1);//初始化參數(shù)

      x=GetDlgItemInt(IDC_EDIT1);//讀取對(duì)話(huà)框

      ProParamvalueSet(&value1,&c_dZ,PRO_PARAM_INTEGER);//為變量賦值

      ProParameterValueSet(¶m1,&value1);//設(shè)置參數(shù)的值

      … …

      通過(guò)以上三種方式的對(duì)比分析,可以看到利用MFC實(shí)現(xiàn)對(duì)話(huà)框的設(shè)計(jì)以及參數(shù)的傳遞過(guò)程,相對(duì)來(lái)說(shuō)比較容易,而且可視化程度高。

      5.結(jié)論

      本文通過(guò)市面上常用的Pro/ENGINEER開(kāi)發(fā)方式入手,對(duì)比分析了Pro/Program和Pro/TOOLKIT界面設(shè)計(jì)方式的不同。從以上分析可以看出,雖然MFC的設(shè)計(jì)方式不是最簡(jiǎn)單易行的設(shè)計(jì)模式,但是其優(yōu)秀的面向?qū)ο蟮脑O(shè)計(jì)方式,大大減少了開(kāi)發(fā)的難度,也為更為復(fù)雜的人機(jī)交互方式提供了可能。

      [1]王文波.Pro/E 4.0二次開(kāi)發(fā)實(shí)例解析[M].清華大學(xué)出版社,2010.

      [2]Ivor Horton.Visual C++ 2005入門(mén)經(jīng)典[M].清華大學(xué)出版社,2007.

      [3]沈斌,麻連榮,宮大.基于Pro/E二次開(kāi)發(fā)的零件參數(shù)化設(shè)計(jì)技術(shù)[J].機(jī)械設(shè)計(jì)與制造,2007(1):40-42.

      [4]房麗娜,郭培全.Pro/E二次開(kāi)發(fā)與應(yīng)用[J].濟(jì)南大學(xué)學(xué)報(bào)(自然科學(xué)版),2007,21(2):157-160.

      [5]張繼春.Pro/E二次開(kāi)發(fā)實(shí)用教程[M].北京大學(xué)出版社,2003.

      猜你喜歡
      界面設(shè)計(jì)二次開(kāi)發(fā)對(duì)話(huà)框
      《京燕兒》APP界面設(shè)計(jì)
      大眾文藝(2023年22期)2023-12-10 04:27:18
      中醫(yī)養(yǎng)生APP界面設(shè)計(jì)
      大眾文藝(2022年19期)2022-10-19 08:18:18
      “共享員工”平臺(tái)界面設(shè)計(jì)
      包裝工程(2022年14期)2022-07-28 07:07:00
      面向智能手機(jī)的UI界面設(shè)計(jì)
      淺談基于Revit平臺(tái)的二次開(kāi)發(fā)
      甘肅科技(2020年20期)2020-04-13 00:30:02
      正?;謴?fù)虛擬機(jī)
      淺談Mastercam后處理器的二次開(kāi)發(fā)
      模具制造(2019年3期)2019-06-06 02:11:02
      Bootlace Worms’Secret etc.
      西門(mén)子Easy Screen對(duì)倒棱機(jī)床界面二次開(kāi)發(fā)
      基于Pro/E二次開(kāi)發(fā)的推土鏟參數(shù)化模塊開(kāi)發(fā)
      临清市| 亳州市| 什邡市| 梅州市| 临沧市| 澄江县| 新绛县| 离岛区| 江源县| 南阳市| 方正县| 含山县| 邵东县| 铅山县| 樟树市| 高平市| 芷江| 潼南县| 从江县| 通海县| 汉沽区| 平顶山市| 泰安市| 白山市| 丰原市| 普安县| 科技| 舟曲县| 温宿县| 资溪县| 大姚县| 潜江市| 萨嘎县| 白山市| 阿瓦提县| 柘城县| 绥滨县| 兴义市| 洞口县| 南安市| 皋兰县|