【毕业论文设计】基于ProE的齿轮模型库二次开发23578.doc
-
资源ID:2925542
资源大小:1.13MB
全文页数:47页
- 资源格式: DOC
下载积分:8金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
【毕业论文设计】基于ProE的齿轮模型库二次开发23578.doc
长 江 大 学 毕业设计(论文)题 目:基于Pro/E的齿轮模型库二次开发专 业: 机电一体化工程 姓 名: 王 慧 杰 指导教师: 田 东 亮 院系站点: 沙市职业大学 长江大学继续教育学院 2010年 5月 2日目 录1 引言11.1 CAD/CAM的发展现状11.2 课题的提出及意义21.3 预期功能31.4 本论文内容32 二次开发总体方案的确定42.1 二次开发语言(Pro/TOOLKIT)42.2 开发工具的确定42.3 开发环境62.3.1硬件开发环境62.3.2 软件开发环境62.4 工作模式的确定72.5 总体设计框架73 齿轮的参数化设计93.1 齿轮简介93.2 齿轮的参数化建模94 菜单与对话框的开发设计164.1 菜单的设计164.1.1 编写菜单信息资源文件174.1.2 编写菜单操作源程序184.1.3 注册运行244.2 对话框的设计254.2.1 编写对话框资源文件264.2.2 编写对话框操作源程序274.3 程序验证285 本设计任务所完成的零件清单30结论35致谢36参考文献37附录鉴定意见表38基于Pro/E的齿轮模型库二次开发摘要:本课题针对多种类型齿轮,提出基于Pro/E平台进行二次开发的一种可行方案。并且成功开发设计出能满足用户要求的齿轮模型库。本文首先简单介绍了与本课题相关的Pro/E二次开发功能,包括自定义菜单的生成、对话框的制作、Pro/TOOLKIT应用程序的执行。其次根据本课题的要求,分析了齿轮二次开发的整体设计思路。然后以直齿圆柱齿轮为例,较详细地说明了利用Pro/TOOLKIT及Visual C+6.0在Pro/E二次开发中的应用,并给出了测试实例。最后对开发的三维建模程序进行测试。结果表明:开发程序正确无误,建模迅速,大大提高了这类通用件在Pro/E平台上的设计效率。关键词:Pro/E、二次开发、齿轮模型库、Pro/TOOLKIT、Visual C+6.0The Secondary Development of Gear Parts Library Based on Pro/EAbstract:This article introduces a feasible method of secondary development based on Pro/E against some kinds of gears. And the gear parts library is successfully designed meet to the user requirements.Firstly, this article simply introduces the secondary development functions of Pro/E referring to this task which includes the creation of menu, the creation of the dialogue, the Pro/TOOLKIT procedure execution. Then the precept to the overall design way of gear secondary development is analyzed. With an example of a round cross-section helical compression gear in detail, it particularly describes the application of Pro/TOOLKIT and Visual C+6.0 in the secondary development base on Pro/E, and test examples. At last, the test of all process of three-dimension-part-model driven by database is performed indicates that the program is right, and the mold can be set up quickly. The efficiency for the design of interchangeable part based on Pro/E can be increased.Keywords: Pro/E、Secondary Development、Gear parts library、Pro/TOOLKIT、Visual C+6.01 引言1.1 CAD/CAM的发展现状CAD/CAM技术作为电子信息技术的重要组成部分,其应用已遍及各个工程领域,是工程设计、产品制造业界的一场革命。经过四十多年的发展,CAD/CAM技术有了长足的进步。以前CAD/CAM技术大都是在工作站平台上运行和开发,随着计算机水平的大幅提高,目前CAD/CAM软件均可以在微机上运行。微机平台为普及CAD的应用创造了绝好的条件。在此基础上,CAD/CAM软件厂商展开了新一轮的竞争。目前CAD/CAM软件动态如下: Unigraphics(UG)UG是UnigraphicsSolutions公司的拳头产品。该公司首次突破传统CAD/CAM模式,为用户提供一个全面的产品建模系统。在UG中,优越的参数化和变量化技术与传统的实体、线框和表面功能结合在一起,这一结合被实践证明是强有力的,并被大多数CAD/CAM软件厂商所采用。 SOLIDEDGESOLIDEDGE是真正Windows软件。它不是将工作站软件生硬地搬到Windows平台上,而是充分利用Windows基于组件对象模型(COM)的先进技术重写代码。SOLIDEDGE与MicrosoftOffice兼容,与Windows的OLE技术兼容,这使得设计师们在使用CAD系统时,能够进行Windows下字处理、电子报表、数据库操作等。SOLIDEDGE具有友好的用户界面,它采用一种称为SmartRibbon的界面技术,用户只要按下一个命令按钮,既可以在SmartRibbon上看到该命令的具体的内容和详细的步骤,同时在状态条上提示用户下一步该做什么。SOLIDEDGE是基于参数和特征实体造型的新一代机械设计CAD系统,它是为设计人员专门开发的,易于理解和操作的实体造型系统。 AutoCADAutoCAD是Autodesk公司的主导产品。Autodesk公司是世界第四大PC软件公司。目前在CAD/CAE/CAM工业领域内,该公司是拥有全球用户量最多的软件供应商,也是全球规模最大的基于PC平台的CAD和动画及可视化软件企业。Autodesk公司的软件产品已被广泛地应用于机械设计、建筑设计、影视制作、视频游戏开发以及Web网的数据开发等重大领域。AutoCAD是当今最流行的二维绘图软件,它在二维绘图领域拥有广泛的用户群。AutoCAD有强大的二维功能,如绘图、编辑、剖面线和图案绘制、尺寸标注以及二次开发等功能,同时有部分三维功能。在许多实际应用领域(如机械、建筑、电子)中,一些软件开发商在AutoCAD的基础上已开发出许多符合实际应用的软件。 Pro/EngineerPro/Engineer系统是美国Param etric Technology Corporation(简称PTC)的产品。PTC公司提出的单一数据库、参数化、基于特征、全相关的概念改变了机械CAD/CAE/CAM的传统观念,这种全新的概念已成为当今世界机械CAD/CAE/CAM领域的新标准。利用该概念开发出来的第三代机械CAD/CAE/CAM产品Pro/Engineer软件能将设计至生产全过程集成到一起,让所有的用户能够同时进行同一产品的设计制造工作,即实现所谓的并行工程。Pro/Engineer系统主要功能如下:(1)真正的全相关性,任何地方的修改都会自动反映到所有相关地方;(2)具有真正管理并发进程、实现并行工程的能力;(3)具有强大的装配功能,能够始终保持设计者的设计意图;(4)容易使用,可以极大地提高设计效率。Pro/Engineer系统用户界面简洁,概念清晰,符合工程人员的设计思想与习惯。整个系统建立在统一的数据库上,具有完整而统一的模型。Pro/Engineer建立在工作站上,系统独立于硬件,便于移植。因此,本开发利用Pro/Engineer为平台对齿轮进行二次开发。1.2 课题的提出及意义产品的三维设计离不开CAD/CAM系统的支持,具有技术成熟、功能强大的Pro/ENGINEER参数化造型系统在设计和制造业中引起了人们的重视,并得到了日益广泛的应用。Pro/ENGINEER提供了强大的三维几何造型功能,使我们能够创建出各种复杂的几何模型,作为通用的三维CAD/CAM系统在功能上基本能够满足产品三维设计要求,但有时这些功能并不能满足我们的需求。例如标准零件系列,它们的结构都是相同的,区别只在于尺寸,如果标准零件系列都通过三维建模的方式来实现,那么工作量将非常巨大。虽然Pro/ENGINEER自身也有一些模型库,但是这远远满足不了用户的要求。因此,也就有了本课题研究开发的必要。机械产品的开发过程中会用到大量的通用零件、标准件、相似件。如何建立这些常用零部件的库,利用已有的资源,花费较少的时间完成产品设计是用户非常关心的问题。建立这些通用件、标准件、相似件零件库作为一项可行方案,一方面可以避免不同设计者的重复劳动,提高设计效率,提高设计的标准化程度,减少错误发生率,缩短产品开发周期;另一方面还可以基于该软件的三维实体模型进行更深层次的分析(如有限元分析等),以确保机械设计结果安全可靠。综上,对某些特殊零件进行二次开发是非常有必要的。因此也就有了本课题的提出。 1.3 预期功能如今,虽然绘图软件很多,而且建模方法也越来越智能,易学易懂。但是有些模型,具有相似性和通用性,如标准件,常用件等。如果每用一次都要建一次模型,那么将会大大延长设计周期,如此繁琐而重复的步骤,将给设计者带来不必要的负重。本课题将通过参数化建模,解决这一问题。用户只需正确选择或输入零件相关参数,Pro/E便能自动生成用户所需的模型,这样大大缩短了开发设计的时间,提高了零件的结构设计效率。1.4 本论文内容在本课题中,主要是基于Pro/E或UG为二次开发平台,实现高效快速的参数化齿轮建模。本人负责齿轮模块的二次开发设计。本文首先简单介绍了一些绘图软件特别是Pro/ENGINEER的现状,说明了研究本课题的必要性以及重 要性;其次介绍了一些Pro/ENGINEER二次开发工具;接着确定本二次开发的总体方案;最后详细地介绍了对齿轮进行二次开发的全过程。本文的重点在于对齿轮进行二次开发的部分。对齿轮的设计将包含以下内容: 齿轮的参数化建模; 设计齿轮菜单及对话框(其中包含实现对话框上各按钮的功能的相应程序); 检验设计是否能达到预期功能。2 二次开发总体方案的确定2.1 二次开发语言(Pro/TOOLKIT)Pro/TOOLKIT是美国Parametric Technology Corporation(PTC)公司为Pro/ENGINEER软件提供的开发工具包,其主要目的是让用户或第三方通过C程序代码扩充Pro/ENGINEER系统的功能,开发基于Pro/ENGINEER系统的应用程序模块,不仅如此,还可以利用Pro/TOOLKIT提供的UI对话框、菜单以及VC的可视化界面技术,设计出方便实用的人机交互界面,从而大大提高系统的使用效率。Pro/TOOLKIT是Pro/ENGINEER的一个应用程序接口(API),它的编程语言是C语言,可以对Pro/ENGINEER进行功能扩展,满足PTC客户的特定需求。而且,Pro/TOOLKIT提供了定制标准Pro/ENGINEER用户界面的能力,自动执行重复性的程序,通过Pro/ENGINEER集成的内部程序(Dll)或外部应用程序(Exe)可以为造型用户提供自定义的应用程序、设计规划和绘图自动化。Pro/TOOLKIT工具包提供了开发Pro/ENGINEER所需的函数库文件和头文件,使用户编写的应用程序能够安全地控制和访问Pro/ENGINEER,并可以实现应用程序模块与Pro/ENGINEER系统的无缝集成。Pro/TOOLKIT工具包是随Pro/ENGINEER安装盘一起提供的,安装时在“元件”列表框中选中“API Toolkits”复选框,并在“子元件”列表框中选中“Pro/TOOLKIT”复选框,这样将在Pro/ENGINEER系统的默认目录下自动创建两个下级目录:protoolkit和prodevelop。Pro/TOOLKIT采用面向对象的程序设计方法(Object_Oriented Programming)。在Pro/ENGINEER和应用程序之间主要是通过特定的数据结构来传递信息,以应用程序来说这种数据结构并不是直接访问的,而只能通过Pro/TOOLKIT提供的函数来访问。2.2 开发工具的确定Pro/ENGINEER软件本身自带了一些二次开发工具,如族表工具、用户定义特征(UDF)、Pro/Program、J-link、Pro/Toolkit等。以下简单介绍上述几种二次开发工具:族表(Family Table)通过族表可以方便地管理具有相同或相近结构的零件,特别适用于标准零件的管理。族表工具是通过建立一个通用零件作为父零件,然后在其基础上对各参数加以控制生成派生零件。整个族表是通过电子表格来实现的,因此可以称其为表格驱动。用户定义特征(UDF)用户定义特征是将若干个系统特征整合为一个自定义特征,使用时作为一个整体出现。UDF适用特定产品的特定结构,有利于设计者根据产品特征快速生成几何模型。 Pro/ProgramPro/ENGINEER软件对于每个模型都有一个主要设计步骤和参数列表Pro/Program,它是由类似BASIC的高级语言构成,用户可以根据设计需要来编辑该模型的Program,使其以一个程序来工作。通过运行该程序,系统通过人机交互的方法来控制系统参数、特征出现与否以及特征的具体尺寸等。 J-linkJ-link是Pro/ENGINEER中自带的基于JAVA语言的二次开发工具,是一种面向对象、独立于操作系统平台的开发工具。用户通过JAVA编程实现向Pro/ENGINEER软件添加功能。 Pro/TOOLKITPro/TOOLKIT同J-link一样也是Pro/ENGINEER自带的二次开发工具。在Pro/TOOLKIT中,PTC向用户提供了大量的C语言函数库,函数采用面向对象的风格。通过调用这些底层函数,用户能方便而又安全地访问Pro/ENGINEER的数据库及内部应用程序,进行二次开发,扩展一些特定功能。上述各种二次开发工具集中在Pro/ENGINEER的“工具”菜单中,如图2-1所示。其中“辅助应用程序”主要用来调用Pro/TOOLKIT程序。 图2-1开发工具由于Pro/TOOLKIT具有函数简单,应用方便等优点,本课题将使用Pro/TOOLKIT进行二次开发研究。2.3 开发环境开发环境包括两部分:即硬件开发环境和软件开发环境。2.3.1硬件开发环境本课题是基于Pro/Engineer Wildfire2.0的二次开发,因此只要能够安装支持Pro/E Wildfire2.0版本即可。建议配置如表2-1所示。表2-1 计算机配置项目推荐配置CPU1.6GHz以上(建议2.0GHz)内存512MB以上(建议1G)显卡显存32MB以上,推荐使用Geforce4以上的显卡网卡必须安装网卡(或使用虚拟网卡)2.3.2 软件开发环境操作平台:WindowsXP/Vista/Win7;开发平台:Pro/ENGINEER Wildfire2.0;开发语言:Visual C+6.0。 2.4 工作模式的确定Pro/TOOLKIT应用程序有两种工作模式:异步模式和同步模式。异步模式无需启动Pro/ENGINEER,就能够单独运行Pro/TOOLKIT应用程序的方法叫异步模式。异步模式实现了两个程序的并行运行,可以只在程序需要调用Pro/ENGINEER功能时,才启动Pro/ENGINEER。但由于异步模式具有代码复杂、执行速度慢等缺点,因此一般不采用异步模式。同步模式同步模式下,Pro/TOOLKIT应用程序必须与Pro/ENGINEER系统同步运行。同时,当Pro/TOOLKIT应用程序执行时,Pro/ENGINEER系统是处于停止状态的。同步模式又分为两种模式,即动态连接模式(DLL模式)和多进程模式(Multiprocess Mode)。动态连接模式是将用户编写的C程序编译成一个DLL文件,这样Pro/TOOLKIT应用程序和Pro/ENGINEER运行在同一个进程中,它们之间的信息是直接通过函数调用实现的。多进程模式是将用户的C程序编译成一个可执行文件,Pro/TOOLKIT应用程序和Pro/ENGINEER运行在各自的进程中,它们之间的信息交换是由消息系统来的。由于本设计任务要求运行Pro/ENGINEER时,所设计零件能自动嵌入到Pro/ENGINEER菜单上,兼之动态连接模式(DLL模式)又较为简单,运行速度比较快,因此本设计开发将采用同步模式中的动态连接模式,即DLL模式。2.5 总体设计框架本二次开发是基于Pro/ENGINEER的关于齿轮的参数化设计。设计的对象是齿轮。本任务将设计多种类型的齿轮,要求用户只需选择或输入相关参数,就能自动生成所需的齿轮零件。齿轮的类型非常多,这里将其分为两大类:圆柱螺旋齿轮和非圆柱螺旋齿轮。圆柱螺旋齿轮又分为圆截面圆柱螺旋压缩齿轮、矩形截面圆柱螺旋压缩齿轮、圆柱螺旋拉伸齿轮、圆柱螺旋扭转齿轮等;非圆柱螺旋齿轮分为截锥螺旋齿轮、中凹形螺旋齿轮、中凸形螺旋齿轮、非圆形螺旋齿轮等各类。本开发的总体设计流程如图2-2所示,调用响应图如图2-3所示。建立开发目录设计菜单设计对话框打开VC6.0+新建工程Pro/toolkit编程与Pro/E连接调试通过图2-2 总体设计流程图启动Pro/E自动加载菜单选择自定义菜单选择所需零件调用对话框输入设计参数生成实体模型退出程序图2-3 程序调用响应图3 齿轮的参数化设计3.1 齿轮简介齿轮是应用最广的一种机械传动零件,具有结构紧凑、传递动力大、效率高、寿命长、可靠性好和传动比准确等特点。齿轮的精密锻压技术由于其显著优点;正日益受到各国研究人员的重视,得到了蓬勃发展。齿轮理论和制造工艺的发展将是进一步研究轮齿损伤的机理,这是建立可靠的强度计算方法的依据,是提高齿轮承载能力,延长齿轮寿命的理论基础;发展以圆弧齿廓为代表的新齿形;研究新型的齿轮材料和制造齿轮的新工艺; 研究齿轮的弹性变形、制造和安装误差以及温度场的分布,进行轮齿修形,以改善齿轮运转的平稳性,并在满载时增大轮齿的接触面积,从而提高齿轮的承载能力。齿轮应用广泛,种类很多按齿廓曲线可分为渐开线齿轮、摆线齿轮、圆弧齿轮等。按外形可分为圆柱齿轮、锥齿轮、非圆齿轮、齿条、蜗杆-蜗轮等;按轮齿所在的表面可分为外齿轮和内齿轮;按齿线形状可分为直齿轮、斜齿轮、人字齿轮、曲线齿轮等。按制造方法可分为铸造齿轮、切制齿轮、轧制齿轮、烧结齿轮等。现代工业生产系统中普遍使用齿轮装置。齿轮传动是机械传动的重要装置,具有质量小、体积小、传动比大和效率高等优点,己广泛地应用于汽车、船舶、机床、矿山冶金等领域,它几乎适用于一切功率和转速范围。目前齿轮传动技术已成为世界各国机械传动发展的重点之一。3.2 齿轮的参数化建模直齿圆柱齿轮应用最为广泛,如车辆的驱动齿轮、机床主轴箱内的齿轮、机械表内部齿轮等都是这些齿轮。软齿面的齿轮承载能力较低,但制造比较容易,跑合性好, 多用于传动尺寸和重量无严格限制,以及小量生产的一般机械中。因为配对的齿轮中,小轮负担较重,因此为使大小齿轮工作寿命大致相等,小轮齿面硬度一般要比大轮的高 。下面以直齿圆柱齿轮为例,介绍说明齿轮的参数化建模过程。1、基于Pro/Engineer的标准渐开线直齿圆柱齿轮三维模型的建立(1).打开Pro/ENGINEER软件,新建一个零件,命名为“gear.prt”,不使用缺省模板,选择“mmns_part_solid”,进入零件设计环境。(2).选取主菜单中的【工具】【参数】命令,弹出“参数”对话框,如图3-1所示,单击“”按钮,添加四个参数m、z、alfa、b,m表示齿轮模数,z表示齿轮的齿数,alfa表示齿轮的压力角,b则表示齿轮的宽度。并预先设置各参数的值。如m=3,z=46,alfa=20,b=15。单击“确定”按钮。如图3-1所示。图3-1 参数设置图(3).选取【工具】【关系】命令,弹出“关系”对话框。输入如图3-2所示关系,点击确定;图3-2 关系设置图(4).选取主菜单中的【插入】【模型基准】【曲线】【从方程】,弹出记事本对话框,在该对话框中输入如图3-3所示的笛卡尔坐标系下的渐开线方程,保存关闭,最后完成确定,生成所需的渐开线,如图3-4所示。图3-3 生成渐开线图3-3 渐开线方程图3-4 渐开线图形由图3-4【提交】【完成】得到图3-5生成渐开线3(如图3-5所示): 图3-5齿轮基本曲线和齿廓曲线图(5)第一个齿槽特征创建执行“Edit/Feature Operations/Copy”命令,轴旋转360、(4*ZS)角度生成渐开线1。将渐开线3绕坐标系Z 执行“Edit/Feature Operations/Copy”命令,将渐开线1以通过坐标原点和渐开线3与分度圆的交点的基准线为中心镜像生成渐开线2。 执行“Insert/Extrude/cut”命令,以渐开线1、2及齿根圆曲线为边界切出第一个齿槽(由于基圆内没有渐开线,所以基圆内的部分可以由一段圆弧代替)。(6)完成齿轮创建 执行“Edit/Feature Operations/Copy”命令将第一个齿槽绕Z轴旋360/ZS角度生成第二个齿槽。 执行“Edit/Pattern”命令复制出其他齿槽,完成齿轮的创建(如图3-6所示): 图3-6初始齿轮模型2、齿轮参数化设计程序的修改齿轮创建完成后,系统会产生一串program,执行”Tools/Program/Edit Eesign”命令,系统就会自动打开其program文件,内容大致如下:VERSIONREVNUM 2323LISTING FOR PART GEARINPUTEND INPUTRELATIONSD=MS*ZSDB=MS*ZS*COS(ALFA)DA=MS*(ZS+2*HA)DF=MS*ZS-2*MS*(HA+C)B=K*DEND RELATIONSADDFEATURE(initial number 1)INTERNAL FEATURE ID 1DATUM PLANENO. ELEMENT NAME INFO- - -1 Feature Name Defined2 Constraints Defined2.1 Constraint#1 Defined2.1.1 Constr Tye X Axis3. Flip Datum Dir Defined4 Fit Defined4.1 fit Tye Defaykt.(1) 此时在”INPUT”和”END INPUT”之间输入基本参数语句和提示语句:ZS NUMBER“Please enter the num_teeth of the gear:”MS NUMBER“Please enter the module number of the gear:”ALFA NUMBER“Please enter the pressure_ang:”K NUMBER“Please enter the width_coefficient of the gear:” (2)在”RELATIONS”和“END RELATIONS”之间输入关系语句:D1=DA/2D2=BD3=DFD4=DBD5=DD16=BD25=BD7=360/(4*ZS) /*渐开线3旋转角度D18=360/ZS /*第二齿槽旋转角度D27=360/ZS /*阵列增量尺寸D28=ZS-1 /*阵列个数3.齿轮参数化设计程序的运行 当编辑完参数化程序后保存文件,关闭文字编辑器,Pro/Engineer信息列会出现提示信息:”Do you want to incorporate your changes into the model?”Menu Manager INPUT SEL ZS MS ALFA K Select All Unsel All Done Sell Quit Sell 图3-7 INPUT SEL 菜单 此时选择”YES”按钮,系统出现”GET INPUT”菜单,点击”ENTER”,就会出现如图3-7所示的”INPUT SEL”菜单,选择齿数项和模数项,根据信息列提示输入齿数30和模数2.5即可得到图3-8所示的齿轮: 图3-8派生的齿轮模型再次执行”Edit/Regenerate”命令,Pro/Engineer会自动执行参数化设计程序,弹出图3-7所示的菜单,用户可选择齿数,模数,压力角和齿宽系数并输入新的参数,系统就会按用户输入的新值自动生成新的齿轮。将所建齿轮模型均存放在textchinese_cnparts目录下。 4 菜单与对话框的开发设计4.1 菜单的设计菜单是Pro/ENGINEER的主要用户界面。Pro/TOOLKIT提供了一系列菜单操作函数,允许应用程序创建和管理菜单。Pro/ENGINEER菜单包括菜单栏、菜单、菜单项(按钮)、筛选按钮、单选按钮等等,如图4-1示。 图4-1 菜单种类Pro/TOOLKIT可以向Pro/ENGINEER菜单中添加上述类型的菜单。添加菜单的大致过程如下:编写信息资源文件(信息资源文件用于提供菜单的标签文本和帮助信息);使用Pro/TOOLKIT的函数编写源程序,给菜单按钮设置调用函数(动作函数);注册运行程序。下面介绍菜单的相关术语:l 菜单条(Menu bar)Pro/ENGINEER界面顶部菜单栏中的菜单,如File、Edit和View等均称为菜单条;l 菜单条菜单(Menu bar menu)菜单条的下级子菜单。即多层菜单的次级菜单;l 菜单的按钮(Push button)下拉菜单中用来启动一组指令的菜单项,如File菜单条中的Edit按钮;l 菜单的复选按钮(Check button)下拉菜单中用来执行开关动作的菜单项,如View菜单条中的Model Tree(模型树) 显示或关闭菜单项;l 菜单的单选按钮组(Radio group)下拉菜单的一组选项中只能设置其中一项的菜单项;l 命令(Command)从菜单条或工具栏图标激活的一个执行过程;l 命令标识号(Command id)指向某一命令的指针。一般作为Pro/TOOLKIT函数的输入参数;l 动作命令(Action command)启动菜单按钮执行的一组指令;l 选项命令(Option command)基于界面元素的状态执行的一组指令。该命令由菜单筛选按钮和菜单单选按钮组启动。本设计要求所设计的菜单风格与Pro/ENGINEER一致,即将菜单添加到Pro/ENGINEER的菜单栏,在其下拉菜单项菜单中要求有各种类型的齿轮,每种类型齿轮的下级子菜单中包含其相应的齿轮类型,如圆柱螺旋齿轮包括圆截面圆柱螺旋压缩齿轮、圆柱螺旋拉伸齿轮等。 4.1.1 编写菜单信息资源文件信息资源文件用于提供菜单的标签文本(包括其他语言版本的标签)和帮助信息,如果要向Pro/ENGINEER中添加菜单,就必须使用信息资源文本,否则所添加的菜单不会在Pro/ENGINEER菜单栏中出现。信息资源文件是一种ASCII码文件,用来定义菜单项、菜单项提示等信息,可以用记事本和写字板等文字处理软件建立,也可在VC的集成开发环境中建立,但必须与纯文本格式保存。在信息文件中以4行为一组,其含义为:第1行:Pro/ENGINEER系统可以识别的关键字。该关键字必须与使用该信息文件函数中的相关字符串相同。第2行:在菜单项或菜单项提示上显示的英语文本。第3行:另一种语言的译文或为空。这里为中文。第4行:当前的Pro/ENGINEER版本为空,“#”号。按第2行或第3行的语言取决于系统环境变量lang的设置。本设计中将向Pro/ENGINEER界面的顶部菜单栏中添加一个名为“毕业设计”的Menu bar类型的菜单,下属一个菜单项:齿轮参数化建模。图4-2 “齿轮”菜单图4-2所示英文菜单的资源文件如下:Design Design # # Gear Gear # # Hello Pro_E Hello! This is a Pro/TOOLKIT develop. # 图4-2所示中文菜单的资源文件如下:Design Design 毕业设计# Gear Gear 齿轮参数化建模 # Hello Pro_E 基于Pro/TOOLKIT的齿轮二次开发程序!# #在记事本编辑完以上资源后,保存为纯文本格式(.txt),并且命名为Message。将Message.txt文件存放在textchinese_cn目录下。4.1.2 编写菜单操作源程序编写完菜单信息资源文本后,还须使用Pro/TOOLKIT提供的菜单操作函数来实现每个菜单的功能,即编写菜单项菜单的动作函数。具体设计步骤如下:(1) 进入Visual C+6.0集成开发环境,选择“File/New.” 荭选项,启动 “New”对话框。在“New”对话框中选择“Projects”选项卡,选择MFC AppWizard(dll)项。在“Project name:”输入工程文件名“gear”,在“Location”输入框中输入路径。单击OK按钮。(2) 在“MFC AppWizard”对话框中选择“Regular DLL using shared MFC DLL”单选框,使Pro/TOOLKIT应用程序使用共享的MFC。单击Finish按钮,进入New Project Information窗口后,单击OK按钮,完成工程文件框架的建立。(3) 选择FileView,打开VC应用程序向导自动生成程序文件。VC应用程序设计向导在FileView中自动加入了ReadMe.txt、StdAfx.cpp和以工程文件名为前缀的cpp资源文件、def模块定义文件以及rc资源文件等。在VC环境下编写完程序后,需要对其进行编译和连接,包括文件路径的设置、库文件路径设置、库文件的连接等。Pro/TOOLKIT头文件位于protoolkitincludes文件夹中。在Visual C+6.0的集成开发环境选择Tools/Options菜单,在弹出的“Option”对话框中选择“Directorise”选项卡,在“Show directories for:”下拉列表框中选择“Includes”,加入“.PROTOOLKITINCLUDES”一项,设置Pro/TOOLKIT头文件所在文件夹,如图4-3所示。图4-3 包含文件路径设置在“Show Directorise for:”下拉列表中选择“Library files”,加入“.PROTOOLKITI486_NTOBJ”一项,设置如图4-4。图4-4 库文件路径设置选择Project/Settings.菜单,选择“Link”选项卡,在“Category:”下拉列表中选择General,在“Object/Library modules”下加入mpr.lib protk_dll.lib两个库文件,并且去掉“Generate debug into”和“Link incrementaily”两个选项。具体设置如图4-5。图4-5 库文件设置在菜单Project/Settings的“Link”选项页中选择Category下拉列表中的“Customize”设置强制文件输出,即选中“Force file output”的复选框,如图4-6所示。由protk_dll.lib及LIBC.lib产生的unresolved external symbol连接错误均可忽略,并可生成在Pro/ENGINEER系统正常运行的Pro/TOOLKIT应用程序。由于连接protk_dll.lib及LIBC.lib库产