基于Pro/E二次开发的界面设计与对比分析

2013-01-26 03:20西安航空职业技术学院宋育红龚小涛武欣竹谢贺年
电子世界 2013年19期
关键词:界面设计二次开发对话框

西安航空职业技术学院 孔 琳 宋育红 龚小涛 武欣竹 谢贺年

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应用程序的接口函数;同步模式(Synchronous Mode)必须与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对话框方式进行如图所示的参数表设计,仍以齿数为例,则需要的部分程序如下:

(Dialog spus

(Components … …)

可以看出虽然设计的界面更接近于Pro/E常用对话框的风格,但是设计语句较为复杂,实现难度较大。

使用MFC设计的对话框界面则较为容易,只需要使用Dialog对话框编辑器中的Static Text进行文字说明的编写,使用Edit Control建立示例编辑框,即可完成上图界面的设计工作。需要注意的是,示例编辑框要想进行数值的传递,就必须通过【添加变量】来进行属性的编辑以及命名。其后的程序修改和调试工作也相对来说较为容易,为了实现齿数值得传递仅需要一下程序:

ProParameterInit(&item,L”Z”,¶m1);//初始化参数

x=GetDlgItemInt(IDC_EDIT1);//读取对话框

ProParamvalueSet(&value1,&c_dZ,PRO_PARAM_INTEGER);//为变量赋值

ProParameterValueSet(¶m1,&value1);//设置参数的值

… …

通过以上三种方式的对比分析,可以看到利用MFC实现对话框的设计以及参数的传递过程,相对来说比较容易,而且可视化程度高。

5.结论

本文通过市面上常用的Pro/ENGINEER开发方式入手,对比分析了Pro/Program和Pro/TOOLKIT界面设计方式的不同。从以上分析可以看出,虽然MFC的设计方式不是最简单易行的设计模式,但是其优秀的面向对象的设计方式,大大减少了开发的难度,也为更为复杂的人机交互方式提供了可能。

[1]王文波.Pro/E 4.0二次开发实例解析[M].清华大学出版社,2010.

[2]Ivor Horton.Visual C++ 2005入门经典[M].清华大学出版社,2007.

[3]沈斌,麻连荣,宫大.基于Pro/E二次开发的零件参数化设计技术[J].机械设计与制造,2007(1):40-42.

[4]房丽娜,郭培全.Pro/E二次开发与应用[J].济南大学学报(自然科学版),2007,21(2):157-160.

[5]张继春.Pro/E二次开发实用教程[M].北京大学出版社,2003.

猜你喜欢
界面设计二次开发对话框
中医养生APP界面设计
“共享员工”平台界面设计
中国传统元素在界面设计中的应用
面向智能手机的UI界面设计
浅谈基于Revit平台的二次开发
正常恢复虚拟机
浅谈Mastercam后处理器的二次开发
Bootlace Worms’Secret etc.
What Is Beauty?
西门子Easy Screen对倒棱机床界面二次开发