金属加工论坛
贸易平台·行业报道·技术社区
论坛名称:中国金属加工论坛    网址:http://www.mw1950.com/forum/
 提醒您:如果本页图片或flash动画无法正常显示,请点击这里访问原帖。
pro/engineer二次开发中的关键技术 作者:exhlove 时间:2007-5-31 14:04:00
1


  • 【摘  要】pro/engineer是cad/cam软件,pro/toolkit是ptc提供用于对pro/engineer进行二次开发的软件包,这里有几个问题值得注意。   pro/engineer是美国ptc公司研制的cad/cam软件。pro/toolkit是ptc提供用于对pro/engineer进行二次开发的软件包,pro/toolkit提供了大量的c语言函数,帮助我们利用c语言编程来增加pro/engineer的功能。在pro/engineer的二次开发过程中,有以下几个问题值得注意(笔者使用的是pro/engineer 2000i)。 1 编写应用程序   可在visual c 环境下编写pro/toolkit应用程序,此应用程序包含pro/toolkit提供的函数,必须和pro/toolkit提供的头文件编译(compile)到一起,所以,必须在visual c 的菜单“tools→options→directories”中添加如下内容 : ~\protoolkit\includes ~\protoolkit\protk_appls\includes ~\prodevelop\includes ~\prodevelop\prodev_appls\includes 其中,~表示pro/engineer的安装路径。 2 编译应用程序   编译(compile)通过的应用程序,还必须在命令提示符下编译和连接(nmake),以生成可执行的.exe或.dll文件。   nmake命令是由第三方软件(micosoft visual c )提供的。要在命令提示符下使用这个命令,必须在安装visual c 时注册环境变量(安装时会有对话框“设置环境变量”提示,将“注册环境变量”选中),或者在windows的“设置→控制面板→系统→高级→环境变量→用户变量”中,选取变量名“path”,在值中添加“ ~:\microsoft visual studio\vc98\bin”,“~”表示visual c 的安装路径(适用于 windows 2000)。而且,运行“nmake”命令所在的路径为“~/protoolkit/i486_nt/obj”,此路径下必须要有一个对应于c应用程序的make文件,命令全形为“nmake -f *”,“*”为对应的make文件名。make文件的样板在“~\proe2000i\protoolkit\i486_nt\obj”下。 3 运行应用程序   要在pro/engineer环境中运行自己的应用程序,必须在pro/engineer中对该程序进行注册。注册分为手动注册和自动注册两种。手动注册就是在pro/engineer界面上依次选取“utilities→auxiliary application”对话框,加载该注册文件,自动注册有以下4个步骤。   (1)将注册文件命名为protk.dat,并放在pro/engineer的启动目录下。   (2)将注册文件放在pro/engineer的启动目录下,并在启动目录下创建一个config.pro文件,其中设置“toolkit_registry_file  * ”语句即可,“*” 就是要注册的注册文件名。   (3)将注册文件命名为“protk.dat”,并放在路径“〈pro/engineer〉/〈machine〉/text/〈language〉”下,其中〈language〉是运行pro/engineer时所选的语言类型。   (4)将注册文件命名为“protk.dat”,并放在路径“〈pro/engineer〉/text”下。   这样,只要运行pro/engineer就能自动加载该注册文件,并运行指定的应用程序。注册文件protk.dat的样板在“~\proe2000i\protoolkit”下。 4 config.pro文件的设置   环境设置文件的内容是以文字形式将选项及参数值存在名为config.pro的文件内,这些文件均可用一般的文本编辑软件编辑。   config.pro文件可设置系统的操作环境,如工具按钮设置、模型的显示方式、视角等。config.pro文件应放在pro/engineer的启动目录下,当启动pro/engineer时,系统会自动加载环境设置文件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/engineer的二次开发中,添加用户自定义菜单是最基本、最常用的技术。   可以在pro/engineer界面上现有的菜单条和菜单中添加用户自定义菜单,如在“文件”等菜单条菜单中添加,也可以在pro/engineer界面上添加菜单条菜单,它和“文件”等菜单条菜单处于同等地位。或者也可以在模式菜单中添加自定义菜单。   笔者建议在pro/engineer界面上添加菜单条菜单,因为pro/engineer是一个不断发展、不断更新的软件,某个版本下有的菜单条菜单或模式菜单,在另一个版本下可能没有,因此,如果用户自定义菜单依赖于某个菜单,很可能在另一个pro/engineer的版本中不能正常使用。这样,只能修改应用程序来适应这种变化,软件的通用性较差。下面这个程序详细讲述如何在pro/engineer界面上添加用户自定义菜单条菜单usermenu以及在菜单条菜单usermenu中添加按钮“a”。 int user_initialize() { profilename message_file; uicmdcmdid  cmd_id; prostringtowstring(message_file, "user_msg.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.txt文件的内容为 :   usermenu(换行)usermenu(换行)#(换行)#(换行)a(换行)a(换行)#(换行)# user_msg.txt文件通常放在“~\text\usascii”下,它的路径对应于protk.dat注册文件的text_dir项。   pro/engineer的二次开发功能十分强大,本文主要描述了pro/engineer二次开发的整体过程(编写c程序→vc 下编译→命令提示符下编连→pro/engineer中注册)以及所遇到的关键性问题,用户可在此基础上在pro/toolkit二次开发程序中通过编写各种功能函数来实现他的具体要求。

  • 所属版面:CAD交流区 本帖第1页
    共有回复: 0 共有页数: 1 显示帖数:50


    欢迎光临中国金属加工论坛 网址:http://www.mw1950.com/forum/