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