基于ProE二次开发的标准件库_第1页
基于ProE二次开发的标准件库_第2页
基于ProE二次开发的标准件库_第3页
基于ProE二次开发的标准件库_第4页
基于ProE二次开发的标准件库_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

诚信声明 本人郑重声明:本论文及其研究工作是本人在指导教师的指导下独立完成的,在完成论文时所利用的一切资料均已在参考文献中列出。 本人签名: 年 月 日 基于Pro/E二次开发的标准件库摘要:本文研究以Pro/E二次开发工具Pro/TOOLKIT和Visual Studio 2005设计开发一套包括弹簧、齿轮、轴承三大类零件的通用零件库系统,实现了Pro/E环境下这三大类零件的快速参数化的自动建模。系统将通用零件库分为三类,使用 Pro/E建模和关系式,建立各种通用件的参数化模型数据库,编程调用数据库文件和利用Pro/TOOLKIT提供的UI对话框存储各种通用件的参数初始值,或用户手动输入参数来实现各通用件特征的自动建模。关键词:零件库,Pro/TOOLKIT,二次开发,参数化设计General Parts Librarys Secondary Development Based on Pro/EAbstract:Based on Pro/E, this paper designs and develops a general parts library system including three categories of parts : springs, gears, bearings using the secondary development tool Pro/TOOLKIT and Visual Studio 2005 to achieving the three kinds of parts fast automatic modeling of parameterized in Pro/E environment . The system divides general parts library into three categories, establish all kinds of interchangeable parts parameterized model database and programming calls to the database file with using Pro/E model and relational expression. Besides, this system takes advantage of the UI dialog box provided by Pro/TOOLKIT to store all kinds of interchangeable parts parameter initial value. or a user inputs parameters manually to realize each part characteristicsautomatic modeling .Keywords: Parts library, Pro/TOOLKIT, Secondary development, Parametric designII目 录1前 言11.1常用标准件库基本原理11.2三维CAD技术21.2.1 CAD技术的发展主要阶段21.2.2 CAD 技术的发展趋势31.3零件库的发展及其研究现状41.4二次开发的提出及主要研究内容61.4.1二次开发背景及意义61.4.2主要研究内容72开发环境及相关技术92.1 CAD平台的选取92.1.1 Pro/Engineer软件简介92.1.2开发平台的选取92.2 Pro/TOOLKIT二次开发基础92.2.1 Pro/TOOLKIT简介92.2.2 Pro/TOOLKIT的安装103自定义菜单与用户对话框设计123.1 Pro/TOOLKIT开发过程123.1.1安装VS插件Pro/TK Tools123.1.2新建工程133.1.3设置包含文件和库文件143.1.4 编写注册文件153.1.5程序的运行与卸载163.2自定义菜单常用函数193.2.1菜单栏菜单的添加203.2.2菜单按钮的添加213.2.3下级菜单的添加233.3自定义菜单设计243.4 UI对话框基本知识253.4.1资源文件及格式253.4.2主要函数介绍273.4.3 UI对话框元件293.4.4 UI对话框属性及相关函数303.5直齿轮UI对话框实例314零件参数化建模394.1渐开线的几何分析394.2直齿圆柱齿轮的建模过程405零件库系统设计555.1零件库系统整体设计555.2直齿轮的参数化自动建模的实现575.2.1调出UI对话框575.2.2控件编程605.2.3生成不同结构形式的直齿轮615.2.4更新设置新参数655.3实例演示675.3.1零件库使用方法685.3.2部分零件展示70结 论74参考文献75致 谢7677太原工业学院毕业设计1前 言1.1常用标准件库基本原理根据标准件的相似性原理 ,确定能够完整表示该系列标准件所有零件特征的复合零件 ,根据该复合零件可以派生出此系列标准件中的任一个零件。复合零件是在 pro/ E 环境下创建的三维零件模型 ,也称之三维零件样板。在三维零件样板的基础上确定一组设计参数来控制零件的形状和拓扑关系 ,并建立零件族设计参数的系列尺寸 ;通过讯则不同的系列尺寸来自动生成零件的三维模型1 ,从而实现常用标准件库的创建。例如;直齿轮 创建参数化齿轮的过程相对复杂,其中涉及到许多与齿轮有关的参数以及关系式。(1)创建基本圆 用草绘曲线的方法,创建分度圆、基圆、齿顶圆、齿根圆这四个齿轮的基本圆,圆的大小用事先设置好的参数来控制。(2)创建渐开线前面已经分析了渐开线方程的相关知识,这里用从方程来生成渐开线的方法,创建渐开线。(3)镜像渐开线在适当位置创建一个平面,然后该平面为参照,镜像已经创建好的渐开线,并用关系式来控制镜像平面的尺寸约束。(4)拉伸形成实体这是创建齿轮的关键步骤,以齿根圆和渐开线为参照,用拉伸的方法创建包括齿轮的齿根圆实体和齿轮的一个齿形实体。(5)阵列轮齿将创建的齿形实体进行阵列,完成齿轮的基本外形。同时需要添加关系式来控制轮齿的生成个数。(6)创建其它特征创建齿轮的键槽、中间孔、腹板或轮辐孔等特征,并通过关系式来控制相关的尺寸。1.2三维CAD技术CAD是计算机辅助设计的简称,具体指通过计算机和图形设备的使用,帮助设计人员完成设计工作。随着计算机技术的广泛普及、计算机性能的不断提高以及智能化信息处理技术的发展,CAD技术已经由传统的二维技术发展成为三维技术,并朝着集成、开放、标准化的方向发展。CAD技术是新兴的计算机应用技术,不仅能够促进CAD软件行业的发展,而且能够促进机械设计行业的发展1。在某些特定的工程领域内,CAD技术从根本上改变了设计者的工作方式,在计算机技术领域内CAD技术本身也己经发展成为一个世界范围的产业2。1.2.1 CAD技术的发展主要阶段1.20世纪50年代后期至70年代初期线框造型技术。 CAD技术开始于上世纪50年代后期,然后随着计算机绘图软件技术的迅速发展开始开始得到进一步发展。此时主要是二维计算机绘图技术的应用,即用传统的三视图表达出零件信息,以计算机绘图代替手工绘图,使设计者从手工绘图的中解放出来。以二维绘图为主要目的的CAD技术作为CAD技术的一个完整分支一直相对独立地存在且平稳发展至今,主要的代表软件如AutoCAD。2.20世纪70年代初期至80年代初期曲面(表面)造型技术。贝赛尔算法的提出,使人们开始利用计算机处理曲线问题及曲面问题变成现实,此时的代表软件为达索飞机公司推出的三维曲面造型软件CATIA。这意味着CAD技术从二维到三维的跃升,实现了真正的用计算机表达零件的相关信息,同时也为CAM技术的开发提供了坚实的基础。3.20世纪80年代初期至80年代中期实体造型技术。 SDRC公司在1979年发布了世界上第一款真正基于实体造型技术的大型CAD/CAE软件I-DEAS。实体造型技术使设计工作发生了极大的变化,成为未来CAD技术的发展方向,被称为第二次CAD技术革命。由于实体造型数据计算量非常庞大,超出了当时计算机硬件运算能力,使它的进一步发展受到限制。 4.20世纪80年代中期至90年代初期参数化技术。 上世纪80年代中期,人们提出了参数化实体造型技术,代表软件为Pro/E。其特点是:基于特征、尺寸驱动设计修改、尺寸约束、全数据相关。随着参数化技术的不断成熟,它的优势得到了充分的体现,使之成为CAD发展历程上的第三次技术革命。5.20世纪90年代初期至今变量化技术。 SDRC分析了现有的各种造型技术,对它们各自的优缺点进行对比后,以参数化技术为支撑,提出了变量化技术一种更为先进的实体造型技术。变量化技术特点保持了参数化技术本身的优势之处,同时也克服了某些不足,成为了CAD技术发展的第四次革命。目前流行的CAD技术基础理论主要是以PTC公司的Pro/E为代表的参数化造型理论和以SDRC公司的I-DEAS为代表的变量化技术造型理论两大流派,它们都属于基于约束的实体造型技术3。CAD技术正在向着更为深广的方向发展,主要表现为以下几个方面:(1)基于专家系统的智能CAD; (2)CAD系统的集成化; (3)动态三维造型技术; (4)基于并行工程,着力于制造的设计技术(DFM) ;(5)分布式网络CAD系统4。1.2.2 CAD 技术的发展趋势CAD 技术经历了漫长的发展,各个阶段都有其巨大的影响力,促进着制造业的飞速发展。从目前的发展趋势来看,CAD 技术的主要方向应是面向集成化、智能化、标准化、网络化发展。(1)集成化CAD 技术是现代制造业的技术基础之一,为提高产品设计质量和制造业的自动化程度,CAD系统必须集成化。它可以是不同系统之间的相互兼容、组合,也可以是同一系统内部模块间的集成。工程设计领域不同类型的辅助设计软件互相兼容,制定标准化、规范化的标准,在产品的整个生命周期内都支持集成系统,才能保证CAD集成化的顺利实现。为了使CAD技术应用到产品设计的每个环节中,未来CAD软件系统应该增强其开放性、加大模块的可移植性和通用性、实现功能的互连性,达到进一步提高CAD系统的集成度目的。(2) 智能化借助人工智能技术,CAD系统将向智能化的方向发展,利用计算机模拟人的思维,实现真正的智能机械,其中数值计算和符号推理是一般设计的两项重要工作。将人工智能的理论和技术基础与CAD技术相结合形成智能CAD系统,赋予计算机以人的思维,给设计者自动提供产品设计中所需要的各种信息,在最大程度上实现优势资源的共享与交换,通过分析比较,在最短的时间内生成最适合的解决方案。(3) 标准化最初的CAD技术软件开发、设计过程中采用各个模块、功能独立进行的方式,因为在硬件、软件、数据存储、数据传递还有数据格式等方面产生了诸多障碍,开发出的系统虽然能够实现最终结果,但它严重影响了CAD技术的集成。国际上也提出了例如IGES标准和STEP标准的通用的数据交换规范,推动CAD标准化的不断完善,促进CAD系统的集成化的发展。(4)网络化集中式CAD系统存在着一些弊端,不能满足现代人的使用要求,随着工作站和高性能个人计算机的不断发展,越来越多的人开始结合工作站和个人PC系统替代以往的集中式CAD系统,逐步形成了网络化的系统。网络化的系统改变了企业传统的设计流程,对于产品设计而言,可以让设计者摆脱受限制的环境,更加人性化,有利于设计者更好地发掘思维,高效率的完成设计工作。同时更多的设计人员可以使用同一平台,提高设备和资源的利用率,也更方便地设计人员交换设计思想,通过相互交流和合作提高设计质量。进而也推动了制造与商务的全面融合,使技术和应用结合更加紧密。由于支持Web协同设计方案的CAD软件的不断发展进步,其技术日趋成熟,个人和企业也可以通过Web技术寻找订单,在家里或是远处完成达到客户满意的设计方案;同时也可以在互联网上获取最优的设计,实现跨地域、跨时空的沟通特性,使设计和网络接轨5。1.3零件库的发展及其研究现状 将设计中可能用到的零部件信息存放到一起,其数据采用标准的格式进行描述,有专用的管理系统进行管理,设计人员可以进行检索、访问,并提供与CAD系统的标准接口,设计人员可以方便地将检索到的信息纳入设计文件中,这种系统称为零件库系统6。零件库是一种用于计算机辅助设计的典型数据库,它包含工程设计中所需的各种常用的标准件和通用件。在计算机中它把一定的数据模型格式组织和存储起来,组成相互关联的标准件数据信息集合,以提高CAD系统满足用户更多需要的要求。作为CAD/CAE技术、计算机数据集成的基础,零件库是CAD技术中不可少缺的重要部分。将各种标准件和通用件的信息组合在一起,并设计有管理系统和配备相应接口技术,实现用户对零件库进行访问、查找和提取所需零件,极大地方便用户的设计制造。 机械设计强调互换性,尽可能的降低生产成本,保证经济性原则,因此在设计中要求设计人员在非必要的情况下尽量使用各种标准件和通用件。主流的各种三维CAD软件平台,譬如:Pro/E、UG、Solid Works、CATIA、MDT等,它们功能强大,为现代先进制造技术的发展奠定了坚实的基础,其配备的标准件库模块得到了广大用户的一致好评。但是它们毕竟不是把主要精力放在标准库的设计上,大多数系统所包含的零件种类和数量都比较有限,不能进一步地满足工程设计人员的需求。于是很多研究单位和部门以各种CAD软件系统为平台,利用其自带的二次开发接口技术对其进行了二次开发,得到了符合各行业实际情况的标准件库和通用件库,极大地方便了机械设计人员的工作。华中科技大学开发了包含齿轮传动设计过程中用到的各种零件的标准零件库,用于齿轮CAD系统设计。用户输入相关参数后,就能得到包括装配图和零部件图在内的符合设计要求的齿轮传动系统。北京斯泰普产品数据技术中心、南京航空航天大学CAD中心、东北大学欧磊公司、西北工业大学等也分别在AutoCAD、SolidEdge、CATIA上创建了自己的标准零件库。它们涉及种类齐全,有的还允许户建立自己的零件库,向零件库进行删除,插入或增加自己所需部分简单零件的功能。 对现有CAD系统进行零件库的二次开发给工程设计人员带来了极大的便利,提高了设计效率,但仍存在诸多的不足,主要有以下几点: (1)零件库和CAD系统不独立:零件库一般依赖于一种CAD系统,适应性和可移植性差,它只能在某个特定的CAD软件上使用; (2)扩充性差:目前大多数的零件库缺少扩充工具,或只能按照严格规定进行简单零件扩充,不能满足用户任意添加自己所需零件的要求;(3) 标准信息不完整:零件库一般只包含零件的尺寸参数等简单信息,缺少工程应用中需要的材料、热处理等其他信息,不便于后续工作的开展。具体来说,零件库系统应满足以下几点要求: (1)一定的集成能力:可与主流CAD平台无缝集成,提高适应性; (2)具有开放性、系统稳定可靠:可根据用户的需要任意添加各种不同的零件,方便扩充,满足不同场合的需求; (3)人机交互界面人性化:按照大多数人的使用习惯设计交互界面,方便用户的使用;(4)良好的数据管理能力:用户能够对零件库中零件方便的进行移除,再编辑等操作,实现对零件库的自我管理7。1.4二次开发的提出及主要研究内容1.4.1二次开发背景及意义机械设计始终是航空航天、汽车、船舶、机械制造等行业中最重要的工作之一,而标准件(包括常用非标件和通用件)又是设计人员在利用CAD系统开发设计进新产品的首先。在机械产品的开发过程除特殊情况下考虑设计新零件外,大都采用各种标准件、通用零件、相似件,以提高设计效率。一般情况下,产品使用标准件的数量要达到全部零件的70%以上。在基本形状和主要主要结构方面,标准件、通用件以及相似件都相对稳定,而相同型号的标准件之间仅有尺寸上的差异。在产品设计时,标准件会反复用在不同的位置。无论是标准件的二维图还是三维图,其绘制过程极为繁琐,加之需要反复查阅相关手册获取数据,可谓费时费力,实为一件不省心的事。若设计人员每用一次都要对其重新造型,重复性的工作将对他的工作效率和工作积极性大打折扣8。利用己有的资源,建立这些常用零部件的数据库,用户在使用时随时调用,达到在较短的时间内完成新产品的设计工作的目的将是一件非常用意义的事。一方面它可以避免设计人员的重复造型,提高产品设计效率,同时也提高了产品的标准化程度,减少因人为因素造成的错误,缩短新产品研发周期;另一方面还可以将三维实体模型进行诸如有限元分析等更深层次的分析,确保设计结果达到预期效果。企业要降低生产成本和提高经济效益,就必须最大限度地使用标准件、通用件、相似件。因此,通用零件库的开发应用将成为CAD软件二次开发发展的一个必不可少的方向。1.4.2主要研究内容本课题的主要研究内容为标准件库的设计,利用Pro/E提供的二次开发工具Pro/TOOLKIT结合Visual Studio 2005设计出通用零件库系统,实现弹簧、齿轮和轴承三大类通用件的参数化自动建模。用户选择不同的零件后,通过选择零件型号或是输入相关参数信息即可在Pro/E环境下立马生成相应零件的三维模型。对于这些标准件,用户不必重复造型,减少设计时间,提高设计效率。与其他零件库相比,本课题设计的零件库重点表现在轴承三维造型方面,种类多样,生成的轴承模型自带保持架,可以随意修改。齿轮、零件类零件种类齐全,直齿可以选择内外啮合,斜齿也可以选择左右旋等。课题具体实施方案:(1)学习与本课题相关的Pro/E二次开发技术,包括Pro/TOOLKIT与Visual Studio 2005的接口技术、自定义莱单的设计、对话框的编写、Pro/TOOLKIT应用程序的执行。(2)接着根据本毕业设计要求,分析通用零件库系统设计开发的整休思路。(3)然后完成所有零件的参数化建模,结合Pro/TOOLKIT和Visual Studio 2005编写实现程序。(4)最后测试验证运行效果。零件库的工作方式:开发者编写的二次开发C语言程序经编译后形成DLL文件,打开Pro/E软件后执行Pro/TOOLKIT应用程序,Pro/TOOLKIT调用DLL文件,读取参数化零件模型库零件并更新相关参数,从而自动创建零件模型。图1-1 实施步骤示意图20图1-2 零件库工作示意图2开发环境及相关技术2.1 CAD平台的选取2.1.1 Pro/Engineer软件简介Pro/Engineer是美国PTC (Parametric Technology Corporation)公司设计的以提供包含二维图在内零件的三维模型设计、加工、分析等功能的CAD/CAE/CAM解决方案的集成软件。作为当今世界应用最广泛的CAD系统软件之一,Pro/Engineer提出的参数化设计、基于特征、单一数据库、全相关性的全新理念改变了机械CAD/CAE/CAM的传统观念,也使之成为了当今CAD/CAE/CAM领域的新标准8。Pro/Engineer软件在我国的航天、汽车、家电和机械等行业有着广泛的应用,从使用数量上来看已经超过了国内其他同类型的国外产品。Pro/Engineer主要由工业设计(CAID)、机械设计(CAD)、功能仿真(CAE)、制造(CAM)、数据管理(PDM)和数据交换(Geometry Translator)六大模块组成,集成了零件设计、饭金件设计、铸型设计、造型设计、模具开发、NC加工、逆向工程、机构仿真、有限元分析、数据管理等几乎所有功能,堪称全方位的3D产品开发软件系统。2.1.2开发平台的选取基于以上特点及Pro/Engineer强大的二次开发功能,故采用Pro/Engineer作为开发平台,然后结合VS2005开发。2.2 Pro/TOOLKIT二次开发基础2.2.1 Pro/TOOLKIT简介Pro/TOOLKIT是PTC公司为Pro/Engineer开发的以提供大量的C语言函数来使用户程序或第三方程序安全高效地访问Pro/Engineer数据库及应用程序,实现与Pro/Engineer的完美连接的二次开发工具。Pro/TOOLKIT能使用户或第三方通过C语言编程来扩展Pro/Engineer系统的功能,开发基于该软件系统下的应用程序模块,以满足一些用户的特定要求。采用Pro/TOOLKIT提供的菜单技术、UI对话框以及C+可视化界面技术,可以设计出与Pro/Engineer完全相同的的人机交互界面,方便用户的操作。对用户程序来讲,在Pro/Engineer和用户程序之间信息传送的数据结构是不可见的,它必须通过Pro/TOOLKIT提供的函数来访问。本课题借助windows操作系统,采用C+程序设计语言,在Visual Studio 2005的集成环境下完成零件库系统的设计、调试和编译9。2.2.2 Pro/TOOLKIT的安装 Pro/TOOLKIT工具包包含于Pro/Engineer安装文件中,安装时在“产品功能”下级目录中选中“API工具包,并在“子元件”列表中选中“Pro/TOOLKIT,如图2-1所示。在Pro/Engineer系统的指定目录下将自动生成protoolkit和prodevelop两个下级目录。图2-1 选择API工具包中Pro/TOOLKIT安装项 Protoolkit目录中包含4个子目录:i486_nt、includes、protk_appls和protkdoc。protoolkitincludes目录为头文件,protaolkiti486_ntobj目录为库文件,它们都是用VC对Pro/Engineer进行应用程序开发的必不可少的支持文件。protk_appls目录的内容为程序实例,protkdoc目录下的内容为帮助文件。其中protkdoc目录中的IENoSwing.html文件为网页文件,需要借助jawa软件使用,全英文的帮助文件几乎包含了二次开发所需要的知识点,是学习Pro/Engineer的二次开发绝佳助手10。prodevelop目录中包含了三个子目录:i486_ nt、includes和Protk_appls。它们分别是Pro/develop使用的函数库文件、头文件和程序实例。可以在Pro/TOOLKIT中使用Pro/develop函数,但Pro/develop中的函数使用比较少,大多被Pro/TOOLKIT中的函数所取代。3自定义菜单与用户对话框设计3.1 Pro/TOOLKIT开发过程3.1.1安装VS插件Pro/TK Tools先介绍一款Pro/E二次开发插件Pro/TK Tools。Pro/TK Tools是一款辅助Visual Studio 2005做Pro/E二次开发的工具,包括项目wizard,Resource UI的可视化设计,自定义菜单设计和vs2005环境中控制Pro/E插件程序的注册等功能。相同的工作,采用Pro/TK辅助,能提升效率数十倍。 安装Pro/TK Tools时,安装目录最好使用软件默认目录,无需更改。根据Pro/E的安装版本选择Pro/E的安装目录,如图2-2所示,本机Pro/E版本为野火4.011。图2-2 选择Pro/E安装目录3.1.2新建工程运行Visual Studio 2005,选择【文件】-【新建】-【项目】命令,如图2-3所示。图2-3选择项目命令在【新建项目】对话框中【模板】栏下选择ProToolkit_Wizard类型。输入项目名称和保存路径,点击【确定】按钮,如图2-4所示。图2-4 选择ProToolkit_Wizard类型选择Pro/E的版本号,此处选择wildfire 4.0版本,其余项默认即可,点击【finish】完成新建过程,如图2-5所示。图2-5 选择Pro/E版本号3.1.3设置包含文件和库文件选择【工具】-【选项】命令,在出现的【选项】对话框的【项目和解决方案】节点下选择【C+目录】选项,在【显示一下内容的目录】下拉列表中选择【包含文件】,如图2-6所示12。图2-6添加包含文件单击【】添加以下文件夹。proeWildfire4.0protoolkitincludeproeWildfire4.0protoolkitprotk_applsincludesproeWildfire4.0prodevelopincludesproeWildfire4.0prodevelopprodev_applsincludes本机Pro/E软件安装在D盘PTC文件夹中,故添加路径为图2-6所示。在【显示一下内容的目录】下拉列表中选择【库文件】,单击【】添加以下文件夹。proeWildfire4.0protoolkiti486_ntobjproeWildfire4.0prodevelopi486_ntobj如图2-7所示。图2-7 添加库文件007.调用。3.1.4 编写注册文件Pro/TOOLKIT应用程序在Pro/Engineer中运行前,必须先进行注册。注册文件以向Pro/Engineer传递应用程序信息为作用。注册文件的各字段名及其含义见表2-212。表2-2 注册文件的各字段名及其含义字段名含义NAME Pro/TOOLKIT应用程序标识名EXEC_ FILE可执行程序名(包括路径)TEXT DIRtext目录路径STARTUP启动应用模式,可为spawn.、aemon或dll(动态链接库)ALLOW_STOP如果设置为TRUE,在Pro/Engineer工作时可以终止应用程序,否则不能终止应用程序DELAY_ START如果设置为TRUE, Pro/ENGINEER在启动时不调用Pro/ TOOLKIT应用程序,则将自动启动REVISION Pro/TOOLKIT版本号END结束标志注册文件文件名必须以dat作为扩展名,一个注册文件可写人多条注册信息。修改注册文件如图2-11:图2-11 注册文件3.1.5程序的运行与卸载程序的运行,这里有三种方法。(1) 用Pro/TK Tools直接加载运行。启动Pro/E软件,在Visual Studio 2005菜单栏中点击【Pro/Tools(X)】-【Pro/TK APP Start】,如图2-12所示。图2-12 启动应用程序(2) 手动加载启动Pro/E软件,点击【工具】-【辅助应用程序】,在弹出的辅助应用程序对话框中点击【注册】,如图2-13所示。图2-13 添加注册文件选择C:UsersAdministratorDesktopProToolkit_Wizard1ProToolkit_Wizard1text文件夹下的ProToolkit_Wizard1.dat文件。此时dat文件被加载到辅助应用程序对话框中,选中列表框中项目,【启动】按钮由灰变亮,点击【启动】即可运行程序,如图2-14所示。图2-14 启动应用程序在桌面上右击Pro/Engineer图标,在弹出的快捷莱单中选择【属性】命令,在弹出的属性对话框中,记下Pro/E起始位置的路径,即工作目录,如图2-15所示,本机路径为D:PTCWork。将C:UsersAdministratorDesktopProToolkit_Wizard1ProToolkit_Wizard1text文件夹下的ProToolkit_Wizard1.dat文件复制到Pro/E工作目录中,打开该文件,将文件中的“DELAY_START TRUE”改为“DELAY_START FALSE”,并更名为protk.dat。启动Pro/E后即可自动运行程序。以上三种方法均可实现程序的运行,运行后的效果如图2-16所示。图2-16 程序运行效果图2-15 Pro/E工作目录卸载应用程序时,可以选择Visual Studio 2005菜单栏中【Pro/Tools(X)】-【Pro/TK APP Start】,如图2-17所示。图2-17 卸载应用程序或是在Pro/E软件中,点击【工具】-【辅助应用程序】,在弹出的辅助应用程序对话框中选中列表框里项目,此时【停止】按钮由灰变亮,点击【停止】即可卸载应用程序,如图2-18所示。图2-18 卸载应用程序3.2自定义菜单常用函数菜单栏菜单包含菜单栏、菜单、图标、按钮、复选框、单选按钮组等项目,在Pro/TOOLKIT中,用户不但可以创建新的菜单栏菜单,也可以对Pro/E系统现有的菜单栏菜单进行修改。通过对菜单的修改实现对菜单的本地语言化翻泽。菜单栏菜单各项目如图3-1所示13。图3-1 菜单栏菜单各项目3.2.1菜单栏菜单的添加菜单栏菜单是Pro/E菜单体系的最顶层菜单,菜单栏菜单添加的函数是ProMenubarMenuAdd,其定义如下:#include /包含文件ProErrorProMenubarMenuAdd (ProMenuItemName menu_nameProMenuItemLabeluntranslated_menu_labelProMenuItemName neighborProBooleanadd_after_neighborProFileName filename)Returns:PRO_TK_NO_ERRORPRO_TK_MSG_NOT_FOUNDPRO_TK_E_FOUNDPRO_TK_GENERAL_ERROR参数含义具体解释如下:(1)menu_name为新添菜单栏菜单名称,ProMenuItemName类型。(2)untranslated_menu_label为菜单栏菜单标题文本,标题文本是显示在菜单上的文字,入“工具”、“帮助”等就是菜单栏标签。这个参数里需要输入的是在信息文本中定义原语言版本的标签。(3)neighbor参数用于定义菜单将会被放在哪个菜单旁边,如菜单栏菜单【窗口】的邻居可是【工具】,也可以是【帮助】。如果想把菜单栏菜单添加到【工具】旁边,则这个参数的值为:“Utilities”。(4)add_after_neighbor参数是一个布尔类型,可以选取PRO_B_FALSE或者PRO_B_TRUE,用来定义新添加的菜单栏菜单在邻居的那一侧,如果要使添加的菜单在【工具】的左侧14,则参数的值为:“PRO_B_FALSE” 。3.2.2菜单按钮的添加单击某个菜单按钮后,应能响应某个函数,因此它的添加过程分为两步:首先是菜单按钮和添加动作函数,然后把菜单按钮与动作函数联系起来,作为菜单按钮的响应函数。 1)菜单动作函数命令的添加在将菜单按钮和动作函数联系起来之前,先在程序主文件的头文件中定义动作函数,如:“int Menu1_1_fun();”。 在Pro/Toolkit中,将菜单按钮和动作函数联系起来的函数是ProCmdActionAdd,其定义如下:#include /包含文件ProErrorProCmdActionAdd(char* action_nameuiCmdCmdActFn action_cbuiCmdPriority priorityuiCmdAccessFn access_funcProBoolean allow_in_non_active_windowProBoolean allow_in_accessory_windowuiCmdCmdId* action_id)Returns:PRO_TK_NO_ERRORPRO_TK_GENERAL_ERRORPRO_TK_E_FOUND各参数具体解释含义如下:(1)action_name为动作命令的名称。该名称必须是唯一的,不能与其他动作命令同名。(2)action_cb为动作函数的名称。例如定义了一个函数int Menu1_1_fun(),把它作为菜单的动作函数,那么这个参数的的值可以是:(uiCmdCmdActFn)Menu1_1_fun,即把函数Menu1_1_fun强制转换为uiCmdCmdActFn类型,并以指针方式传入。如果int Menu1_1_fun()的定义为:int Menu1_1_fun()AFX_MANAGE_STATE(AfxGetStaticModuleState();AfxMessageBox(_T(你好);return 0;则点击该菜单项后就会弹出消息提示框,并显示“你好”。(3)Priority指定动作函数的优先级别。优先级别是在程序执行过程调用多个动作函数时,哪个函数优先就会先被执行。(4)access_func是访问控制函数。有时需要菜单在不同的情况显示不同的状态,如不可见、可见但处于灰化状态、正常状态等等。菜单的状态通过这个函数来进行控制的。(5)allow_in_non_active_window是一个布尔类型参数,表示这个命令是否允许在非激活的窗口下执行。取PRO_B_TRUE值,表示允许在非激活窗口下使用;取PRO_B_FALSE值,表示不允许在非激活窗口下使用。何谓激活窗口,Pro/E运行时可以有多个窗口,但只能有个处于激活状态,只能对激活状态的窗口进行操作,如果要激活其他窗口,需要在【窗口】菜单下单击【激活】。(6)allow_in_accessory_window也是一个布尔类型的参数,表示动作函数是否允许在没有模型窗门下被执行。刚启动的Pro/E系统可能并没有模型被打开,如果动作函数要对模型进行操作,那么在没有模型的情况下,按钮应该是不允许被执行的,这个时候参数可以取PRO_B_FALSE。但像【打开】等这种不需要对当前模型进行操作的动作函数,可以取PRO_B_TRUE,以允许动作函数被执行。(7)action_id是返回的动作函数的标识。这也是我们使用这个函数所需要得到的。uiCmdCmdid的定义如下:Typedef void uiCmdCmdid;3.2.3下级菜单的添加在一个菜单栏菜单需要添加子菜单(二级菜单)或在子菜单中添加三级菜单可以使用ProMenubarmenuMenuAdd函数。其定义如下7:#include ProErrorProMenubarmenuMenuAdd(ProMenuItemName parent_menuProMenuItemName menu_nameProMenuItemLabel menu_labelProMenuItemName neighborProBoolean add_after_neighborProFileName filename)Returns:PRO_TK_NO_ERRORPRO_TK_MSG_NOT_FOUNDPRO_TK_E_FOUNDPRO_TK_GENERAL_ERROR各参数的具体含义解释如下:(1)parent_menu父菜单名。(2)menu_name需要添加的子菜单名。(3)menu_label子菜单的文本标签,需要和菜单资源文件保持一致。(4)add_after_neighbor邻近按钮的名字。3.3自定义菜单设计为方便用户的使用,课题设计的软件尽可能的做到人性化。首先是在Pro/E菜单栏中添加【通用零件库】菜单项,按照弹簧、齿轮、轴承三大类零件,在【通用零件库】下添加【弹簧】、【齿轮】、【轴承】菜单项,此三个菜单项下又各包含下级菜单,显示具体的零件名按钮,用户点击不同的按钮,系统将会弹出不同的对话框,以生成相应的零件模型。为方便操作使用,菜单还加入了【生成模型树】、【窗口视图】、【关于】按钮。【生成模型树】按钮可以激活用户新生成的通用零件库内的模型,展开模型树,从而可以使用户在需要时对零件做一定的修改。【窗口视图】可以调整活动窗口的状态,用户可以清除或是重画窗口内容,刷新窗口或者调整窗口视图大小。如图3-23-4所示。图3-2 弹簧菜单图3-3 齿轮类菜单图3-4 轴承类菜单3.4 UI对话框基本知识UI对话框是Pro/TOOLKIT提供的一种自定义人机交互界面,即用户界面对话框(User Interface Dialog Boxes)的简称。开发者可以利用Pro/TOOLKIT提供的UI对话框技术,设计出与Pro/E对话框风格相似的人机交互界面。它主要由对话框资源文件和对应的控制程序两部分组成。对话框资源文件定义了对话框的组成、外观和属性,用ASCII码文本格式编写;采用C或C+语言编写的控制程序,用来驱动在Pro/E系统中载入对话框资源、显示对话框和设置动作等操作15。3.4.1资源文件及格式资源文件是用来描述UI对话框外观和定义其属性的文本文件。其主要内容包括UI对话框的组成部分各元件(component)、元件的属性定义与元件的布局形式。资源文件的结构如下:(Dialog(Components )(Resources (.Layout) ) )Dialog为顶层语句,下面主要由两段构成,其中元件段(Components)声明了该对话框的所有元件,资源段(Resources)分别定义了各元件的属性及布局。元件声明的格式为:(元件类型名元件名)类型名为系统所定义,元件名为用户定义,前者可以理解为元件对象类,后者可以理解为元件对象的实例,如(PushButtonOK),其中“PushButton”为类型名,“OK”为元件名。元件属性的格式为:(元件名.属性名属性值)如(OK.Label“确定”),其中“OK”为开始已经声明过的元件名,“Label”为“OK”对象的标签属性,属性值为中文字符串“确定”。如果忽略了元件名,则表示上级元件的属性,如“(.Label “直齿轮参数化建模”)”表示对话框的标题为“直齿轮参数化建模”。“(.Layout()”为对话框的布局定义,其中(Grid (Rows 1 1)(Cols 1)定义了对话框中元件的位置网格。Row表示行,Cods表示列,其值为“l”表示一行(列),n个1代表n行(列)。如“(Grid (Rows 1 1) (Cols 1 1)”表示定义了两行,每行按两个元件布局。表示行或列的“1”也可以用“0”代替,“1”表示元件的大小可以随UI对话框的大小变化而变化,“0”则不可以。Grid的一般格式为:(Grid (Rows 1)(Cols l) (Pos 列) )Pos语句用来指定其后的第1个元件的位置,这样可以使元件不按顺序排列,还可以设置空位置。编写资源文件时应注意以下儿点:(1)区分大小写。(2)括号必须成对,为了便于查错,最好采用缩进行格式书写。(3)对话框名必须与资源文件名相同。(4)“!”后的内容为注释,对UI对话框的定义没有影响。(5)资源文件可用任意一种支持纯文本格式的文字处理软件编写。如Word,写字板和记事本等,也可以用VC应用程序设计向导编写。不管用哪种方法编写,都必须以纯文本格式保存,且文件扩展名必须为.res。保存在Pro/E安装月录下的textresource子目录或注册文件中TEXT_DIR字段指定目录下的resvurce子目录,其中取决于当前使用的语言(如usascii或chinese_cn )。对于Pro/TOOLKIT应用程序中使用的资源文件最好保存在注册文件中TEXT_DIR字段指定目录下的resource子目录中。3.4.2主要函数介绍资源文件只是对UI对话框的具体描述,必须通过Pro/TOOLKIT应用程序来对其进行装入、显示和控制等操作16。1. 创建和终止UI话框创建过程如下:(1)调用ProUIDialog

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论