1.引言
Pro/ENGINEER是PTC公司設(shè)計開發(fā)的基于參數(shù)化、特征設(shè)計的三維實體造型設(shè)計軟件,其強大的功能一直受到業(yè)界用戶的好評。
雖然Pro/ENGINEER的功能強大并且通用性良好,但是在具體使用過程中不可能滿足各種各樣的特定要求,為使軟件能夠滿足特定使用者的多樣化需求,則需在該軟件已有功能的基礎(chǔ)上進行二次開發(fā)。
本文是基于Pro/E Wildfire 4.0版本的設(shè)計,PTC公司推薦使用Visual Studio.NET 2005平臺進行開發(fā)。
2.Pro/ENGINEER開發(fā)工具的對比分析
Pro/ENGINEER軟件在提供強大的設(shè)計分析與制造功能的同時,也為用戶提供了多種二次開發(fā)工具,常用的方式有Pro/Program(內(nèi)置)、Pro/TOOLKIT、VB以及J-Link等。
在Pro/ENGINEER軟件中,對于每一個模型都有一個Pro/Program,用于記錄模型的主要涉及步驟和參數(shù)列表,其語言結(jié)構(gòu)類似于BASIC高級語言。用戶可以根據(jù)模型的設(shè)計要求來編輯該模型的程序,通過運行程序,系統(tǒng)可以通過良好的人機交互的方法來控制系統(tǒng)參數(shù)、特征是否顯示、特征尺寸的大小等。該方式多用來開發(fā)齒輪、鏈輪、蝸輪蝸桿等復(fù)雜零件。
VB.NET是完全面向?qū)ο蟮?a target="_blank">編程語言,在它的完全模式下,實現(xiàn)了監(jiān)聽Pro/ENGINEER軟件本身發(fā)出的各種消息的接口,因此也支持調(diào)用Pro/E的函數(shù),向添加菜單、按鈕等。
J-Link是Pro/ENGINEER軟件自帶的基于JAVA語言的二次開發(fā)工具,是一種面向?qū)ο螵毩⒂?a target="_blank">操作系統(tǒng)平臺的應(yīng)用程序接口,它封裝了許多針對Pro/E底層資源調(diào)動的類庫和程序包,用戶可以使用來擴展Pro/E功能。
Pro/TOOLKIT是PTC公司專門定制的開發(fā)工具包,它提供了應(yīng)用程序接口,使客戶具有擴展Pro/E功能的能力。Pro/TOOLKIT使用面向?qū)ο箫L(fēng)格的C語言編程,并且提供了用于底層資源調(diào)用的函數(shù)庫和頭文件,外部應(yīng)用程序可以通過這些函數(shù)來訪問Pro/E.另外,還可以利用Pro/TOOLKIT提供的UI對話框、菜單以及VC的可視化界面技術(shù),設(shè)計出方便、實用、美觀的人機交互界面,從而大大地提高了系統(tǒng)發(fā)的使用效率。
3.Pro/TOOLKIT工作模式的對比分析
Pro/TOOLKIT開發(fā)方式有兩種工作模式:異步模式(Asynchronous)是在不需要啟動Pro/E的情況下,就可以單獨運行Pro/TOOLKIT應(yīng)用程序的方式。但是相對來說該方式代碼較為復(fù)雜,開發(fā)難度大以main()函數(shù)作為Pro/TOOLKIT應(yīng)用程序的接口函數(shù);同步模式(SynchronousMode)必須與Pro/E軟件同時運行,能達到所見即所得的設(shè)計結(jié)果,相對開發(fā)比較容易;并且程序執(zhí)行速度較快。在本次開發(fā)過程中,鑒于設(shè)計者并非專業(yè)程序設(shè)計人員,所以最終采用同步模式進行設(shè)計開發(fā),比較容易上手。
在同步設(shè)計開發(fā)模式中,又分為動態(tài)鏈接模式(DLL模式)和多進程模式(Multiprocess)兩種。多進程模式主要用于程序開發(fā)階段以便程序的測試,但由于DLL模式運行比較快,所以程序開發(fā)完成后,最后轉(zhuǎn)換為后者。
4.Pro/ENGINEER UI界面設(shè)計的對比分析
在本文的零件庫的開發(fā)設(shè)計過程中,不僅有菜單的使用,還涉及UI對話框的設(shè)計以及零件的可視化表達等內(nèi)容,因此,主要以Pro/Program和Pro/TOOLKIT作為主要對象加以對比分析。
用戶界面對話框(User Interface Dialog Boxes,簡稱UI對話框)是Pro/TOOLKIT提供的一種交互界面設(shè)計工具。它能夠按界面的布局編寫對話框資源文件;針對UI對話框的功能編寫相應(yīng)的控制程序。該方式設(shè)計的UI界面和Pro/E的資源、設(shè)計風(fēng)格相一致,人機交互界面風(fēng)格有連貫性。但是這種利用文本文件設(shè)計的方式不能直觀地反映界面的布局,設(shè)計、修改和調(diào)試比較困難。
另外采用Visual C++2005.NET與Pro/ENGINEER軟件相匹配,就可以直接使用VC的面向?qū)ο蟮目梢暬勺兂上到y(tǒng),它具有程序框架自動生成、類別管理方便靈活,代碼編寫和界面設(shè)計的交互設(shè)計,3D控制界面等多種開發(fā)程式。MFC是VC++程序的界面設(shè)計開發(fā)方式,實現(xiàn)界面的可視化設(shè)計。
本文以直齒圓柱齒輪的參數(shù)界面設(shè)計為例,來加以對比分析。
采用Pro/Program方式,只是需要在【工具】菜單的模型【程序】
的頭部,INPUT和END INPUT程序中間添加以下程序:Z NUMBER“請輸入齒輪的齒數(shù)==”
… …就可以通過INPUT SEL列表來選擇需要修改的參數(shù)名稱,并在消息區(qū)根據(jù)提示輸入新的尺寸,完成模型的修改。這種方式實現(xiàn)比較容易,但是人性化設(shè)計理念不強。
采用UI對話框方式進行如圖所示的參數(shù)表設(shè)計,仍以齒數(shù)為例,則需要的部分程序如下:
可以看出雖然設(shè)計的界面更接近于Pro/E常用對話框的風(fēng)格,但是設(shè)計語句較為復(fù)雜,實現(xiàn)難度較大。
使用MFC設(shè)計的對話框界面則較為容易,只需要使用Dialog對話框編輯器中的Static Text進行文字說明的編寫,使用EditControl建立示例編輯框,即可完成上圖界面的設(shè)計工作。需要注意的是,示例編輯框要想進行數(shù)值的傳遞,就必須通過【添加變量】來進行屬性的編輯以及命名。其后的程序修改和調(diào)試工作也相對來說較為容易,為了實現(xiàn)齒數(shù)值得傳遞僅需要一下程序:
通過以上三種方式的對比分析,可以看到利用MFC實現(xiàn)對話框的設(shè)計以及參數(shù)的傳遞過程,相對來說比較容易,而且可視化程度高。
5.結(jié)論
本文通過市面上常用的Pro/ENGINEER開發(fā)方式入手,對比分析了Pro/Program和Pro/TOOLKIT界面設(shè)計方式的不同。從以上分析可以看出,雖然MFC的設(shè)計方式不是最簡單易行的設(shè)計模式,但是其優(yōu)秀的面向?qū)ο蟮脑O(shè)計方式,大大減少了開發(fā)的難度,也為更為復(fù)雜的人機交互方式提供了可能。
-
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6611瀏覽量
110588 -
JAVA
+關(guān)注
關(guān)注
19文章
2967瀏覽量
104729 -
開發(fā)
+關(guān)注
關(guān)注
0文章
370瀏覽量
40839
發(fā)布評論請先 登錄
相關(guān)推薦
評論