Proe二次开发调用宏(轨迹文件)的方法总结
- 格式:doc
- 大小:64.00 KB
- 文档页数:2
ProToolkit调用宏(轨迹文件)方法总结Ryan 2012/6/19 一:轨迹文件的定义
轨迹文件是指用户在使用Pro/ENGINEER时,在Proe启动目录文件夹中产生的名为trail.txt.阿拉伯数字的文件,其中阿拉伯数字表示轨迹文件产生的先后顺序。
二:轨迹文件记录的内容
轨迹文件记录了用户在使用Pro/ENGINEER时所进行的一切动作,例如单击某个按钮,图形的放大缩小,Proe界面的最大最小化等等。
三:轨迹文件的作用(摘自《CAD软件二次开发丛书》吴立军浙江科技学
院)
1、查询操作的历史记录;
2、获得所操作过的菜单和按钮名称;
3、获得所单击的按钮在内部的调用函数名。
4、截取文件中所需内容作为宏来调用。
四:轨迹文件的使用方法及例子
1、定义宏来实现用户利用Proe所要完成的功能
(1)ProToolkit提供了两个调用宏的函数,分别为ProMacroLoad()和ProMacroExecute(),详细的函数定义和用法可参加ProToolkit帮助文件,若用户将Pro/ENGINEER安装在C盘目录下,则帮助文件的具体路径为
C:\ProgramFiles\proeWildfire5\protoolkit\protkdoc\IENoSwing.html,若用户将
Pro/ENGINEER安装于其它盘下,则帮助文件的具体路径为“用户Proe安装盘下文件夹名+ proeWildfire5\protoolkit\protkdoc\IENoSwing.html”。
此处我们采用ProMacroLoad()函数来完成我们的工作。
(2)实现的方法步骤:截取轨迹文件中所需的名利语句放在用户自定义的宏中,然后直接调用宏,Proe就将完成用户所要实现的功能。
(3)例子:调用宏,实现对Proe装配体的自动全局干涉检查,程序如下
void mydlg::OnBnClickedButton1() //VS2008中自定义的一个对话框按钮
{
ProError status; //函数的返回值
ProMacro w_macro; //自定义宏的名称(宽字符)
char *zd_Macro=“~ Select `main_dlg_cur` `MenuBar1` 1 `Analysis`;\
~ Select `main_dlg_cur` `Analysis.cas_na_model`;\
~ Close `main_dlg_cur` `MenuBar1`;\
~ Close `main_dlg_cur` `Analysis.cas_na_model`;\
~ Activate `main_dlg_cur` `psh_na_model_global_interference`;“; //自定义的宏(普通字符)
ProStringToWstring(w_macro,zd_Macro); //普通字符串转化为宽字符
status=ProMacroLoad(w_macro); //调用宏
}
注:1、函数返回值及宽字符的定义可参见相关ProToolkit书籍;2、ProToolkit
中用宽字符,因此程序中必须要有字符的转化的语句。
(4)此方法的限制:自定义中宏语句的条数,在VS2008TM中最多定义7句(测试过)。
对于其它版本,用户可以自己测试。
2、直接调用整个轨迹文件
(1)实现的方法步骤:1>计划好自己要实现的功能;2>录制轨迹文件;3>修改轨迹文件,去掉不需要的语句,譬如最后使Proe界面最小化等等
的语句。
此处注意,轨迹文件中开头部分的Proe声明(如图1所示)
不要删去;4>更改轨迹文件的名称及扩展名。
文件名称用户自定义,
扩展名改为.txt,去掉txt后的阿拉伯数字;5>自定义宏来完成轨迹文
件的调用。
图1 轨迹文件开头声明
(2)例子:自定义一个宏来完成对轨迹文件(1.txt)的调用,实现轨迹的全部动作
void mydlg::OnBnClickedButton1() //VS2008中自定义的一个对话框按钮
{
ProError status; //函数的返回值
ProMacro w_macro; //自定义宏的名称(宽字符)
char *zd_Macro=“~ Select `main_dlg_cur` `MenuBar1` 1 `Utilities`;\
~ Command `ProCmdUtilTrailTrain` <2 0.118519 178 0 0 100 1440 0 0 900 13;\
~ Input `file_open` `Inputname` `1`;\
~ Update `file_open` `Inputname` `1`;\
~ Activate `file_open` `open`;“; //自定义的宏(普通字符)ProStringToWstring(w_macro,zd_Macro); //普通字符串转化为宽字符
status=ProMacroLoad(w_macro); //调用宏
}
注:此处的1.txt是修改后的轨迹文件。