本文給出了ProE二次開(kāi)發(fā)中用VC++開(kāi)發(fā)Pro/TOOLKIT程序的實(shí)例。
Pro/TOOLKIT是PTC公司提供給用戶(hù)使用C語(yǔ)言客戶(hù)化Pro/ENGINEER的API。
在Pro/E 16.0以前是Pro/DEVELOP,從17版開(kāi)始換成Pro/TOOLKIT,但Pro/DEVELOP仍可以和Pro/TOOLKIT混合在一起使用。
PTC提供的例子程序和培訓(xùn)教材都是使用C語(yǔ)言來(lái)進(jìn)行開(kāi)發(fā),自己手工編寫(xiě)makefile文件,然后通過(guò)nmake命令在命令行直接編譯、連接。這樣的方式對(duì)于已經(jīng)習(xí)慣于使用VC++編程的程序員來(lái)說(shuō),確實(shí)受到很多限制。
經(jīng)過(guò)測(cè)試,我發(fā)現(xiàn)其實(shí)也可以在VC++環(huán)境下編寫(xiě)Pro/TOOLKIT程序,你會(huì)發(fā)現(xiàn)比使用makefile的方式更簡(jiǎn)單,更容易入門(mén)。
以下我來(lái)手把手教各位如何VC++編寫(xiě)第一個(gè)Pro/TOOLKIT程序。
我的開(kāi)發(fā)和測(cè)試環(huán)境是:
簡(jiǎn)體中文Windows 2000 + SP4
Pro/E 2001 2003010
Visual C++ 6.0
Pro/E二次開(kāi)發(fā)
1、創(chuàng)建新工程
啟動(dòng)VC++,新建工程。
選擇 MFC AppWizard(dll)方式。
指定工程名稱(chēng)及存放路徑。
然后按“OK”按鈕。
2、完成新工程的創(chuàng)建
接受缺省設(shè)置。
按“Finish”按鈕完成。
3、配置開(kāi)發(fā)環(huán)境
接下來(lái),你需要配置用來(lái)編譯、連接Pro/TOOLKIT程序的開(kāi)發(fā)環(huán)境。
1)設(shè)置Pro/TOOLKIT和Pro/DEVELOP頭文件路徑;
2)設(shè)置庫(kù)文件路徑;
4、當(dāng)前工程設(shè)置
選擇Win32 Release。
設(shè)置Pro/TOOLKIT程序所需要的幾個(gè)庫(kù)文件。
還有很重要的是,需要設(shè)置Ignore libraries:
msvcrt.lib
否則在編譯連接時(shí)由于庫(kù)沖突會(huì)出錯(cuò)。
5、開(kāi)始編寫(xiě)程序
接下來(lái),你就可以開(kāi)始編寫(xiě)程序了。
Pro/TOOLKIT的程序需必須包括 user_initialize() 和 user_terminate()函數(shù)。
user_initialize() 函數(shù)中必須至少調(diào)用一個(gè)Pro/TOOLKIT API函數(shù)。如果調(diào)用失敗將導(dǎo)致Pro/TOOLKIT 應(yīng)用程序失敗,并返回PRO_TK_GENERAL_ERROR。
所以,我們?cè)贖ello.cpp程序中添加以下程序:
#include "ProToolkit.h"
int user_initialize()
{
return (0);
}
void user_terminate()
{
}
在Hello.cpp文件中,
包含需要的頭文件:
#include
#include
#include
#include
在文件末尾添加以下程序:
static int status;
static uiCmdAccessState UserAccessTestMenu(uiCmdAccessMode access_mode);
int MyTest();
extern "C" int user_initialize()
{
static wchar_t menumsgfile[] = { 'u','s','e','r','m','s','g','.','t','x','t',''};
uiCmdCmdId cmd_id;
//在Help菜單的左邊添加Test菜單
status = ProMenubarMenuAdd("TestMenu", "Test", "Help", PRO_B_FALSE, menumsgfile);
status = ProCmdActionAdd("MyTest", (uiCmdCmdActFn)MyTest, uiCmdPrioDefault, UserAccessTestMenu, PRO_B_TRUE, PRO_B_TRUE, &cmd_id);
status = ProMenubarmenuPushbuttonAdd("TestMenu", "MainBtn1", "Hello", "Hello Help", NULL, PRO_B_TRUE, cmd_id, menumsgfile);
return(0);
}
static uiCmdAccessState UserAccessTestMenu (uiCmdAccessMode access_mode)
{
return (ACCESS_AVAILABLE);
}
int MyTest()
{
AfxMessageBox("祝賀你!");
return 0;
}
extern "C" void user_terminate()
{
}
6、添加菜單資源文件
在Hello文件下創(chuàng)建text子文件夾,用來(lái)存放資源文件;
在text下添加usascii子文件夾,同時(shí)創(chuàng)建usermsg.txt文件,內(nèi)容如下:
Test
&Test
#
#
Hello
&Hello
#
#
Hello Help
Hello! This is a Pro/TOOLKIT sample.
#
#
7、添加TOOLKIT程序注冊(cè)文件
在Hello目錄下添加protk.dat文件,內(nèi)容如下:
name Hello
startup dll
allow_stop TRUE
exec_file .Releasehello.dll
text_dir .Text
revision 2001
description First Toolkit Application
end
8、測(cè)試程序
到這里,已經(jīng)完成,如果你能夠編譯連接成功,會(huì)在Release目錄下發(fā)現(xiàn)Hello.dll文件。
可以開(kāi)始測(cè)試了。
你可以在Hello目錄下直接啟動(dòng)Pro/E,或者啟動(dòng)Pro/E后再選擇Hello目錄下的protk.dat文件進(jìn)行注冊(cè)。
如果你能看到如上圖所示畫(huà)面,恭喜你,你的第一個(gè)使用VC++開(kāi)發(fā)的TOOLKIT程序成功了。
單擊Test菜單下的Hello菜單,你就可以看到使用AfxMessageBox實(shí)現(xiàn)的信息框。
9、中文菜單及提示
以上我們實(shí)現(xiàn)了英文的菜單及提示信息。
接下來(lái)我們來(lái)實(shí)現(xiàn)簡(jiǎn)體中文版的菜單及提示信息。
在Text目錄下如上圖所示創(chuàng)建chinese_cn子目錄。
在chinese_cn目錄下添加usermsg.txt文件,內(nèi)容如下:
Test
&Test
測(cè)試(&T)
#
Hello
&Hello
你好(&H)
#
Hello Help
Hello! This is a Pro/TOOLKIT sample.
你好!這是第一個(gè)使用VC++開(kāi)發(fā)TOOLKIT應(yīng)用程序。
#
10、測(cè)試中文版菜單
無(wú)需更改程序。
直接進(jìn)行測(cè)試,即可在中文Pro/E下看到了中文菜單及提示信息。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書(shū)Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國(guó)專(zhuān)業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書(shū) AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實(shí)拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF