本文探討研究了
Pro/E調(diào)用
MFC對話框技術(shù)的相關(guān)內(nèi)容。
B,epzI PxDh7{ Pro/ENGINEER 是美國
參數(shù)化公司PTC( Parametric Technology Corporation) 于1989 年開發(fā)出的三維CAD/CAM
系統(tǒng),可以為工業(yè)產(chǎn)品設(shè)計提供完整的解決方案,廣泛應(yīng)用于造型設(shè)計、
機械設(shè)計、
模具設(shè)計、加工制造、機構(gòu)分析、有限元分析及相關(guān)數(shù)據(jù)庫管理系統(tǒng)等各個領(lǐng)域。目前Pro/E在我國應(yīng)用較廣。
7E~;xn; N5b!.B x-w Pro/TOOLKIT是Pro/ENGINEER系統(tǒng)的個性化開發(fā)工具包,也可稱為應(yīng)用程序接口(Application programmer Interface) ,它提供了大量的C語言庫函數(shù),能夠使外部應(yīng)用程序安全有效地訪問Pro/ENGINEER 的數(shù)據(jù)庫和應(yīng)用程序,通過C語言編程及應(yīng)用程序與Pro/ ENGINEER 的無縫集成,客戶和第三方能夠在Pro/ENGINEE 系統(tǒng)中增加所需的功能。
OYTkV}tG A{D];pE` Pro/TOOLKIT 應(yīng)用程序共有兩種工作方式:同步模式(synchronous Mode)和異步模式(SynchronousMode) , 我們常用的是同步模式。同步模式分為DLL模式和多進程模式。DLL模式指運用動態(tài)鏈接庫(Dynamically Linked Library , DLL ) 將Pro/TOOLKIT 應(yīng)用程序集成到Pro/EN GINEER中,用戶編譯C語言應(yīng)用程序,與Pro/TOOLKIT 庫連接,生成一個對象庫文件,最后與Pro/ENGINEER的可執(zhí)行文件連接。在DLL 模式中, Pro/TOOLKIT 應(yīng)用程序與Pro/ENGINEER之間的信息交換是通過直接的函數(shù)調(diào)用來實現(xiàn)。本文采用的就是DLL 模式。
%M|hA#04vZ j HJ`,# 1、問題的提出
?+}_1x` eV?2LtT#5 自Pro/ EN GINEER2001 之后, Pro/ TOOL KIT就提供用戶開發(fā)界面的編程接口。利用Pro/TOOL KIT 可以開發(fā)出具有Pro/ EN GINEER 風(fēng)格的對話框,能向用戶提供人機交互界面,進行簡單的人機交互。但是目前這種方法還不太完善,功能有限,而且對話框資源編寫起來繁瑣,一個簡單的對話框資源就會用去很多的時間,對于稍為復(fù)雜的對話框更是無能為力。
2!=f hN E#N|wq MFC具有強大的編制對話框能力,編制簡單,但Pro/ TOOL KIT 并不提供對MFC 的支持,在Pro/TOOL KIT 中并不能直接應(yīng)用MFC 對話框。本文通過動態(tài)連接庫開發(fā)了Pro/ TOOL KIT 與MFC 的接口,利用MFC 強大的功能實現(xiàn)對話框的開發(fā),在Pro/ EN GINEER 環(huán)境中生成MFC 對話框,方便、自然、快捷地進行人機交互。
l]l'4@1 5taT5?n2 2、基本思想
.jWC$SVR _.Uh)-yR 在Pro/ EN GINEER 系統(tǒng)中調(diào)用MFC 對話框所需解決的關(guān)鍵問題就是實現(xiàn)Pro/ E 系統(tǒng), Pro/TOOL KIT 應(yīng)用程序與MFC 對話框三者之間的
通信。Pro/ E 系統(tǒng)與Pro/ TOOL KIT 應(yīng)用程序可以采用動態(tài)鏈接庫(DLL ) 方式進行通信。由于Pro/TOOL KIT 是通過C 語言進行編程,無法直接調(diào)用MFC 對話框,這就使得必須運用通信方式實現(xiàn)在Pro/ TOOL KIT 中調(diào)用MFC 對話框,本文作者采用動態(tài)鏈接庫(DLL) 實現(xiàn)二者的通信。
ZRU{[4 VQ9/Gxdeo 3、Pro/ E 調(diào)用MFC 對話框
實例 .jjG(L ^yN&ZI3P& 本文作者開發(fā)了一個Pro/ EN GINEER 調(diào)用MFC 對話框?qū)嵗?該實例在Pro/ EN GINEER 2001中產(chǎn)生MFC 對話框,接受用戶的輸入信息,然后生成三維實體。編譯器使用Microsoft Visual C ++610 。具體的實現(xiàn)步驟如下。
t=W}SH D7Q$R:6| (1) 編輯MFC 對話框應(yīng)用程序
-fW*vE: Q:d]imw!O 利用MFC AppWizard (dll) ,工程類型選用MFC的常規(guī)DLL (Regular DLL using shared MFC DLL) ,生成一個DLL 工程,加入對話框資源,并聲明導(dǎo)出變量:
Od,qbU4O pYmk1!]/ (1) 編輯MFC 對話框應(yīng)用程序
57 )cMh0SGcM1 利用MFC AppWizard (dll) ,工程類型選用MFC的常規(guī)DLL (Regular DLL using shared MFC DLL) ,生成一個DLL 工程,加入對話框資源,并聲明導(dǎo)出變量:
_TQj~W< dk4CpN _declspec ( dllexport ) double m _ width , m _height ,m _ depth ,m _ bite _ radius ,m _ bite _ height ,和導(dǎo)出函數(shù):
Tqn@P Ig0VW)@ extem“C”_ declspec (dllexport) void LoadDialog)
z/2//mM q ,]L$ AFX _ MANAGE _ STATE(AfxGetStatic ModuleState) ;
ra
g