Proe应用ProTOOLKIT二次开发

上传人:xmg****18 文档编号:120362516 上传时间:2020-02-06 格式:DOC 页数:32 大小:924.72KB
返回 下载 相关 举报
Proe应用ProTOOLKIT二次开发_第1页
第1页 / 共32页
Proe应用ProTOOLKIT二次开发_第2页
第2页 / 共32页
Proe应用ProTOOLKIT二次开发_第3页
第3页 / 共32页
Proe应用ProTOOLKIT二次开发_第4页
第4页 / 共32页
Proe应用ProTOOLKIT二次开发_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《Proe应用ProTOOLKIT二次开发》由会员分享,可在线阅读,更多相关《Proe应用ProTOOLKIT二次开发(32页珍藏版)》请在金锄头文库上搜索。

1、下载可编辑手把手教你开发Pro/TOOLKIT应用程序1 前言本教程采用VS2008 + Pro/E Wildfire5.0来讲解怎样开发Pro/TOOLKIT应用程序。开发Pro/TOOLKIT应用程序时,Pro/E和Visual Studio的版本需对应,否则很难搭建开发环境,其对应关系如下: Wildfire 4.0 VS2008 Wildfire 5.0 VS2008 Creo 1.0 VS2010 Creo 2.0 VS2010本教程所述的方法完全适用于Wildfire4.0 + VS2008、Creo1.0 + VS2010、Creo2.0 + VS2010。2 一、准备1.Pro

2、/TOOLKIT在安装Pro/E时,默认是不安装Pro/TOOLKIT的,必须选中【API工具包】节点下的Pro/TOOLKIT选项。可以通过运行:Pro/E安装目录/bin/ptcsetup.bat 查看有无安装Pro/TOOLKIT。2.VS2008VS2008中文版下载地址:http:/ SP1补丁,否则编译Debug版本时常会报错。VS2008 SP1中文版下载地址:http:/ Compilers and Tools,如下图所示:3 二、新建工程点击【文件】-【新建】-【项目】菜单命令,创建MFC DLL工程。输入工程名称:test_wf5。单击【确定】,然后在弹出的对话框中单击【下

3、一步 】DLL类型:使用共享 MFC DLL单击【完成】完成创建工程。4 三、配置工程属性1.新增64位编译平台注意:如果只编译32位程序,请跳过此步骤。单击【生成】-【配置管理器】菜单命令,然后依照下图操作。如果没有x64选项,那说明安装VS2008时,没有安装X64 Compilers and Tools,重新安装此选项即可。2.新增头文件路径单击【项目】-【属性】菜单命令,添加如下头文件路径。【Pro/E安装目录】prodevelopincludes【Pro/E安装目录】protoolkitincludes注意:请先选择平台是Win32还是x64。3.新增库文件路径32位:【Pro/E安

4、装目录】prodevelopi486_ntobj【Pro/E安装目录】protoolkiti486_ntobj64位:【Pro/E安装目录】prodevelopx86e_win64obj【Pro/E安装目录】protoolkitx86e_win64obj4.添加附加依赖项mpr.libwsock32.libpsapi.libprotk_dllmd.libprodev_dllmd.libnetapi32.lib5.设置工程字符集推荐优先采用Unicode。5 四、添加Pro/TOOLKIT代码在test_wf5.cpp文件的最后添加以下Pro/TOOLKIT代码。该段代码的功能是:在Pro/E的

5、【帮助】菜单后新增一个菜单【TestMenu】,然后在【TestMenu】下新增两个菜单项【Test】和【ShowCurrModelName】。分别实现弹出测试对话框和获取当前模型的名称并弹窗显示。注意:先只要大体理解代码的整体思路即可,本教程会在第三篇:手把手教你开发Pro/TOOLKIT应用程序(三) 中具体阐明代码的所有细节,在学习完本篇和第二篇后,再去学习第三篇会比较好。1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859

6、60616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143/ 包含常用头文件#include #include #include #include #include #include #include #include #includ

7、e #include #include / 函数声明uiCmdAccessState TestAccess(uiCmdAccessMode access_mode);uiCmdAccessState ShowCurrModelName_Access(uiCmdAccessMode access_mode);int Test(uiCmdCmdIdcommand,uiCmdValue *p_value,void *p_push_command_data);int ShowCurrModelName(uiCmdCmdIdcommand,uiCmdValue *p_value,void *p_push

8、_command_data);/ Pro/TOOLKIT入口函数extern C int user_initialize()ProError err;/ 信息文件名称ProFamilyName MsgFile;ProStringToWstring(MsgFile, Test_Msg.txt);/ 添加菜单:TestMenuerr = ProMenubarMenuAdd(TestMenu, TestMenu, Help, PRO_B_TRUE, MsgFile);/ 添加命令和菜单项/ 测试命令uiCmdCmdId cmd_id1;err = ProCmdActionAdd(Test, Test

9、, uiCmdPrioDefault, TestAccess, PRO_B_FALSE, PRO_B_FALSE, &cmd_id1);err = ProMenubarmenuPushbuttonAdd(TestMenu, Test, Test, Test_Help,NULL, PRO_B_TRUE, cmd_id1, MsgFile);/ 显示并输出当前模型的名称uiCmdCmdId cmd_id2;err = ProCmdActionAdd(ShowCurrModelName, ShowCurrModelName, uiCmdPrioDefault, ShowCurrModelName_A

10、ccess, PRO_B_FALSE, PRO_B_FALSE, &cmd_id2);err = ProMenubarmenuPushbuttonAdd(TestMenu, ShowCurrModelName, ShowCurrModelName, ShowCurrModelName_Help, NULL, PRO_B_TRUE, cmd_id2, MsgFile);return 0;/ Pro/TOOLKIT结束时调用的函数extern C void user_terminate() / 测试命令响应函数int Test(uiCmdCmdIdcommand,uiCmdValue *p_val

11、ue,void *p_push_command_data)AfxMessageBox(_T(Just For Test);return 0;/ 命令:获取当前模型的名称并显示int ShowCurrModelName(uiCmdCmdIdcommand,uiCmdValue *p_value,void *p_push_command_data)ProError err;/ 获取当前模型ProMdl mdl;err = ProMdlCurrentGet(&mdl);if (PRO_TK_NO_ERROR != err)return -1;/ 获取当前模型名称并显示ProName name;err

12、 = ProMdlNameGet(mdl, name);MessageBoxW(NULL, name, Lwf5 test, MB_OK);return 0;/ 测试命令 菜单权限函数/ 任何情况下菜单都有效uiCmdAccessState TestAccess(uiCmdAccessMode access_mode)return ACCESS_AVAILABLE;/*ProError err;ProModemode;err = ProModeCurrentGet(&mode);if (err != PRO_TK_NO_ERROR)return ACCESS_UNAVAILABLE;if (mode = PRO_MODE_PART | mode = PRO_MODE_ASSEMBLY)return ACCESS_AVAILABLE;elsereturn ACCESS_UNAVAILABLE;*/ 获取当前模型名称并显示 菜单权限函数/ 只有在当前打开的模型为PART档,ASM档或Drawing档时菜单才有效uiCmdAccessState ShowCurrModelName_Access(uiCmdAccessMode access_mode)ProError err;ProModemode;err = ProModeCurrentGet(&mod

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号