




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全套图纸加扣 3012250582 第 42 页 共41页编号: 毕业设计(论文)说明书题 目: 基于Pro/E二次开发的部件变型设计模块开发院 (系): 机电工程学院 专 业: 机械制造及其自动化学生姓名: 学 号: 指导教师单位: 机械制造及其自动化教研室姓 名: 职 称: 教授 题目类型:理论研究 实验研究 工程设计 工程技术研究 软件开发 2009年5月30日摘 要在当今经济全球化、市场竞争日趋激烈的时代,新产品的开发时间成为企业能否在激烈的市场竞争中取胜的关键因素.所以,对软件进行二次开发就显得尤为重要,比如Pro/E软件。本课题的主要任务是对Pro/E进行二次开发,开发出具有可操作性的部件级变型设计模块。主要方法是在分析三维参数化技术及变型设计原理和方法的基础上,阐述了装配件变型设计的基本原理和工作流程,提出了基于参数化技术的装配件变型设计方法。利用VC+,开发出了与Pro/E系统集成的变型设计模块。该变型设计模块具备尺寸参数提取,尺寸参数修改,模型再生(变型)等功能,它的菜单美观、实用、操作方便。以联轴器为例,对上述方法进行了验证。关键词Pro/E;Pro/TOOLKIT;二次开发;关系式驱动;变型设计;MFC对话框;AbstractIn the age of economic globalization and drastic competition, responding to the market rapidly is the key factor of getting victory for an enterprise . Therefore, the further development of the software is particularly important, such as Pro/E.The main task of this subject is making a further development on Pro/E to develop a operational parameterized variant design module.The main method is analyzing 3D parameterized design technology and variant design methods, the basic theory and the working process of assembly variant design are described and a product variant design method base on parametric design technology is presented. A parameterized variant design module integrated with Pro/E was developed with VC+.The variant design module has the function of size parameter extraction, modify the size parameter, regeneration model (variant) and other functions. Its menu is beautiful, practical, and easy to operate. As an example, all methods are applied to a joint coupling product, and the methods are verified.Key words: Pro/E; Pro/TOOLKIT; Further development; relations drive; variant design; MFC dialog box; 目 录摘 要1Abstract2目 录31引言51.1概述51.2本课题的研究内容51.3本课题研究的历史和现状51.3.1Pro/ENGINEER的特征和应用领域51.3.2二次开发的历史和现状61.3.3国内Pro/E二次开发的现状61.4本课题研究的现实意义81.5本文的主要工作及难点81.5.1本课题的主要工作81.5.2本课题的工作难点82开发平台介绍102.1基于系统开发平台-Pro/E102.2Pro/TOOLKIT简介112.3Pro/TOOLKIT工作模式112.3.1同步模式(Synchronous Mode)112.3.2异步模式(asynchronous Mode)122.4Pro/TOOLKIT二次开发方法132.4.1特征描述法132.4.2族表法132.4.3用户自定义特征(User Define Feature)法132.4.4Pro/Program法142.4.5J一1ink法142.4.6Pro/T00LKIT法142.5开发Pro/TOOLKIT应用程序142.5.1创建Pro/TOOLKIT应用程序的基本方法142.5.2利用VC向导创建Pro/TOOLKIT应用程序基本框架152.5.3基本概念-对象和动作182.5.4Pro/TOOLKIT应用程序结构182.6本课题二次开发的模式192.6.1注册文件及Pro/TOOLKIT应用程序的运行192.6.2Pro/TOOLKIT应用程序的注册运行及卸载203二次开发的关键技术及其应用213.1自顶向下设计213.1.1自顶向下设计的概述213.1.2自顶向下设计方法的实现213.1.3自顶向下设计方法在本系统中的应用223.2参数化设计223.2.1基本原理233.2.2三维模型样板的建立233.2.3程序说明243.3MFC的可视化对话框设计技术273.4尺寸对象及关系式的操作283.4.1尺寸对象293.4.2尺寸对象检索函数293.4.3尺寸信息检索函数303.4.4尺寸信息修改函数313.4.5尺寸显示控制函数314装配产品的变型设计原理及尺寸参数分析334.1装配产品的变型设计原理334.2产品零部件尺寸参数分析344.2.1零件事物特性分析344.2.2装配产品配合尺寸参数分析355部件变型设计的开发流程和实现375.1产品主模型的建立过程375.2产品变型设计过程375.3应用举例38结论39谢 辞40参考文献411 引言1.1 概述随着市场竞争的日益激烈,如何在最短时间内,以最好的质量、最低的成本,生产出满足用户个性化需求的产品,已成为企业生存、发展的关键。变型设计很好地顺应了这种市场竞争的需要,它的基本原理是指根据客户需求和概念设计,确定定制产品设计参数信息,通过修改产品变型设计主模型的参数值和尺寸关系,生成相似的产品或零部件。产品变型设计方法能够快速设计产品原型,降低产品设计成品质量,从而以类似大批量生产的效率和成本生产出个性化的产品。1.2 本课题的研究内容本文在国内专家研究的基础上,提出了一种基于参数化技术的装配产品变型设计方法,对装配产品的变型设计方法和过程进行了研究,利用Pro/TOOLKIT对Pro/E进行二次开发,开发出了参数化变型设计模块,并用联轴器的装配模型对该方法进行了验证。具体内容包括:(1) 装配体的高级组装自顶而下设计方法的研究。(2) 参数驱动设计方法的研究。(3) 基于Pro/ENGINEER的Pro/TOOLKIT二次开发技术研究:添加菜单和消息处理的实现。MFC的可视化对话框设计技术。 Pro/TOOLKIT中模型树的快速创建。尺寸对象及关系式的操作和应用。1.3 本课题研究的历史和现状1.3.1 Pro/ENGINEER的特征和应用领域Pro/ENGINEER软件是由美国P T C 公司开发的新一代CAD/CAE系统,自从面世以来,以全参数化尺寸驱动、基于特征、单一全关联的数据库等优点深受用户好评,并成为国际参数化的行业标准。它的内容涵盖了产品从概念设计、工业造型设计、三位模型设计、分析计算、动态模拟与仿真、工程图的输出、生产加工成产品的全过程,其中还包括了大量批的电缆和管道布线、模具设计与分析等实用模块。应用领域包括航空航天、汽车、机械、N C加工、电子等诸多行业。1.3.2 二次开发的历史和现状未来CAD/CAE/CAM的发展趋势是集成化、网络化和智能化。就制造业而言,企业要提高设计生产的效率,就必然要针对自己的环境、特殊需求来进行二次开发。在2 0世纪8 0年代,计算机辅助设计(CAD)系统盛行,但随着CAD的普及和使用,人们逐渐发现:计算机绘图系统虽然好用,但从专业角度来看,仍有很多不足之处。在这样的情况下,多数的CAD系统提供了“二次开发”的语言功能,让用户自行学习并编写程序,然活将那些程序以插件的方式放到CAD平台,这么以来,就可以让原来的以CAD系统更有效率。1.3.3 国内Pro/E二次开发的现状目前,国内Pro/ENGINEER二次开发技术的应用刚开始兴起,许多用户针对本企业的特点对Pro/ENGINEER进行二次开发,但是基本上还处于初级阶段,并没有成熟的商品化软件问世,而且二次开发技术的发展水平存在较大差距。目前国内对Pro/ENGINEER的二次开发还主要集中于各高校的研究领域, 其他行业的二次开发技术则相对落后,有的仅仅是一小部分工程技术人员的个人行为,还没有形成专门从事Pro/ENGINEE二次开发的研究队伍。 虽然也出现了一些应用软件, 但大多数仅仅针对某一类型的产品或产品的一部份而开发的小型应用系统,解决的问题也比较有限。国外成功的技术开发企业为了加快CAD技术开发步伐,都选择了高起点的技术开发战略,即利用已有的技术成果,在此基础上二次开发自己的CAD技术,而不是将人力物力浪费在低水平的重复开发上,这样既可以提高效率,又能保证自己的产品具有较高的技术含量和水平。 新加坡国立大学的Wynne Hsu等人,以Pro/ENGINEER软件为平台,通过C语言编程开发出一种将装配设计分析与产品的概念设计相结合的系统。系统通过五大模块:设计特征库、分析模块、交互模块、搜索模块和装配模块,实现了产品的自动装配。国外由于研究开发三维设计软件的时间较长,而且早己应用于相关行业,故在其应用领域里的自主开发技术己经十分成熟和完善。 国内的许多企业也正在进行自主开发工程或进一步改造设计手段,许多高校和研究所也正在对Pro/ENGINEER的二次开发进行大量的研究工作,并都取得了一定的成绩。 大连理工大学的张俊河研制的面向注塑模的Pro/E二次开发,重点研究了三维实体参数化设计、尺寸驱动的方法、定制二维工程图模板、及如何通过编写C 语言程序调用二次开发工具Pro/TOOLKIT提供的相关函数,实现二维工程图的自动生成、检索和修改,尺寸和尺寸公差的显示、修改以及工程图表格的创建和编辑等内容。 兰州理工大学的周美艳研制的基于Pro/ENGINEER平台的自定义钣金件系统,以钣金件为对象,进行基于Pro/ENGINEER平台的钣金件系统的开发与研究,系统以VC+6.0和Pro/TOOLKIT为开发工具,建立了简洁、方便、友好的人机交互界面,并调用Pro/NC模块,实现了数控代码的自动生成,提高了设计效率、缩短了生产周期。厦门工程机械股份有限公司在推广Pro/ENGINEER的应用中,按照定义Pro/E建模的模板,定义工程图图框,创建标准的符号库和工程图的打印四个步骤,分阶段开发定制,取得了一定的效果,达到了预期的目的。基本能满足工程设计人员在工程信息的标准上的需求,形成了标注的规范化和标准化,提高了工作效率,并能打印出符合企业标准的工程图纸,为企业推广三维软件的应用奠定了良好基础。 北方交通大学机械与电子控制工程学院的研究者们采用Pro/ENGINEER参数化尺寸驱动设计技术和二次开发模块Pro/TOOLKIT,以VC+6.0为开发工具开发出标准件库,用户界面友好, 在机车产品设计中使用方便,具有开放式的库结构,用户可以任意修改库内的标准件,不会对系统产生影响,如果用户需要对标准件库进行扩充,只需建立新的零件族模板文件,并在相应的数据文件上增加一条记录,加入相应的预览图即可。系统的建库采用的是零件组的方式,建立零件组模板零件和对应的参数表,既减少了建库的工作量,又方便用户扩充和修改库内的零件。采用参数化尺寸驱动技术,根据用户选择的基本设计参数,零件调用直观方便。系统与Pro/ENGINEER一体化,标准件库安装完成后,自动在系统装配菜单中增加“standard Library”选项,不需要任何的附加程序或操作。该系统还实现了与Pro/ENGINEER装配环境的集成,用户选择零件或装配体之后,即可直接与Pro/ENGINEER装配环境相连,使得装配操作更加方便快捷。同时还与标准数据库相连接,实现标准数据自动选择。 江南大学设计学院的蒋晓通过应用实例,简要介绍了在Pro/ENGINEER环境下,利用其二次开发工具族表( Family Table) 和程序( Program)建立标准件库的方法和技巧。采用以上的方法只要简单的步骤就非常方便地生成标准件库,仅用一个零件就可以代表多个零件,经过实际应用检验,可操作性强。但缺点是界面仍不够友好,交互性有一定缺陷。如果能利用Pro/ENGINEER提供的二次开发工具Pro/TOOLKIT,调用其自身所带函数,扩充其功能,并实现与VC+6.0的基础类库M F c的动态链接, 则可以方便地利用VC+6.0中的工具箱来定制用户所需的具有Windows风格的界面, 以更好地满足设计需要。1.4 本课题研究的现实意义目前关于变型设计的研究很多,主要包括基于事物特性表的产品变型设计研究、基于参数化的变型设计、配置产品尺寸参数传递方法及其应用、装配产品的变型设计研究等等。这些研究主要针对单个零件或某类零件的再设计上,而针对装配产品的变型设计国内研究的并不多。而在实际设计中,企业对装配产品的变型设计需求更为强烈,因此,研究装配产品的变型设计方法具有重要的意义。1.5 本文的主要工作及难点1.5.1 本课题的主要工作(1)研究和探讨Pro/ENGINEER二次开发的基本理论、二次开发的概念、原则和一些关键技术,并在此基础上,建立了Pro/ENGINEER二次开发的模型;(2)了解常用的几种二次开发方法,对它们的基本原理和实现方式进行基本的分析;(3)熟悉Pro/ENGINEER的二次开发接口函数库Pro/TOOLKIT的特点,对利用Pro/TOOLKIT进行二次开发的开发环境、开发过程、开发方法以及相应的开发工具进行深入探讨;(4)详细研究利用Pro/TOOLKIT进行二次开发所涉及到的交互用户界面技术和参数化设计技术,分析各种技术的实现原理及其关键方法,建立详细的开发流程;(5)以动态链接库(DLL)的形式,利用VC+6.0和Pro/TOOLKIT来实现参数化变型设计二次开发,编写相应的应用程序软件;(6)并用联轴器的装配模型对该方法进行了验证。1.5.2 本课题的工作难点(1)与使用Pro/ENGINEER相比,掌握Pro/TOOLKIT程序设计技术要困难一些。这主要是这方面的参考资料太少,虽然Pro/TOOLKIT提供了开发应用程序的帮助文档Pro/TOOLKIT APIWizard,但是真正要理解和灵活应用绝非易事。其原因:一方面帮助文档的内容非常之多,tkuse.pdf文件有1200多页,从中找出合适的切入点需要花费很大的精力;另一方面,帮助文档给出的实例主要针对UNIX系统的C程序代码,程序代码长、可读性不尽人意、理解比较困难;再加上实例程序还会设计到与标准C语言无关、Pro/TOOLKIT特有的菜单技术、信息文件等相关文件,这样给用户带来了不小的难度。(2)对装配件设计关系式是件比较复杂的工作,因为首先要对内部的零件进行关系式设计,确定哪些是驱动尺寸,哪些是非驱动尺寸,最后再在零件的相关关系式的基础上再进行装配件的关系式建立,这当中涉及到零件、部件的有关机械工程知识。这有一定的难度。2 开发平台介绍目前,主要CAD应用软件有国外的UG NX,Pro/E,Catia,SolidWorks,SolidEdge等,国内的有CAXA等软件。其中上述的国外软件都是以三维参数化设计为基础,集设计、分析、制造以及文档管理等多种功能为一体,为用户提供了从设计到制造一体化的解决方案。国内的CAXA软件,其主要应用还是在二维上,至于三维参数化设计还处于试验研究阶段。Pro/E在中国企业应用范围比较广,并具有界面友好、易操作、符合工程技术人员的机械设计思想等优点得到广大设计者的青睐。2.1 基于系统开发平台-Pro/EPro/E是美国参数技术公司(Parametric Technology Corporation简称PTC)的产品。自1988年参数化设计的思想问世以来,己成为全世界及中国地区最普及三维CAD/CAM系统。Pro/E在今日俨然成为世界三维CAD/CAM系统的标准软件,广泛应用于电子、机械、模具、工业设计、汽车、航天、家电等各个行业。Pro/E可谓是个全方位的3D产品开发软件,集合了零件设计、产品组合、模具开发、NC加工、饭金件设计、铸造件设计、造型设计、自动测量、机构仿真、结构分析、产品数据库管理等功能于一体。Pro/E参数化设计的特性如下:(1).三维实体模型.3D实体模型除了可以将用户的设计思想以最真实的模型在计算机上表现出来之外,借助于系统参数,用户还可随时计算出产品的体积、面积、重心、电量、惯性大小等,以了解产品的真实性,并补充传统面结构、线结构的不足。用户在产品设计过程中,可以随时掌握以上重点,设计物理参数,并减少许多人为计算时间。(2).单一数据库.Pro/E可随时由3D实体模型产生2D工程图,而且自动标注工程图尺寸。不论在3D还是20图形上作尺寸修改,其相关的2D图形或30实体模型均自动修改,同时装配、制造等相关设计也会自动修改,这样可以确保数据的正确性,并避免反复修正的耗时性。由于采用单一数据库,提供了所谓双向关连性的功能,这种功能也正符合了现代产业中所谓的并行工程思想。(3).以特征作为设计的单位.Pr。/E以最自然的思考方式从事设计工作,如打孔、开槽、做成圆角等均被视为零件设计的基本特征,除了充分掌握设计思想之外,还在设计过程中导入设计的制造思想;也正因为以特征作为设计的单元,因此可随时对特征做合理、不违反几何的顺序调整、插入、删除、重新定义等修改动作。(4).参数化设计.配合单一数据库,所有设计过程中所使用的尺寸(参数)都存在数据库中,修改CAD模型及工程图不再是一件难事,设计者只需更改3D零件的尺寸,则2D工程图、3D组合、模具等就会依照尺寸的修改作几何形状的变化,以达到设计修改工作的一致性,避免发生人为改图的疏漏情形,且减少许多人为改图的时间和精力消耗。也正因为有参数化的设计,用户才可以运用强大的数学运算方式,建立各尺寸参数间的关系式,使得模型可自动计算出应有的外型,减少尺寸逐一修改的烦琐费时,并减少错误发生。2.2 Pro/TOOLKIT简介Pro/TOOLKIT是Pro/E软件的二次开发工具箱,其主要目的是让用户或第三方通过C程序代码扩充Pro/E系统的功能,开发基于Pr。/E系统的应用程序模块,从而满足用户的特殊要求。不仅如此,还可以利用Pro/TOOLKIT提供的UI对话框、菜单以及VC的可视化界面技术,设计出方便实用的人机交互界面,从而大大提高系统的使用效率。Pro/TOOLKIT工具箱提供了开发Pr。/E所需的函数库和头文件,使用户或第三方编写的应用程序能够以一种可控制的、安全的方式访问Pro/E的数据库,并可以实现应用程序模块与Pr。/E系统的无缝集成。从某种程度上来说Pro/TOOLKIT是pro/E应用程序开发者的API(Application Programming Interface应用编程接口),从而Pro/TOOLKIT成了外部应用程序和Pro/E软件系统之间进行信息沟通和交互的桥梁和纽带。2.3 Pro/TOOLKIT工作模式Pro/TOOLKIT应用程序有两种工作模式,一种为同步模式(synchronousMode);另一种为异步模式(Asynchronous Mode)。2.3.1 同步模式(Synchronous Mode)在同步模式中又分为两种方式,一种是最标准的使用模式,即DLL模式。Pro/TOOLKIT应用程序与Pro/E的集成是通过DLL的使用来实现的。在DLL模式中,通过编译和连接Pro/TOOLKIT的C代码生成一个目标文件,该目标文件在Pro/E启动时与Pro/E链接在一起。就像是Pro/E本身的程序一样。另外一种模式是多进程模式(Multi一process Mode),采用这种模式后,Pro/TOOLKIT代码经过编译和连接后生成一个独立的执行程序,这个程序可在Pro/E启动时一起启动,也可在Pro/E运行过程中由使用者根据需要启动,启动后的程序是作为Pro/E的一个子程序来运行的。在DLL模式中,Pro/TOOLKIT应用程序和Pro/E之间的信息交换是直接通过函数调用来实现的;而在多进程模式中,应用程序和Pro/E之间信息交换采用的是进程间的通信机制。多进程模式比DLL模式涉及更多的通信开销,尤其是在应用程序要频繁地调用Pro/TOOLKIT的库函数时。然而,在程序开发阶段采用多进程模式是有好处的,这就是可以将应用程序转载入调试器而不用将整个Pro/E程序装入调试器。在DLL模式和多进程模式之间切换是不需要进行C代码的修改的。因此,一般在应用程序开发阶段采用的是多进程模式,这有利于程序调试;当程序开发完成后,一般采用DLL模式发布,这可以提高程序的运行速度。2.3.2 异步模式(asynchronous Mode)异步模式(Asynchronous Mode)又可分为简单异步模式(Simple Asynchronous Mode)和全异步模式(Full Asynchronous Mode)。在简单异步模式中Pro/T00LKIT应用程序包括自己的主函数(Main)函数,定义程序的控制流,并能在程序中调用函数ProEngineerStart()来启动Pro/E进程。这使得应用程序可以开发自己风格的界面,而且该界面是独立于Pro/E界面的。在运行过程中,Pro/E进程“倾听”从Pro/TOOLKIT进程中发出的异步请求信息,然后再根据接受到的请求信息做出相应的回应。然而,在简单异步模式中,Pro/E不能激活在Pro/TOOLKIT程序中的函数。因此,不能在Pro/E中添加新的菜单按钮或建立通知(notification)。但是,当Pro/E运行时,用户可以交互使用Pro/E。在用简单异步模式设计应用程序时,必须非常小心,因为在任一时刻Pro/TOOLKIT进程是不知道Pro/E进程的状态的。全异步模式是简单异步模式的扩展,在全异步模式下,不仅Pro/T00LKIT应用程序可以往Pro/E送请求消息,而且Pro/E进程也可以送请求消息到Pro/TOOLKIT进程。这意味着可以像在同步模式下一样定义菜单按钮或建立通知(notifications)机制。使用全异步模式,首先像在简单异步模式下一样调用ProEngineerStart()函数。此外,必须在Pro/T00LKIT程序中建立事件处理函数,该函数陷阱(Trap)从Pro/E中传递过来的信息。并不断地从控制环(Control Loop)中检查和处理陷阱的信息。定义事件处理函数需调用函数ProInterruptSet(),该函数只有一个参数,函数的返回值为void。而且必须在调用ProEngineerStart()函数之前调用该函数。为了对Pro/E的消息做出回应,需要调用函数ProEventProcess(),该函数没有返回值。从上述分析可知,当Pro/T00LKIT程序与Pro/E进程之间只存在单向消息传递时,也就是说只有应用程序往Pro/E发送消息,在这种情况下,宜采用简单异步模式;当存在双向通信时,宜采用全异步通信模式。2.4 Pro/TOOLKIT二次开发方法Pro/TOOLKIT采用功能强大的面向对象的方式编写,因此,对应用程序来讲,用来在Pro/E和应用程序之间传递信息的数据结构是不可见的。对于几何特征的自动建模,Pro/E提供了以下几种进行二次开发的方法:2.4.1 特征描述法每一个特征由不同的特征元素树(feature element tree)定义。在程序中对每个特征元素树的全部变量赋值一次,就可以产生一个特征,多个特征的累积就形成产品模型。特征元素树包含的信息分为4类:(1)特征本身的所有选项和属性。如特征类型名称、隆起或切槽特征等的深度计量方式、孔的放置位置方式等;(2)特征与已存在的几何实体的参考关系;(3)用于构造特征的平面图形起始位置;(4)所有的尺寸值。目前这种方法还不成熟,因为它有以下三个缺点:第一,由程序产生模型,程序必须包含产品模型的所有信息,从底层起由程序构建模型,编程量十分大。第二,每种特征由不同的特征元素树来描述,编程难度大,程序难以理解。第三,并非所有的特征都可以用这种方法产生。2.4.2 族表法通过族表可以方便的管理具有相同或相近结构的零件,特别适用于标准零件的管理。族表生成派生零件。整个族表通过电子表格来管理,所以又被称为表格驱动。首先建立通用零件为父零件,然后在其基础上对各参数加以控制生成其衍生件。其步骤是:预先手工构建产品模型,把它作为族表的类属件(generic part),然后在族表中定义各个控制参数来控制模型的形状大小,这样就可在程序中通过改变各个参数值来得到所需要的衍生件,这个衍生件的产生是独立存在的,不需要为它定义参考基准。2.4.3 用户自定义特征(User Define Feature)法用户定义特征是将若干个系统特征融合为一个自定义特征,使用时作为一个整体出现。系统将UDF特征以*.gph文件保存。UDF适用特定产品中的特定结构,有利于设计者根据产品特征快速生成几何模型。该方法与族表法相同之处是同样要预先手工构建产品模型,模型创建后定义几何特征、参考基准、可变尺寸及可变尺寸的记号(symbol),然后将这些信息存为一个后缀为.gph的文件。这样就可以在程序中通过文件来改变可变尺寸的值,产生所需的衍生件。这种方法所编程序与手工建模过程比较相似,易于理解且编程较容易。2.4.4 Pro/Program法Pro/E软件对于每个模型都有一个主要设计步骤和参数列表Pro/Program。它是由类似BASIC的高级语言构成的,用户可以根据设计需要来编辑该模型的Program,使其作为一个程序来工作。通过运行该程序,系统通过人机交互的方法来控制系统参数、特征出现与否和特征的具体尺寸等。Pro/Program是Pro/E提供的一个可程序化工具,有简单的语法,对于每一个模型,它将模型树(Model tree)中的每个特征的详细信息记录下来,用户可以根据设计需要来编辑该模型的Program,使其作为一个程序来工作。通过运行该程序,系统以人机交互的方式控制系统参数、特征显示及特征的尺寸等。2.4.5 J一1ink法J一link是Pro/E中自带的基于JAVA语言的二次开发工具。用户通过JAVA编程实现在软件Pro/E中添加功能。2.4.6 Pro/T00LKIT法Pro/T00LKIT同J一1ink一样也是Pro/E自带的二次开发工具,在Pro/T00LKIT中,PTC向用户提供了大型的C语言函数库,函数采用面向对象的风格,通过调用这些底层函数,用户能方便而又安全地访问Pro/E的数据库及内部应用程序,进行二次开发,扩展一些特定功能。2.5 开发Pro/TOOLKIT应用程序2.5.1 创建Pro/TOOLKIT应用程序的基本方法Pro/T00LKIT应用程序是指利用Pro/E系统提供的Pro/T00LKIT工具包,用C语言进行程序设计,采用C编译器和连接器创建能够在Pro/E环境中运行的可执行程序(文件后缀名为EXE)或动态连接库(文件后缀名为DLL)形式的程序。对于不同的操作系统平台,在编译和连接生成Pro/TOOLKIT应用程序时,编译器选项和所需的系统库文件通常是不同的。要使Pro/TOOLKIT应用程序在Pro/E环境正常运行,必须正确设置编译和连接选项。创建Pro/TOOLKIT应用程序有两种方法:一种方法是利用Make文件创建Pro/TOOLKIT应用程序,另一种方法是利用VC向导创建Pro/T00LKIT应用程序。(1).利用Make文件创建Pro/T00LKIT应用程序Make文件主要是用来控制、组织文件的编译方式,也就是规定各种文件如何进行编译和连接并最终生成可执行程序的过程。Pro/E默认安装时,在protoolkiti486_ntobj文件夹中,文件名前缀为Make_的文件为Pro/T00LKIT工具包提供的Make文件范例,将其扩展名改为.mak,就可在VC环境中打开该文件,并可直接创建应用程序。用户可以将Make文件范例复制和修改,生成自己所需的Make文件。主要修改的内容为:Make文件名、输出文件名、Pro/TOOLKIT的安装位置及为目标文件指定的C源程序等。Make文件是从unix系统中移植过来的,很多规范和语法都遵循着unix系统的习惯,其编写过程比较复杂。完全理解清楚具体的编译连接方式的各种符号的意义需要unix编程知识。采用Make文件的方法创建Pro/TOOLKIT应用程序必须手工修改Make文件,程序的设计和调试均不方便,所以这种方法一般不常用。(2).利用VC向导创建Pro/TOOLKIT应用程序利用VC向导创建Pr。/TOOLKIT应用程序可以使用强大的MFC(MicroSoft Foundation Class)类库,特别是利用VC对话框可视化技术设计出友好的人机交互界面。虽然Pro/TOOLKIT提供了一套自己的对话框控件,包括组合框、编辑框、单选控件等,但远不如MFC的Windows通用控件资源丰富,并且界面风格与Windows有一定差异。2.5.2 利用VC向导创建Pro/TOOLKIT应用程序基本框架VC的集成开发环境采用工程来管理所有C+源程序、头文件、库文件和各种资源,程序的设计、编译、连接和调试均十分方便。利用VC的应用程序设计向导可以方便快速的创建Pro/TOOLKIT应用程序的基本框架。操作步骤为:(1).创建DLL工程进入VisualC+6.0集成开发环境,从菜单条中点击“文件(File)”一“新建(New)”,在弹出的对话框中选“(Projects)”选项卡,选择MFC Appwizard(dll)项,在“工程名(Project name)”输入框中输入工程文件名,在“位置(Location)”输入框中输入路径,单击“确定(OK)”按钮,进入如图2.1所示的对话框。在“MFC Appwizard”对话框中选择“动态连接库使用共享MFC DLL(Regular DLL using shared MFC DLL)”单选框,使Pro/TOOLKIT应用程序使用共享的MFC。单击“完成(Finish)”按钮,进入New Project Information窗口后,单击“确定(0K)”按钮。图2-1 MFC对话框图2-2 添加包含头文件的对话框(2).设置工作环境从菜单条中点击“工具(Tool)”“选择(options)”,弹出对话框,打开“目录(Directories)”选项卡,在“显示目录为(Show,direetoriesfor)”下拉列表框中选择Includes files,在“路径(Directories)”中添加以下路径,如图2.2所示:tk_loadpointprotoolkitincludestk_loadpointprotoolkitprotk_applsincludestk_loadpointprodevelopincludestk_loadpointprodevelopProdev_applsincludes其中tk_loadpoint表示Pro/ENGINEER的安装目录。在“显示目录为(Show directories for)”下拉列表框中选择Library files,在“路径(Directories)”中添加以下路径,如图2.3所示: tk_loadpoint)protoolkiti486_ntobjtk_loadpointProdevelopi486_ntobj其中tk_loadpoint表示Pro/E的安装目录2-3添加库文件对话框2-4工程设置对话框(3).项目属性的设置从菜单条中点击“工程(Project)”,“设置(Setting)”,弹出如图2-4所示对话框。在对话框中打开Link选项卡,在“分类(Category)”栏中选择“Input”,在“对象/库模块(object/Library modules)”文本框中加入以下库文件:protk_dl1.lib wsock32.lib mpr.lib在“忽略库(Ignore libraries)”文本框中加入以下库文件:libcmtd。选择“File View”打开VC应用向导自动生成的程序文件,在与工程名相同的.cpp文件中编写Pro/T00LKIT应用程序的用户初始化函数user_initialize()和用户结束中断函数user_terminate()。到此,就完成了Pro/To0LKIT应用程序的基本框架的创建。2.5.3 基本概念-对象和动作对特定的Pro/TOOLKIT对象执行的某种操作称为动作,动作的执行是通过调用Pro/TOOLKIT函数库提供的C函数来实现的。与动作相关的Pro/TOOLKIT函数命名约定为:Pro+对象名+动作,表示对象和动作的英文单词首字母均用大写表示,如:ProSolidRegenerate()(实体再生)、ProFeatureDelete()(特征删除)。在Pro/TOOLKIT中,用来表示动作的常用动词及意义为:Get直接从Pro/E数据库中获得信息,如ProSolidOutlineGet()(获得实体轮廓),Eval提供简单的计算结果,如ProEdgeLengthEval()(计算边长),Compute提供复杂的计算结果,如ProsolidOutlineCompute()(实体轮廓计算)。2.5.4 Pro/TOOLKIT应用程序结构从总体上来说,Pro/TOOLKIT应用程序结构可以分为3个部分,即头文件包含部分、用户初始化函数部分和用户结束中断函数部分。头文件部分即应用程序包含文件部分,也就是指Pro/TOOLKIT应用程序所使用对象函数的原型文件。每个Pro/TOOLKIT应用程序都必须包含头文件“ProToolkit.h”。如果使用了Pro/TOOLKIT对象函数,则应包含该函数原型的头文件(.h文件),否则在编译该文件时,会出现编译器不能对函数参数类型进行检查的错误。Pro/TOOLKIT应用程序的核心是用户初始化函数user_initialize()和用户结束中断函数user_terminate()。user_initialize()是Pro/TOOLKIT应用程序的初始化函数,主要用来对同步模式的Pro/TOOLKIT应用程序进行初始化,任何同步模式的应用程序要在Pro/E系统中加载都必须包含该函数,其作用相当于C程序中的main()函数,在该函数中设置用户的交互接口,如设置菜单、调用对话框后直接调用所需要的函数等。在Pro/E系统中加载Pro/TOOLKIT应用程序时,首先调用user_initialize()函数。典型的定义格式为:extern C int user_initialize(int argc , char* argv , char* version ,char* build , wchar_t errbuf80)ProError status;/用户添加的接口程序部分return status;函数的参数argc表示在参数argv中的参数个数:argv是一个char型的指针数组表示命令变量列表;version为Pro/E版本号(如:3.0);build为Pro/E的构建代码。前四个参数均是Pro/E系统向应用程序传递的参数,errbuf为输出参数,存放初始化失败的错误信息。如果在应用程序中不需要这些信息,在定义该函数时可以不定义这5个参数。函数返回PRO_TK_NO_ERROR表示初始化成功。user_terminate()函数在Pro/E终止同步模式的Pro/TOOLKIT应用程序时调用(如退出Pro/E将终止应用程序的运行),该函数由用户定义,可以不执行任何动作。格式为:extern C void user_terminate(void)AFX_MANAGE_STATE(AfxGetStaticModuleState();if(mdltreedlg!=NULL) delete mdltreedlg;在用VC+6.0编写Pro/TOOLKIT应用程序时user_initialize()和user_terminate()函数应放在与工程文件名同名的.cpp文件中,其格式固定不变。2.6 本课题二次开发的模式通过对二次开发方法和工作模式的介绍和比较,本课题选择利用VC+向导创建Pro/TOOLKIT应用程序基本框架,并采用DDL工作模式来实现课题的开发内容。2.6.1 注册文件及Pro/TOOLKIT应用程序的运行在Pro/E中运行Pro/TOOLKIT应用程序,必须先进行注册。注册文件的作用是向Pro/E系统传递有关Pro/TOOLKIT和应用程序的信息。Pro/E可通过此文件,来定位Pro/TOOLKIT应用的资源文件。注册文件是一个简单的文本文件,每一行都有一个预先定义的关键词,典型的注册文件格式如下:Name ZhaoHaixinstartup dllexec_file D:text1ZhaoHaixinDebugZhaoHaixin.dlltext_dir D:text1ZhaoHaixintextallow_stop truerevision Wildfire3.0end以上的命令是注册文件所要求的基本输入,还有几个可选命令,例如,allow_stop,用于定义在Pro/E软件系统运行时,是否可以随时打开和关闭有文件引入的 Pro/TOOLKIT应用程序;delay_start,用来指定在刚进入Pro/E软件系统时可否延迟打开该 Pro/TOOLKIT应用程序等。2.6.2 Pro/TOOLKIT应用程序的注册运行及卸载Pro/TOOLKIT应用程序的注册有两种方法,一种是自动注册和运行,另一种是手动注册和运行。(1)自动注册和运行自动注册分为两种情况:一是必须将注册文件名取为protk.dat,并保存于C:Program FilesproeWildfire 3.0text目录,或者保存于Pro/E的起始位置设定的目录,二是在Pro/E.的文件中设定注册文件(系统变量名为toolkit_registry_file)。如果在注册文件中设置的DELAY_START值为TRUE,用程序将自动运行。否则用手工启动运行。(2)手动注册和运行选择Pro/E界面上的“工具”,“辅助应用程序”菜单项,选择“注册”按钮注册应用程序。注册成功后选择“启动”按钮运行应用程序。图2一5为注册Pro/TOOLKIT应用程序时的界面。如果在注册文件中包含了多个应用程序的注册内容,在列表框中将显示出相应的应用程序名。如果在注册文件中设置的ALLOW_STOP值为FALSE时,可以用手工终 图2一5辅助应用程序注册表止应用程序的运行。 3 二次开发的关键技术及其应用3.1 自顶向下设计3.1.1 自顶向下设计的概述自顶向下(Top - Down) 设计是指首先根据设计要求确定产品的整体设计标准,然后在设计过程中将这些设计标准逐级贯彻到各个部件和零件的设计环节中的设计方法。 自顶向 下的设计过程包括建立产品总体规划、创建产品的结构形式、在产品的各级设计中贯彻设计规划、建立零件间的约束关系等几个主要过程。自顶向下的设计方法能够有效的组织和协调设计图意,它特别适用于产品的概念设计和大装配设计环境。自顶向下的设计方法具有许多优点:( 1 )它能够高效的组织装配件 自顶向下设计通过产品规划来管理装配件。装配规划中包含了该产品的重要设计准则,如:设计参数、子零部件在装配体中的空间需求、零部件之间的连接方式与连接位置等。在设计过程中、只须访问产品规
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教师招聘之《幼儿教师招聘》考前冲刺模拟题库含答案详解(预热题)
- 教师招聘之《小学教师招聘》通关训练试卷详解(培优b卷)附答案详解
- 2025内蒙古呼伦贝尔林业集团有限公司招聘工作人员5人考试备考及答案详解(全优)
- 2025年教师招聘之《幼儿教师招聘》通关试题库附答案详解【综合题】
- 2025年教师招聘之《幼儿教师招聘》题库高频重点提升(共100题)附参考答案详解(轻巧夺冠)
- 教师招聘之《小学教师招聘》能力提升题库(必刷)附答案详解
- 2025年教师招聘之《小学教师招聘》题库试题及参考答案详解
- 教师招聘之《幼儿教师招聘》考前冲刺练习题库提供答案解析及参考答案详解【能力提升】
- 2025年教师招聘之《幼儿教师招聘》能力检测试卷含答案详解(黄金题型)
- 2025年教师招聘之《幼儿教师招聘》通关练习试题有答案详解
- 中学校长在2025年秋季学期开学典礼上致辞:在时光里耕耘在成长中绽放
- 2025年新形势下新型储能发展趋势分析报告
- 2025年医疗器械注册与备案管理办法试题(附答案)
- 小学道德与法治五年级上册《烟酒有危害》教学课件
- 2025年登革热防控试题(附答案)
- 2025-2026学年人教版小学数学四年级上册教学计划及进度表
- 2025年承包学校食堂餐饮废弃物处理合同
- 2024年安徽大学招聘真题(行政管理岗)
- 部编版道德与法治小学四年级上册期末复习专练试题及答案(全套)
- 2025年发展对象培训班考试题库并带答案
- GB/T 10257-2025核仪器和核辐射探测器质量检验规则
评论
0/150
提交评论