本文探討研究了ProE調(diào)用MFC對話框技術(shù)的相關(guān)內(nèi)容。
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)用較廣。
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)中增加所需的功能。
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 模式。
1 問題的提出
自Pro/ EN GINEER2001 之后, Pro/ TOOL KIT就提供用戶開發(fā)界面的編程接口。利用Pro/TOOL KIT 可以開發(fā)出具有Pro/ EN GINEER 風(fēng)格的對話框,能向用戶提供人機交互界面,進行簡單的人機交互。但是目前這種方法還不太完善,功能有限,而且對話框資源編寫起來繁瑣,一個簡單的對話框資源就會用去很多的時間,對于稍為復(fù)雜的對話框更是無能為力。
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 對話框,方便、自然、快捷地進行人機交互。
2 基本思想
在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)二者的通信。
3 Pro/ E 調(diào)用MFC 對話框?qū)嵗?/P>
本文作者開發(fā)了一個Pro/ EN GINEER 調(diào)用MFC 對話框?qū)嵗?該實例在Pro/ EN GINEER 2001中產(chǎn)生MFC 對話框,接受用戶的輸入信息,然后生成三維實體。編譯器使用Microsoft Visual C ++610 。具體的實現(xiàn)步驟如下。
(1) 編輯MFC 對話框應(yīng)用程序
利用MFC AppWizard (dll) ,工程類型選用MFC的常規(guī)DLL (Regular DLL using shared MFC DLL) ,生成一個DLL 工程,加入對話框資源,并聲明導(dǎo)出變量:
(1) 編輯MFC 對話框應(yīng)用程序
利用MFC AppWizard (dll) ,工程類型選用MFC的常規(guī)DLL (Regular DLL using shared MFC DLL) ,生成一個DLL 工程,加入對話框資源,并聲明導(dǎo)出變量:
_declspec ( dllexport ) double m _ width , m _height ,m _ depth ,m _ bite _ radius ,m _ bite _ height ,和導(dǎo)出函數(shù):
extem“C”_ declspec (dllexport) void LoadDialog)
AFX _ MANAGE _ STATE(AfxGetStatic ModuleState) ;
CProDialog dlg ,
if (dlg. DoModal () = IDOK)
{
m _ width = dlg.m _ input1 ;
m _ height = dlg.m _ input2 ;
m _ depth = dlg.m _ input3 ;
m _ bite _ radius = dlg.m _ input4 ;
m _ bite _ height = dlg.m _ input5 ;
}
}
編譯程序,生成Dialog. dll 。
(2) 編輯Pro/ TOOL KITS 應(yīng)用程序
利用A Pro TK AppWizard (Pro/ TOOL KIT 編程向?qū)? ,生成一個Pro/ TOOL KIT 應(yīng)用程序,首先聲明導(dǎo)入變量及導(dǎo)入函數(shù)。修改user _ initialize ( ) 函數(shù),在這個函數(shù)中添加菜單和菜單響應(yīng)函數(shù)。
∥為PART 菜單組加載菜單文件
ProMenuFileRegister (“part ”, “part . mnu ”,NULL) ;
ProMenuAuxfileRegister (“part ”,“part . aux ”,NULL) ;
∥在PART 菜單組中定義新的按鈕Create Solid及其響應(yīng)函數(shù)
ProMenubuttonActionSet (“part ”,“Create Solid”,(ProMenubuttonAction) ProDemoBaseExtrudeProtrCreate ,NULL ,NULL) ,
在該Pro/ TOOL KITS 應(yīng)用程序中,最為關(guān)鍵的函數(shù)就是菜單響應(yīng)函數(shù)ProDemoBaseEx2t rudeProt rCr2eate ,在該函數(shù)中載入MFC 對話框資源,獲得用戶的輸入信息,創(chuàng)建拉伸特征,生成二維實體。ProError ProDemoBaseExt rudeProt rCreate()
{
??
LoadDialog () ; ∥加載對話框
??
width = m _ width ;
height = m _ height ;
bite _ radius = m _ bit _ radius ;
bite _ height = m _ bit _ height ;
st rcpy (name ,″2DSection″) ;
alloc = PRO _ B _ FALSE ;
err = ProDemoSectCreate (width ,height ,bite _ radius ,bite _ height , name ,alloc , &Section) ; ∥得到用戶輸入信息,生成二維草圖截面。
??∥省略特征創(chuàng)建過程
opt s[0 ] = PRO _ FEAT _ CR _ DEFINE _ MISS_ EL EMS ;
err = ProSelectionAsmcomppathGet (mode/_ sel ,&comp _ path) ;
err = ProFeatureRedefine ( &comp _ path ,&feature ,elem. t ree ,opt s ,1 , &errs) ; ∥重定義特征,完成特征創(chuàng)建。
}
編譯程序,生成SolidCreate. dll 。
(3) 加載應(yīng)用程序
在Pro/ EN GINEER 中加載動態(tài)鏈接庫SolidCreate. dll ,加載成功后在Part 菜單組中增加了Create Solid 項,點擊該項,產(chǎn)生MFC 對話框,輸入?yún)?shù)。
點擊確定,生成三維實體。
4 結(jié)論
(1) Pro/ EN GINEER 作為先進的CAD/ CAM 系統(tǒng),為用戶提供了二次開發(fā)工具Pro/ TOOL KIT ,用戶可以結(jié)合自己的產(chǎn)品和實際情況定制個性化的Pro/ EN GINEER 系統(tǒng)。
(2) Pro/ TOOL KIT 提供了用戶界面接口的開發(fā),但目前還不太完善,本文運用DLL 技術(shù)實現(xiàn)了在Pro/ EN GINEER 中調(diào)用MFC 對話框, 完成了Pro/ EN GINEER 與MFC 的接口開發(fā)。
(3) Pro/ EN GINEER 可以調(diào)用MFC 對話框,運用相同的方法,也可以調(diào)用MFC 函數(shù),MFC 函數(shù)具有很強的編程功能,Pro/ TOOL KIT 的二次開發(fā)功能將更加強大。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業(yè)技術(shù)人員計算機應(yīng)用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計案例教程中文版AutoCAD 建筑設(shè)計案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機械A(chǔ)utoCAD 項目教程 第3版 [繆希偉 主編] 2012年P(guān)DF