基于ProE二次开发的端盖参数化模型的实现.docx

上传人:b****1 文档编号:10689793 上传时间:2023-05-27 格式:DOCX 页数:55 大小:398.72KB
下载 相关 举报
基于ProE二次开发的端盖参数化模型的实现.docx_第1页
第1页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第2页
第2页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第3页
第3页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第4页
第4页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第5页
第5页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第6页
第6页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第7页
第7页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第8页
第8页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第9页
第9页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第10页
第10页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第11页
第11页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第12页
第12页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第13页
第13页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第14页
第14页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第15页
第15页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第16页
第16页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第17页
第17页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第18页
第18页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第19页
第19页 / 共55页
基于ProE二次开发的端盖参数化模型的实现.docx_第20页
第20页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于ProE二次开发的端盖参数化模型的实现.docx

《基于ProE二次开发的端盖参数化模型的实现.docx》由会员分享,可在线阅读,更多相关《基于ProE二次开发的端盖参数化模型的实现.docx(55页珍藏版)》请在冰点文库上搜索。

基于ProE二次开发的端盖参数化模型的实现.docx

基于ProE二次开发的端盖参数化模型的实现

目录

第一章绪论1

1.1三维CAD技术1

1.1.1CAD技术的发展1

1.2课题背景及意义2

1.3应用程序的开发工具3

1.4课题的主要研究内容3

第二章Pro/TOOLKIT二次开发的基础理论3

2.1Pro/TOOLKIT的基本知识3

2.1.1Pro/TOOLKIT简介3

2.1.2Pro/TOOLKIT的工作模式4

2.1.3Pro/TOOLKIT对象和动作4

2.1.4对象句柄4

2.1.5Pro/TOOLKIT函数返回值5

2.2创建Pro/TOOLKIT应用程序的基本方法5

2.3Pro/TOOLKIT信息文件的建立6

2.4编译和连接设置7

2.5编制注册文件及应用程序的运行7

2.5.1编制注册文件7

2.5.2应用程序的运行7

第三章用户界面设计8

3.1菜单的设计8

3.1.1向菜单栏添加菜单条8

3.1.2向菜单条下添加下级子菜单8

3.1.3端盖菜单设计8

3.2对话框的设计12

3.2.1MFC对话框12

3.2.2UI对话框12

3.3端盖对话框设计14

3.3.1构想14

3.3.2创建方法14

第四章端盖的开发24

4.1总体方案24

4.2基于三维模型的参数化程序设计分析25

4.2.1端盖三维模型的建立25

4.2.2端盖参数化程序设计30

4.3注册并运行程序36

4.4操作流程36

第五章零件图形清单37

结束语41

参考文献42

附录I程序清单43

附录Ⅱ外文文献翻译44

附录Ⅲ外文文献原文51

基于Pro/E二次开发的端盖参数化模型的实现

摘要:

CAD技术在机械设计中发挥着越来越突出的作用。

而三维实体模型比二维图形能更直观、更全面地反映设计意图,并且在三维模型的基础上可以进行零件装配、干涉检查、有限元分析、运动分析等高级的计算机辅设计工作,因此目前机械设计中广泛采用三维设计。

而目前我国Pro/E应用日益普及,而二次开发严重滞后。

所以,进行二次开发是非常必要的。

论文介绍了其二次开发工具Pro/TOOLKIT,并以凸缘端盖为例,详细的论述了应用Pro/Toolkit进行菜单开发、对话框开发,即UI对话框,以及如何在VC++环境下编制C语言程序以激活、调用对话框界面,设计出更加友好透明的用户界面,方便快捷地实现端盖的参数化设计和修改,准确再生出新的实体模型。

关键词:

Pro/ENGINEER、VisualC++、Pro/TOOLKIT、二次开发、端盖

TheRealizationofCoverParametricPartsBasedontheRedevelopmentofPro/E

Abstract:

CADtechnologyismademoreandmoreuseinmechanicaldesign.Designideacanbeexpressedmorevisualizedandmorecomprehensiveinthree-dimensionalfull-scalemock-upthanintwo-dimensionaldrawing,andbasedonthreedimensionalfull—scalemockup,manyotheradvancedCADsuchascomponentassembly,interferencecheck,finiteelementanalysis,motionanalysisandsooncanbeproceed.Hence,three—dimensionaldesigniswidelyusedinmechanicaldesign.However,atthepresenttheapplicationdevelopmentseverelylagsbehindtheincreasingpopularizationofthePro/Eapplicationinourcountry.So,itisverynecessarytodevelopthePro/Eapplication.

ThispaperintroducesthecustomizationtoolPro/TOOLKIT,andtakingcoverflangeforexample,ThisarticleprovidesanexampletointroducethetechniquehowtodesignUIDialogBoxesBywayofPro/E'ssecondarydevelopmenttoolPro/TOOLKITaswellascompilecprogramstoactivateandpickupUIdialogboxesinVisualC++.TakingPro/Toolkitasdevelopmenttool,afriendlydesigninterfaceofCoverisestablished.Thispaperinvestigatesthemethodofestablishingparametric3Dmodelandprogrammingbasedon3DmodelinPro/E,auto-modelingof3DpartsisrealizedusingPro/Toolkit.

Keywords:

Pro/ENGINEER、VisualC++、Pro/TOOLKIT、secondarydevelopment

第一章绪论

1.1三维CAD技术

设计和生产的方法随着计算机的迅速发展每天都在发生着显著的变化。

以前许多只能靠手工完成的作业,逐渐通过计算机实现了高效化和高精度化。

这种利用计算机来达到高效化、高精度化,实现自动化设计、生产以及解析计算的方法称为CAD(ComputerAidedDesign,计算机辅助设计)。

CAD是指利用计算机的硬件和软件进行的设计活动,它从根本上改变了过去的手工绘图、发图、凭图纸组织整个生产过程的技术管理方式,使之变为以统一的产品数据库为核心的交互式产品设计、分析、制造和维护的过程。

它的迅速发展和广泛应用,给工程设计制造业带来了蓬勃生机,使传统的产品设计方法与生产组织模式发生了深刻的变革。

1.1.1CAD技术的发展

CAD技术起步于50年代后期,自从计算机出现之后人们就不断地将计算机技术引入机械设计、制造领域。

因为它顺应生产力的发展,在其产生之后就得到了迅速地发展。

CAD技术经历了四次飞跃:

曲面造型系统、实体造型技术、参数化技术、变量化技术。

(1)曲面造型系统

70年代是飞机和汽车工业的蓬勃发展时期。

期间飞机及汽车的制造中遇到了大量的自由曲面问题,此时法国人提出了贝赛尔算法,法国的达索飞机制造公司的开发者们借此算法在二维绘图系统的基础上,开发出以表面模型为特点的自由曲面建模方法,推出了三维曲面造型系统CATIA。

(2)实体造型技术

表面模型基本上解决CAM的问题,但是由于表面模型技术只能表达形体的表面信息,很难准确地表达如质量、重心、惯性矩等零件的其他特性。

基于对CAD一体化技术发展的探索,SDRC公司于1979年发布了世界上第一个完全基于实体造型技术的大型CAD软件-I-DEAS。

实体造型技术能够精确表达零件的全部属性,给设计带来了很大的方便。

(3)参数化技术

正当实体造型技术在CAD系统中广泛运用时,出现了一种比无约束自由造型更好的算法-参数化实体造型方法。

它主要的特点是:

基于特征、全尺寸约束、全数据相关、尺寸驱动设计修改。

参数化技术彻底克服了自由缄默的无约束状态,由尺寸决定实体造型的几何形状。

尺寸驱动已经成为当今造型系统的基本功能。

如果想修改零件形状的话,只需修改一下尺寸的数值就可以实现形状上的改变。

这种新构想最先在PTC公司(ParametricTechnologyCorp)的软件PRO/ENGINEER中成为现实。

由于参数化技术的成功应用,使得它很快成为CAD业界的标准,许多软件厂商纷纷追赶。

(4)变量化技术

变量化造型技术保留了参数化技术基于特征、全数据相关、尺寸驱动设计修改的优点,但是在约束定义方面做了一定的改变。

变量化造型技术将所需定义的尺寸“参数”进一步区分为形状约束和尺寸约束,而不仅仅是用尺寸来约束全部几何。

通常在新产品开发的概念设计阶段,设计者首先考虑的是设计思想及概念,并将其体现在某些几何形状之中。

但是这些几何形状的严格的尺寸定位关系并不能在设计的初始阶段完全确定,所以希望在初始阶段能够允许欠尺寸约束的存在。

事实上,参数化技术和变量化技术已经成为了当今主流CAD软件的两大流派。

两种造型理论相互依存,共同发展。

我国CAD技术的引进是从60年代开始的,最早起步于航空工业,最近几年发展很快,现已在机械、电子、建筑、汽车、服装等行业逐步进入实用阶段。

1.2课题背景及意义

Pro/ENGINEER是美国PTC(ParametricTechnologyCorporation)公司于1988年开发的参数化设计系统,是一套由设计至生产的机械自动化软件。

参数化设计就是将零件尺寸的设计用参数来描述,并在设计修改时通过修改参数的数值来更改零件的外形。

Pro/ENGINEER与传统的CAD系统仅提供绘图工具有着极大的不同,它提供了一套完整的机械产品解决方案,包括机械设计、板金设计、加工制造、机构分析、有限元分析等,它使产品的设计效率大大提高,使产品在设计初期具有更多的灵活性,保证在日后根据系统要求进行相应的更改和计算;另外在产品的设计方案阶段,可以形象的表现系统的组成特点,而在产品的生产阶段可以方便与加工中心数据连接。

Pro/ENGINEER的特性如下:

3D实体模型,单一数据库,以特征作为设计的单位,参数式设计,数据管理(DataManagement),装配管理(AssembleManagement),工程数据库再利用(EngineeringDataReuse),易用性(EaseofUse),硬件独立性(HardwareIndependence)。

由于Pro/ENGINEER的功能强大并且通用性非常强,然而,由于Pro/ENGINEER软件的通用性,使得该软件在进行具体的产品设计时感到不方便。

对系列化产品,可以通过抽取关键的参数值,再依设计规范计算出各尺寸值并传递给下级零件和子装配,自动的将模型建造出来。

为了使Pro/ENGINEER软件能在特定的企业单位的特定产品设计中最大限度的发挥潜力,创造效益,需Pro/ENGINEER进行二次开发,换句话说,二次开发就是对Pro/ENGINEER进一步的充实、完善。

基于上述原因,利用Pro/TOOLKIT工具箱及VC++开发操作简单的端盖是很有必要。

1.3应用程序的开发工具

系统程序模块的设计选择VisualC++6.0作为开发平台。

VisualC++6.0是运行于Windows上的交互式可视化集成开发环境,是美国MicrosoftVisualStudio的一部分。

像其它的可视化开发环境一样,VisualC++6.0集程序的代码编辑编译连接调试于一体,给编程人员提供了一个完整而又方便的开发界面和许多有效的辅助开发工具。

VC++6.0的应用程序向导(AppWizard)可以为很大一部分类型的程序提供框架代码,用户不需要书写代码,只需要几个按钮就可以生成一个完整的可以运行的程序。

在Pro/TOOLKIT中,PTC向用户提供了大量的C语言函数库,函数采用面向对象的风格。

通过调用这些底层函数,用户能方便而又安全地访问Pro/ENGINEER的数据库及内部应用程序,进行二次开发,扩展一些特定功能。

1.4课题的主要研究内容

本课题的主要研究内容是端盖的开发设计,当用户选择不同的样式后,应用程序可以在基础模型上自动生成相应的端盖。

具体工作包括:

(1)Pro/TOOLKIT基本特点和基本数据结构的研究。

分析Pro/TOOLKIT内部的基本数据结构、功能函数及其使用方法;探讨Pro/TOOLKIT中的一些基本的自定义对象。

(2)用户界面的设计。

研究菜单信息文件,制作端盖的菜单界面;研究对话框资源文件,创建主对话框,并在主对话框中弹出一个自定义对话框;研究Pro/TOOLKIT与VisualC++6.0的接口技术;在VC中制作Pro/TOOLKIT用户界面。

(3)参数化建模的研究。

Pro/ENGINEER软件对于每个模型都有一个主要设计步骤和参数列表,所以要先绘制三维模型,定出参数列表;设计端盖程序,实现自动加载菜单、选择不同的端盖、弹出对话框、修改端盖模型参数值、生成零件等功能。

第二章Pro/TOOLKIT二次开发的基础理论

2.1Pro/TOOLKIT的基本知识

2.1.1Pro/TOOLKIT简介

Pro/TOOLKIT是PTC公司为Pro/ENGINEER软件提供的用户化开发工具箱,该工具箱为用户程序及第三方程序提供了与Pro/ENGINEER的无缝连接。

用户程序或第三方的程序是用C语言编写的。

Pro/TOOLKIT提供了一个C语言的函数库,该函数库能够使用户或第三方的应用程序以一种可控的、安全的方式访问Pro/ENGINEER的数据库和应用程序。

用户或第三方通过C程序代码扩充Pro/ENGINEER系统的功能,开发基于Pro/ENGINEER系统的应用程序模块,从而满足用户的特殊要求。

Pro/TOOLKIT采用的是功能强大的面向对象的方式来编写的。

因此,用来在Pro/ENGINEER和应用程序之间传递信息的数据结构对应用程序来讲是不可见的,而只能通过Pro/TOOLKIT中的函数来访问。

Pro/Toolkit支持在windows2000NT/XP操作系统中使用C和C++语言设计程序,采用MicrosoftVisualC++6.0的集成环境下完成程序的设计、调试和编译。

2.1.2Pro/TOOLKIT的工作模式

Pro/TOOLKIT有两种工作模式,即同步模式和异步模式。

同步模式分为两种模式,一种是标准的使用模式,即DLL模式。

Pro/TOOLKIT应用程序与Pro/ENGINEER的集成是通过DLL模式来实现的,在DLL模式中,通过编译和连接Pro/TOOLKIT的C代码生成一个目标文件,该目标文件在Pro/ENGINEER启动时与Pro/ENGINEER连接在一起,就像是Pro/ENGINEER本身的程序一样;Pro/TOOLKIT应用程序和Pro/ENGINEER之间的信息交换是直接通过函数调用来实现的。

另一种模式是多进程模式。

异步模式分为简单异步模式和全异步模式。

本课题通过菜单对话框向Pro/ENGINEER发送消息,采用同步DLL模式。

2.1.3Pro/TOOLKIT对象和动作

Pro/TOOLKIT采用面向对象的程序设计方法。

对象(Object)和动作(Action)是Pro/TOOLKIT中最基本的概念。

Pro/TOOLKIT的对象实质上是一种类型为结构体的数据,结构体中的成员描述了该对象的属性。

所有对象的命名约定为Pro+<对象名>,其中对象名用英文单词表示,第一个字母大写,如ProFeature(特征对象)。

Pro/TOOLKIT对象执行的某种特定操作称为动作,动作的执行是通过调用Pro/TOOLKIT函数库提供的C函数来实现了。

与动作相关的Pro/TOOLKIT函数名约定为:

Pro+<对象名>+<动作>。

特别要注意的是Pro/TOOLKIT函数的参数规则,规定为:

ProFunction(参数1、参数2、参数3),其中第一个参数用来识别对象(通常为ID值),输入参数在输出参数之前。

2.1.4对象句柄

每个Pro/TOOLKIT对象都对应于一个结构体,定义该结构类型的一个具体的结构体变量称之对象句柄。

按照对象句柄的定义和使用方式分成两种类型:

Ohandle(OpaqueHandle,非透明句柄)和DHandle(DatabaseHandle,数据结构句柄)。

非透明句柄(OpaqueHandle)是使用Pro/ENGINEER数据结构的内存地址引用Pro/ENGINEER对象,这种方式最简单。

使用非透明句柄Pro/TOOLKIT应用程序只能获得该对象的内存地址,不能访问该结构体具体成员,其目的是防止PIDITOOLKIT应用程序访问结构体中的成员。

其特点是使用简单高效,缺点是由于它是一个内存指针,所以具有可变性。

数据结构句柄(DatabaseHandle)则可访问该对象结构体的具体成员。

数据结构句柄是一个十分清晰的数据结构,它包含了足够的信息—包括类型、整型标识符和指向所属模型的句柄,由于数据结构句柄至少包含一个整型标识,所以它具有稳定不变的优点。

当利用Pro/TOOLKIT在Pro/ENGINEER中创建一个包含很多信息的对象时,非常重要的一点就是必须先建立该对象的所有相关信息,然后把这个对象添加到Pro/ENGINEER数据库中去。

然而采用面向对象技术的Pro/TOOLKIT不允许直接访问这些结构的内容。

2.1.5Pro/TOOLKIT函数返回值

大多数Pro/TOOLKIT函数的返回值类型为ProError,用来表示调用函数执行状态。

最常用返回值是PRO_TK_NO_ERROR,表示函数调用成功。

在程序中,通过检查函数的返回值不仅便于在调试是找出错误,更重要的是可以避免在执行时出现异常情况,提高了程序的可靠性。

2.2创建Pro/TOOLKIT应用程序的基本方法

创建基本方法;利用Make文件创建Pro/TOOLKIT应用程序;利用VC向导创建Pro/TOOLKIT应用程序。

采用Make文件的方法创建Pro/TOOLKIT应用程序必须手工修改make文件,程序的设置与调试均不方便,且不能充分利用VC的资源。

所以本课题利用VC向导创建Pro/TOOLKIT应用程序。

在VisualC++6.0环境下新建一个dll工程。

(1)进入VisualC++6.0集成开发环境,选择“File/New...”选项,启动“New”对话框。

在“New”对话框中选择“Projects”选项卡,选择MFCAppWizard(dll)项。

在“Projectnam”输入工程文件名,在“Location”输入框中输入路径。

单击OK按钮。

(2)在“MFCAppWizard”对话框中选择“RegularDLLusingsharedMFCDLL”单选框,使Pro/TOOLKIT应用程序使用共享的MFC。

单击Finish按钮,进入NewProjectInformation窗口后,单击OK按钮,完成工程文件框架的建立。

(3)选择FileView打开VC应用程序向导自动生成程序文件.

VC应用程序设计向导在FileView中自动加入了ReadMe.txt、StdAfx.cpp和以工程文件名为前缀的cpp资源文件、def模块定义文件以及rc资源文件等。

如下图2.1:

图2.1VC文件图

2.3Pro/TOOLKIT信息文件的建立

信息文件是一种ASCII码文件,用来定义菜单项、菜单项提示等信息,可以用Word记事本和写字板等文字处理软件建立,也可在VC的集成开发环境中建立,但必须以纯文本格式保存且信息文件以四行为一组。

其含义分别如下:

第一行:

Pro/ENGINEER系统可以识别的关键字,该关键字必须与该信息文件函数中的相关字符串相同。

第二行:

再菜单项或菜单项提示上显示的英语文本。

第三行:

另一种语言的译文或为空。

第四行:

当前的Pro/ENGINEER版本为空。

其中,第二﹑第四行的语言显示取决于系统环境变量lang的设置。

同时,信息文件必须位于\text或\text\文件夹,为chinese-cn时表示信息为中文,为usascii表示信息为英语。

由此,可以通过系统的环境变量控制显示的语种,不必修改程序。

2.4编译和连接设置

设置包含文件路径,加入“\PROTOOLKIT\INCLUDES”;设置库文件路径,加入“\PROTOOLKIT\I486_NT\OBJ”;设置连接所需库文件,加入“mpr.libprotk_dll.lib”两库文件;在菜单“Project/Settings”的“Link”选项页设定强制文件输出,即选中“Forcefileoutput”的复选项。

2.5编制注册文件及应用程序的运行

2.5.1编制注册文件

在Pro/ENGINEER中运行Pro/TOOLKIT应用程序,必须先进行注册。

注册文件的作用是向Pro/ENGINEER系统传递应用程序的信息。

一般可只选择NameEXEC_FILETEXT_DIRSTARTUPALLOW_STOPREVISION和END项即可。

保存注册文件时,要以.dat为扩展名。

建立端盖的注册文件如图2.2:

图2.2端盖注册文件图

2.5.2应用程序的运行

1注册运行分为自动注册和手动注册。

端盖采用自动注册,并将注册文件名取为“Protk.dat”将此文件位于Pro/ENGINEER的起始位置设定的目录。

其注册文件设置DELAY_START的值为FALSE,应用程序自动运行。

2卸载应用程序。

将注册文件中ALLOW_STOP设为TRUE,可以手工终止运行。

如果启动应用程序失败,可以选择信息按钮来显示应用程序的有关注册信息,以便找出错的原因。

第三章用户界面设计

Pro/ENGINEER可以利用Pro/TOOLKIT提供的菜单UI对话框以及VC的可视化界面技术,设计出方便实用的人机交互界面,从而大大提高系统的使用效率。

在设计人机交互界面时,要尽量能使操作自然简便快捷。

3.1菜单的设计

菜单是Pro/ENGINEER的主要用户界面,Pro/TOOLKIT提供了一系列菜单操作函数,允许应用程序创建何管理菜单。

在应用Pro/TOOLKIT对Pro/ENGINEER进行开发的过程中,添加用户自定义菜单是最常用的技术。

菜单在Pro/ENGINEER界面上的生成代表着动态链接库加载成功,这是进行后续工作的基础。

3.1.1向菜单栏添加菜单条

Pro/ENGINEER是一个不断发展不断更新的软件,某个版本下有的菜单在另外一个版本下可能没有,因此,如果用户自定义菜单依赖某个菜单条,很有可能在另外一个版本中就不能正常使用。

这样只能修改应用程序来适应这种变化,其软件的通用性较差。

因此,决定在Pro/ENGINEER界面上添加新的菜单条。

菜单条是Pro/ENGINEER菜单体系的最顶层菜单,其创建的方法是:

直接调用ProMenubarMenuAdd()函数向Pro/ENGINEER添加所需的菜单,要实现函数的功能,就必须将改按钮和命令捆绑在一起。

该命令调用某个函数实现按钮功能,在Pro/TOOLKIT中,完成命令添加的函数是ProCmdAction(),函数调用成功返回PRO_TK_NO_ERROR(0),否则返回PRO_TK_GENERAL_ERROR(-1)。

3.1.2向菜单条下添加下级子菜单

端盖分为嵌入闷

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2