28基于UG二次开发技术的麻花钻、扩孔钻、铰刀设计系统研究
28基于UG二次开发技术的麻花钻、扩孔钻、铰刀设计系统研究,28,基于,ug,二次开发,技术,麻花,扩孔,铰刀,设计,系统,研究,钻研
湘潭大学兴湘学院毕业论文(设计)任务书论文(设计)题目:基于 UG 二次开发技术的麻花钻、扩孔钻、铰刀设计系统研究 学号: 2006183828 姓名: 刘斌 专业: 机械设计制造及其自动化 指导教师: 张高峰 系主任: 一、主要内容及基本要求1、检索国内外麻花钻、扩孔钻、铰刀设计制造的发展动态,分析国内现状; 2、提出基于 UG 二次开发技术的麻花钻、扩孔钻、铰刀设计; 3、研究麻花钻、扩孔钻、铰刀的各参数间的关系并建立数学模型; 4、在 UG 中利用麻花钻、扩孔钻、铰刀参数表达式绘制实体模型; 5、深入掌握 UG 二次开发的各种方法,并熟练运用 UG/OPEN 开发工具,在建立麻花钻、扩孔钻、铰刀的数学模型的基础上,对各麻花钻、扩孔钻、铰刀实现三维造型; 6、在构建麻花钻、扩孔钻、铰刀模块框架的基础上,深入研究菜单的制作技术以确定本课题应采用的最佳菜单制作技术; 7、总结实际系统设计的体会和收获; 8、完成毕业论文的文稿工作; 9、翻译英文技术资料。 二、重点研究的问题1、研究麻花钻、扩孔钻、铰刀的各参数间的关系并建立数学模型; 2、在 UG 中利用麻花钻、扩孔钻、铰刀参数表达式绘制实体模型; 3、运用 UG/OPEN 开发工具,在建立麻花钻、扩孔钻、铰刀的数学模型的基础上,对各麻花钻、扩孔钻、铰刀实现三维造型; 4、在构建麻花钻、扩孔钻、铰刀模块框架的基础上,深入研究菜单的制作技术以确定本课题应采用的最佳菜单制作技术; 三、进度安排序号 各阶段完成的内容 完成时间1 资料检索、查询 2010.3.12010.3.152 参数化系统的构思及研究 2010.3.162010.3.243 建立数学模型 2010.3.252010.4.104 绘制实体模型并建模 2010.4.112010.4.285 菜单制作 2010.4.292010.5.106 毕业论文的撰写和编辑 2010.5.112010.5.237 翻译英文技术资料 2010.5.242010.6.18 答辩准备和交毕业设计 2010.6.22010.6.10四、应收集的资料及主要参考文献1展迪优. UGNX5.0 产品设计实例精解M. 北京:机械工业出版社,2009. 2 金属切削理论与实践编委会. 金属切削理论与实践M. 北京:北京出版社,1985. 3黄勇. UG 二次开发与数据库应用基础与典型范例M. 北京:电子工业出版社,2008 4王庆林. UG/Open API 实用编程基础M. 北京:清华大学出版社,2002. 5李珊等.基于 UG 的麻花钻三维建模研究D.昆明理工大学硕士学位论文,2006. 6时林. 麻花钻结构参数及刃磨方法的研究D.江南大学硕士学位论文,2006 7罗能武. 基于知识工程的麻花钻三维设计研究及开发D.湖南大学硕士学位论文,2008 8吴振国等.应用扫掠法对标准麻花钻进行几何造型J.兰州交通大学,2008 9吴家洲.UG 软件的二次开发J.华中科技大学机械学院,2002 I目 录摘 要Abstract 第 1章 绪 论 .31 1课 题 的 研 究 背 景 .31 2课 题 的 研 究 内 容 和 解 决 方 法.4第 2章 UG二 次 开 发 的 研 究 .62 1 UG软 件 概 述 .62 1 1 UG软 件 的 功 能 介 绍 .62 1 2 UG功 能 模 块 .62.2 UG二 次 开 发 相 关 工 具 概 述 .72.2.1 UG/Open GRIP.72.2.2 UG/Open API.82.2.3 UG/Open Menu Script.92.2.4 UG/Open UI Styler.102.2.5 User Tools工 具 .10第 3章 二 次 开 发 方 案 的 选 择 .123 1可 行 方 案 .123 2 方 案 选 择 .133 3利 用 二 次 开 发 工 具 制 作 系 统 菜 单.143.3.1 设 置 系 统 环 境 变 量 .143.3.2制 作 菜 单 .15第 4章 以 麻 花 钻 为 例 介 绍 实 体 设 计 .184.1钻 刃 曲 线 的 参 数 方 程 .184.2刀 具 螺 旋 槽 截 面 和 螺 旋 线 的 绘 制.194.3刀 具 螺 旋 体 的 生 成 .204.4刀 具 圆 锥 面 后 刀 面 的 形 成 .20第 5章 程 序 设 计 .245.1 总 体 方 案 设 计 .245.2 对 话 框 设 计 .255.3程 序 设 计 .30结 论 与 展 望 .38参 考 文 献 .39II致 谢 .40附 录 1锥 柄 麻 花 钻 程 序 .41附 录 2外 文 翻 译 .48附 录 3全 部 程 序 见 光 盘 .561基于 UG 二次开发技术的麻花钻、扩孔钻、铰刀设计系统研究摘要:在 机 械 加 工 中 , 孔 加 工 占 机 械 加 工 的 比 例 在30%以 上 , 特 别 是 在 汽 车 与 航 空 等 行 业 中 的 应 用 极 为 广泛 , 由 于长 期 以 来 ,麻 花 钻 、 扩 孔 钻 、 铰 刀 的 设 计 大 多 是 靠 工 程 师 的 经 验 来 进 行, 在 设 计 过 程 中 , 难 免 会 出 现 重 复 性 的 工 作, 从而 降 低 了 设 计 效 率。 同 时 通 常 的 设 计 都 是 在 二 维 图 纸 上 进 行 设 计, 不 能 得 到 可 视 化 的 麻 花 钻 、 扩 孔 钻 、 铰 刀 三 维 造 型,这 就 阻 碍 了 麻 花 钻 、 扩 孔 钻 、 铰 刀 的 数 控 刃 磨 加 工 及 利 用 一 些 分 析 软 件 对 麻 花 钻 、 扩 孔 钻 、 铰 刀 的 钻 削 过程 进 行 分 析 。 在 UG中 利 用 麻 花 钻 、 扩 孔 钻 、 铰 刀 参 数 表 达 式 绘 制 实 体 模 型 , 实 现 麻 花 钻 、 扩 孔 钻 、 铰 刀 在UG的 设 计 。从 而 实 现 产 品 的 快 速 设 计。 UG/Open二 次 开 发 模 块 是 UG软 件 的 二 次 开 发 工 具 集 , 利 用 该 模 块 可 对UG系 统 进 行 用 户 化开 发 , 可 满 足 用 户 进 行 各 种 二 次 开 发 的 需 求。 学 习 了 UG二 次 开 发 的 各 种 工 具 , 了 解 了 各 种 工 具 的 特 点 和 适 用 范围 。 选 择 UG/Open API编 程 语 言 , 结 合 使 用 UG/Open Menu Script和 UG/Open UI Styler开 发 工 具 , 实 现 了 基 于UG二 次 开 发 工 具 的 麻 花 钻 、 扩 孔 钻 、 铰 刀 的 设 计 。关键词:麻 花 钻 、 扩 孔 钻 、 铰 刀 , 二 次 开 发, API2Design Twist Drills, Core drills, Reamers based on the second development technology of UGAbstract: In machining process, hole machining process accounts for more than 30% proportion, especially in the application of automotive and aviation industry. As a long time, the designs of twist drills, reaming drill and reamer are mostly carried out by experienced engineers. In the design process, it would be inevitably repetitive work, and thus reduces the efficiency of design. The design usually drawn in two-dimensional drawings can not be visual for twist drills, reaming drill and reamer with three-dimensional modeling, which hindered the machining of the twist drill, reaming drill and reamer, and the process analysis by some analysis software. In order to achieve the design parameters of twist drills, reaming drill, reamer in UG, the solid model of twist drills, core drills and reamers in the UG are draw. Then we achieve rapid product design. The secondary development for UG / Open of the software module is the secondary development tool set of UG. The module can be customized on the UG system developed to meet user demand for a variety of secondary development. We learn the UG secondary development tools and understand the characteristics of a variety of tools and application. Selecting UG / Open API programming language, and combining UG / Open Menu Script and UG / Open UI Styler development tools, we achieve the design parameters of twist, reaming drill and reamer based on UG second development tools.Keywords: Twist drill, Core drills, Reamers, Secondary development, API3第 1 章 绪论11 课题的研究背景在机械加工中,孔加工占机械加工的比例在 30%以上,特别是在汽车与航空等行业中麻花钻、扩孔钻、铰刀的应用极为广泛。由于长期以来,他们的设计大多是靠工程师的经验来进行,在设计过程中,难免会出现重复性的工作,从而降低了设计效率。同时通常的设计都是在二维图纸上进行设计,不能得到可视化的三维造型,这就阻碍了他们的数控刃磨加工及利用一些分析软件对他们的钻削过程进行分析。在 UG中利用他们的参数表达式绘制实体模型,实现他们在 UG的设计。从而实现产品的快速设计。因此,现代麻花钻、扩孔钻、铰刀的设计建模技术有着广泛的工程应用背景和研究意义 。随着计算机技术和现代设计理论与方法的迅速发展,三维设计软件尤其是 Unigraphics 在机械零件和产品设计中的日益普及,他们实体在三维软件特别是在 UG中的绘制变得越来越重要。但基于 UG的设计系统一般都局限于二维轮廓的绘制或三维实体建模难以与 CAD 系统很好地集成, 给他们的 CAD/ CAM 带来不利影响。建模技术是 CAD的核心技术,造型技术和特征造型技术是新一代继承化 CAD系统应用研究的热点理论。目前国内外对二维图形和简单三维实体的造型较为成熟。对复杂的三维实体的造型尚不多见,特别是麻花钻、扩孔钻、铰刀这类形状复杂的三维实体造型设计更少。这有多方面原因:一方面麻花钻、扩孔钻、铰刀二维图形设计能够满足传统的麻花钻加工要求;另一方面运用低级 CAD软件对复杂的三维实体很难实现虚拟造型设计。随着制造技术的迅速发展,传统的二维图形已不能满足现在的设计、加工要求。因此,在三维软件上绘制麻花钻、扩孔钻、铰刀实体变得十分重要。但是,由于麻花钻、扩孔钻、铰刀形状复杂,且曲线有一定的规律,绘制槽型曲线较复杂。并且麻花钻、扩孔钻、铰刀各参数间都有严格的函数关系,再加上随着当代机械制造业的不断发展,麻花钻、扩孔钻、铰刀的精度要求也越来越高,麻花钻、扩孔钻、铰刀实体的绘制较为麻烦。麻花钻、扩孔钻、铰刀并不是一个标准件,它的各个参数随着设计要求的不同而不同。如果每设计一个麻花钻、扩孔钻、铰刀都要画一个对应的实体部件的话,那不仅增加了设计者的劳动量,还大大降低了设计效率,阻碍了企业的生产和发展。参数化设计是新一代智能化、集成化 CAD系统的核心内容,也是当前CAD技术的研究热点。用大型的三维软件实现麻花钻、扩孔钻、铰刀的造型已成为设计者的迫切需求,麻花钻、扩孔钻、铰刀造型有重要的意义:(1)麻花钻、扩孔钻、铰刀的设计与建模系统是 CAD技术与麻花钻、扩孔钻、铰4刀设计相结合的产物,也是两者发展的趋势所在。(2)实现设计过程自动化避免了设计人员手动查阅大量的数据,也避免了手工取点造型的复杂过程,该系统的开发,可以将手算设计的工作人员从繁琐、低效的工作中解放了出来。(3)实现麻花钻、扩孔钻、铰刀的设计,可以将设计计算、三维造型与绘制工程图的无缝结合,同时为麻花钻、扩孔钻、铰刀的有限元分析、机构仿真和数控加工等工作奠定基础。(4)采用建立原始麻花钻、扩孔钻、铰刀结构模型并驱动其特征参数,为其它复杂曲面的造型提供了有益的参考。本课题利用 UG的二次开发技术,为解决麻花钻、扩孔钻、铰刀设计问题提供了可行的方法,通过直接输入麻花钻、扩孔钻、铰刀设计条件,利用计算得出的有关设计参数,进行实体建模,实现麻花钻、扩孔钻、铰刀的设计,提高麻花钻、扩孔钻、铰刀设计的效率和准确性。12 课题的研究内容和解决方法本课题利用大型软件 UGNX5.0来实现麻花钻、扩孔钻、铰刀的三维造型,通过改变麻花钻、扩孔钻、铰刀的一些基本参数,生成其相应麻花钻、扩孔钻、铰刀。要达到相应的设计要求,首先要知道如何在 UG中绘制麻花钻、扩孔钻、铰刀各部分,要绘制麻花钻、扩孔钻、铰刀必然要知道螺旋槽怎么形成,还应熟知螺旋线的数学模型,精确画出螺旋线。画出麻花钻、扩孔钻、铰刀模型后,还应知道 UG二次开发的知识,灵活运用 UG系统提供的二次开发工具,在模型的基础上编制相应的程序,最后完成麻花钻、扩孔钻、铰刀设计模块的开发。开发具体内容和步骤如下:(1) 研究麻花钻、扩孔钻、铰刀的各参数间的关系并建立数学模型;(2) 螺旋线线数学模型的建立;(3) 深入掌握 UG二次开发的各种方法,并熟练运用 UG/OPEN 开发工具,在建立麻花钻、扩孔钻、铰刀的数学模型的基础上,对各麻花钻、扩孔钻、铰刀实现三维造型;(4) 在构建麻花钻、扩孔钻、铰刀模块框架的基础上,深入研究菜单的制作技术以确定本课题应采用的最佳菜单制作技术。UG 软件是集 CAD/CAM/CAE一体化的三维软件,是当今世界上最为先进的计算机辅助设计、制造和分析软件,在国内使用相当广泛。另外它所提供的二次开发语言模块UG/Open API、UG/Open GRIP和辅助开发模块 UG/Open Menu script与 UG/Open UI Styler及其良好的高级语言接口,使 UG的图形功能和计算功能有机的结合起来,便于5用户去开发各种基于自身需要的专用 CAD系统。使用 UG/Open API和 UG/Open GRIP中任何一个模块都能实现 UG的二次开发,再结合辅助模块,就能开发出 UG界面的应用模块。因此,合理利用 UG的二次开发语言模块和辅助模块,就可以实现在 UG环境下对麻花钻、扩孔钻、铰刀进行设计。6第 2 章 UG 二次开发的研究Unigraphics(简称 UG)是当前世界上最先进和紧密集成的、面向制造行业的CAID/CAD/CAE/CAM高端软件。它为制造业产品开发的全过程提供解决方案,主要功能包括:概念设计、工程设计、性能分析和制造。此外,UG 软件还提供了 CAD/CAE/CAM业界最先进的编程工具集,以满足用户二次开发的需要。本章先讨论 UG软件的主要功能,然后简单介绍二次开发各功能模块的特点和应用。21 UG 软件概述211 UG 软件的功能介绍UG是知识驱动自动化技术领域中的领先者。它实现了设计优化技术与基于产品和过程的知识工程的组合,显著地改进了如汽车、航天航空、机械、消费产品、医疗仪器和工具等工业的生产率。它为各种规模的企业递交可测量的价值;更快地递交产品到市场;使复杂产品的设计简化;减少产品成本和增加企业的竞争实力。NX是一个交互的计算机辅助设计、计算机辅助制造和辅助工程(CAD/CAE/CAM)系统。CAD 功能自动化是在今天制造公司中见到的一般工程、设计和制图能力;CAM 功能利用 NX描述完成零件的设计模型,为现代机床提供 NC编程;CAE 功能横越一广范的工程学科,提供许多的产品、装配和零件的性能防真能力。NX 是一个全三维、双精度系统,它允许用户精确地描述几乎任一几何形状。通过组合这些形状,用户可以设计、分析产品和建立他们的工程图。一但设计完成,制造应用允许用户选择描述零件的几何体,加入制造信息,如刀具直径并自动生成一刀具位置,源文件(CLSF) ,它可用来驱动大多数 NC机床。目前 UGS公司已经推出 NX5产品,本次设计中使用的是 NX5版本的软件。NX5 的特点是:1、为了数字化产品开发集成的自动化;2、在所有开发学科中的新能力,包括工业设计、防真、工装、加工和管理;3、在一个全面的产品生命周期管理(PLM)解决力案内的领先前沿的 CAD、CAE 和 CAM技术。212 UG 功能模块利用 NX,可以建立、存储、恢复和操纵设计与制造信息,典型地通过建立描述一零件的几何体开始工作。NX 功能被划分成共同功能的一系列“应用(Application) ”共 18个模块,各模块分别为:1、入口(Gateway):对所有其他交互应用的首要必备7的应用;2、建模(Modeling):包括实体、特征、自由形状、钣金特征建模和用户定义特征;3、装配(Assembilies):支持装配建模;4、几何公差模块(Geometric Tolerancing Module):让用户捕捉公差;5、产品和制造信息(PMI Introduction):可用于在三维环境中对产品形成文档说明;6、分析(Analysis):包括注塑模流动分析、运动应用和 ICAD;7、制图(Drafting):可将三维模型生成二维视图;8、高质量图像(High Quality Image):生成逼真照片的图像;9、知识熔接(Knowledge Fusion):允许用户应用工程知识驱动规则和设计意图到 NX中的几何模型和装配;10、制造(Manufacturing):可进行虚拟加工和自动加工编程;11、开放的用户界面设计(Open User Interface Styler):允许用户和第三方开发商生成 NX对话框;12、编程语言(Programming Languages):包括 GRIP和 API;13、质量控制(Quallity Control) ;14、走线(Routing):定义围绕和通过其他 NX装配的装配;15、钣金(Sheet Metal):包括钣金设计、冲压和多零件加工的栅格;16、电子表格(Spreadsheet):提供一在 Xess或者电子表格应用和 NX间的智能界面;17、Web Express;18、Wire Harness:可在用于描述产品机械装配的同一三维空间建立电气布线的表示。2.2 UG 二次开发相关工具概述UG软件提供了 CAD/CAE/CAM业界最先进的编程工具集,以满足用户二次开发的需要,这组工具集称之为 UG/Open,是一系列 UG开发工具的总称,它们随 UG一起发布,以开放性架构面向不同的软件平台提供灵活的开发支持。UG/Open 包括以下几个部分:UG/Open Menu scrip开发工具,对 UG软件操作界面进行用户化开发,无须编程即可对UG标准菜单进行添加、重组、剪裁或在 UG软件中集成用户自己的软件功能;UG/Open UI Styler开发工具是一个可视化编辑器,用于创建类似 UG的交互界面,利用该工具,用户可为 UG/Open应用程序开发独立于硬件平台的交互界面;UG/Open API开发工具提供了 UG软件直接编程接口,支持 C、C+、Fortran 和 Java等主要高级语言;UG/Open GRIP开发工具是一个类似 API的 UG内部开发语言,利用该工具用户可生成 NC自动化或自动建模等用户的特殊应用。利用 UG/Open提供的应用程序和开发工具,用户可以在其提供的平台上开发出适合自己需要的 CAD产品。2.2.1 UG/Open GRIPUG/Open GRIP(Graphics Interactive Programming)是一种专用的图形交互编程语言。这种语言与 UG系统集成,实现 UG下的绝大多数的操作。GRIP 语言与一般的通8用语言一样,有其自身的语法结构,程序结构,内部函数,以及与其他通用语言程序相互调用的接口。一个 GRIP语句是由一个或几个 GRIP命令组成,GRIP 命令是 GRIP语言的基本组成部分。GRIP 命令有三种表示格式:a)陈述格式。主要用于生成和编辑实体。b)GPA 符号格式。GPA 是全局参数存取(Global Parameter Access)的缩写,用于访问 UG 系统中各种对象的状态和参数。c)EDA 符号格式。EDA 是实体数据存取(Entity Data Access)的缩写,用于访问 UG数据库,能够访问各种对象的功能性数据。例如在属性、绘图和尺寸标注以及几何体等领域与 UG进行交互操作时,其参数可用 EDA格式的命令取得。用 GRIP语言编写 GRIP源程序,可以在 windows的记事本中进行,记为*.grs;或者在 GRIP高级开发环境(GRAD-Grip Advanced Development Environment)中编写。执行 GRIP程序必需进入 UG环境中,运行 FileExecute UG/OpenGrip。GRIP 编程语言是面向工程师的语言,具有简单、易学、易用的特点,但是所编写的程序长、复杂。要考虑程序的各个细节问题。因此,GRIP 语言常用于开发一些规模比较小的程序,例如,同类零件建模、计算和分析、数据访问等程序。与 GRIP语言相比较,用 API函数编程则可实现功能复杂的操作。2.2.2 UG/Open API作为 UG NX5.0与外部应用程序之间的接口,UG/Open API是一系列函数的集合。通过 UG/Open API的编程,用户几乎能够实现所有的 UG NX5.0功能。开发人员可以通过用 C+语言编程来调用这些函数,从而实现用户的需要。对 UG part文件及相应模型进行操作,包括建立 UG NX5.0模型、查询模型对象、建立并遍历装配体,以及创建工程图等。在 UG NX5.0中创建交互式程序界面。创建并管理用户定义对象等。应用函数时应注意所有的 UG/Open API应用必须及时进行初始化和终止,以确保获取或者释放 UG/Open API的执行许可权限。初始化函数是 UF_ initialize (),当开始调用 UG/Open API的函数时应先调用 UF_ initialize()来获取执行许可权限。一般来说,我们在变量声明完成后,第 1个调用UG/Open API的函数就是 UF_ initialize()。终止函数是 UF_ terminate(),当不再调用 UG/Open API的函数时必须调用 UF_ terminate()来释放执行许可。UG/Open API程序能在两种不同环境(依赖于程序的连接方式)下运行,即 Internal环境(也称为“Internal开发模式” )和 External模式。其中 Internal环境下的程序只能在 UG NX5.0的界面环境(session)下运行,在运行这些程序时他们被加载到 UG NX5.0的运行空间中(UG NX5.0分配的内存) ;External 模式开发的程序能在操作系统(Windows NT/2000/XP及 UNIX)下运行,不在 UG NX5.0环境中或作为 UG NX5.0的子进程运行。尽管没有图形显示,但 UG/Open API提供了函数用于打印机或绘图仪输出,也可以输9出为 CGM文件等其他数据文件。2.2.3 UG/Open Menu ScriptUG/Open Menu Script不仅可以使用户利用 ASC文件来编辑 UG的菜单,也可以以一种无缝集成的方式为用户开发的应用程序创建菜单。Menu Script同时也提供了一个菜单栏报告工具,以帮助用户查看定制的菜单,诊断错误。对于菜单的自定义大致可以分为如下三个层次。(1)自定义菜单该级别的自定义允许单个用户或者管理员重新安排 UG的功能,去除在其产品开发过程中不需要的功能。这种级别的自定义不需要编程实现。(2)自定义 UG功能该级别的自定义允许单个用户或者管理员取代或增加标准的 UG功能,并添加其自己定义的功能。(3)添加自定义应用该级别的自定义其目的在于使用户或第三方开发商开发的应用程序完全集成在 UG中。该级别的自定义需要编程实现。UG的菜单文件是扩展名为.men 的文本文件,可以使用 Windows 的记事本进行编辑。UG/Open Menu Script提供了一套用于定义 UG菜单的脚本语言。实际上,UG 系统的菜单文件也是用该脚本语言编写的。UG 为主菜单栏、快捷菜单栏提供了丰富的系统菜单文件,这些菜单文件默认情况下都保存在 UG_BASE_DIR/ug/menus 文件夹下。使用 UG/Open Menu Script自定义 UG菜单可以有两种方法,分别是使用 Add-on菜单文件和复制和编辑系统菜单文件。使用 Add-on菜单方法是添加编辑量很小的菜单文件到菜单文件的目录中,使用 Add-on菜单可以移出用户不需要的菜单项;添加新的菜单和菜单项;重新组织 UG的菜单;修改菜单和菜单项的标题;为已经存在的应用按钮添加动态库和菜单文件。复制和编辑系统菜单文件是指复制、编辑系统菜单文件并将其放置在特定的目录下,覆盖原始菜单文件。系统推荐使用 Add-on菜单文件方法,该方法不仅编辑起来比较方便、易于维护,而且其功能也相当强大,基本可以满足应用开发的所有需求。使用 Add-on菜单文件的另一个优点在于它可以被 UG很方便地自动加载。对于与具体应用模式无关的菜单文件放置在 startup文件夹下,与具体应用模式相关的菜单文件放置在相应的 application文件夹下,通过使用 MENU_FILES声明,即可将菜单名与应用模式按钮相关联,点击该应用模式按钮后即可自动加载与其相关联的菜单文件。复制和编辑系统菜单文件方法不推荐使用,这主要是由于其编辑起来相当复杂,特别是对于像 ug_main.men这样大型的菜单文件,其维护也非常麻烦。102.2.4 UG/Open UI StylerUI Styler是开发 UG对话框的可视化工具,生成的对话框能与 UG集成,让用户更方便、更高效地与 UG进行交互操作。UG/Open UI Styler模块提供了强大的制作 UG风格窗口的功能,其主要功能如下:(1) 提供了让开发人员建造 UG风格对话框的可视化环境,并能生成 UG/Open UI Styler文件和 C代码,从而使用户在使用 UG/Open UI Styler产生的对话框时,不必考虑图形用户界面(Graphical User Interface 缩写为 GUI )的实现。(2) 利用可视化环境快速生成 UG风格对话框,从而减少开发时间。(3) 通过选取和放置控件,从而能实现所见即所得。(4) 可以在对话框中实现用户自定义位图。(5) 提供了属性编辑器,从而允许开发人员设置和修改控件属性。(6) UI Styelr产生的对话框可以在 Menu Script中被调用,因此可以实现在 UG菜单项上调用 UI Styler产生的对话框,从而将用户应用程序和 UG软件完全融合。应用 UI Styler这一工具可以使开发人员方便、快速地设计出与 UG界面风格一致的对话框,避免其他复杂的编程。而且可以和用其他开发工具开发出的结果进行集成。UG/Open UI Styler工具和 UG/Open Menu Script工具一样,都只具有某一方面的功能:UG/Open UI Styler用于对话框的开发,UG/Open Menu Script 用于菜单的开发。2.2.5 User Tools 工具UG软件为用户提供了一个调用二次开发结果的交互式接口:User Tools。它的功能是生成弹出式对话框或工具条,其界面风格与 UG界面风格一致。通过执行对话框或工具条,操作相应的控件就可运行菜单文件、宏文件、UG/Open GRIP程序、UG/Open API程序和其他二次开发文件。例如,执行齿轮生成的程序集,可以用 User Tools工具产生对话框分别为麻花钻,然后在相应的对话框上进行操作就生成相应种类的齿轮。通过编写对话框定义文件(*.utd)来实现 User Tool工具的功能。编写文件完成以后,在 UG 中执行 ToolsCustomizeUser ToolsLoad选择所编写的*.utd 文件即可弹出需要的对话框或工具条。*.utd 这个文件是文本文件,可用 Windows中的记事本进行编写和编辑。一种比较简单的实现方法:拷贝 UG中的模板文件 Usertoo1.utd到 UG启动目录下,然后编辑模板文件,实现所需要的功能。在以前较早版本中例如 V13,运用 User Tools工具必须编写两个文件:菜单定义文件(*.utm)和对话框定义文件(*.utd),然后通过执行菜单项弹出相应的对话框或工具条。现在,较高的 UG版本已经省略产生菜单这一步,操作同上所述。在 UG 界面中应用 File Execute UG/Open11菜单执行 UG/Open API程序或 UG/Open GRIP程序,操作一次只能执行一个程序,而且必须找到程序所在的路径。若利用 User Tools这个工具,用户可以将多个 GRIP或 API函数所编写的程序集成到一个 User Tools对话框或者工具条中,一个程序对应一个控件,通过操作控件来调用程序,使用起来就非常方便。12第 3 章 二次开发方案的选择31 可行方案UG软件为用户提供的二次开发工具不但可以独立使用,而且可以相互调用其它工具开发的结果,这就大大扩展了工具本身所具有的功能,方便用户进行二次开发。它们之间的关系如下附图所示:Menu Script所开发的菜单可以与 User Tools开发的对话框相互调用;Menu Script所开发的菜单与 User Tools开发的对话框可以调用 UI Styler开发的对话框;Menu Script、User Tools和 UI Styler开发的对话框均可以调用 GRIP程序和 API程序。GRIP 程序和 API程序之间也可以相互调用。另外,使用UG二次开发工具必须要设置相应的环境变量,这样系统才能找到这些开发文件,执行相应的程序。UIStyler Dialog User ToolsAPIGRIPMenuScript图 3-1 二次开发工具关系图本课题的目的是以 UG为平台,使用 UG二次开发工具,实现麻花钻、扩孔钻、铰刀的设计。在 UG界面中就是实现在对话框中输入麻花钻、扩孔钻、铰刀的各个参数,确定后 UG系统自动生成对应的实体模型。要达到设计要求,首先必须自定义一个菜单,制作相对应的对话框,使设计者能调用对应的对话框并输入所需麻花钻的参数。之后更重要的是编写一定的程序,程序的作用是读取对话框中的参数并自动生成所需的实体模型。通过对 UG系统中各个二次开发工具的性能和特点的分析,要实现设计要求有以下几种方案:(1)在菜单和对话框的基础上使用 GRIP语言编写生成麻花钻实体的程序。由二次开发工具之间的关系我们知道,UG 对话框可以调用 GRIP程序。只要能编写出一个生成麻花钻实体的程序,我们就可以用编制好的对话框调用该程序,生成麻花钻实体,满足设计要求。在 UG/Open GRIP 工具中中拥有丰富的函数,可实现几何体的生成、数13据的存取和分析、变换等一系列功能。因此,使用 GRIP完全能编写出生成麻花钻实体程序,程序编写好后使用 User Tool工具对程序进行编译连接,最后生成可被对话框调用的可执行程序。将可执行程序放在对应的文件夹里就可实现对话框对程序的调用,执行程序,满足设计要求。(2)在菜单和对话框的基础上使用 API语言编写生成麻花钻实体的程序。同样,对话框也能实现对 API程序的调用。只要能编写出实现麻花钻建模的 API程序,就能实现设计要求。API 与 GRIP一样,也具有丰富的函数。运用该语言可以实现对部件保存、打开等基本操作、对表达式的操作、装配体操作、工程图的生成和控制等功能,可以满足生成齿轮实体的程序的编写。此外,API 语言借助 C+来编写程序,借助 C+强大的编程功能,编写 API程序比 GRIP更加灵活、更加的简单使用,还能满足更多的编程要求。在 C+中编写好相应的程序后编译程序,将生成的可执行程序(.dll)放在对应的文件夹下,就可以实现对话框对程序的调用和执行,满足设计要求。(3)基于三维模型的程序设计。该方法采用三维模型与程序控制相结合的方式,在创建好三维模型的基础上,根据部件的设计要求建立一组可以完全控制三维模型形状和大小的设计参数。程序针对该部件的设计参数进行编程,实现设计参数的查询、修改,根据新的参数值更新模型从而实现设计变更。其中程序的编写是使用 API语言的表达式功能。在本课题中,采用这种方案具体方法是先新建一个部件,在建模模块下写好表达式,然后使用表达式绘出麻花钻的三维实体,并确保实体模型应随着表达式的值变化而变化。建好模型后,编写菜单和对话框,然后在 C+上用 API语言进行编程,程序应把对话框和模型联系起来,将对话框中输入的值传递到模型的表达式中,并更新程序。这样,当在对话框中输入实体的设计参数后,运行程序,原来的实体部件就会按新的表达式数据重生成模型,这样就得到了设计所需要的实体模型。将新生成的部件另存,保留原部件,这样就可以随时生成需要的麻花钻、扩孔钻、铰刀了。UG二次开发工具的功能非常强大,要实现本课题目的应还有其他方案,在这里只列举了这三个常用方案。32 方案选择比较上述三个方案,有一个共同点就是都使用了菜单技术和对话框技术。这是为了在设计麻花钻时设计者能在 UG界面下直接输入对应的参数,使该模块更加直观,方便设计者使用。这三个方案中,前两个都是使用编写程序来绘制麻花钻实体,程序比较复杂;最后一个是建立模型后将对话框中数值传递到表达式,程序较简单。麻花钻、扩孔钻、铰刀是较复杂的实体部件,精度要求也比较高,要创建麻花钻实体比较麻烦。前两种方案中,都是用程序来编写整个麻花钻实体创建过程,这要涉及到的函数非常14多,程序烦琐,出现错误时不容易修改和维护。此外,在画麻花钻轮廓过程中需要修剪、变换许多曲线,这在程序中很难做到。如果要使用前两种方案,需要深入学习GRIP和 API这两种语言,需要花费很多时间。而第三种方案是直接在 UG界面上画实体模型,可以直接对各种特征进行编辑、修改曲线,相对于前两种方案来说更直观、更容易。不过要注意的是在第三种方案中,在画麻花钻实体过程中要注意应保证所画出的实体模型应能随着表达式中的值的变化而变化。不过在 UG界面下比程序中绘制麻花钻模型要直观、容易的多。在编写程序方面,最后一种方案只需写一些数值的传递的程序,使用的函数少,程序简单,易于发现错误和修改调试。同时,如果能够实现,前两种方案所得的麻花钻设计模块使用起来要比第三种方案方便。由于毕业设计时间不长,而且之前没有接触过有关二次开发的知识,在短时间内无法深入学习 GRIP和API的知识,前两种方案很难实现。第三种方案最为简单,也最有可能在规定时间内完成设计任务,达到设计目的。综合比较这三种方案,最终选择第三种方案作为本次设计方案。33 利用二次开发工具制作系统菜单3.3.1 设置系统环境变量虽然各种菜单的制作方法,在结构、内容和开发过程上有一定的差异,但是在整个构建过程中有其共性和相同的部分,就是菜单制作之前应先设置系统环境变量。设置了系统环境变量,UG 才能找到开发内容所在目录。系统环境变量设置方法有以下两种:方法一:打开$UG_BASE_DIR/ugii 目录下的 ugii_env.dat文件(该文件包含Unigraphics系统的全部环境变量及系统路径定义),找到下面两条语句:#UG_VENDOR_DIR=$UGALLIANCE_DIR/wendo和#UG_ SITE_DIR=$UGALLIANCE_DIR /site。将它们前面的注释符号“#”删除,以使它们起作用。这两条语句其实指明了供用户放置二次开发文件的目录。在 Unigraphics初始安装时,它们不起作用,当删除了“#”号后,UG/OPEN 才能从这些目录下得到二次开发的功能扩展。这两个目录的功能和结构是完全相同的,下面都有 startup和 application两个目录。其中 startup存放 Unigraphics启动时需载入的动态共享库(以 ufsta()为入口的.dl1)及菜单脚本文件(.men);application 目录存放具体的功能扩展程序文件(如应用模块的功能扩展共享库( .dl1)及对话框资源文件( .dlg)。Unigraphics 下设置的这两个目录是为不同等级的开发者提供的,vendor 目录下放置 Unigraphics指定的开发商的二次产品,site目录下存放其余开发者的产品。因此 vendor目录下同类内容的文件要比 site目录下的优先载入。此外,在 ugii_env.dat文件中还有一条语句,是用来设置用户自己15二次开发内容的目录:#UG_USER_DIR =$HOME,同样将其前面的“#”号删除,并在其后使用用户自己的目录替换$HOME。例如,UG_USER_DIR=E:ugapi,在此目录下也必须建立目录 startup和 application,存放的内容和 site及 vendor下的startup、application 一样,不过它的优先级更低13。方法二:打开 UG安装目录 UG_BASE_DIR UGmenus 下的custom_dirs.dat(用记事本打开) ,在文件最后添加开发的文件夹的绝对路径。在添加的文件里建立两个子目录:startup 和 application ,分别用来放置开发的各种文本文件(.men 文件) 、动态库文件和对话框文件。上述两种方法中第二种方法较简单方便,本课题采用第二种方法。打开 UG安装目录 UG_BASE_DIR UGmenus 下的 custom_dirs.dat,在文件最后添加开发的文件夹的绝对路径 E:ugopen。在 E:ugopen文件夹下建立 startup和 application两个子目录。3.3.2 制作菜单本课题涉及到三种刀具的设计,因此应在一个主菜单下建立三个子菜单。在E:ugopenstartup 下建立文件 ugopen.men,代码如下:VERSION 120 /菜单脚本文件的版本信息EDIT UG_GATEWAY_MAIN_MENUBAR /编辑 UG系统菜单文件BEFORE UG_HELP /定义菜单位于“帮助”菜单前CASCADE_BUTTON GEARS /主菜单按钮名LABEL 参数化设计 /主菜单标题END_OF_BEFORE /结束 BEFORE定义MENU GEARS /定义主菜单BUTTON DESIGN_DRILL /第一个子菜单名LABEL 锥柄麻花钻 /第一个子菜单标题ACTIONS design_drill.dlg /第一个子菜单的 IDBUTTON DESIGN_DRILL_SPUR /第二个子菜单名LABEL 直柄麻花钻 /第二个子菜单标题16ACTIONS design_drill_spur.dlg /第二个子菜单的 IDBUTTON DESIGN_1 /第三个子菜单名LABEL 扩孔钻 /第三个子菜单标题ACTIONS design_1.dlg /第三个子菜单的 IDBUTTON DESIGN_2 /第四个子菜单名LABEL 铰刀 /第四个子菜单标题ACTIONS design_2.dlg /第四个子菜单的 IDEND_OF_MENU /结束菜单的定义运行结果如图 3-2所示:图 3-2 菜单运行效果图在菜单的基础上,可以制作工具栏,这样可以在工具栏点相对应的工具来直接调用对话框。工具栏是一种快速激活相关命令的工具按钮的集合。在 UG中,使用菜单工具可以制作工具栏。工具栏文件是以.tbr 为后缀名的文本文件,每个工具栏按钮名称应与菜单文件中相应按钮的名称相同,工具栏按钮图标所对应的位图文件,应放置在相应的 application文件夹下。工具栏文件写好后,应放在对应的 stratup文件夹中。编写的工具栏文件如下:TITLE 参数化设计 /工具栏标题VERSION 160 /工具栏文件的版本信息DOCK NO /工具栏导入时是浮动的BUTTON DESIGN_DRILL /锥柄麻花钻对应按钮的名称LABEL 锥柄麻花钻 /工具栏按钮的标题BITMAP design_drill.bmp /锥柄麻花钻对应按钮图标17BUTTON DESIGN_DRILL_SPUR /直柄麻花钻对应按钮的名称LABEL 直柄麻花钻 /工具栏按钮的标题BITMAP design_drill_spur.bmp /直柄麻花钻对应按钮图标BUTTON DESIGN_1 /扩孔钻对应按钮的名称LABEL 扩孔钻 /工具栏按钮的标题BITMAP design_1.bmp /扩孔钻对应按钮图标BUTTON DESIGN_2 /铰刀对应按钮的名称LABEL 铰刀 /工具栏按钮的标题BITMAP design_2.bmp /铰刀对应按钮图标运行效果如图 3-3所示:图 3-2 工具栏效果图18第 4 章以麻花钻为例介绍实体设计UG环境下麻花钻三维造型原理按逆反思维原则,若把直线主切削刃沿螺旋面旋进到钻头端截面处,则可得到一条新的曲线,这条曲线就是钻刃曲线,而整个后刀面螺旋的结果就是刀具的螺旋体部分。根据内圆锥面刃磨的原理,在刀具螺旋实体上再磨削出刀具的后刀面及直线主切削刃,形成麻花钻的切削部分。本文所采用的麻花钻三维造型的方法是:按钻刃曲线和其它参数绘制螺旋槽截形,螺旋生成刀具的螺旋体,根据刃磨参数生成内圆锥面,再以内圆锥面为边界切割刀具螺旋体,形成麻花钻的三维模型。这种建模方法可以使三维模型生成速度快、操作简单、模型特征较少研究的标准麻花钻的顶角2=118,外缘尖点的螺旋角 =25,钻头半径 R=10,半钻芯厚度 r=1.35。UG 环境下麻花钻三维模型建立的步骤:(1)根据螺旋槽截形的各参数绘制螺旋槽截形和螺旋线;(2)以螺旋线和刀具轴线为导引线、螺旋槽截形为截面螺旋生成刀具实体;(3)以直线主切削刃为母线生成内圆锥面,再以内圆锥面为边界切割刀具螺旋体;(4)隐藏刀具螺旋体多余的部分和内圆锥面,麻花钻三维模型建立完成。4.1 钻刃曲线的参数方程当麻花钻的顶角为 2 时,其主切削刃呈直线状。把麻花钻的钻头放到 o-xyz坐标系中,见图 1所示。将直线主切削刃 AB看作点的组合。将这些点沿螺旋面旋进到钻头(z=0)截面,再重新连接成新的曲线 AB,这条曲线就是钻刃曲线。根据文献,可知钻刃曲线的参数方程 5为: 2cos()in()0/isxrubuRrby式中:R钻头半径;r半钻芯厚度; ()ptg,p为钻槽螺旋导程。19图 4.1 钻头投影图 54.2 刀具螺旋槽截面和螺旋线的绘制按照 UG表达式 EXP的语法规则写出钻刃曲线的表达式,并输入到 UG软件的“Expressi
收藏