Proe应用ProTOOLKIT二次开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

手把手教你开发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/TOOLKIT

在安装Pro/E时,默认是不安装Pro/TOOLKIT的,必须选中【API工具包】节点下的Pro/TOOLKIT选项。

可以通过运行:[Pro/E安装目录]/bin/ptcsetup.bat 查看有无安装

Pro/TOOLKIT。

2.VS2008

VS2008中文版下载地址:

最好安装下VS2008 SP1补丁,否则编译Debug版本时常会报错。

VS2008 SP1中文版下载地址:

如果你需要开发64位的Pro/TOOLKIT程序,请确保安装X64 Compilers and

Tools,如下图所示:

3二、新建工程

点击【文件】->【新建】->【项目】菜单命令,创建MFC DLL工程。输入工程名称:test_wf5。

单击【确定】,然后在弹出的对话框中单击【下一步 >】DLL类型:使用共享 MFC DLL

单击【完成】完成创建工程。

4三、配置工程属性

1.新增64位编译平台

注意:如果只编译32位程序,请跳过此步骤。

单击【生成】->【配置管理器】菜单命令,然后依照下图操作。

如果没有x64选项,那说明安装VS2008时,没有安装X64 Compilers and Tools,重新安装此选项即可。

2.新增头文件路径

单击【项目】->【属性】菜单命令,添加如下头文件路径。

【Pro/E安装目录】\prodevelop\includes

【Pro/E安装目录】\protoolkit\includes

注意:请先选择平台是Win32还是x64。

3.新增库文件路径

32位:

【Pro/E安装目录】\prodevelop\i486_nt\obj 【Pro/E安装目录】\protoolkit\i486_nt\obj

64位:

【Pro/E安装目录】\prodevelop\x86e_win64\obj 【Pro/E安装目录】\protoolkit\x86e_win64\obj

4.添加附加依赖项

mpr.lib

wsock32.lib psapi.lib

protk_dllmd.lib prodev_dllmd.lib netapi32.lib

5.设置工程字符集

推荐优先采用Unicode。

5四、添加Pro/TOOLKIT代码

在test_wf5.cpp文件的最后添加以下Pro/TOOLKIT代码。

该段代码的功能是:在Pro/E的【帮助】菜单后新增一个菜单【TestMenu】,然后在【TestMenu】下新增两个菜单项【Test】和【ShowCurrModelName】。分别实现弹出测试对话框和获取当前模型的名称并弹窗显示。

注意:先只要大体理解代码的整体思路即可,本教程会在第三篇:手把手教你开发Pro/TOOLKIT应用程序(三) 中具体阐明代码的所有细节,在学习完本篇和第二篇后,再去学习第三篇会比较好。

// 包含常用头文件

#include

#include

#include

#include

#include

1 2 3 4 5 6 7 8 9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44 // 包含常用头文件

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

// 函数声明

uiCmdAccessState TestAccess(uiCmdAccessMode access_mode); uiCmdAccessState ShowCurrModelName_Access(uiCmdAccessMode access_mode);

int Test(uiCmdCmdId command,

uiCmdValue *p_value,

void *p_push_command_data);

int ShowCurrModelName(uiCmdCmdId command,

uiCmdValue *p_value,

void *p_push_command_data);

// Pro/TOOLKIT入口函数

extern "C" int user_initialize()

{

ProError err;

// 信息文件名称

ProFamilyName MsgFile;

ProStringToWstring(MsgFile, "Test_Msg.txt");

// 添加菜单:TestMenu

err = ProMenubarMenuAdd("TestMenu", "TestMenu", "Help", PRO_B_TRUE, MsgFile);

// 添加命令和菜单项

// 测试命令

uiCmdCmdId cmd_id1;

err = ProCmdActionAdd("Test", Test, uiCmdPrioDefault, TestAccess, PRO_B_FALSE, PRO_B_FALSE, &cmd_id1);

err = ProMenubarmenuPushbuttonAdd("TestMenu", "Test", "Test",

"Test_Help",

相关文档
最新文档