1.引言
Pro/ENGINEER是PTC公司设计开发的基于参数化、特征设计的三维实体造型设计软件,其强大的功能一直受到业界用户的好评。
虽然Pro/ENGINEER的功能强大并且通用性良好,但是在具体使用过程中不可能满足各种各样的特定要求,为使软件能够满足特定使用者的多样化需求,则需在该软件已有功能的基础上进行二次开发。
本文是基于Pro/E Wildfire 4.0版本的设计,PTC公司推荐使用Visual Studio.NET 2005平台进行开发。
2.Pro/ENGINEER开发工具的对比分析
Pro/ENGINEER软件在提供强大的设计分析与制造功能的同时,也为用户提供了多种二次开发工具,常用的方式有Pro/Program(内置)、Pro/TOOLKIT、VB以及J-Link等。
在Pro/ENGINEER软件中,对于每一个模型都有一个Pro/Program,用于记录模型的主要涉及步骤和参数列表,其语言结构类似于BASIC高级语言。用户可以根据模型的设计要求来编辑该模型的程序,通过运行程序,系统可以通过良好的人机交互的方法来控制系统参数、特征是否显示、特征尺寸的大小等。该方式多用来开发齿轮、链轮、蜗轮蜗杆等复杂零件。
VB.NET是完全面向对象的编程语言,在它的完全模式下,实现了监听Pro/ENGINEER软件本身发出的各种消息的接口,因此也支持调用Pro/E的函数,向添加菜单、按钮等。
J-Link是Pro/ENGINEER软件自带的基于JAVA语言的二次开发工具,是一种面向对象独立于操作系统平台的应用程序接口,它封装了许多针对Pro/E底层资源调动的类库和程序包,用户可以使用来扩展Pro/E功能。
Pro/TOOLKIT是PTC公司专门定制的开发工具包,它提供了应用程序接口,使客户具有扩展Pro/E功能的能力。Pro/TOOLKIT使用面向对象风格的C语言编程,并且提供了用于底层资源调用的函数库和头文件,外部应用程序可以通过这些函数来访问Pro/E.另外,还可以利用Pro/TOOLKIT提供的UI对话框、菜单以及VC的可视化界面技术,设计出方便、实用、美观的人机交互界面,从而大大地提高了系统发的使用效率。
3.Pro/TOOLKIT工作模式的对比分析
Pro/TOOLKIT开发方式有两种工作模式:异步模式(Asynchronous)是在不需要启动Pro/E的情况下,就可以单独运行Pro/TOOLKIT应用程序的方式。但是相对来说该方式代码较为复杂,开发难度大以main()函数作为Pro/TOOLKIT应用程序的接口函数;同步模式(SynchronousMode)必须与Pro/E软件同时运行,能达到所见即所得的设计结果,相对开发比较容易;并且程序执行速度较快。在本次开发过程中,鉴于设计者并非专业程序设计人员,所以最终采用同步模式进行设计开发,比较容易上手。
在同步设计开发模式中,又分为动态链接模式(DLL模式)和多进程模式(Multiprocess)两种。多进程模式主要用于程序开发阶段以便程序的测试,但由于DLL模式运行比较快,所以程序开发完成后,最后转换为后者。
4.Pro/ENGINEER UI界面设计的对比分析
在本文的零件库的开发设计过程中,不仅有菜单的使用,还涉及UI对话框的设计以及零件的可视化表达等内容,因此,主要以Pro/Program和Pro/TOOLKIT作为主要对象加以对比分析。
用户界面对话框(User Interface Dialog Boxes,简称UI对话框)是Pro/TOOLKIT提供的一种交互界面设计工具。它能够按界面的布局编写对话框资源文件;针对UI对话框的功能编写相应的控制程序。该方式设计的UI界面和Pro/E的资源、设计风格相一致,人机交互界面风格有连贯性。但是这种利用文本文件设计的方式不能直观地反映界面的布局,设计、修改和调试比较困难。
另外采用Visual C++2005.NET与Pro/ENGINEER软件相匹配,就可以直接使用VC的面向对象的可视化集成变成系统,它具有程序框架自动生成、类别管理方便灵活,代码编写和界面设计的交互设计,3D控制界面等多种开发程式。MFC是VC++程序的界面设计开发方式,实现界面的可视化设计。
本文以直齿圆柱齿轮的参数界面设计为例,来加以对比分析。
采用Pro/Program方式,只是需要在【工具】菜单的模型【程序】
的头部,INPUT和END INPUT程序中间添加以下程序:Z NUMBER“请输入齿轮的齿数==”
… …就可以通过INPUT SEL列表来选择需要修改的参数名称,并在消息区根据提示输入新的尺寸,完成模型的修改。这种方式实现比较容易,但是人性化设计理念不强。
采用UI对话框方式进行如图所示的参数表设计,仍以齿数为例,则需要的部分程序如下:
可以看出虽然设计的界面更接近于Pro/E常用对话框的风格,但是设计语句较为复杂,实现难度较大。
使用MFC设计的对话框界面则较为容易,只需要使用Dialog对话框编辑器中的Static Text进行文字说明的编写,使用EditControl建立示例编辑框,即可完成上图界面的设计工作。需要注意的是,示例编辑框要想进行数值的传递,就必须通过【添加变量】来进行属性的编辑以及命名。其后的程序修改和调试工作也相对来说较为容易,为了实现齿数值得传递仅需要一下程序:
通过以上三种方式的对比分析,可以看到利用MFC实现对话框的设计以及参数的传递过程,相对来说比较容易,而且可视化程度高。
5.结论
本文通过市面上常用的Pro/ENGINEER开发方式入手,对比分析了Pro/Program和Pro/TOOLKIT界面设计方式的不同。从以上分析可以看出,虽然MFC的设计方式不是最简单易行的设计模式,但是其优秀的面向对象的设计方式,大大减少了开发的难度,也为更为复杂的人机交互方式提供了可能。
全部0条评论
快来发表一下你的评论吧 !