【毕业设计论文】基于PROE二次开发的端盖参数化模型的实现毕业论文【有对应的CAD图】_第1页
【毕业设计论文】基于PROE二次开发的端盖参数化模型的实现毕业论文【有对应的CAD图】_第2页
【毕业设计论文】基于PROE二次开发的端盖参数化模型的实现毕业论文【有对应的CAD图】_第3页
【毕业设计论文】基于PROE二次开发的端盖参数化模型的实现毕业论文【有对应的CAD图】_第4页
【毕业设计论文】基于PROE二次开发的端盖参数化模型的实现毕业论文【有对应的CAD图】_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

订做机械设计 (有图纸 CAD 和 WORD 论文) QQ 1003471643 或 QQ 2419131780 毕业设计说明书 题 目:基于 P r o / E 二次开发的端盖参数化模型的实现 订做机械设计 (有图纸 CAD 和 WORD 论文) QQ 1003471643 或 QQ 2419131780 目录 第一章 绪 论1 1 . 1 三维 C A D 技术1 1 . 1 . 1 C A D 技术的发展.1 1 . 2 课题背景及意义2 1 . 3 应用程序的开发工具3 1 . 4 课题的主要研究内容3 第二章 Pro/TOOLKIT 二次开发的基础理论.4 2 . 1 P r o / T O O L K I T 的基本知识.4 2 . 1 . 1 P r o / T O O L K I T 简介.4 2 . 1 . 2 P r o / T O O L K I T 的工作模式.5 2 . 1 . 3 P r o / T O O L K I T 对象和动作.5 2 . 1 . 4 对象句柄5 2 . 1 . 5 P r o / T O O L K I T 函数返回值.6 2 . 2 创建 P r o / T O O L K I T 应用程序的基本方法6 2 . 3 P r o / T O O L K I T 信息文件的建立.8 2 . 4 编译和连接设置8 2 . 5 编制注册文件及应用程序的运行8 2 . 5 . 1 编制注册文件8 2 . 5 . 2 应用程序的运行9 第三章 用户界面设计1 0 3 . 1 菜单的设计1 0 3 . 1 . 1 向菜单栏添加菜单条10 3 . 1 . 2 向菜单条下添加下级子菜单10 3 . 1 . 3 端盖菜单设计10 3 . 2 对话框的设计15 3 . 2 . 1 M F C 对话框.15 订做机械设计 (有图纸 CAD 和 WORD 论文) QQ 1003471643 或 QQ 2419131780 3 . 2 . 2 U I 对话框.16 3 . 3 端盖对话框设计17 3 . 3 . 1 构想17 3 . 3 . 2 创建方法18 第四章 端盖的开发3 1 4 . 1 总体方案31 4 . 2 基于三维模型的参数化程序设计分析3 1 4 . 2 . 1 端盖三维模型的建立3 2 4 . 2 . 2 端盖参数化程序设计3 6 4 . 3 注册并运行程序4 3 4 . 4 操作流程4 3 第五章 零件图形清单4 4 结束语5 1 参考文献.5 3 附录 I 程序清单.5 4 附录 外文文献翻译5 5 附录 外文文献原文6 3 订做机械设计 (有图纸 CAD 和 WORD 论文) QQ 1003471643 或 QQ 2419131780 基于 P r o / E 二次开发的端盖参数化模型的实现 摘 要:CAD 技术在机械设计中发挥着越来越突出的作用。而三维实体模型比二 维图形能更直观、更全面地反映设计意图,并且在三维模型的基础上可以进行零件装 配、干涉检查、有限元分析、运动分析等高级的计算机辅设计工作,因此目前机械设 计中广泛采用三维设计。 而目前我国 Pro/E应用日益普及,而二次开发严重滞后。 所以, 进行二次开发是非常必要的。 论文介绍了其二次开发工具 Pro/TOOLKIT,并以凸缘端盖为例,详细的论述了应 用 ProToolkit 进行菜单开发、对话框开发,即 UI 对话框,以及如何在 VC环境下 编制 C 语言程序以激活、调用对话框界面,设计出更加友好透明的用户界面,方便快 捷地实现端盖的参数化设计和修改,准确再生出新的实体模型。 关键词:ProENGINEER、Visual C+、Pro/TOOLKIT、二次开发、端盖 T h e R e a l i z a t i o n o f C o v e r P a r a m e t r i c P a r t s B a s e d o n t h e R e d e v e l o p m e n t o f P r o / E Abstract: CAD technology is made more and more use in mechanical designDesign idea can be expressed more visualized and more comprehensive in three- dimensional full- scale mock- up than in two- dimensional drawing ,and based on three dimensional full scale mock up,many other advanced CAD such as component assembly,interference check,finite element analysis,motion analysis and so on can be proceed Hence , three dimensional design is widely used in mechanical design However,at the present the application development severely lags behind the increasing popularization of the Pro/E application in our country .So, it is very necessary to develop the Pro/E application. This paper introduces the customization tool Pro/TOOLKIT, and taking cover flange for example, This article provides an example to introduce the technique how to design UI Dialog Boxes By way of Pro/Es 订做机械设计 (有图纸 CAD 和 WORD 论文) QQ 1003471643 或 QQ 2419131780 secondary development tool Pro/TOOLKIT as well as compile c programs to activate and pick up UI dialog boxes in Visual C+. Taking Pro/Toolkit as development tool, a friendly design interface of Cover is established. This paper investigates the method of establishing parametric 3 D model and programming based on 3D model in Pro/E,auto- modeling of 3D parts is realized using Pro/Toolkit. Keywords: Pro ENGINEER 、 Visual C+ 、 Pro/TOOLKIT 、 secondary development 1 第一章 绪 论 1 . 1 三维 C A D 技术 设计和生产的方法随着计算机的迅速发展每天都在发生着显著的变化。以前许多 只能靠手工完成的作业,逐渐通过计算机实现了高效化和高精度化。这种利用计算机 来达到高效化、高精度化,实现自动化设计、生产以及解析计算的方法称为 CAD(Computer Aided Design,计算机辅助设计)。CAD 是指利用计算机的硬件和软件 进行的设计活动,它从根本上改变了过去的手工绘图、发图、凭图纸组织整个生产过 程的技术管理方式,使之变为以统一的产品数据库为核心的交互式产品设计、分析、 制造和维护的过程。它的迅速发展和广泛应用,给工程设计制造业带来了蓬勃生机, 使传统的产品设计方法与生产组织模式发生了深刻的变革。 1 . 1 . 1 C A D技术的发展 CAD 技术起步于 50 年代后期,自从计算机出现之后人们就不断地将计算机技术 引入机械设计、制造领域。因为它顺应生产力的发展,在其产生之后就得到了迅速地 发展。CAD 技术经历了四次飞跃:曲面造型系统、实体造型技术、参数化技术、变 量化技术。 (1)曲面造型系统 70 年代是飞机和汽车工业的蓬勃发展时期。 期间飞机及汽车的制造中遇到了大量 的自由曲面问题,此时法国人提出了贝赛尔算法,法国的达索飞机制造公司的开发者 们借此算法在二维绘图系统的基础上,开发出以表面模型为特点的自由曲面建模方 法,推出了三维曲面造型系统 CATIA。 (2)实体造型技术 表面模型基本上解决 CAM 的问题,但是由于表面模型技术只能表达形体的表面 信息,很难准确地表达如质量、重心、惯性矩等零件的其他特性。基于对 CAD 一体 化技术发展的探索,SDRC 公司于 1979 年发布了世界上第一个完全基于实体造型技 术的大型 CAD 软件I- DEAS。实体造型技术能够精确表达零件的全部属性,给设计 带来了很大的方便。 (3)参数化技术 2 正当实体造型技术在 CAD 系统中广泛运用时,出现了一种比无约束自由造型更 好的算法参数化实体造型方法。它主要的特点是:基于特征、全尺寸约束、全数据 相关、尺寸驱动设计修改。参数化技术彻底克服了自由缄默的无约束状态,由尺寸决 定实体造型的几何形状。尺寸驱动已经成为当今造型系统的基本功能。如果想修改零 件形状的话,只需修改一下尺寸的数值就可以实现形状上的改变。这种新构想最先在 PTC 公司(Parametric Technology Corp)的软件 PRO/ENGINEER 中成为现实。由于 参数化技术的成功应用,使得它很快成为 CAD 业界的标准,许多软件厂商纷纷追赶。 (4) 变量化技术 变量化造型技术保留了参数化技术基于特征、全数据相关、尺寸驱动设计修改的 优点,但是在约束定义方面做了一定的改变。变量化造型技术将所需定义的尺寸“参 数”进一步区分为形状约束和尺寸约束,而不仅仅是用尺寸来约束全部几何。通常在 新产品开发的概念设计阶段,设计者首先考虑的是设计思想及概念,并将其体现在某 些几何形状之中。但是这些几何形状的严格的尺寸定位关系并不能在设计的初始阶段 完全确定,所以希望在初始阶段能够允许欠尺寸约束的存在。事实上,参数化技术和 变量化技术已经成为了当今主流 CAD 软件的两大流派。两种造型理论相互依存,共 同发展。我国 CAD 技术的引进是从 60 年代开始的,最早起步于航空工业,最近几 年发展很快,现已在机械、电子、建筑、汽车、服装等行业逐步进入实用阶段。 1 . 2 课题背景及意义 Pro /ENGINEER是美国 PTC(Parametric Technology Corporation)公司于 1988 年 开发的参数化设计系统,是一套由设计至生产的机械自动化软件。参数化设计就是将 零件尺寸的设计用参数来描述,并在设计修改时通过修改参数的数值来更改零件的外 形。Pro/ENGINEER 与传统的 CAD 系统仅提供绘图工具有着极大的不同,它提供了 一套完整的机械产品解决方案,包括机械设计、板金设计、加工制造、机构分析、有 限元分析等,它使产品的设计效率大大提高,使产品在设计初期具有更多的灵活性, 保证在日后根据系统要求进行相应的更改和计算;另外在产品的设计方案阶段, 可以形 象的表现系统的组成特点,而在产品的生产阶段可以方便与加工中心数据连接。 Pro/ENGINEER 的特性如下:3D 实体模型,单一数据库,以特征作为设计的单位, 参数式设计,数据管理(Data Management),装配管理(Assemble Management),工程数 3 据库再利用(Engineering Data Reuse),易用性(Ease of Use),硬件独立性(Hardware Independence)。 由于 Pro/ENGINEER的功能强大并且通用性非常强,然而,由于 Pro/ENGINEER 软件的通用性,使得该软件在进行具体的产品设计时感到不方便。对系列化产品,可 以通过抽取关键的参数值,再依设计规范计算出各尺寸值并传递给下级零件和子装 配,自动的将模型建造出来。为了使 Pro/ENGINEER软件能在特定的企业单位的特定 产品设计中最大限度的发挥潜力,创造效益,需 Pro/ENGINEER进行二次开发,换句 话说,二次开发就是对 Pro/ENGINEER 进一步的充实、完善。基于上述原因,利用 Pro/TOOLKIT工具箱及 VC+开发操作简单的端盖是很有必要。 1 . 3 应用程序的开发工具 系统程序模块的设计选择 Visual C+6.0 作为开发平台。Visual C+6.0 是运行于 Windows上的交互式可视化集成开发环境,是美国 Microsoft Visual Studio 的一部分。 像其它的可视化开发环境一样,Visual C+6.0 集程序的代码编辑编译连接调试于一 体,给编程人员提供了一个完整而又方便的开发界面和许多有效的辅助开发工具。 VC+6.0 的应用程序向导 (App Wizard) 可以为很大一部分类型的程序提供框架代码, 用户不需要书写代码,只需要几个按钮就可以生成一个完整的可以运行的程序。在 P r o / T O O L K I T 中,P T C 向用户提供了大量的 C 语言函数库,函数采用面向对象的风格。 通过调用这些底层函数,用户能方便而又安全地访问 P r o / E N G I N E E R的数据库及内部 应用程序,进行二次开发,扩展一些特定功能。 1 . 4 课题的主要研究内容 本课题的主要研究内容是端盖的开发设计,当用户选择不同的样式后,应用程序 可以在基础模型上自动生成相应的端盖。具体工作包括: (1)Pro/TOOLKIT基本特点和基本数据结构的研究。分析 Pro/TOOLKIT 内部的 基本数据结构、功能函数及其使用方法;探讨 Pro/TOOLKIT 中的一些基本的自定义 对象。 (2)用户界面的设计。研究菜单信息文件,制作端盖的菜单界面;研究对话框 资源文件, 创建主对话框, 并在主对话框中弹出一个自定义对话框; 研究 Pro/TOOLKIT 4 与 Visual C+6.0 的接口技术;在 VC 中制作 Pro/TOOLKIT用户界面。 (3)参数化建模的研究。Pro/ENGINEER 软件对于每个模型都有一个主要设计 步骤和参数列表,所以要先绘制三维模型,定出参数列表;设计端盖程序,实现自动 加载菜单、选择不同的端盖、弹出对话框、修改端盖模型参数值、生成零件等功能。 第二章 P r o / T O O L K I T 二次开发的基础理论 2 . 1 P r o / T O O L K I T的基本知识 2 . 1 . 1 P r o / T O O L K I T 简介 Pro/TOOLKIT是 PTC 公司为 Pro/ENGINEER软件提供的用户化开发工具箱,该 工具箱为用户程序及第三方程序提供了与 Pro/ENGINEER的无缝连接。 用户程序或第 三方的程序是用 C 语言编写的。Pro/TOOLKIT 提供了一个 C 语言的函数库,该函数 库能够使用户或第三方的应用程序以一种可控的、 安全的方式访问 Pro/ENGINEER 的 数据库和应用程序。用户或第三方通过 C 程序代码扩充 Pro/ENGINEER系统的功能, 开发基于 Pro/ENGINEER 系统的应用程序模块,从而满足用户的特殊要求。 Pro/TOOLKIT 采用的是功能强大的面向对象的方式来编写的。因此,用来在 Pro/ENGINEER和应用程序之间传递信息的数据结构对应用程序来讲是不可见的,而 5 只能通过 Pro/TOOLKIT中的函数来访问。 Pro/Toolkit 支持在 windows2000NT/XP 操作 系统中使用 C 和 C+语言设计程序,采用 Microsoft Visual C+6.0 的集成环境下完成 程序的设计、调试和编译。 2 . 1 . 2 P r o / T O O L K I T 的工作模式 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 . 3 P r o / T O O L K I T 对象和动作 Pro/TOOLKIT 采用面向对象的程序设计方法。对象 ( Object)和动作(Action)是 Pro/TOOLKIT中最基本的概念。 Pro /T OO LKIT的对象实质上是一种类型为结构体的数据,结构体中的成员描述 了该对象的属性。所有对象的命名约定为 Pro+,其中对象名用英文单词表 示,第一个字母大写,如 ProFeature(特征对象)。 Pro/TOOLKIT 对象执行的某种特定操作称为动作,动作的执行是通过调用 Pro/TOOLKIT函数库提供的 C 函数来实现了。与动作相关的 Pro/TOOLKIT 函数名约 定为:Pro+。特别要注意的是 Pro/TOOLKIT 函数的参数规则,规定 为:ProFunction(参数 1、 参数 2、 参数 3), 其中第一个参数用来识别对象(通常为 ID 值), 输入参数在输出参数之前。 2 . 1 . 4 对象句柄 每个 Pro/TOOLKIT 对象都对应于一个结构体,定义该结构类型的一个具体的结 构 体 变 量 称 之 对 象 句 柄。 按 照 对 象 句 柄 的 定 义 和 使 用 方 式 分 成两 种 类 型:Ohandle(Opaque Handle,非透明句柄)和 DHandle(Database Handle,数据结构句柄)。 6 非透明句柄(Opaque Handle)是使用 Pro/ENGINEER 数据结构的内存地址引用 Pro/ENGINEER 对象,这种方式最简单。使用非透明句柄 Pro/TOOLKIT 应用程序只 能获得该对象的内存地址, 不能访问该结构体具体成员, 其目的是防止 PIDITOOLKIT 应用程序访问结构体中的成员。其特点是使用简单高效,缺点是由于它是一个内存指 针,所以具有可变性。 数据结构句柄(DatabaseH andle)则可访问该对象结构体的具体成员。数据结构句 柄是一个十分清晰的数据结构,它包含了足够的信息 包括类型、整型标识符和指 向所属模型的句柄,由于数据结构句柄至少包含一个整型标识,所以它具有稳定不变 的优点。 当利用 Pro/TOOLKIT 在 Pro/ENGINEER中创建一个包含很多信息的对象时, 非常重要的一点就是必须先建立该对象的所有相关信息,然后把这个对象添加到 Pro/ENGINEER 数据库中去。然而采用面向对象技术的 Pro/TOOLKIT 不允许直接访 问这些结构的内容。 2 . 1 . 5 P r o / T O O L K I T 函数返回值 大多数 Pro/TOOLKIT 函数的返回值类型为 ProError,用来表示调用函数执行状 态。最常用返回值是 PRO_TK_NO_ERROR,表示函数调用成功。在程序中,通过检查 函数的返回值不仅便于在调试是找出错误,更重要的是可以避免在执行时出现异常情 况,提高了程序的可靠性。 2 . 2 创建 P r o / T O O L K I T应用程序的基本方法 创建基本方法;利用 Make 文件创建 Pro/TOOLKIT应用程序;利用 VC 向导创建 Pro/TOOLKIT应用程序。 采用 Make 文件的方法创建 Pro/TOOLKIT 应用程序必须手工修改 make 文件,程 序的设置与调试均不方便,且不能充分利用 VC 的资源。所以本课题利用 VC 向导创 建 Pro/TOOLKIT应用程序。 在 Visual C+6.0 环境下新建一个 dll 工程。 (1)进入 Visual C+6.0 集成开发环境,选择“File/New.” 选项,启动 “New” 对话 框。 在 “New” 对话框中选择 “Projects” 选项卡, 选择 MFC AppWizard(dll)项。 在 “Project nam”输入工程文件名,在“Location”输入框中输入路径。单击 OK 按钮。 7 (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 资源文件等。如下图 2.1: 图2 . 1 V C 文件图 8 2 . 3 P r o / T O O L K I T信息文件的建立 信息文件是一种 ASCII 码文件,用来定义菜单项、菜单项提示等信息,可以用 Word 记事本和写字板等文字处理软件建立,也可在 VC 的集成开发环境中建立,但 必须以纯文本格式保存且信息文件以四行为一组。 其含义分别如下: 第一行:Pro/ENGINEER系统可以识别的关键字,该关键字必须与该信息文件函 数中的相关字符串相同。 第二行:再菜单项或菜单项提示上显示的英语文本。 第三行:另一种语言的译文或为空。 第四行:当前的 Pro/ENGINEER版本为空。 其中,第二第四行的语言显示取决于系统环境变量 lang的设置。同时,信息文 件必须位于text 或text文 件 夹 ,为 chinese- cn时表示信息为中文,为 usascii 表示信息为英语。由此,可以通过系统的环 境变量控制显示的语种,不必修改程序。 2 . 4 编译和连接设置 设置包含文件路径,加入“PROTOOLKITINCLUDES” ;设置库文件路径,加入 “PROTOOLKITI486_NTOBJ” ;设置连接所需库文件,加入“mpr.lib protk_dll.lib” 两库文件; 在菜单 “Project/Settings” 的 “Link” 选项页设定强制文件输出, 即选中 “Force file output”的复选项。 2 . 5 编制注册文件及应用程序的运行 2 . 5 . 1 编制注册文件 在 Pro/ENGINEER 中运行 Pro/TOOLKIT 应用程序,必须先进行注册。注册文件 的作用是向 Pro/ENGINEER 系统传递应用程序的信息。一般可只选择 Name EXEC_FILE TEXT_DIR STARTUP ALLOW_STOP REVISION 和 END项即可。 保存注 册文件时,要以.dat 为扩展名。建立端盖的注册文件如图 2.2: 9 图2 . 2 端盖注册文件图 2 . 5 . 2 应用程序的运行 1 注册运行分为自动注册和手动注册。端盖采用自动注册,并将注册文件名取为 “Protk.dat”将此文件位于 Pro/ENGINEER的起始位置设定的目录。其注册文件设置 DELAY_START 的值为 FALSE,应用程序自动运行。 2 卸载应用程序。将注册文件中 ALLOW_STOP 设为 TRUE,可以手工终止运行。 如果启动应用程序失败,可以选择信息按钮来显示应用程序的有关注册信息,以便找 出错的原因。 10 第三章 用户界面设计 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 向菜单条下添加下级子菜单 端盖分为嵌入闷盖、嵌入透盖、凸缘闷、凸缘透盖,不可能每个都建立一个菜单 条。因此必须添加下级菜单以达到建立一个自然便捷的界面的目的 。调用 ProMenubarmenuMenuAdd()函数,并在此菜单下添加菜单项。 3 . 1 . 3 端盖菜单设计 在旁边插入一个菜单条(UserMenu) “Pro/e 二次开发( ProFileName MsgFile; uiCmdCmdId PushButton_cmd_id1,PushButton_cmd_id2, PushButton_cmd_id3,PushButton_cmd_id4; ProStringToWstring(MsgFile, “Message.txt“);/设置菜单信息文件名 /*=* 添加菜单条 *=*/ status=ProMenubarMenuAdd (“UserMenuBar“, “UserMenu“, “Utilities“, PRO_B_TRUE, MsgFile); /*=* 菜单条的下级子菜单设置 *=*/ /添加下级子菜单项 ProMenubarmenuMenuAdd(“UserMenuBar“, “SubMenu“, “SubMenu“, NULL, PRO_B_TRUE, MsgFile); /设置菜单按钮的动作函数 ProCmdActionAdd(“PushButtonAct1“,(uiCmdCmdActFn)Duangai1Fn, uiCmdPrioDefault,AccessAvailable, PRO_B_TRUE,PRO_B_TRUE, /添加菜单按钮 ProMenubarmenuPushbuttonAdd(“SubMenu“, “PushButton1“, “PushButton1“, 12 “Adding a push button to the ProE menu bar“, NULL, PRO_B_TRUE, PushButton_cmd_id1, MsgFile); /设置菜单按钮的动作函数 ProCmdActionAdd(“PushButtonAct2“,(uiCmdCmdActFn)Duangai2Fn, uiCmdPrioDefault,AccessAvailable, PRO_B_TRUE,PRO_B_TRUE, /添加菜单按钮 ProMenubarmenuPushbuttonAdd(“SubMenu“,“PushButton2“,“PushButton2“, “Adding another push button to the ProE menu bar“,NULL, PRO_B_TRUE, PushButton_cmd_id2, MsgFile); /设置菜单按钮的动作函数 ProCmdActionAdd(“PushButtonAct3“,(uiCmdCmdActFn)Duangai3Fn, uiCmdPrioDefault,AccessAvailable, PRO_B_TRUE,PRO_B_TRUE, /添加菜单按钮 ProMenubarmenuPushbuttonAdd(“SubMenu“,“PushButton3“,“PushButton3“, “Adding the third push button to the ProE menu bar“,NULL, PRO_B_TRUE, PushButton_cmd_id3, MsgFile); /设置菜单按钮的动作函数 ProCmdActionAdd(“PushButtonAct4“,(uiCmdCmdActFn)Duangai4Fn, uiCmdPrioDefault,AccessAvailable, PRO_B_TRUE,PRO_B_TRUE, /添加菜单按钮 ProMenubarmenuPushbuttonAdd(“SubMenu“,“PushButton4“, “PushButton4“, “Adding the forth push button to the ProE menu bar“, NULL, PRO_B_TRUE, PushButton_cmd_id4, MsgFile); return status; 13 /*=* FUNCTION: user_terminate() *=*/ extern “C“ void user_terminate() AFX_MANAGE_STATE(AfxGetStaticModuleState(); /*=* FUNCTION: AccessAvailable (菜单项的访问权限设置:可选) *=*/ static uiCmdAccessState AccessAvailable (uiCmdAccessMode access_mode) return (ACCESS_AVAILABLE); 建立端盖的菜单信息文件(中文版)如下: SubMenu SubMenu 端盖 # PushButton1 PushButton1 嵌入闷盖 # Adding a push button to the ProE menu bar Adding a push button to the ProE menu bar 嵌入闷盖 # PushButton2 14 PushButton2 嵌入透盖 # Adding another push button to the ProE menu bar Adding another push button to the ProE menu bar 嵌入透盖 # PushButton3 PushButton3 凸缘闷盖 # Adding the third push button to the ProE menu bar Adding the third push button to the ProE menu bar 凸缘闷盖 # PushButton4 PushButton4 凸缘透盖 # Adding the forth push button to the ProE menu bar Adding the forth push button to the ProE menu bar 凸缘透盖 # 创建端盖菜单如下图 3.1: 15 图3 . 1 模型菜单图 3 . 2 对话框的设计 弹出式对话框是目前最先进最流行的一种人机交互方式,它能提供图形与文字共 存的可视化环境,使操作更为自然快捷。在进行 Pro/TOOLKIT 程序设计时,有两种 方法建立对话框,一种是通过 VC 提供的 MFC 可视化对话框设计技术,另一种是通 过 Pro/TOOLKIT 提供的用户界面对话框(User Interface Dialog Boxes,简称 UI 对话框)。 3 . 2 . 1 M F C 对话框 MFC 是 VC+程序的一个重要的软件资源,为开发 Windows 应用程序提供了强 大的支持,使用 MFC 可以实现程序界面的可视化设计。MFC 对话框作为一种窗口, 具有窗口的一切功能,与 UI 对话框相比,使用 MFC 对话框界面布局更加容易,设计 调试都比较容易。但它建立的对话框与 Pro/ENGINEER的风格不一样,不利于用户 16 的操作。 3 . 2 . 2 U I 对话框 利用 UI 对 话 框 技 术 可 以在 Pro/TOOLKIT 应 用 程 序 中 设 计 出 风 格 与 Pro/ENGINEER 系统本身具有的对话框相似的人机交互界面。控制程序用 C 或 C+ 语言编写,用来在 Pro/ENGINEER环境装入对话框资源、显示对话框、设置动作和退 出对话框等。UI 对话框的设计主要涉及两个方面:一是按界面的布局编写资源文件; 二是针对 UI 对话框的功能编写相应的控制程序。 1.资源文件 资源文件是用来定义和描述 UI 对话框外观及属性的文本文件。主要内容包括 UI 对话框的组成部分元件(component)或称控件、各元件的属性定义和元件的布局形 式。编写资源文件进应注意以下几点:(1)区分大小写;(2)括号必须成对;(3)对话框 名应与资源文件名相同;(4)“!” 后面的内容为注释部分,对对话框的定义没有任何影 响;(5)资源文件可用任何一种支持纯文本格式的文字处理软件编写,如 Word、写字 板或记事本等,也可以用 VC 应用程序设计向导编写。无论用何种方法编写,都必须 按纯文本格式保存,且扩展名为.res。保存在工作目录下所建 VC 程序中 Release/text/resource 子目录中。其中取决于当前使用的语言 (chinese_cn或 usascii) 。 资源文件的结构如下: (Dialog (Componens ) (Resources ) ) Dialog为顶层语句,下面主要包含两段构成,其中原件段(Components) 声明了该对话框的所有元件,资源段(Resource)分为定义了各元件的属性及布局。 17 资源文件仅仅是对 UI 对话框的描述,必须通过 Pro/TOOLKIT应用程序来装入、 显示和控制对话框。分为创建和终止两部分。 创建对话框的过程如下: (1)调用 ProUIDialogCreate()函数将资源文件装入内在; (2)调用对话框零件的动作函数设置指定元件的动作函数; (3)调用 ProUIDialogActivate()函数显示和激活对话框; (4)调用 ProUIDialogDestroy()函数从内在清除对话框资源。 这四步是创建一个 UI 对话框的最基本步骤。其中第二步可实现数据的调用,它 的动作设置函数与元件类型有关,其主要目的是设置用户在对话框界面上对某一元素 进行操作时,调用的动作函数。在完成这四步的情况下,可以终止 UI 对话框,具体 方法是调用 ProUIDialogExit()函数。 3 . 3 端盖对话框设计 3 . 3 . 1 构想 1.在主对话框中添加以下元件。 (1)Label1 与 Label1.1 标签,用于提示图形。Lable1 其图形显示零件图形,该图形 直接从三维模型中获取。Label1.1 显示设计参数与尺寸的对应关系,该图形直接从三 维模型中获取,在图形软件中加上尺寸线和参数名后转换为 UI 对话框支持的 GIF 格 式(保存在 resource 子目录) 。Lable1 其图形命名为 Duangai3.gif,Label1.1 其图形命 名为 Duangai3_1.gif。 (2)Label2 标签,用于显示参数名,命名规则为:设计参数名_Label。 (3)Separator 分隔线 (4)PushButton1 按钮,用于生成模型。 (5)PushButton2 按钮,用于退出对话框。 (6)PushButton3 按钮,用于自定义对话框设计。 (7)InputPanel输入框,用于表示参数值,命名规则为:设计参数名_Value。 其中两个按钮跟其他的按钮用分隔线隔开。 2.在自定义对话框中添加以下元件。 (1)Label1.1 与主对话框的设置相同。 18 (2)Label2 标签,用于显示参数名,命名规则为:设计参数名_Label。 (3)Separator 分隔线 (4)PushButton1 按钮,用于生成模型。 (5)PushButton2 按钮,用于退出对话框。 (6)InputPanel输入框,用于表示参数值,命名规则为:设计参数名_Value。 3 . 3 . 2 创建方法 其创建的方法是:编写资源文件,文件扩展名为.res,用纯文本格式保存在注册文 件 中TEXT_DIR字 段 指 定 目 录 下 的 resource子 目 录 。 调 用 ProUIDialogCreate () 函数将资源文件装入内存; 调用ProUIPushbuttonActivateActionSet ()函数设置按钮的动作;调用 ProUIDialogActivate()函数显示和激活对话框;调 用 ProUIDialogDestroy()函数从内存清除对话框资源; 调用 ParamsList()显示模型 的设计参数; 调用 ParamGetAndShow()从零件模型中获得参数值,并在相应的输入框中 显示;调用 ParamUpdate()更新参数值。创建函数原型为: ProError ProUIDialogCreate(char*dialog_name char*resource) ProError ProUIDialogActivate(char*dialog_name int*status) ProError ProUIDialogDestroy (char* dialog_name) 3 端盖资源文件 以凸缘闷盖为例,其主对框资源文件如下: !资源文件:Duangai3.res (Dialog Duangai3 (Components !对话框元件声明 (Label Image1) (Label Image2) (SubLayout Layout1) (Separator Separator1) (PushButton Update3) 19 (PushButton Cancel) ) (Resources ! 对话框资源(属性定义) (Image1.Bitmap “Duangai3.1.gif“)!零件尺寸与参数对应图 (Image1.TopOffset 10) (Image1.LeftOffset 4) (Image1.RightOffset 2) (Image2.Bitmap “Duangai3.gif“)!三位零件图 (Image2.TopOffset 4) (Image2.BottomOffset 8) (Image2.LeftOffset 4) (Image2.RightOffset 4) (Update3.Label “生成模型( /参数对象指针数组(全局变量) /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Functions declaration 函数声明 *- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ void CANCEL_Ac

温馨提示

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

评论

0/150

提交评论