Pro/TOOLKIT是美国PTC公司为Pro/E软件提供的开发工具包,它提供了开发Pro/E所需的函数库文件和头文件,其主要目的是让用户或第三方通过C程序代码扩充Pro/E系统的功能,开发基于Pro/E系统的应用程序模块,使用户编写的应用程序能够安全地控制和访问Pro/E,并可以实现应用程序与Pro/E系统的无缝集成。不仅如此,还可以利用Pro/TOOL-KIT提供的UI对话框、菜单以及VC的可视化界面技术,设计出方便实用的人机交互界面,从而大大提高系统的使用效率[9,10]。
Pro/TOOLKIT应用程序是一个动态的链接库,它与Pro/E在同一地址空间运行,能够直接利用Pro/E的内核代码,在运行期间扩展Pro/E具有的类及其功能,建立与Pro/E本身的固有命令操作方式相同的新命令。此外,开发Pro/TOOLKIT应用程序还可以充分利用Win-dows资源和微软的基本类库MFC。
1.Pro/TOOLKIT应用程序的工作模式
Pro/TOOLKIT应用程序有两种工作模式:同步模式(Synchronous Mode)和异步模式(Asynchronous Mode)。同步模式中又分为两种方法:一种是动态链接库(DLL)模式,另外一种是多进程(Multiprocess)模式。在同步模式中,Pro/E是根据注册文件的信息启动应用程序。但是在DLL模式中,Pro/TOOLKIT应用程序和Pro/E之间的信息交换是直接通过函数调用来实现的;而在多进程模式中,Pro/TOOLKIT应用程序和Pro/E之间的信息交换采用的是进程间的通信机制。多进程模式比DLL模式涉及更多的通信开销,尤其是在应用程序要频繁地调用Pro/TOOLKIT的库函数时。但是在程序开发阶段多采用多进程模式,因为它可以将应用程序载入调试器而不用将整个Pro/E程序装入调试器。而在程序开发完成后,一般采用DLL模式发布,这可提高程序的运行速度。
异步模式较之同步模式,具有代码复杂、执行速度慢的缺点,所以本书采用同步模式。
2.Pro/TOOLKIT应用程序的结构
Pro/TOOLKIT应用程序的核心是用户初始化函数user_initialize()和用户结束中断函数user_terminate()。user_initialize()函数是Pro/E与Pro/TOOLKIT的通信入口,也就是Pro/TOOLKIT应用程序向系统发送信息的通道,通过它向Pro/E返回状态码,这个初始化程序主要用来对同步模式的Pro/TOOLKIT应用程序进行初始化,任何同步模式的应用程序要在Pro/E中加载都必须包含该函数。在该函数中设置用户的交互接口,如设置菜单、调用对话框或直接调用所需函数等。如果用户使用的Pro/TOOLKIT程序定义了一个新的Pro/E命令,Pro/E就立即通过该函数同用户定义的新命令联系。其结构如下:
3.注册新的Pro/E命令
增加新的Pro/E命令就是添加菜单条和菜单项,菜单条是Pro/E菜单体系的最顶层菜单,用户可以使用函数ProMenubarMenuAdd()来增加菜单条,用函数ProCmdActionAdd()和ProMenubarmenuPushbuttonAdd()来进行菜单按钮设置。函数ProMenubarMenuAdd()的语法:
4.Pro/TOOLKIT程序的编译和连接
采用Visual C++作为Pro/TOOLKIT调试器有两种方法,一种是根据Makefile文件直接编译和调试程序;另一种则不需要编写Makefile文件,直接由Visual C++建立Pro/TOOL-KIT应用程序项目,并进行编译和连接等工作。本文采用了第二种方法。具体过程如下:
(1)设置头文件路径Pro/TOOLKIT头文件位于protoolkitincludes文件夹中。选择Visual C++的TOOL/Options菜单项,并在弹出的“Option”对话框中选择“Directorise”选项卡,在“Show direction for:”下拉列表中选择“Includes”,加入“……PROTOOLKITINCLUDES”项,设置Pro/TOOLKIT头文件所在的文件夹。
(2)设置库文件路径Pro/TOOLKIT的库文件位于protoolkiti486_ntobj文件夹中。在“Show Directories for:”下拉列表中选择“Library files”,加入“……PROTOOLKITI486_NTOBJ”一项,设置Pro/TOOLKIT库文件所在文件夹。
(3)设置连接所需库文件 选择Project/Settiongs…菜单,选择“Link”选项卡,在“Category:”下拉列表中选择General,在“Object/Library modules”下加入mpr.lib、protk_dll.lib两个库文件,其中mpr.lib为VC系统的库文件,protk_dll.lib为Pro/TOOLKIT所需的库文件。(www.xing528.com)
由于没有采用Pro/TOOLKIT提供的make文件生成应用程序,在VC环境直接连接时会出现多个连接错误,而不能生成DLL文件。因此,需在菜单Project/Settiongs的“Link”选项页设定强制文件输出,即选中“Force file output”的复选框。
5.Pro/TOOLKIT应用程序的注册和运行
编译连接成功生成可运行程序后,要把Pro/TOOLKIT应用程序集成到Pro/E系统中,必须先进行应用程序的注册,然后才能运行。
(1)注册Pro/TOOLKIT应用程序 注册Pro/TOOLKIT应用程序,就是向Pro/E系统提供该程序的相关信息,也就是告诉Pro/E此应用程序的可执行文件在哪里。
注册文件是简单的文本文件,典型的DLL模式注册文件内容如下:
注册文件名为protk.dat,保存在<盘符:>程序子目录。
(2)运行Pro/TOOLKIT应用程序 选择Pro/E的工具/辅助应用程序菜单项,选择“注册”按钮注册应用程序。注册成功后选择“启动”按钮运行应用程序。
(3)应用程序的卸载 如果在注册文件中设置ALLOW_STOP为TRUE,可以用手工中止应用程序的运行。选择Pro/E的工具/辅助应用程序菜单项,选择需终止运行的应用程序,先选择“停止”按钮,再单击“删除”按钮。
图3-67 基于特征的参数化建模
6.基于特征的参数化造型技术
在Pro/E环境下创建三维特征模型,用一组设计参数来定义几何图形(体素)尺寸数值并约定尺寸关系,读取二维水力设计CAD软件中生成的水力模型的所有信息,将读取的信息作为变量化参数,这样通过尺寸驱动修改图形,完成参数化三维造型。基于特征的参数化造型技术的关键是特征及其相关尺寸,特征可被视为三类属性描述的面向几何的物体,这三类属性包括:数据属性(即特征的静态信息、规则)、方法属性(即用于定义的特定设计和制造特性)、关系属性(即用于描述特征间的相互依赖关系或定义形状特征间的位置关系)[11,12]。基于特征的参数化建模方法如图3-67所示。
基于特征的参数化三维造型是在建立特征模型的基础上,通过参数驱动来完成三维造型的。本书解决参数驱动中约束的方法是:基于构造过程的参数化方法。这种方法是采用一种参数化履历的机制,通过记录在Pro/E环境下创建特征的过程及连接关系,捕捉设计者的意图。这种方法适用于结构相同而尺寸不同的零件设计。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。