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

来源 :电子世界 | 被引量 : 0次 | 上传用户:youngyyw
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】本文是在Pro/E Wildfire环境下,利用相关开发工具:Pro/TOOLKIT以及VS.NET2005的相关功能来设计标准零件库的UI界面,使得使用者能方便地查找模型。并以齿轮为例对常用的界面开发方式进行了对比分析。
  【关键词】Pro/Program;VS.NET;Pro/TOOLKIT;MFC
  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 … …)
  (Layout GearLayout
  (Components
  (Label teethnumlabel)
  (InputPanel teethnum)
  … … )   (Resources
  (teethnumlabel.Label “齿数”)
  (teethnumlabel.TopOffset 4)
  (teethnumlabel.BottomOffset 4)
  (teethnumlabel.LeftOffset 4)
  (teethnumlabel.RightOffset 4)
  (teethnum.InputType 2)
  (teethnum.TopOffset 4)
  (teethnum.BottomOffset 4)
  (teethnum.LeftOffset 4)
  (teethnum.RightOffset 4)
  (teethnum.Columns 6)
  … …
  (.Label “输入参数”)
  (.Decorated True)
  (.Layout
  (Grid (Rows 1 1 1 1) (Cols 1 1)
  teethnumlabel
  teethnum
  … … )
  可以看出虽然设计的界面更接近于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.
  基金项目:2013年度西安航空职业技术学院自选科研课题立项项目(项目编号:13XK-ZY005)
  作者简介:
  孔琳(1982—),女,2007年毕业于景德镇陶瓷学院并取得硕士学位,2012年西安理工大学博士研究生在读,助教,现供职于西安航空职业技术学院航空制造工程系计算机辅助设计与制造教研室。
其他文献
【摘要】随着经济的发展和科技的进步,建设智能电网对电力系统的发展越来越重要,我国目前还处在初级阶段。本文对智能电力设备的发展特点进行了简单论述,提出了智能电力设备发展需要的重点技术,分析了其影响及作用,并提出了一些意见。  【关键词】智能电网;电力设备;电力技术  引言  现如今,随着经济的快速发展,能源逐渐紧张,逐渐成为制约经济的桎梏,而智能电网的电力生产技术能够为此提供一定的解决方法。但是,从
【摘要】本文阐述了在全矿井综合自动化系统平台下分控中心的设计,并结合子系统和使用部门设计四个分控中心,以及分控中心的控制流程设计。  【关键词】分控中心;全矿井综合自动化平台;流程设计  1.概述  全矿井综合自动化平台是实现安全、生产各环节参数的自动接入与汇总处理,并能实现智能化控制方案形成,对现场子系统进行调控的平台。为了更好的实现全矿井综合自动化平台的控制管理,通过专业分控中心实现对关联系统
针对NGN的网络体系结构和业务特点,在深入分析下一代网络QoS技术的基础上,阐述了VOIP网络中QoS的主要模型和关键技术,并以模拟实验为依据比较了各种QoS的控制策略,从系统的角度出
目前各大中城市出租车行业都已普及自动计价器,受现行交通压力的影响,各个城市都出现打车难现象,如何才能在不增加现有车辆的情况下,合理的利用出租车资源,成为乘客与司机共同关心