Pro/E 二次开发中的若干问题

Pro/E 二次开发中的若干问题 
Pro/E是美国参数技术公司(PTC)研制的CAD/CAM软件。Pro/TOOLKIT是PTC提供专门用于对Pro/E进行二次开发的软件包。Pro/TOOLKIT软件包提供了大量的C语言函数,使得我们利用C语言编程来增加Pro/E的功能。在Pro/E的二次开发过程中,有以下几个问题值得注意(以Pro/E2000i): 
1.可在Visual C++(4.0、5.0、6.0)环境下开发Pro/TOOLKIT应用程序 
此C应用程序包含Pro/TOOLKIT提供的函数,必须和Pro/TOOLKIT提供的头文件编译(compile)到一起。所以,必须在Visual C++的菜单tools→Options→Directories中添加如下内容: 
~/PROTOOLKIT/INCLUDES 
~/PROTOOLKIT/PROTK_APPLS/INCLUDES 
~/PRODEVELOP/INCLUDES 
~/PROTOOLKIT/PRODEV_APPLS/INCLUDES 
其中,~表示Pro/E的安装路径。 
2.编译(compile)通过的应用程序,还必须在命令提示符下编译、连接一遍(nmake),以生成可执行的.exe或.dll文件 
nmake命令是由第三方软件(micosoft Visual C++)提供的。要在命令提示符下使用这个命令,必须在安装Visual C++时注册环境变量(安装时会有对话框“设置环境变量”)提示,将“注册环境变量”选中),或者在Windows的“设置→控制变量→系统→高级→环境变量→用户变量”中,选取变量名path,在值中添加~:/Microsoft Visual Studio/VC98/bin,其中~表示Visual C++的安装路径(适用于Windows 2000).而且,命令提示符的默认路径为~:/protoolkit/i486_nt/obj,此路径下必须要有一个对应于C应用程序的make文件,命令全形为nmake-f*.*为对应的make文件名。make文件的样板在~proe 2000i/protoolkit/i486_nt/obj下。 
3.在Pro/E环境中要运行自己的应用程序,必须在Pro/E中对该程序进行注册 
注册分为手动注册和自动注册两种。手动注册就是在Pro/E界面上选取Utilities→Auxiliary Application 对话框加载该注册文件。自动注册有四种:一是将注册文件命名为protk.dat并放在Pro/E的启动目录下,并在启动目录下创建一个config.pro文件,其中设置一句:TOOLKIT_REGISTRY_FILE*就可,*就是要注册的注册文件名;三是将注册文件命名为protk.dat并放在路径//text/下,其中< LANGUAGE >是运行Pro/ ENGINEER就能自动加载该注册文件并运行指定的应用程序。注册文件protk.dat的样板在~proe 2000i/protoolkit下。 
4.Config.pro文件的设置 
 环境设置文件的内容是以文字模式将选项及参数值存在名为Config.pro的文件内,这些文件均可用一般的文本编辑软件编辑。Config.pro文件可设置系统的操作环境,如工具按钮位置、模型的显示方式、视角等。Config.pro文件应放在Pro/E的启动目录下,当启动Pro/E时,系统会自动加载环境设置文件Config.pro。若应用程序是一个大量组装零、部件的二次开发程序,下面的Config.pro将十分有用: 
BELL NO 
DISPLAY SHADE 
DATUM_DISPLAY NO 
DATUM_POINT_DISPLAY NO 
DISPLAY_COORDINATE_SYS NO 
AXIS_DISPLAY NO 
SPIN_CENTER_DISPLAY NO 
TOOLKIT_REGISTRY_FILE* 
5.在Pro/E的二次开发中,添加用户自定义菜单是最基本、最常用的技术 
可以在Pro/E界面上现有的菜单条添加用户自定义菜单,如在“文件”等菜单条菜单中添加;也可以在Pro/E界面上添加菜单条菜单,它和“文件”等等菜单条菜单处于同等地位。笔者建议在Pro/E界面上添加菜单条菜单,因为Pro/E是一个不断发展、不断更新的软件,某个版本下有的菜单在另一个版本下可能没有,因此,如果用户自定义菜单依赖某个菜单条菜单,很可能在另一个Pro/E的版本中不能正常使用。这样,只能修改应用程序来适应这种变化,软件的通用性较差。 
 下面这个程序详细讲述如何在Pro/E界面上添加用户自定义菜单条菜单UserMenu以及在菜单条菜单UserMenu中添加按钮A: 
int user _initialize( ) 
{ProFileName message _file; 
uiCmdCmdId cmd _id; 
ProStringToWstring(message_ file,”use_rmsg.txt”); 
ProMenubarMenuAdd(“UserMenu”,”UserMenu”,”Help”,PRO_B_TRUE,message_file);(添加用自定义菜单条菜单UserMenu并放在菜单条菜单“帮助”之后) 
ProCmdActionAdd(“A”, (uiCmdCmdActFn)Action,uiProe2ndImmediate, NULL, PRO_B_TRUE, PRO_B_TRUE, &cmd _id);(给按钮A设定动作Action) 
ProMenubarmenuPushbuttonAdd(“UserMenu”,“A”,“A”,“Non-mode-specific Pro/TOOLKIT test commands”,NULL,PRO_B_TRUE,cmd_id, message_file); (在菜单条菜单UserMenu添加按钮A) 
return(0);} 
其中user_msg.tst文件的内容为: 
UserMenu 
UserMenu 






user_msg.tst文件通放在~/text/usascii下,它的路径对应于protk.dat注册文件的TEXT_DIR项。 
6.结语Pro/E的第二次开发功能十分强大。本文主描述了Pro/E二次开发的整体过程(编写C程序→VC++下编译→命令提示符下编连→Pro/E中注册)以及所遇到的关键性问题,用户可在此基础上,在Pro/TOOLKIT二次开发程序中通过编写各种功能函数来实现其他具体要求。 

你可能感兴趣的:(机械学习手记,file,文本编辑,action,windows,vc++,cmd)