proe5.0环境下vs2008二次开发(附代码)

合集下载

proe二次开发教程

proe二次开发教程

proe二次开发教程——手把手教你如何二次开发经历了千辛万苦才把图片截取完整,现在就把它贴出来吧……本实例是针对proe4.0在VS2005环境下的开发,对于vs2003以上版本的开发本例均适用,本例从开始的打开vs2005软件开始讲解,一步不漏,并加入适当的解释和必要的说明,相信照着做完之后应该没有不成功的了!注:软件安装注意事项:proe的安装目录不能有空格,比如:“D:\Program Files\proeWildfire4.0”是不对的,运行的时候会出错,要把路径中的空格去掉,如“D:\proeWildfire4.0”一、配置相关信息:打开VS2005,选择工具——》选项,在“项目和解决方案”中选择“VC++目录”,在“显示一下内容的目录”中选择“包含文件”,加入以下文件:D:\proeWildfire4.0\protoolkit\includesD:\proeWildfire4.0\protoolkit\protk_appls\includesD:\proeWildfire4.0\prodevelop\includes在“显示一下内容的目录”中选择“库文件”,加入以下文件:D:\proeWildfire4.0\protoolkit\i486_nt\objD:\proeWildfire4.0\prodevelop\i486_nt\obj注:这是开始前的环境配置,一次配置之后永久生效,以后再新建项目就不需要再配置了二、新建项目,进行项目设置:文件——》新建——》项目:选择MFC DLL 模板,输入项目名称:确定后点完成,项目生成后选择项目——》属性,进行属性设置:在test(本例的项目名称)属性页中选择配置属性——》连接器——》输入,在附加依赖项里加入:wsock32.libmpr.libpsapi.libprotk_dllmd.lib注:对于不同的环境附加依赖项是不同的,以上是VS2005版本的开发软件附加依赖项,如果是VC++6.0则是“protk_dll.lib protoolkit.lib mpr.lib wsock32.lib ”,同时还要加入忽略库“msvcrt.lib”,还要选择“强制输出”,否则程序会因为一些警告终止编译。

PROE二次开发

PROE二次开发

//在 Help 菜单的左边添加 Test 菜单 status = ProMenubarMenuAdd("TestMenu", "Test", "Help", PRO_B_FALSE, menumsgf ile); status = ProCmdActionAdd("MyTest", (uiCmdCmdActFn)MyTest, uiCmdPrioDefault, PRO_B_TRUE, &cmd_id); status = ProMenubarmenuPushbuttonAdd("TestMenu", "MainBtn1", "Hello", "Hello Hel p", 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 #
采用 VC++6.0 的 MFC 类库对用户界面进行二次开发,同时也利用 VC++开发相关的数据库,开发的实 质是在 Pro/ E 系统中调用 MFC 应用程序。在开发中使用 MFC Application(exe) 方式实现 Pro/E 系统、Pro/ Toolkit 应用程序、MFC 应用程序三者之间的通信,通信是通过直接调用函数实现的。Pro/ Toolkit 与 MFC 连接在系统中为每个 Pro/ Toolkit 应用程序都开发了对话框界面,在应用程序加载到 Pro/ E 系统后,点 击定制菜单项即可调用对应的应用程序及其界面。图 1 说明了 Pro/E 系统与 MFC 应用程序的连接方式。

ProE5.0+VS2008开发环境配置

ProE5.0+VS2008开发环境配置

ProE 5.0+ VS2008二次开发环境配置一新建一个VS dll库与Proe的连接1 建立静态链接库选择File-New-Project新建工程,打开图1所示对话框,name输入文件名自定义(Dtest),Location自定义(E:\VS2008),点击OK确定:图1图2图3(在向导的第二步中选择使用静态链接MFC库方式)2进行工程属性配置新建dll工程后,在新建的工程文件菜单栏中选择Project菜单—--选择属性properties命令,然后进行如下操作:图4(属性配置,注意在Release下进行编译)Release配置1图5 (Release配置2)图6(选择Release后,进行基本配置,采用多字节字符集)图7 (添加处理器预定义PRO_USE_V AR_ARGS,_AFXDLL)图8 (设置运行时库为/MD)图9 (设置语言选项)图10 (添加库依赖wsock32.lib,mpr.lib,psapi.lib,protk_dllmd.lib)3进行工具选项配置(此项配置可以只进行一次,以后创建新的proe二次开发工程时此项操作可以不做修改)单击Tools菜单下—选择options命令进行添加include文件和lib文件搜索路径配置,图11(Include路径:..\ protoolkit\includes;.. \protoolkit\protk_appls\includes;.. \prodevelop\includes;.. \prodevelop\prodev_appls\includes;)图12(Lib路径:..\protoolkit\i486_nt\obj;..\prodevelop\i486_nt\obj;)4函数实现添加头文件:#include "ProMenubar.h"#include "ProMenu.h"#include "ProUtil.h"#include <ProToolkit.h>#define MSGFILE "message.txt"#pragma comment(lib, "netapi32")static uiCmdAccessState UserAccessTestMenu (uiCmdAccessMode);extern "C" int user_initialize()// 入口函数{AfxEnableControlContainer();ProError status;ProName menumsgfile;uiCmdCmdId cmd_id;//在Help菜单的右边添加“二次开发菜单”ProStringToWstring(menumsgfile,"usermsg1.txt");status=ProMenubarMenuAdd("Menu0","USERMenu0","Help",PRO_B_TRUE,menumsgfile );return(0);}static uiCmdAccessState UserAccessTestMenu(uiCmdAccessMode access_mode){return (ACCESS_A V AILABLE);}extern "C" void user_terminate() // 出口函数{AFX_MANAGE_STATE(AfxGetStaticModuleState());}5 进行应用注册设置,选择盘符创建文件(在此选择E:\VS2008\Dtest下创建Protk.dat 文件)图13(protk文件内容设置)(name Dteststartup dllallow_stop TRUEdelay_start FALSEexec_file E:\VS2008\Dtest\Release\Dtest.dlltext_dir E:\VS2008\Dtest\textrevision 1000end )6 进行菜单文字显示设置,选择当前目录下创建text文件夹,如图14,15所示:图147 打开proe---Tools菜单----Auxiliary application命令,按图进行操作,观察结果图16 操作过程二将已经建好的project拷贝到另一台电脑使用只需要修改其菜单Tools下的option属性,因为其本身的properties属性应经定义好。

VS2008建的解决方案在VS2005打开

VS2008建的解决方案在VS2005打开

如何将vs2008做的项目转换成vs2005的呢,在网上搜到一篇文章,我按照步骤修改后还是不行,自己又仔细看了下,主要将以下几个部分修改就可以了.如下:一. 修改解决方案文件:解决方案.slnMicrosoft Visual Studio Solution File, Format Version 10.00[w1]# Visual Studio 2008[w2]二. 修改项目文件:项目.csproj1、<Project ToolsVersion="3.5"[w3] DefaultTargets="Build"xmlns="/develope r/msbuild/2003">2、<Import Project="$(MSBuildTools[w4] Path)Microsoft.CSharp.targets" />3、<ProductVersion>9.0.21022<w6></ProductVersi on>4、<ImportProject="$(MSBuildExtensionsPath)\Microsoft\V isualStudio\v9.0[w7]\WebApplications\Microsoft. WebApplication.targets" />通过以上步骤就可以用Vs2005打开vs2008下的项目,不过vs2008下使用的类库跟vs2005的类库是有区别的:1、using System.Linq;[w5]2、移除包含!号的引用然后是替换标识位置的字符:[w1]10.00-->9.00[w2]2008-->2005[w3]ToolsVersion="3.5"删除[w4]Tools-->Bin[w5]删除此句[w6]9.0.21022-->8.0.50727[w7]9.0-->8.0替换后即可用vs2005打开项目啦。

以下为vs2008的相关操作和代码

以下为vs2008的相关操作和代码

以下为vs2008的相关操作和代码:一、简单的逃跑按钮//注意下列方法,定义一个类为了捕获鼠标移动点的方便1,创建一个基于对话框的mfc应用程序选中对话框→属性→Front可以改变整个对话框字体2,创建CButton的派生类,与按钮相关联添加类(图1)3,给对话框添加2个相同按钮“你能抓住我吗?”让两个按钮轮流显示。

其中一个visible 设为false,使初始状态只显示一个按钮。

每个按钮都关联一个变量:添加控件变量(图2)mfc8_1Dlg.h头文件自动添加 #include"mybutton.h"CmyButton类添加消息WM_MOUSEMOVE4,给CmyButton类添加变量5,在OnInitDialog添加以下语句,交换2个button的地址m_btn1.m_pBtn = &m_btn2;m_btn2.m_pBtn = &m_btn1;6,CmyButton::OnMouseMove中添加交换显示的语句ShowWindow(SW_HIDE);//SW_HIDE:隐藏窗口并激活其他窗口。

m_pBtn->ShowWindow(SW_SHOW);//SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口。

大功告成!当然可以SetWindowPos函数实现更客观二、属性表的编辑新建mfc应用程序mfc8_21.创建属性页右键属性ID: IDD_PROP1Caption:属性页1属性页1放置groupboxRadio button 单选框List box列表框属性页3添加组合框ComboBox要向下拉的长一些,使列表能向下展开Style:Dropdown 能向下展开、输入Simple列表和编辑框同时显示Droplist 只能展开选择,不能输入本程序设为Droplist2. 双击属性页1添加类类CPropertyPage的对象表示一张属性表的各页,或者说是被看作是标签对话框。

原创_CreoPro5_VS2010转2008开发设置、调试

原创_CreoPro5_VS2010转2008开发设置、调试

CreoPro5_VS2010转2008开发设置与调试复制SDK头文件将C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\VerRsrc.h复制到C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\转调VS2008【项目】|【xx属性】—属性页对话框|【配置属性】|【常规】—【平台工具集】:V90包含文件和库文件【项目】|【xx属性】—属性页对话框|【配置属性】|下【VC++目录】中【包含目录】:<CreoPro5>\protoolkit\includes(早期加<CreoPro5>\prodevelop\includes)(PTK程序实例中函数加<CreoPro5>\protoolkit\protk_appls\includes)C:\Program Files\Common Files\PTC\Creo 1.0\B000\protoolkit\includes【库目录】:<CreoPro5>\protoolkit\i486_nt\obj(早期<CreoPro5>\prodevelop\i486_nt\obj)C:\Program Files\Common Files\PTC\Creo 1.0\B000\protoolkit\i486_nt\obj注意:以上两项务必保持默认的“从父级或项目默认设置继承”【C/C++】|下【预处理器】中【预定处理定义】:若使用ProMessageDisplay()加PRO_USE_VAR_ARGS (或者也可在主cpp文件中加预定义语句#define PRO_USE_VAR_ARGS 1)【链接器】|下【输入】中【附加依赖项】和【忽略特定默认库】(忽略重定义错)设置:必须包含“ProToolkit.h”,且必须是首个PTK包含头文件,这对异步模式尤为重要。

Proe应用ProTOOLKIT二次开发

Proe应用ProTOOLKIT二次开发

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

VS2008VS2008中文版下载地址:http://pan。

baidu。

com/s/1ntt7PH3最好安装下VS2008 SP1补丁,否则编译Debug版本时常会报错.VS2008 SP1中文版下载地址:http://www。

microsoft。

com/zh—CN/download/details。

aspx?id=13276如果你需要开发64位的Pro/TOOLKIT程序,请确保安装X64 Compilers andTools,如下图所示:3二、新建工程点击【文件】—〉【新建】—〉【项目】菜单命令,创建MFC DLL工程. 输入工程名称:test_wf5。

单击【确定】,然后在弹出的对话框中单击【下一步〉】DLL类型:使用共享 MFC DLL单击【完成】完成创建工程。

4三、配置工程属性1。

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

proe.环境下vs二次开发(附代码)

proe.环境下vs二次开发(附代码)

PRO/E 5.0环境下使用vs2008进行二次开发1、环境设置(只需第一次设置)1)进入工具/选项对话框,包含文件:○1./prodevelop/include; ○2./protoolkit/include2)库文件:○1./protoolkit/i486_nt/obj; ○2./prodevelop/i486_nt/obj2、新建MFC DLL工程(采用默认动态链接烈类型)3、设置项目属性1)进入项目/属性对话框(ALT+F7),选择配置管理器,将Active版本类型改为Release。

2)选择配置属性/链接器/输入,在附加依赖项一栏输入:wsock32.lib mpr.lib protk_dll.lib prodev_dll.lib psapi.lib netapi32.lib3)在忽略特定库一项输入mvcrt.lib1)添加头文件#include"ProMenu.h"#include"ProUtil.h"#include"ProMenubar.h"2)添加初始化函数extern"C"int user_initialize() {ProError status;// 用户接口程序return status;}extern"C"void user_terminate() {// 结束代码}// 定义菜单的可访问性设置函数static uiCmdAccessState UserAccessDefault(uiCmdAccessMode access_mode) {return(ACCESS_AVAILABLE);}int MsgBox() // 定义菜单按钮相应函数{AfxMessageBox(_T("My first Pro/E redeveloping"));return 0;}extern"C"int user_initialize(){ProError status;uiCmdCmdId cmd_idl;ProFileName mfName;ProStringToWstring(mfName, "Msg.txt");// 添加菜单status = ProMenubarMenuAdd("CHECK", "CHECK", "Utilities",PRO_B_TRUE, mfName);// 添加菜单动作status = ProCmdActionAdd("ShowTest1", (uiCmdCmdActFn)MsgBox,uiCmdPrioDefault,UserAccessDefault,PRO_B_TRUE, PRO_B_TRUE, &cmd_idl);// 添加菜单按钮status = ProMenubarmenuPushbuttonAdd("CHECK", "MSGBOX", "PathMsg",NULL, NULL,PRO_B_TRUE, cmd_idl, mfName);return status;}4)关键函数wchar_t* ProStringToWstring ( wchar_t*wstr, char*str );// 把char*类型转换为wchar_t*ProError ProMenubarMenuAdd (ProMenuItemName menu_name,ProMenuItemLabel untranslated_menu_label,ProMenuItemName neighbor,ProBoolean add_after_neighbor,ProFileName filename )ProError ProCmdActionAdd (char *action_name,uiCmdCmdActFn action_cb,uiCmdPriority priority,uiCmdAccessFn access_func,// 是否在非激活窗口显示ProBoolean allow_in_non_active_window,//是否在附属窗口显示ProBoolean allow_in_accessory_window,uiCmdCmdId *action_id );ProError ProMenubarmenuPushbuttonAdd (ProMenuItemName parent_menu,ProMenuItemName push_button_name,ProMenuItemLabel push_button_label,ProMenuLineHelp one_line_help,ProMenuItemName neighbor,ProBoolean add_after_neighbor,uiCmdCmdId action_id,ProFileName filename );static uiCmdAccessState UserAccessDefault(uiCmdAccessMode access_mode) {return(ACCESS_AVAILABLE);// ACCESS_REMOVE 移除菜单项// ACCESS_INVISIBLE 不可见// ACCESS_UNAVALIABLE 可见,变灰不可选// ACCESS_DISALLOW 不可选// ACCESS_AVAILABLE 可选}5)编写信息文件格式第1行:关键字(必须与使用该信息文件函数的相关字符串相同)第2行:菜单显示英文文本第3行:中文文本第4行:为空(用#表示,必须在英文输入法下输入)6)编写注册文件格式:NAME 应用程序标识名EXEC_FILE 可执行程序名(包括路径)TEXT_DIR Text目录路径STARTUP 启动应用模式ALLOW_UP 是否允许在PROE工作时终止应用程序DELAY_START 是否延迟调用应用程序REVISION Pro/TOOLKIT版本号END 结束标志(每次修改后请重启PROE)。

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

PRO/E 5.0环境下使用vs2008进行二次开发
1、环境设置(只需第一次设置)
1)进入工具/选项对话框,包含文件:○1./prodevelop/include; ○2./protoolkit/include
2)库文件:○1./protoolkit/i486_nt/obj; ○2./prodevelop/i486_nt/obj
2、新建MFC DLL工程(采用默认动态链接烈类型)
3、设置项目属性
1)进入项目/属性对话框(ALT+F7),选择配置管理器,将Active版本类型改为Release。

2)选择配置属性/链接器/输入,在附加依赖项一栏输入:
wsock32.lib mpr.lib protk_dll.lib prodev_dll.lib psapi.lib netapi32.lib
3)在忽略特定库一项输入mvcrt.lib
1)添加头文件
#include"ProMenu.h"
#include"ProUtil.h"
#include"ProMenubar.h"
2)添加初始化函数
extern"C"int user_initialize() {
ProError status;
// 用户接口程序
return status;
}
extern"C"void user_terminate() {
// 结束代码
}
// 定义菜单的可访问性设置函数
static uiCmdAccessState UserAccessDefault(uiCmdAccessMode access_mode) {
return(ACCESS_AVAILABLE);
}
int MsgBox() // 定义菜单按钮相应函数
{
AfxMessageBox(_T("My first Pro/E redeveloping"));
return 0;
}
extern"C"int user_initialize()
{
ProError status;
uiCmdCmdId cmd_idl;
ProFileName mfName;
ProStringToWstring(mfName, "Msg.txt");
// 添加菜单
status = ProMenubarMenuAdd("CHECK", "CHECK", "Utilities",
PRO_B_TRUE, mfName);
// 添加菜单动作
status = ProCmdActionAdd("ShowTest1", (uiCmdCmdActFn)MsgBox,
uiCmdPrioDefault,UserAccessDefault,
PRO_B_TRUE, PRO_B_TRUE, &cmd_idl);
// 添加菜单按钮
status = ProMenubarmenuPushbuttonAdd("CHECK", "MSGBOX", "PathMsg",
NULL, NULL,
PRO_B_TRUE, cmd_idl, mfName);
return status;
}
4)关键函数
wchar_t* ProStringToWstring ( wchar_t*wstr, char*str );
// 把char*类型转换为wchar_t*
ProError ProMenubarMenuAdd (
ProMenuItemName menu_name,
ProMenuItemLabel untranslated_menu_label,
ProMenuItemName neighbor,
ProBoolean add_after_neighbor,
ProFileName filename )
ProError ProCmdActionAdd (
char *action_name,
uiCmdCmdActFn action_cb,
uiCmdPriority priority,
uiCmdAccessFn access_func,
// 是否在非激活窗口显示
ProBoolean allow_in_non_active_window,
//是否在附属窗口显示
ProBoolean allow_in_accessory_window,
uiCmdCmdId *action_id );
ProError ProMenubarmenuPushbuttonAdd (
ProMenuItemName parent_menu,
ProMenuItemName push_button_name,
ProMenuItemLabel push_button_label,
ProMenuLineHelp one_line_help,
ProMenuItemName neighbor,
ProBoolean add_after_neighbor,
uiCmdCmdId action_id,
ProFileName filename );
static uiCmdAccessState UserAccessDefault(uiCmdAccessMode access_mode) {
return(ACCESS_AVAILABLE);
// ACCESS_REMOVE 移除菜单项
// ACCESS_INVISIBLE 不可见
// ACCESS_UNAVALIABLE 可见,变灰不可选
// ACCESS_DISALLOW 不可选
// ACCESS_AVAILABLE 可选
}
5)编写信息文件
格式第1行:关键字(必须与使用该信息文件函数的相关字符串相同)
第2行:菜单显示英文文本
第3行:中文文本
第4行:为空(用#表示,必须在英文输入法下输入)
6)编写注册文件
格式:
NAME 应用程序标识名
EXEC_FILE 可执行程序名(包括路径)
TEXT_DIR Text目录路径
STARTUP 启动应用模式
ALLOW_UP 是否允许在PROE工作时终止应用程序DELAY_START 是否延迟调用应用程序
REVISION Pro/TOOLKIT版本号
END 结束标志
(每次修改后请重启PROE)。

相关文档
最新文档