本文给出了ProE二次开发中用VC++开发Pro/TOOLKIT程序的实例。
Pro/TOOLKIT是PTC公司提供给用户使用C语言客户化Pro/ENGINEER的API。
在Pro/E 16.0以前是Pro/DEVELOP,从17版开始换成Pro/TOOLKIT,但Pro/DEVELOP仍可以和Pro/TOOLKIT混合在一起使用。
PTC提供的例子程序和培训教材都是使用C语言来进行开发,自己手工编写makefile文件,然后通过nmake命令在命令行直接编译、连接。这样的方式对于已经习惯于使用VC++编程的程序员来说,确实受到很多限制。
经过测试,我发现其实也可以在VC++环境下编写Pro/TOOLKIT程序,你会发现比使用makefile的方式更简单,更容易入门。
以下我来手把手教各位如何VC++编写第一个Pro/TOOLKIT程序。
我的开发和测试环境是:
简体中文Windows 2000 + SP4
Pro/E 2001 2003010
Visual C++ 6.0
Pro/E二次开发
1、创建新工程
启动VC++,新建工程。
选择 MFC AppWizard(dll)方式。
指定工程名称及存放路径。
然后按“OK”按钮。
2、完成新工程的创建
接受缺省设置。
按“Finish”按钮完成。
3、配置开发环境
接下来,你需要配置用来编译、连接Pro/TOOLKIT程序的开发环境。
1)设置Pro/TOOLKIT和Pro/DEVELOP头文件路径;
2)设置库文件路径;
4、当前工程设置
选择Win32 Release。
设置Pro/TOOLKIT程序所需要的几个库文件。
还有很重要的是,需要设置Ignore libraries:
msvcrt.lib
否则在编译连接时由于库冲突会出错。
5、开始编写程序
接下来,你就可以开始编写程序了。
Pro/TOOLKIT的程序需必须包括 user_initialize() 和 user_terminate()函数。
user_initialize() 函数中必须至少调用一个Pro/TOOLKIT API函数。如果调用失败将导致Pro/TOOLKIT 应用程序失败,并返回PRO_TK_GENERAL_ERROR。
所以,我们在Hello.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文件下创建text子文件夹,用来存放资源文件;
在text下添加usascii子文件夹,同时创建usermsg.txt文件,内容如下:
Test
&Test
#
#
Hello
&Hello
#
#
Hello Help
Hello! This is a Pro/TOOLKIT sample.
#
#
7、添加TOOLKIT程序注册文件
在Hello目录下添加protk.dat文件,内容如下:
name Hello
startup dll
allow_stop TRUE
exec_file .Releasehello.dll
text_dir .Text
revision 2001
description First Toolkit Application
end
8、测试程序
到这里,已经完成,如果你能够编译连接成功,会在Release目录下发现Hello.dll文件。
可以开始测试了。
你可以在Hello目录下直接启动Pro/E,或者启动Pro/E后再选择Hello目录下的protk.dat文件进行注册。
如果你能看到如上图所示画面,恭喜你,你的第一个使用VC++开发的TOOLKIT程序成功了。
单击Test菜单下的Hello菜单,你就可以看到使用AfxMessageBox实现的信息框。
9、中文菜单及提示
以上我们实现了英文的菜单及提示信息。
接下来我们来实现简体中文版的菜单及提示信息。
在Text目录下如上图所示创建chinese_cn子目录。
在chinese_cn目录下添加usermsg.txt文件,内容如下:
Test
&Test
测试(&T)
#
Hello
&Hello
你好(&H)
#
Hello Help
Hello! This is a Pro/TOOLKIT sample.
你好!这是第一个使用VC++开发TOOLKIT应用程序。
#
10、测试中文版菜单
无需更改程序。
直接进行测试,即可在中文Pro/E下看到了中文菜单及提示信息。
相关文章
- 2021-09-08BIM技术丛书Revit软件应用系列Autodesk Revit族详解 [
- 2021-09-08全国专业技术人员计算机应用能力考试用书 AutoCAD2004
- 2021-09-08EXCEL在工作中的应用 制表、数据处理及宏应用PDF下载
- 2021-08-30从零开始AutoCAD 2014中文版机械制图基础培训教程 [李
- 2021-08-30从零开始AutoCAD 2014中文版建筑制图基础培训教程 [朱
- 2021-08-30电气CAD实例教程AutoCAD 2010中文版 [左昉 等编著] 20
- 2021-08-30电影风暴2:Maya影像实拍与三维合成攻略PDF下载
- 2021-08-30高等院校艺术设计案例教程中文版AutoCAD 建筑设计案例
- 2021-08-29环境艺术制图AutoCAD [徐幼光 编著] 2013年PDF下载
- 2021-08-29机械AutoCAD 项目教程 第3版 [缪希伟 主编] 2012年PDF