
Pro/TOOLKIT是Pro/ENGINEER的一个应用程序接口(API),其的编程语言是C 语言,它可以对Pro/ENGINEER进行功能扩展,满足PTC客户的特定需求。而且,Pro/TOOLKIT提供了定制标准Pro/ENGINEER用户界面的能力,自动执行重复性的程序,通过Pro/ENGINEER集成的内部程序(Dll)或外部应用程序(Exe)可以为造型用户提供自定义的应用程序、设计规划和绘图自动化。
一、首先安装好VS2005与proeWildfire 4.0
因为本文讲述的是在VS2005+proeWildfire 4.0的环境下,所以在进入实战之前先得自行安装好相关的工具。至于VS2005和proeWildfire 4.0的安装,本文中就不再累述了。
二、VS2005包含文件和库文件设置
打开VS2005,工具->选项->项目和解决方案->VC++目录,如图所示:
包含文件(添加图中前三个目录即可)
图1 包含文件设置
包含文件在proeWildfire4.0安装目录下的protoolkit和prodevelop下。例如,安装在D:\\ptc\\proeWildfire 4.0下,包含文件分别是:
D:\\ptc\\proeWildfire 4.0\\protoolkit\\includes
D:\\ptc\\proeWildfire 4.0\\protoolkit\\protk_appls\\includes
D:\\ptc\\proeWildfire 4.0\\prodevelop\\includes
再选择库文件(添加图中前两个目录即可)
图2 库文件设置
库文件在proeWildfire4.0安装目录下的protoolkit和prodevelop下。例如,安装在D:\\ptc\\proeWildfire 4.0下,包含文件分别是:
D:\\ptc\\proeWildfire 4.0\\protoolkit\\i486_nt\\obj
D:\\ptc\\proeWildfire 4.0\\prodevelop\\i486_nt\\obj
完成以前两步我们开发环境基本上算是配置完成了。
三、新建ProENGINEER项目注意事项
新建ProENGINEER项目需要设置几个依赖库文件。设置步骤如下:
注意:不管选择Win32 Release 还是 Win32 Debug 设置Pro/TOOLKIT程序所需要的几个库文件是一样的。
点击 “项目” ---〉“属性”, 选择 “配置属性”---〉“连接器” ---〉“输入”---〉“附加依赖项”
如果选择的是MFC DLL 工程的:
库的设置应为:wsock32.lib mpr.lib psapi.lib protk_dllmd.lib
如果选择的是MFC 应用程序 工程的:
库的设置应为:wsock32.lib mpr.lib psapi.lib protkmd.lib pt_asynchronous.lib
程序开发实例
ProENGINEER插件的入口函数为int user_initialize( int argc, char *argv[], char version, char *build, wchar_t errbuf[80]);结束函数为void user_terminate();
一、新建工程
图3 新建军项目
选择MFC DLL(共享DLL)
图4 新建项目的设置
二、编写代码
1. 添加头文件
#include #include #include #include 图5 添加头文件 2. 添加代码 图6 添加代码示例图 static int status; static uiCmdAccessState UserAccessTestMenu(uiCmdAccessMode access_mode); int MyTest(); FILE * file; extern "C" int user_initialize() { ProName menumsgfile; uiCmdCmdId cmd_id = 0; //在Help菜单的左边添加Test菜单 ProStringToWstring(menumsgfile,"usermsg.txt"); status = ProMenubarMenuAdd("Test", "Test", "Help", PRO_B_FALSE, menumsgfile); status = ProCmdActionAdd("MyTest", (uiCmdCmdActFn)MyTest, uiCmdPrioDefault, UserAccessTestMenu, PRO_B_TRUE, PRO_B_TRUE, &cmd_id); status = ProMenubarmenuPushbuttonAdd("Test", "Hello", "Hello", "Hello Help", NULL, PRO_B_TRUE, cmd_id, menumsgfile); return(0); } static uiCmdAccessState UserAccessTestMenu (uiCmdAccessMode access_mode) { return (ACCESS_AVAILABLE); } int MyTest() { AfxMessageBox(_T("祝贺你!")); return 0; } extern "C" void user_terminate() { return; } 3. 编写注册文件 注册文件编写与消息文件编写(以下仅为范本,实际使用需要更改) //protk.dat 注册文件 name proe_test startup dll allow_stop TRUE exec_file E:\\projects\\Proe_test\\debug\\Proe_test.dll text_dir E:\\projects\\Proe_test\ revision 1151 end //usermsg.txt 消息文件 Test &Test 测试(&T) # Hello &Hello 你好(&H) # Hello Help Hello! This is a Pro/TOOLKIT sample. 你好!这是第一个使用VC++开发TOOLKIT应用程序。 # 图7 菜单文件位置 proe 插件安装 Proe 插件安装是通过注册文件的注册来完成的。插件的注册可分为自动注册和手动注册两种方式,下面分将分别介绍这两种方式: 一、自动注册方式 1、将注册文件命名为Protk.dat并放在Pro/E的启动目录下; 注意此处注册文件名必须是Protk.dat,否则会注册失败! Pro/E的启动目录可以通过以下方式察看: 图8 启动位置 也可以将注册文件 protk.dat 放在proe安装目录下的TEXT目录下。 2、在您的config.pro 中添加配置项 ToolKIT_REGISTRY_FIlE <注册文件路径> 此处的注册文件名可以随便取,没有必要一定是Protk.dat。同时这种方法还有另外一个优势,那就是他可以实现多个注册文件的自动注册。可以有多个 ToolKIT_REGISTRY_FIlE 配置项。 3、在您的config.pro 中添加配置项protkdat 选项,指向注册文件。 以上3种方式为自动注册类型。 二、手动注册 请按照以下步骤来完成。 工具---辅助应用程序 图9 辅助应用程序启动菜单 选择注册 图10 辅助应用程序管理窗口 选择注册文件 图11 选择注册文件 启动插件 图12 启动辅助应用程序 启动插件后的效果 图13 启动插件效果图 图14 插件运行效果图 Protoolkit程序调试 1.打开应用程序源文件,设置断点 图15 设置断点 2.重新编译应用程序 3.启动ProENGINEER软件 打开proe软件,但不注册运行所编辑的应用程序 4.ProENGINEER软件的PID 启动任务栏管理器,在查看——》选择列中勾选复选框“PID(进程标示符)” 图16 查看ProENGINEER进程ID 5.开始—>CMD—>运行VsJITDebugger 输入以下命令 VsJITDebugger -p 25408 其中25408 为刚才所获得的PID数 6.在弹出来的对话框中选择需要的调试器 图17 选择调试器窗口 7.进入调试界面 进入调试界面,此时注册并运行proe中的插件,程序执行时会在之前设置的断点处停止 图18 进入程序调试界面 8.单步调试 以后同普通VC程序调试过程相同,按F10、F11等慢慢调试
