史上最全ProE二次开发测试及环境配置方法
更新时间:2023-11-06 20:28:01 阅读量: 教育文库 文档下载
- proe二次开发教程推荐度:
- 相关推荐
32位系统preo5.0二次开发测试及环境配置
首先,proe5.0是配合VC++2008来进行二次开发的,因此首先得安装VS2008,其次,要确保proe5.0中已经安装了protoolkit,安装方法略。
如何测试Pro/Toolkit安装成功
第一步,找到proe安装目录下的protooltik文件夹,并找到..\\protoolkit\\i486_nt\\obj这个路径下的一个叫做make_install的文件,用写字板打开,找到如下 # Pro/Toolkit Source & Machine Loadpoint (EXTERNAL USE - DEFAULT)
这么一行字,然后把它下面的PROTOOL_SRC=../..改成PROTOOL_SRC = ...\\PTC\\protoolkit,保存下关闭就好了。
第二步,在“开始”中找到Microsoft Visuall Studio Tools?Visual Studio Tools?Visual Studio Tools2008命令提示符,打开。
第三步,在打开的这个界面里面敲下如下字符cd ...\\PTC\\protoolkit\\i486_nt\\obj,然后回车,再敲上如下字符:nmake /f make_install dll,然后再回车,等其运行完毕,关掉命令提示符,然后再回到...\\PTC\\protoolkit\\i486_nt\\obj文件夹中,会发现多了一个pt_inst_test.dll文件,证明前面的工作全是成功的。
第四步,回到...\\PTC\\protoolkit文件夹,找到protk.dat文件,用写字板打开,将第二行和第三行前面的“.”改成路径...\\PTC\\protoolkit,将第五行后面的“18”改成“wildfire5.0”,其他保持不变,保存,关闭。
第五步,启动proe5.0,找到工具?辅助应用程序,打开,点“注册”,找到...\\PTC\\protoolkit,里的protk.dat,打开,选中,点“启动”,发现左上角出现“’pt_inst_test.dll’启动成功”。关闭“辅助应用程序”。
第六步,打开“文件”菜单栏,会有一个“安装检测”,点击后,会出现“PRO/PROTOOLKIT安装检测成功”。至此,PRO/PROTOOLKIT安装检测全部完成。
配置VC++2008 Debug模式配置
第一步,加上PRO/TOOLKIT的包含文件和库文件,打开工具?选项?项目与解决方案?VC++目录显示以下内容的目录?包含文件,添加如下文件: ...\\PTC\\protoolkit\\includes
...\\PTC\\protoolkit\\protk_appls\\includes ...\\PTC\\prodevelop\\includes
...\\PTC\\prodevelop\\prodev_appls\\includes 将包含文件换为库文件,添加如下文件: ...\\PTC\\protoolkit\\i486_nt\\obj ...\\PTC\\prodevelop\\i486_nt\\obj
然后点击确定,包含文件和库文件加载完毕。
第二步,新建一个MFC工程,打开项目?属性?配置属性?链接器?输入,在附加依赖项中输入以下代码:
(若为MFC DLL文件) wsock32.lib mpr.lib
protk_dllmd.lib prodev_dllmd.lib psapi.lib netapi32.lib
(若为MFC应用程序工程) wsock32.lib mpr.lib
protk_dllmd.lib prodev_dllmd.lib psapi.lib netapi32.lib
pt_asynchronous.lib
在忽略待定库中,添加libcmtd。
第三步,打开项目?属性?配置属性?C/C++?预处理器?预处理器定义中添加命令 PRO_USE_VAR_ARGS。
(若为异步模式,异步模式其他设置请参考文献[1]) wsock32.lib mpr.lib psapi.lib netapi32.lib
pt_asynchronous.lib protkmd.lib prodevelop.lib prodevmd.lib
在忽略待定库中,添加libcmtd。
第三步,打开项目?属性?配置属性?C/C++?预处理器?预处理器定义中添加命令 PRO_USE_VAR_ARGS。
Release模式配置
第一步,与Debug模式配置相同。
第二步,新建一个MFC工程,注意向导的第二步中应选择使用静态链接MFC库方式。 1、打开项目?属性?配置属性?调试?配置管理器中进行如下操作。
将配置选项改为“活动(Release)”
2、打开项目?属性?配置属性?常规,将“字符集”选项改为“使用多字节字符集”。 3、打开项目?属性?配置属性?C/C++?预处理器,在预处理定义中输入PRO_USE_VAR_ARGS和_AFXDLL,点击OK。
4、打开项目?属性?配置属性?C/C++?代码生成,将“运行时库”选项改为“多线程DLL/MD”。
5、打开项目?属性?配置属性?C/C++?语言,将“将wchar_t视为内置类型”改为“否(/Zcwchar_t-)”。
6、打开项目?属性?配置属性?链接器?输入,在附加依赖项中输入以下代码: wsock32.lib mpr.lib psapi.lib
protk_dllmd.lib prodev_dllmd.lib 配置完成。
第三步,测试程序。 1、添加头文件: #include \#include \#include \#include
#define MSGFILE \#pragma comment(lib, \
static uiCmdAccessState UserAccessTestMenu (uiCmdAccessMode); extern \入口函数 {
AfxEnableControlContainer(); ProError status;
ProName menumsgfile; uiCmdCmdId cmd_id;
//在Help菜单的右边添加“二次开发菜单” ProStringToWstring(menumsgfile,\ status=ProMenubarMenuAdd(\ return(0); }
static uiCmdAccessState UserAccessTestMenu(uiCmdAccessMode access_mode) { return (ACCESS_AVAILABLE); }
extern %user_terminate() // 出口函数 { AFX_MANAGE_STATE(AfxGetStaticModuleState()); }
2、创建注册文件protk.dat,内容如下: name Dtest startup dll
allow_stop TRUE delay_start FALSE
exec_file …\\Dtest\\Release\\Dtest.dll text_dir …\\Dtest\\text revision widfire5.0 end
3、在Dtest文件夹中创建text文件夹,在text文件夹内创建usermsg1.txt文件,内容如下:
USER Menu() 二次开发菜单 # #
4、注册运行。
64位系统preo5.0二次开发环境配置
64位操作系统的环境配置与32位的有所不同,首先64系统需要在X64平台上进行调试,而不是在默认的Win32上,其次,在添加PRO/PROTOOLKIT的包含文件和库文件时,打开工具?选项?项目与解决方案?VC++目录显示以下内容的目录?包含文件,此时平台要注意选用X64平台,在包含文件和库文件中添加和32位系统里一样的include文件和obj文件: ...\\PTC\\protoolkit\\includes
...\\PTC\\protoolkit\\protk_appls\\includes
...\\PTC\\prodevelop\\includes
...\\PTC\\prodevelop\\prodev_appls\\includes 将包含文件换为库文件,添加如下文件: ...\\PTC\\protoolkit\\i486_nt\\obj ...\\PTC\\prodevelop\\i486_nt\\obj
这里要多出一步,将库文件转换为可执行文件,并添加如下内容: $(SystemRoot)\\System32 $(SystemRoot)
$(SystemRoot)\\System32\\wbem
(注:若不加载此项,会提示诸如无法生成“cmd.exe”的错误。
然后点击确定,包含文件和库文件和可执行文件加载完毕。这时再运行程序,就不会出现错误。
二次开发基础知识
1、 菜单栏菜单的添加(Pro/E二次开发技术基础P103)
菜单栏菜单是Pro/E菜单体系的最顶层菜单,ProMenubarMenuAdd()是完成菜单栏菜单添加的函数 2、 菜单按钮的添加
单击某个菜单按钮后,应能调用某个函数,因此它的添加过程分为两步:首先是添加动作函数和菜单按钮,然后把动作函数和菜单按钮联系起来,作为菜单按钮的响应函数。 2.1 菜单动作函数的添加
在将菜单按钮和动作函数联系起来之前,先在程序主文件的头文件中定义动作函数,Pro/E中,将菜单按钮和动作函数联系起来的函数是ProCmdActionAdd(),该函数将返回一个uiCmdCmdId类型变量,此变量用来表示动作函数的标识,在添加菜单项菜单时需要提供动作函数的标识。 2.2 菜单按钮的添加
向菜单栏菜单中添加菜单按钮的函数是ProMenubarmenuPushbuttonAdd() 3、 复选菜单按钮的添加
添加复选按钮之前也需要设置复选按钮的响应函数、复选按钮初始状态函数。使用复选按钮的过程中,需要有可以得到按钮状态值以及设置按钮状态值的函数。因此添加一个复选框菜单按钮需要用到四个函数: ProCmdOptionAdd();选项设置命令函数的添加 ProMenubarmenuChkbuttonValueGet();复选按钮状态值的获取 ProMenubarmenuChkbuttonValueSet();复选按钮状态值的设置 ProMenubarmenuChkbuttonAdd()。向菜单项菜单添加复选按钮的函数 4、 单选菜单按钮的添加
添加一组单选按钮需要用到四个函数: ProCmdOptionAdd();选项设置命令函数的添加 ProMenubarMenuRadiogrpValueGet();单选按钮组值的获取 ProMenubarMenuRadiogrpValueSet();单选按钮组值的设置 ProMenubarMenuRadiogrpAdd()。单选按钮组的添加函数
单选按钮的添加与复选按钮的添加很相似,不过单选按钮是以组的形式来添加,同一组中的单选按钮只有一个单选按钮被选中。 5、 菜单栏菜单的下级菜单
在下一个菜单栏菜单下除了一般按钮、复选按钮、单选按钮之外,还可以添加子菜单。在子菜单下也能够添加一般按钮、复选按钮、单选按钮、子菜单。函数是 ProMenubarmenuAdd() 6、 菜单按钮的图标设置
Pro/E的菜单可以有图标,按钮被添加到工具栏上面时会以图标的形式显示。函数是ProCmdIconSet() 7、 对原有菜单的操作
对原有菜单按钮可以进行的操作有:改变菜单的访问控制函数,使菜单无效、隐藏、移除等等,还可以在菜单按钮动作函数执行之前或之后执行自定义函数,实现这些功能主要有以下几个函数: ProCmdCmdIdFind(); ProCmdAccessFuncAdd(); ProCmdAccessFuncRemove(); ProCmdBracketFuncAdd(); 具体用法可查帮助。 8、 常用Pro/TOOLTIK头文件
ProUtil.h是常用的头文件,在这个头文件内定义Pro/TOOLTIK的基本数据类型以及常用函数,如:ProStringToWstring()、ProWstringToString()、ProFileOpen()、ProDirectoryChoose()、ProPathCreate()等。
ProMenu.h这个文件内定义了一些菜单按钮的操作,如ProMacroExecute()、ProMacroLoad()、ProMenuVisibilityGet()。
ProMenuBar.h定义了添加菜单工具栏菜单、菜单按钮时用到的函数。
ProWindows.h里定义了进行窗口操作的函数,如ProWindowCurrentGet()、ProWindowRefresh()、ProWindowCurrentSet()、ProObjectwindowGreate()、ProWindowActivate()等等。
ProMdl.h、ProSolid.h定义了用于对模型进行操作的函数,如获得当前模型、获得模型类型等等很多函数。
ProDimension.h定义了对尺寸操作的函数。 ProParameter.h定义了对参数进行操作的函数。 ProParamval.h定义了对参数的值进行操作的函数。 ProRelSet.h定义了对关系进行操作的函数。
ProModelitem.h定义了对模型项进行操作的函数。 ProFeature.h定义了用于特征操作的函数。 9、 对象句柄
Pro/TOOLKIT中,每个对象都由一个标识符来标识,利用标识符就可以调用所对应的对象,这个标识符就是对象句柄。
句柄是Windows用来标识被应用程序所建立或使用的对象的唯一整数。Windows使用各种各样的句柄标识诸如应用程序实例、窗口、控制、位图、GDI等对象。 10、 常用函数及形式
Get获得,用来获取对象的某个数据。这类函数的输入是基本数据对象,输出是基本数据对象的某一
信息。常用的函数有:
ProMdlCurrentGet(ProMdl *p_handle)//获得当前的模型。 ProDirectoryCurrentGet(ProPath path)//获得当前的工作路径。
ProMdlTypeGet(ProMdl model, ProMdlType *p_type)//获得当前模型的类型,模型的主要
类型是指零件模型、组件模型和工程图模型。
ProMdlDataGet(ProMdl handle, ProMdldata *p_data)//获得模型的数据,通过这个函数可以获得模型名称以及模型的类型,模型的存放位置等信息。 ProWindowCurrentGet(int *p_window_id)//获得当前的窗口。
ProModelitemMdlGet(ProModelitem *p_model_item, ProMdl *p_owner)//获得模型项所属的模型句柄。
Set设置,用来设置对象的函数值。它也是以基本数据对象作为输入,并输入需要设置的变量的值,常用的函数有:
ProDimensionValueSet(ProDimension *dimension, double *value)//设置尺寸的值。 ProDimensionSymbolSet(ProDimension *dimension, ProName symbol)//设置尺寸的符号。
ProParameterValueSet(ProParameter *param, ProParamvalue *proval)//设置自定义参数的值。
ProMenubuttonVisibilitySet(ProMenuName menuname,ProMenubuttonName button,ProBoolean visible)//设置菜单按钮的可见性(自己定义的菜单)。
ProAsmcompTypeSet(ProAsmcomp *comp,ProAssembly top_assem,ProAsmcompType Type)//设置组件(装配体)的元件类型。
Visit访问,用来访问数据对象内的一组数据集合,如访问零件模型的特征等。这类函数的输入参数通常是要被访问的数据对象以及访问的动作函数和过滤函数。 ProError ProSolidFeatVisit(ProSolid p_handle,//模型的句柄 ProFeatureVisitAction visit_action,//访问动作函数 ProFeatureFilterAction filter_action,//访问过滤函数 ProAppData app_data//访问过程中传递的数据 )//访问模型的特征
ProFeatureDimensionVisit(ProFeature *feature,//特征的指针地址 ProDimensionVisitAction visit,//访问动作函数 ProDimensionFilterAction filter,//访问过滤函数 ProAppData data//访问过程中传递的数据 )//访问特征的尺寸
ProParameterVisit(ProModelitem *owner,//模型项的指针地址 ProParameterFilter filter,//访问过滤函数 ProParameterAction action,//访问动作函数 ProAppData data//访问过程中传递的数据 )//访问模型项的自定义函数 11、 关于ProError
Pro/TOOLKIT函数的返回值类型基本上都是ProError,ProError是一个枚举数据类型,它定义了所有可能的返回值。具体返回值种类见(P17页)
参考文献
[1]王文波. Pro/E Wildfire 4.0二次开发实例解析[M]. 清华大学出版社, 2010.
正在阅读:
银监发80号—关于加强融资性担保行业统计工作的通知(附件)06-14
人教部编版四年级语文下册第一单元基础知识复习检测(附答案)06-02
家乡的水作文450字07-14
试论供电企业物资管理工作12-24
黑龙江省齐齐哈尔市第八中学2017届高三第二次模拟考试文科综合政治试题 含解析05-07
品牌男装如何组织一盘货11-08
土豪金耐看不实用 IOS永远比不上的12个安卓功能 - 图文05-11
斑马线上互点赞作文800字07-14
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 最全
- 配置
- 环境
- 测试
- 方法
- 开发
- 史上
- ProE