Pro/ENGINEER二次开发中的关键技术(转帖)  内容加载中,请稍后...
CAD家园 
CAD家园
生活因感动而精彩,理想在创造中放飞!
Pro/ENGINEER二次开发中的关键技术(转帖)
作者:cad 提交日期:2009-7-6| 分类: | 访问量:




Pro/ENGINEER二次开发中的关键技术(转帖)

适合初学者看,我都能看懂。

【摘要】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二次开发程序中通过编写各种功能函数来实现他的具体要求 *

谢谢共享 *

都是教材上的 *

很好,会用得到的 *

本人长期在线,欢迎PRO/E模具设计的朋友加我QQ:492046694 相互交流哈……
谢谢楼主!
谢谢无私奉献的人!……

感觉PRO/E做面的功能有待改进。比如:以一条曲线按任意方向拉伸出面来(PRO/E的太局限了);还有复制面也有待改进,可以再生原始面的复制方式就很好(做分型面超爽)。但我不知道怎么可以做出来,有高手请指教哈……

请说明来自Pro/E技术、教程、资料交流区 *

好贴~~~~ *

我顶,共同进步!!! *

对初学者很有帮助 *

画龙点睛! *

好贴 *

谢谢!受益匪浅! *

thanks a lot *

本文摘自:http://www.jxcad.com.cn/read.php?tid=163511&fpage=2



阅读全文 | 回复(0) | 引用通告 | 编辑


作者:游客
输入您的评论:(不支持HTML标签)

段首缩进两个汉字:


  
个人档案
文章分类
企业管理与质量体系(4019)

建筑标准区(2817)

已应助标准区(17707)

标准资料攻关区(30)

资料教程区(168)

精品教程区(95)

UG习题区(95)

Solidworks插件学习区(96)

Solidworks习题及画法区(95)

模型及标准件库区(24)

Pro/E教程区(94)

加分习题区(95)

Pro/E二次开发(96)

习题区(62)

练习提高区(94)

资料教程区(96)

作品展示及模型专区(96)

焦点专区(96)

AutoCAD 二次开发专区(96)

画法几何及习题专区(96)

图纸专区(95)

资料区(95)

资料区(96)

起重机交流区(96)

冶金设备资料图纸共享专区(95)

钢铁新闻(90)

资料区(53)

资料区(96)

资料区(96)

习题区(35)

资料区(97)

资料区(96)

液压气动仿真(91)

轴承专版(92)

资料区(97)

涉世之初(95)

已答复区(95)

技术求助, 应助 技术心得, 探讨(91)

Technical English(or other languages) Forum(103)

基础理论(95)

手册区(93)

机械零部件、机构、装置、设备设计、制造及应用专区(93)

工程材料(95)

金属热处理(96)

机械冷加工(95)

资料区(95)

液压气动、液力传动与控制、仿真设计等资料(95)

五金模具设计(96)

金属板料成形专版(95)

塑胶模具设计(95)

特种加工(96)

橡胶与工程塑料(96)

化工机械、管道与压力容器专版(4209)

汽车技术专版(12590)

齿轮类零件及减(增)速机设计、制造及应用专区(5305)

电子(电气)、电力系统专业基础知识、应用技术、技术经验、资料交流(14173)

钢铁、冶金技术(12883)

重型机械装备(2798)

数控技术(2688)

清洁能源(93)

AutoDesk技术、教程、资料交流区(17459)

Inventor设计应用专区(4595)

Catia技术、教程、资料交流区(2329)

CAXA技术、教程、资料交流专区(3870)

KM开目技术、教程、资料交流专区(403)

Pro/E技术、教程、资料交流区(11947)

SolidWorks 技术、教程、资料交流区(9523)

TH天河技术、教程、资料交流专区(1635)

UGS技术、教程、资料交流区(7596)

建筑设计CAD专区(1629)

逆向工程技术、教程、资料交流专区(902)

其它CAX软件交流区(533)

ANSYS系列软件技术资料交流区(6590)

ABAQUS软件技术资料交流区(650)

CFD软件技术资料交流区(851)

MSC 系列软件技术资料交流区(2509)

疲劳, 断裂力学, 可靠性及钢结构软件技术资料交流专区(831)

科学, 工程计算专版(533)

其它 CAE软件技术资料交流区(1334)

Cimatron技术、教程、资料交流区(726)

MasterCAM技术、教程、资料交流区(1932)

PowerMill技术、教程、资料交流区(402)

其它 CAM软件技术资料交流区(436)

标准资料求助板块(1215)

国内标准共享版块(19074)

国外标准共享版块(10434)

标准手册区(1766)

标准库(112)

标准件、非标准件图形图库专区(951)

Copyright © 2008.01.06 design| CAD家园   生活因感动而精彩,理想在创造中放飞