求助怎样用protoolkit和vc++ 做二次开发
发布网友
发布时间:2022-04-22 09:04
我来回答
共4个回答
热心网友
时间:2023-07-03 17:22
我的开发和测试环境是:
简体中文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 <ProToolkit.h>
#include <ProMenu.h>
#include <ProMenuBar.h>
#include <ProUtil.h>
在文件末尾添加以下程序:
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下看到了中文菜单及提示信息。
热心网友
时间:2023-07-03 17:23
基于Pro/TOOLKIT二次开发的基本过程
Pro/TOOLKIT是Pro/ENGINEER软件功能强大的二次开发工具。它封装了许多针对Pro/ENGINEER底层资源调用的库函数与头文件,借助第三方编译环境(C语言、VC++语言等)进行调试。以VC++6.0为编译调试环境进行说明。
使用Pro/TOOLKIT开发应用程序包含三个基本步骤:编写源文件(包括资源文件和程序源文件),生成可执行文件,可执行文件在Pro/ENGINEER中注册并运行。
1、编写源文件
(1)资源文件包括菜单资源文件、窗口资源文件、对话框资源文件等。(2)程序源文件指我们所要编写的C++程序。Pro/TOOLKIT应用程序的核心是user_initialize()和user_terminate()两个函数。user_initialize()是Pro/TOOLKIT的初始化函数 ,此函数应包含用户或第三方开发的Pro/TOOLKIT应用程序所需的一切初始化信息 (例如对Pro/ENGINEER系统菜单的扩展、对话框的创建等)。user_terminate()是Pro/TOOLKIT的结束中断函数。
2、生成可执行文件
一般需要制作Makefile工程文件,可以根据Pro/ENGINEER自带的Makefile修改。由该文件指定库文件、头文件、源文件的位置及要生成的可执行文件和动态连接库名称等。也可以在VC++6.0环境中指定上述各种项目。
Pro/ENGINEER为应用程序提供两种工作模式:同步模式(Synchronous Mode)和异步模式(Asynchronous Mode),由于后者使用复杂而很少使用。同步模式有分为Spawn(多进程模式)和dll(动态连接库模式)。动态连接库是将Pro/TOOLKIT应用程序集成到Pro/ENGINEER中的标准方法。在该模式下,Pro/TOOLKIT应用程序和Pro/ENGINEER的信息交换是通过直接函数调用实现的。
3、可执行文件在Pro/ENGINEER中注册并运行
要使可执行文件能够集成到Pro/ENGINEER运行,必须制作一个后缀为.dat的注册文件。文件格式如下:
name<应用程序名称〉
startup<工作模式Spawn或dll〉
exec_file<可执行文件或动态连接库的位置>
text_dir<资源文件(菜单文件、对话框文件、窗口信息文件)的位置>
revision<版本号>
end<结束>
可以采用两种注册方式,一种为自动注册的方式,将注册文件放在指定的目录下(如放在Pro/ENGINEER的启动目录下),运行Pro/ENGINEER是将根据注册文件自动注册所指定的应用程序(此时注册文件必须名为protk.dat);另一种为手动注册,即在运行Pro/ENGINEER后,在UTILITIES菜单下选择Auxiliary Applications菜单项,然后再对话框中选取Register,指向所要注册的注册文件,点击启动便可以运行应用程序了(此时文件只要是后缀为.dat即可,并不是必须命名为protk.dat)。
热心网友
时间:2023-07-03 17:23
1. 创建新工程
启动VC++,新建工程。
选择 MFC AppWizard(dll)方式。
指定工程名称及存放路径。
然后按“OK”按钮。
2.设置包含文件路径
Pro/Toolkit头文件位于protoolkitincludes文件夹中。在VC++6.0的集成开发环境中选择VC主菜单Tools/Option(工具/选项)菜单,系统弹出的“Options(选项)”对话框,打开“Directories(目录)”选项卡,在"Shaw directories for:(目录[S]:)"下拉列表中选择“Includes files",在“Directories(目录)”中添加如下路径,设置PROTOOLKIT头文件所在文件夹:
D:PTCPROTOOLKITINCLUDES
D:PTC PROTOOLKITPROTK_APPLSINCLUDES
D:PTCPRODEVELOPINCLUDES
D:PTC
(注:“D:PTC”为Pro/E程序所在的主文件夹
此设置只需一次,下次打开c++新程序时不需重新设置了)
3.设置库文件路径
Pro/Toolkit的库文件位于protoolkiti486_ntobj文件夹中。在"Shaw directories for:(目录[S]:)"下拉列表中选择“Library files",加入如下路径,设置Pro/TOOLKIT库文件所在文件夹:
D:PTCPRODEVELOPI486_NTOBJ
D:PTCPROTOOLKITI486_NTOBJ
热心网友
时间:2023-07-03 17:24
通过VC++与ProTOOlkit接口强大的二次开发功能,能够对Pro/E零件几何信息特征的提取-By VC++ and ProTOOlkit Interface strong secondary development function, able to Pro/E part geometry feature extraction
http://www.pudn.com/downloads259/sourcecode/app/detail1193307.html