基于UG注塑模标准模架库的研究与应用机械设计资料

基于UG注塑模标准模架库的研究与应用机械设计资料

收藏

压缩包内文档预览:

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

基于UG注塑模标准模架库的研究与应用机械设计资料,基于UG注塑模标准模架库的,基于UG注塑模标准模架库 的研究与应用,基于UG的注塑模,库及模架库的,UG 注塑模,模标准模架库,基于UG注塑模标准模架库的研究与应用,及标准模架库
编号:20561934    类型:共享资源    大小:4.87MB    格式:ZIP    上传时间:2019-07-05 上传人:QQ24****1780 IP属地:浙江
50
积分
关 键 词:
基于UG注塑模标准模架库的 基于UG注塑模标准模架库 的研究与应用 基于UG的注塑模 库及模架库的 UG 注塑模 模标准模架库 基于UG注塑模标准模架库的研究与应用 及标准模架库
资源描述:
基于UG注塑模标准模架库的研究与应用机械设计资料,基于UG注塑模标准模架库的,基于UG注塑模标准模架库 的研究与应用,基于UG的注塑模,库及模架库的,UG 注塑模,模标准模架库,基于UG注塑模标准模架库的研究与应用,及标准模架库
内容简介:
UG二次开发在模架设计中的应用胡泽豪,刘琨,刘娟(中南林业科技大学,材料成型教研室,湖南,长沙 410004)摘要: 通过对模架的研究和分析,以及对UG二次开发方法的研究与应用。采用二次开发技术和数据库技术对模架进行造型设计,从而优化产品设计结构,缩短产品开发周期,提高产品设计效率。 关键词: 模架;UG二次开发;数据库技术 Application of secondary development based on UG in the design of mould base(Hu Ze-hao,Liu Kun,Liu Juan)(Department of Materials Forming,Central South University of Forestry and Technology,Changsha,Hunan 410004, China)Abstract: Through research and analysis of mould base, and research and application of secondary development based on UG. Use secondary development of technology and database technology to design mould base, optimize product design structure, shorten product development cycles, improve product design efficiency.Key words: die mold; secondary development based on UG; database technology 1 引言Unigraphics(UG)是美国EDS公司推出的一个优秀的机械CAD/CAE/CAM一体化高端软件。此软件为用户或第三方提供了功能强大的开发工具UG/Open,此工具可以根据用户的要求,在UG软件平台的基础上,开发出基于UG系统的应用程序,实现与UG系统的无缝集成,实现用户专业化、智能化、高效化的定制。随着模具工业飞速发展,我国自1984年以来也陆续制定了一部分标准,来规范提高模具的标准化,针对目前模架开发设计、生产加工系列过程中,存在着大量的标准件、通用件、甚至有大量尺寸规格不同,但拓扑结构相同或相似的非标准件1。工程技术人员常常因不同尺寸对相似零件进行重复设计建模工作,不仅耗费时间精力, 设计过程中造成产品数据库过大、冗余数据过多、不易管理,而且增加了产品的生产成本,况且在大量重复性的工作当中,不可避免的带来不可预见性的设计细节错误,最终影响产品的生产质量,因此可以对U G软件进行二次开发, 建立符合国家标准、行业标准以及企业标准的标准件库,以提高模具质量、提高产品设计效率、缩短模具设计制造周期、降低模具生产成本。2 二次开发的工具UG/Open是UG 二次开发工具包的统称,主要包括:UG/Open MenuScript(菜单脚本语言)、UG/Open UIStyler(对话框设计工具)、UG/Open API(应用程序接口)、UG/Open GRIP(图形交互程序)等组件2,其相互关系3如图1所示。 UG/Open MenuScriptUG/Open UIStylerUG/Open APIUG/Open GRIP 如图1 二次开发工具间相互关系2.1 UG/Open MenuScript菜单是人机交互最重要的方式之一,在UG开发环境下,UG/Open MenuScript提供定制菜单的专用模块,利用它可以创建新菜单,并可以根据用户自己的要求,替换UG的原有菜单,也可以实现对UG某个菜单的编辑并生成用户自己的菜单。生成菜单脚本文件(*.men),并需要把此文件放置于文件中的startup文件夹里,以供UG启动调用实现。2.2 UG/Open UIStylerUG/Open UIStyler开发工具是一个可视化对话框编辑器, 用于创建类似UG的交互界面。利用该工具,可以快速创建独立于硬件平台的交互界面,生成UG风格的对话框。使用这个工具最大的优点是可以避免复杂的图形用户接口编程。生成的文件放置于程序文件夹中的application中,才可以被UG程序调用。2.3 UG/Open APIUG/Open API又称作User Function,是UG与外部应用程序之间的接口,是一系列函数和过程的集合。UG/Open API开发工具不仅提供了编译和连接程序的工具,况且它还支持C/C+等主要高级语言4。UG/Open API封装了近2000个UG操作函数, 用户可以通过它可以对UG的图形终端、文件管理系统和数据库进行操作, 几乎所有能在UG系统的所有功能5。2.4 UG/Open GRIPGRIP(Graphics Interactive Programming)是一种专用的解释性的图形交互编程语言, 开发者可以利用此语言编程实现在UG下进行的大部分操作。此编程语言通俗,易懂,与一般的通用语言一样,有完整的语法规则,程序结构,内部函数,以及与其它通用语言程序的相互调用等6。3 模架库系统实现本文通过模架定模座板为实例,借助UG/Open UIStyler,UG/Open MenuScript采用UG/Open API,通过封装中的函数来进行标准件二次开发。3.1 对话框的制作 启动UG,打开用户界面样式编辑器,按照自己的需求,完成控件的制作,此对话框添加了数据库调用的参数库控件,方便数据库里数据的选择和调用。如图2所示。3.2 菜单的定制 根据模具定模座板要求,制作恰当的菜单文件,保存*.men文件格式,并把他放置于开发文件中的startup文件中,再把此文件的路径注册于环境变量的用户变量UGII_USER_DIR下,以备启动UG时系统文件的搜索和调用。如图3所示 如图2 对话框的制作 如图3 模架的菜单3.3 程序的编制为了避免建模的繁琐,减少程序复杂性,同时为了方便简单明了的创建此程序,实现程序设计的模块化,把程序分成若干简化的子程序块。此程序的部分函数为:extern C DllExport void ufsta( char *param, int *returnCode, int rlen ) static UF_MB_cb_status_t SOLID_PLATE() /创建长方体result=SOLID_PLATE_Create_BLOCK(&m_part_para,&m_block_tag); if(result) return UF_MB_CB_CONTINUE; /创建孔特征result=SOLID_PLATE_Create_Hole(&m_part_para,m_block_tag,&m_hole_tag); if(result) return UF_MB_CB_CONTINUE; /创建镜像特征result=SOLID_PLATE_Create_mirror(&m_part_para,m_hole_tag,&m_mirror_tag); if(result) return UF_MB_CB_CONTINUE; 编完此主程序,再分别分别编写各个子程序块,这样既不会使主程序过于繁琐复杂,也方便简化开发的原则,也比较容易寻找检查程序的错误。运用下列函数UF_MODL_create_block()创建长方体;UF_MODL_create_c_bore_hole()创建埋头孔;UF_MODL_create_mirror_set()创建镜像实体逐个创建相应功能的函数程序,以达到实现其功能目的。4 编程与数据库的连接为了减少该系统开发过程中数据种类和数据总量,本课题采用了数据库对该系统进行储存和管理,用户通过操作数据库管理系统可以有效地对数据库的数据进行定义与访问。目前的数据库管理系统有Access、SQL Server和Foxpro等,本课题选取了常用的SQL Server数据库技术。本程序编程中,数据库开发占用一个模块,可以实现独立完成,方便团队成员独立创作。此主程序为:extern C DllExport bool solid_plate_database_func(void *str_mid) int errorCode = UF_initialize(); if ( 0 = errorCode ) AFX_MANAGE_STATE(AfxGetStaticModuleState(); CDatabase_main Database_main_dialog; if(Database_main_dialog.DoModal()=IDOK)int i; for(i=0;iDatabase_main_dialog.nFieldCount;i+)(char *)str_mid)i=stri.GetBuffer(0);errorCode = UF_terminate(); return true; errorCode = UF_terminate();return false;bool solid_plate_database_func(void *str_mid)此函数是对上面编程函数的衔接,通过自己生成的.lib文件,把此函数复制到上一工程目录中,选择ProjectSetting命令,在“Link”选项卡中添加此.lib文件。通过编译生成.dll文件,并把上一工程目录生成的.dll文件一并拷到startup文件中。生成的结果如图4所示。 图4 模架定模座板5 结论1 本研究所开发的UG/Open API编程在UG启动时自动加载到UG主菜单上,与UG的集成环境有机地结合在一起,具有良好的人机交互界面、可扩充性和可移植性,操作简单方便,同时也为设计工作人员在UG中进行类似模型的二次开发提供了很好的借鉴,具有一定的参考价值。2 运用UG/Open API二次开发和数据库建立的标准件库, 可以快速准确的完成用户的需要。对用户来说,简单易学、界面统一、编程容易等特点。对管理者来说,即使数据繁杂,数量庞大,也十分方便操作管理。可以为模架下面的开发工作提供参考和借鉴。3 本研究采用分部编程的模式,根据程序要实现的功能,划分几大编程子程序,逐个编程,最后依靠函数链接。这样大大简化了单个程序的复杂程度,清晰明了,有利于编程和查找程序的错误。解决了程序编程冗长,复杂的技术难题。参考文献1 王斌修,郭丽华,刘敬平.UG二次开发技术在介入式诊疗器三维参数化建模中的应用.塑料,2006(4):67-712董正卫,田立中,付宜利. UG/OPEN AP I编程基础M.北京:清华大学出版社, 20023 刘雅博,陈拂晓,等.MFC在UG二次开发CAD系统中的应用J.淄博学院报,2002,4,24 宋福宏,颜声远,宋益红. UG二次开发及MFC在虚拟仪表仿真设计中的应用.应用科技,2005.11(11):25-275 李如忠.UG二次开发中利用MFC的方法. 机械工程与自动化,2008.12(6):166-1686 黄勇,张博林,薛运锋等.二次开发与数据库应用基础与典型范例.北京:电子工业出版社,2008.17 侯永涛,丁向阳.UG/Open二次开发实例精解.北京:化学工业出版社,2007.4硕士学位论文 基于UG注塑模标准模架库的研究与应用硕士学位论文基于UG注塑模标准模架库 的研究与应用学位申请人姓名: 导师姓名、职称: 培养学院: 机电工程学院 学科专业: 机械制造及其自动化 研究方向: 材料成型理论与技术 论文提交日期: Research & Application of Standard Mould Base Library of Injection Mould for Plastics Based on UG Software 摘要随着经济的飞速发展,人们对注塑模产品的要求越来越高,这就要求我们不得不在注塑模模具结构的开发设计上花费大量的时间和集中主要的精力。注塑模标准模架作为模具系统的一个主要组成部分,他的研究周期的长短和质量的好坏直接影响了模具研究周期和产品的质量,为了使开发设计人员有更多的时间和精力去研究、开发更加精准、更加先进的模具结构,研究和讨论如何缩短模架的研究开发周期和提高模架设计水平,其重要意义是不言而喻的。本文基于UG注塑模标准模架库的研究与应用在模架二次开发方面作了系统的研究和开发。首先,探讨了模具工业,CAD技术发展历程和模具CAD的发展,着重论述了本课题研究的背景、本课题研究的意义和本课题研究的主要工作。其次,介绍本课题所需要的UG软件和二次开发工具,并重点论述了UG二次开发相关技术,对各个开发模块进行全面的分析和论述,以便为后续对各个模块的使用进行整体的掌控和把握。接着介绍了模架库系统开发关键技术及应用,其中包括参数化设计技术和数据库管理技术。并论述了这些技术在系统开发中的作用及应用方式。为系统开发提供了有力的理论基础和方向指导。然后论述了模架库参数化CAD系统的开发,设计了系统的总体方案,提出了系统应用程序的设计,通过环境变量的设置、对话框的制作、菜单的定制以及模型应用程序的编写等介绍注塑模标准模架库的建立方法和过程,其中涉及数据库接口程序设计,最后,论述了模架自动装配系统,讨论了装配的配合条件,探讨了自动装配程序设计和实现过程,并建立了装配爆炸图。本论文提出的设计思想和设计方法,不仅适合于注塑模标准模架库的二次开发,还为其他产品的标准件建库提供了一种借鉴和思路,对促进其它产品的标准件建库能起到一定的启发和推动作用。关键词:注塑模标准模架;二次开发;参数化;数据库;自动装配AbstractWith the rapid economic development, The people are getting higher and higher to Injection mold products request. This requires us to focus on the development of injection mold structure design that we have to spend a lot of time and energy. Standard mould base of injection mold takes as a key component of mold system. Its research cycle length or short and good or bad quality directly impact on the mould research cycle and the quality of the products, in order to make the development designers have more time and energy to research and develop more accurate and more advanced mold structure, study and discuss how to shorten mould base research and development cycle and improve the level of mould base design, the significance is self-evident. The research and application of standard mould base library of injection mould for plastics based on UG software in the secondary development of mould base is researched and developed.Firstly, mould industry, CAD technology development process and the development of the mould CAD are discussed,The research background , research significance and main research content of the thesis are emphatically described. secondly, The UG software that the thesis requires and secondary development tools is introduced, related technology of UG secondary development is emphasized. For each development module is comprehensively analysed and discussed, for follow-up the use of each module is overall controlled and grasped. Then the key technology and application of mould base library system development are introduced, including parametric design technology and database management technology among them, the functions and application modes that these technology is in system development are discussed, the powerful theoretical basis and direction guide are provided for system development. Then the development of parametric CAD system of mould base library are elaborated, the overall scheme of the system is designed, the design of the system application program is proposed, the establishment method and process of standard mould base library of injection mould for plastics is introduced by the setting of environment variables, dialogs building, menus customizing and model application program compiled, it involves the database interface program designed. Lastly,the automatic assembly system of mould base is introduced, the cooperation condition of the assembly is discussed, the design of automatic assembly program and process implemented are discussed, the assembly explosion is established.In the thesis the design thought and design method are presented, not only applies for the secondary development of standard mould base library of injection mould for plastics, but also the reference and ideas standard parts library built for other products are presented, it promotes standard parts library built for other products to have certain inspiration and the promotion effect.Key Words: Standard mould base of injection mould; secondary development; parametric; database; automatic assembly目 录摘要 .Abstract .II1 绪论1.1 模具工业.11.2 CAD技术发展历程.21.3 模具CAD的发展.51.4 本课题研究的背景.61.5 本课题研究的意义.71.6 本课题研究的主要工作.92 UG二次开发技术2.1 UG软件102.1.1 UG的概述.102.1.2 UG的简介 UG系统介绍 UG的主要功能. UG的特点132.2 二次开发工具.162.2.1 UG/Open Grip. UG/Open Grip概述. UG/Open Grip开发环境172.2.2 UIStyler对话框设计. UIStyler的功能. UIStyler的操作界面. UIStyler控件介绍. UIStyler对话框的编辑212.2.3 UG/Open MenuScript.用户菜单脚本UG/Open MenuScript 菜单脚本文件的语法.232.2.4 UG/Open API.2 UG/Open API功能概述.2 UG/Open API运行环境2 UG/Open API应用程序的初始化和终止方式.30 UG/Open API的数据类型.30 函数名称及参数规范.312.2.5 User Tools.322.2.6 二次开发工具之间的关系.322.3 本章小结.323 模架库系统开发关键技术及应用3.1 参数化设计技术.333.1.1 参数化设计原理.333.1.2 参数化模型.343.1.3 参数化设计在本课题中的应用.353.2 数据库管理技术及应用.373.2.1 数据库管理技术.373.2.2 数据库管理技术应用.393.2.3数据库管理技术的连接.403.3本章小结414 模架参数化CAD系统的开发4.1 系统总体设计方案424.1.1 系统总体设计思路.424.1.2 系统开发基本步骤.434.1.3 系统开发工具选择.444.1.4 系统开发流程.454.2 模架库零部件程序创建.464.2.1 系统环境变量的设置.464.2.2 工程目录结构.474.2.3 系统应用程序的设计.4 用户界面设计.4 创建应用程序.5 数据库接口程序设计.60 程序编译和连接.654.3 模架库系统应用实例.654.3.1 板类零件定模座板.654.3.2 轴类零件导套.684.4 本章小结.705 模架自动装配系统5.1概述715.2装配配合条件.725.3自动装配程序设计和实现.735.4装配爆炸图815.5本章小结826 结论和展望6.1结论836.2本文的创新点846.3展望84参考文献86附录A 92附录B(攻读学位期间的主要学术成果)113致谢 114 V1 绪论1.1 模具工业随着中国经济的高速发展,近10年来,中国模具工业一直以每年15%左右的增长速度快速发展1。模具业素有“开启工业现代化金钥匙”的美称,我国对模具的需求与日俱增,模具进口与出口逆差不断拉大。经过多年努力,我国已从模具进口大国悄悄向模具出口大国方向转变。加入世贸组织后,我国模具工业设计和制造水平不断提升2。中央提出一揽子刺激内需的计划,特别是国务院通过的装备制造业调整和振兴规划中把提升模具及其制造装备的技术水平作为其重点内容,对模具工业提出了越来越高的要求,也为其发展提供了巨大的动力。在国家16个重大科技专项基础装备功能部件项目中有模具项目专项,也体现了模具工业在制造业中所占的重要地位3。随着改革开放,全球制造业重心向中国转移,为中国模具行业发展提供了强大动力,也对国内模具制造商提出了越来越高的要求3。近年来,我国塑料模具发展迅速,塑料模具在整个模具行业中所占比重约为30%,在模具进出口中的比重高达5070%5。随着中国机械、汽车、家电、电子信息和建筑建材等国民经济支柱产业的快速发展,何况还有通讯、IT、航天、航空、仪表、机电、化工等行业对模具的大量需求。据预测,模具市场的总体趋热是平稳向上的,在未来的模具市场中,塑料模具的发展速度将高于其它模具,在模具行业中的比例将逐步提高5。目前,塑料模具发展一片生机,塑料制品的应用日渐广泛,为塑料模具提供了一个广阔巨大的市场,同时对模具也提出了更高的要求6。总的来说,进入新世纪以来,我们取得重大进步。但离现代制造业的发展需求,仍有很大差距。随着中国经济逐步地融入世界经济体系,中国模具的设计和制造水平有了很大提高。但是,我国模具产品水平总体上与发达国家相差有1015年的差距。特别落后于欧美,日本等模具强国。模具生产技术水平的高低,已成为衡量一个国家产品制造水平高低的重要标志之一,因为模具在很大程度上决定着产品的质量、效益和新产品的开发能力6。因此,如何把提高生产效率,减少模具设计开发周期,已经成为目前模具加工和模具优化中的热点研究问题。二次开发技术成功应用,已经在部分模具制造企业产生了明显效果,节约开发时间,缩短开发周期,为大规模定制生产提供了可能。传统设计方法既浪费了精力和资源,也无法保证在每一个环节都能拥有高级专业化水准。随着现代市场全球化竞争程度的不断加剧,企业之间的竞争开始转向基于时间的竞争和基于客户需求的竞争8,特别是在大规模定制的生产模式下,企业之间的竞争开始转向更加基于时间的竞争和基于客户需求的竞争。为顾客提供定制化的产品,缩短产品的开发时间,提高顾客的满意度,己经成为现代企业追求新的竞争优势的一种必然趋势9。1.2 CAD技术发展历程 CAD是Computer Aided Design的缩写,即计算机辅助设计。计算机辅助设计就是一种用计算机硬软件系统辅助人们对产品或工程进行设计的方法与技术,包括设计、绘图、工程分析和文档制作等设计活动,它是一种新的设计方法,也是一门多学科综合应用的新技术10。CAD应用计算机、图形软件、信息技术来辅助工程师和设计师进行产品或工程的设计,从构思到形成文档来帮助或提高产品设计。自从1946年第一台计算机开始,人们就不断地尝试将计算机技术引入到传统的机械设计领域。CAD技术的发展和形成至今已有50余年的历史,自20世纪50年代交互式图形处理技术的出现,CAD技术经历了由单纯的二、三维绘图到覆盖几何造型、工程分析、模拟仿真、设计文档生成等大量产品设计活动的发展过程。目前,CAD技术正经历着由传统CAD技术到现代CAD技术的转变。二维CAD技术的发展CAD技术起步于50年代后期。进入60年代,随着在计算机屏幕上绘图变为现实可行,CAD技术开始逐渐迅速发展。人们希望通过借助此项技术来摆脱复杂繁琐、费工费时、绘制精度低,效率低下的传统手工绘图,况且运用手工绘制的图纸,不易查看与保存,造成数据库存资源的庞大和浪费,不利于企业的创新和发展。麻省理工学院的研究生I.E.Sutherland发表了的论文,这篇论文首次提出了计算机图形学、交互式技术及图形符号的存储采用分层的思想,为CAD技术提供了理论基础,随后相继出现了商品化的CAD设备和软件系统,例如美国的IBM公司开发的大型机为基础的CAD/CAM系统、通用公司研制的DAC-1系统和洛克希飞机公司的CAD/CAM系统11。计算机辅助设计通常与一个交互式计算机图形系统的应用联系在一起,称作计算机辅助设计系统。设计(Design),就是制定和采纳规则,然后在这些规则下进行工作并达到计划的和实用的目标的过程12。此时CAD技术是用传统的三视方法来表达零件为出发点,以图纸为媒介进行技术输出和交流,功能单一,不能复合集成,此技术就是二维计算机绘图技术。此时CAD的含义仅仅定格于作为图板的替代品,当时的CAD即所谓的是计算机辅助画图,即(Computer Aided Drawing)的缩写。以二维绘图为主要目标的算法一直持续到70年代末期。随着科学技术的发展,特别是计算机软硬件技术的发展,CAD技术系统介入产品设计过程的程度越来越深入,系统功能越来越强大,系统作用越来越多元化,逐步发展成为真正的计算机辅助设计即(Computer Aided Design)的缩写。60年代还出现了简单的三维CAD系统,此系统由极为简单的线框式系统组成。此种初期的线框造型系统只能表达出基本的几何信息,不能有效表达出几何数据间的拓扑结构关系。由于缺乏形体的表面要素信息,CAE及CAM均都无法应用实现。 进入70年代,飞机和汽车工业进入了蓬勃发展快速时期,这给三维CAD带来了空前良好的发展机遇。飞机及汽车制造中存在有大量的自由曲面问题,当时只能通过多截面视图、特征纬线的方式来近似表达。由于三视图方法表达的不完整性,差异性。经常发生设计完成后,制作出来的样品与设计者所想象的实物有很大差异甚至完全不同,影响了其产品的设计质量以及生产成品的质量。为了解决产品设计中遇到的大量自由曲面问题,法国人提出了贝赛尔算法,使人们通过计算机来处理解决曲线及曲面问题,同时也使法国的达索飞机制造公司的开发者们得到了启发,通过在二维绘图系统CADAM的基础上的应用与研究,他们提出以表面模型为特点的自由曲面建模方法,推出了当时较为先进的三维曲面造型软件CATIA。CATIA实现了运用计算机完整地描述产品零件的主要信息,从而把计算机辅助设计技术从单纯模仿工程图纸的三视图模式中解放出来,同时也为CAM技术的开发与运用打下了坚实的基础。曲面造型系统带来了第一次CAD技术革命,它彻底改变了以往只能借助油泥模型来近似表达曲面的传统工作方式。曲面造型系统带来的技术革新,使产品设计开发手段有了质的飞跃,新产品开发速度也大幅度提高,大量产品的开发周期成倍的缩短。企业对CAD系统的大量采用,反过来也大大促进了CAD技术的发展。 80年代初出现的实体造型技术与三维CAD系统,CAD系统价格依然令一般企业望而却步,这使得CAD技术无法拥有更广阔的市场。为使自己的产品更具特色,在有限的市场中获得更大的份额,以CV、SDRC和UG为代表的系统开始朝各自的发展方向前进。70年代末到80年代初,CAE和CAM技术也有了较大发展。表面模型使CAM问题基本得到解决。但由于表面模型技术只能表达形体的表面信息,难以准确表达零件的其它特性,如质量、重心和惯性矩等,在这样问题的背景下,许多公司开发了专用分析模块。比较典型的是SDRC公司于1979年发布了世界上第一个完全基于实体造型技术的大型CAD/CAE软件I-DEAS。实体造型技术能够精确地表达零件的全部属性,有助于统一CAD/CAE/CAM的模型表达,给设计带来了方便,代表着未来CAD技术的发展方向。但实体造型技术不仅带来了数据计算量的极度膨胀,由于当时的计算机硬件条件不够理想,实体造型的计算及显示速度很慢,离实际应用还有较大的差距。另外,面对算法和系统效率之间的矛盾,许多公司为了自身的利益并没有下大力气进行开发,而是转向攻克相对容易实现的表面模型技术。进入80年代中期,CV公司提出了一种比无约束自由造型更加新颖的算法“参数化实体造型方法”。这种方法的特点是,基于特征、全尺寸约束、全数据相关和尺寸驱动设计修改。由于在参数化技术发展初期,新技术疑难点大量存在,有待于攻克,又因为参数化技术的核心算法与以往的系统有本质差别,相互不兼容,采用参数化技术,必须将全部软件重新开发,重新改写。因而需要大量的开发工作量和前期投资。所以美国PTC(Parametric Technology Corporation)参数技术公司就在这样的环境下应运而生。PTC推出的Pro/Engineer(简称Pro/E)是世界上第一个采用参数化技术的CAD软件,它第一次实现了尺寸驱动的零件设计。随着计算机技术的迅速发展,硬件成本大幅度下降,很多中小型企业也开始有能力使用CAD技术。处于中低档的Pro/E软件获得了发展机遇,它符合众多中小型企业CAD的需求,从而获得了巨大的成功。进入90年代后,参数化技术的成功应用,提高了产品的设计质量和效率,在其以后的发展应用过程中,参数化技术逐渐的得到完善和加强,参数化技术逐渐变得越来越成熟,在许多通用件、零部件设计时的简便易行等方面,该软件充分体现出极强的优势。所以,当时变量化技术与参数化技术几乎成为CAD业界的标准,许多软件厂商纷纷起步追赶,加快自己的软件更新换代,来满足CAD软件市场的要求。由于CATIA、CV、UG、EUCLID等都已经在原来的非参数化模型基础上开发或集成了很多其它应用,并开发了许多应用模块,所以,重新开发一套完全参数化的造型系统,就意味着必须将软件全部重新改写,工程量和投资均甚为浩大,公司往往不能承受,因此这些公司基本上都是在原有模型技术的基础上进行局部的、小规模的改进和修补。这样,CV、CATIA和UG推出了自己的参数化技术,但这些软件还不是全面的参数化,并非完全基于实体,只是采用了复合建模技术,把线框模型、曲面模型及实体模型叠加在一起。由于参数化技术和非参数化技术内核本质不同,参数化技术造型后,要进行内部转换进入非参数化系统,才能被系统识别和应用。而大量的转换极易导致数据丢失或产生其它的不利情况。90年代初,SDRC公司的开发人员以参数化技术为蓝本,提出了“变量化技术”。1990至1993年,SDRC对CAD软件进行革命性改进,将软件全部重新改写,推出了全新体系结构的I-DEAS Master Series。CAD技术基础理论的每一次重大进展,无一不带动了CAD/CAM/CAE整体技术的提高以及制造手段的更新。可是CAD软件技术发展也给我们带来启示:决定软件先进性及生命力的主要因素是软件基础技术,而并非特定的应用技术。1.3 模具CAD的发展随着工业技术和科学技术的发展,产品对模具的要求越来越高,传统的模具设计制造已不能适应工业产品快速更新换代和提高质量的要求。本世纪的模具设计制造行业的基本特征是高度集成化、智能化、柔性化、虚拟化和网络化,追求的目标是提高产品质量及生产效率、缩短设计制造周期,降低生产成本、最大限度的提高模具制造业的应变能力,满足用户需求13。因此,发达国家从20世纪50年代末就开始了模具CAD/CAM技术的研究;到20世纪60年代末,模具CAD/CAM技术已日趋成熟,并取得显著的应用效果;20世纪80年代,模具CAD/CAM技术已广泛用于冷冲模具、锻造模具、挤压模具、注塑模具、压铸模具的设计与制造14。20世纪60年代中期,英国、美国、加拿大等国学者完成注射过程一维流动与冷却分析;70年代完成二维分析程序;80年代开始对三维流动与冷却分析进行研究;进入90年代,对流动、保压、冷却、应力分析注射成型全过程进行集成化研究15。传统的模具制造技术主要是根据设计图样,用仿形加工、成形磨削以及电火花加工方法来制造模具,利用模具CAD技术可以有效地对整个模具设计制造过程进行预测评估,迅速获得样品,有利于争取订单、赢得客户、同时节省大量的模具试制时间和费用,进而减少模具返修率、降低模具成本16。由于硬件资源的影响,我国模具CAD/CAM的研究工作起步较晚,1978年上海交通大学与上海星火研究所开始了简单的CAD/CAM工作17。1983年初成立上海交大模具技术研究所,建立了CAD/CAM研究中心,开展冲裁模、注塑模的CAD/CAM研究工作18。近来来我国自主开发的CAD/CAM软件有了很大的发展。如华中科技大学模具技术国家重点实验室开发的注塑模、汽车覆盖件模具和级进模CAD/CAM软件,上海交通大学模具CAD国家工程研究中心开发的冷冲模和精冲模CAD/CAM软件,北京机电研究所开发的锻模CAD/CAM软件,北航华正软件研究所开发的CAXA软件19。目前,国内模具企业已有相当多的厂家采用了模具CAD技术。以美国AutoDesk公司的AutoCAD为代表的一批绘图软件正在模具行业中普及,计算机绘图正在逐步取代手工绘图,但其模具CAD工作的相当部分也只是用计算机画图和进行二维设计,少数企业引进了高档三维设计软件,如Pro/E、UG、I-DEAS、Euclid-IS等,在模具设计过程中采用了三维CAD软件进行设计。只有极少数的企业的模具设计和制造能力接近国际先进水平20。UG自1990年进入中国市场以来,迅速发展,己成为中国航天航空、汽车、机械、计算机及外设、家用电器等流域的首选软件。建模技术是CAD的核心技术,建模技术的研究、发展和应用,代表了CAD技术的研究、发展和应用水平,特别是把它应用于模具的开发与制造,给模具行业注入了新的血液。随着CAD技术得到普及,模具CAD技术应用越来越广,模具CAD技术得到了长足的发展,模具CAD技术应用于模具工业,使模具的设计制造技术发生了重大变革21。信息化特别是信息化管理,不但已被许多模具企业广泛采用,而且付诸努力实施。在实施过程中,国内外有关软件同台竞技,二次开发富有成果,数据库日渐丰富。通过信息化数据管理,模具生产周期大为缩短,生产效率提高,企业效益增加。1.4 本课题研究的背景在模具设计制造中,选择标准模架能够简化设计,提高质量稳定性,缩短制造周期,降低成本,为企业带来明显的效益。模架为所有模具零部件提供了装配基础,承载模具的各个功能系统,模架设计是整个模具设计的重要组成部分。模架是由模板、导柱、导套和复位杆等零件组成但未加工型腔的一个组合体。标准模架是由结构、形式和尺寸都已经标准化并具有一定互换性的零件成套组合而成的一类模架。模架的设计在模具生产中占有一定比重,现代模具的要求就是要高质量、短周期,如果能将模架设计时间缩短,必将有利于缩短整个模具开发周期。CAD技术是现代模具技术的重要基础之一,是模具生产走向全盘自动化的重要措施之一,伴随计算机技术的发展,现代模具CAD技术也有长足的发展,特别是参数化造型技术、二次开发技术的应用,更使CAD技术发生了质的飞跃。模架设计是一个集知识、经验、计算、绘图于一体的复杂设计。随着CAD技术的发展,出现了基于软件模块的二次开发,使新颖的模架设计技术得以实现变为了可能。现在的CAD系统通过二次开发,利用软件自身的开发工具将专门领域的设计知识嵌入到软件本身,这确实对设计起到一定的决策辅助意义,但这些知识以专业的程序语言来描述,通过编译链接在软件内部,通过UG界面输出和实现22-24。长期以来,我国传统的模具设计与制造过程中,模具设计仅依靠经验和简单的理论计算来初定方案,再根据反复的试模和修模逐步完成设计。他存在着效率低、成本高、周期长的缺陷。况且传统的模具设计依然主要通过手工依据产品图并考虑成型性能与模具加工条件来进行设计,模具设计的成败完全取决于设计人员的经验。特别是对于那些标准件、结构相似、拓扑结构相同,但只是尺寸不同的零件,设计工作中存在很多重复性工作和反复开展的工程计算,不但增加了设计的工作量,还增加了重复设计、计算过程的出错的机率。随着科学技术的飞速发展,快速变化的市场需求导致产品更新换代的速度不断加快,产品生产正向着复杂化、精密化、多品种化、高质量化和交货期短的方向发展,这就要求模具的设计制造应具有更短的生产周期、更低的成本和更高的质量。模架设计作为模具生产中的一个重要环节,高效的模架设计必将缩短整个模具生产周期。基于CAD软件基础上的二次开发技术作为提高模具生产效率和质量的重要手段之一,在此形式下,传统的模架设计与制造过程显然已经不能满足时代的需求,不能适应工业产品及时更新和高质量生产的要求。同时随着模具行业的发展以及模具在各行业生产中的广泛应用,模架设计的标准化程度不断提高,标准化的模架结构在行业中所占比例不断扩大。通过以模架为研究对象的基于CAD系统平台的二次开发研究与应用工作,使模具的设计和生产过程向自动化的方向发展,形成了高效,快捷的二次开发技术。尽管基于CAD技术的二次开发技术有了长足的发展,但设计人员未完全摆脱繁复枯燥的绘图工作的困境。其重要原因之一就在模具标准化的今天,各个国家、各个行业协会、各个企业都没有制定统一的标准,都是根据自己的要求定制自己的标准,造成当前的CAD软件系统无法覆盖模具所有常用零件及模架。然而使用大量的标准零件、标准模架,在每一副模具的设计中是都占有相当的比重。现在,即使少数CAD软件系统提供类似的一些图形库,但不能完全的互相兼用。在模架的选择过程中,目前都是采用人工计算,根据设计人员的个人和企业自身经验进行参数确定,这在开发过程中会出现相当大的主观错误。如何减少设计过程中的主观因素,实现模架选择的自动化,一直是软件开发商研究的课题。一副模具从设计到制造完成周期很长,因此如何减少繁重的设计和制造工作量,来缩短生产准备时间和降低造价便具有重大的经济意义。实现模具的标准化是模具制造业的必由之路,我国标准化工作处于初级阶段,标准化程度不高,标准不够完善,所以在很多情况下已有的标准也不能完全满足企业的需要。所以,要加快我国模具的标准化速度,制定相关的国家标准,以此为据完善行业协会标准,企业的标准,逐步稳妥的推进模具的标准化进程25-26。1.5 本课题研究的意义随着我国电子、电器、仪表、交通、轻工等行业的迅速发展,产品性能和质量要求越来越高,更新换代的速度越来越快,对模具设计和制造技术的要求越来越高,为了使企业在竞争中立于不败之地,必须加快产品开发速度,客观上要求改变传统的模具设计与制造方式,加快模具技术的进步,因此,将CAD技术运用到模具行业中已是必然趋势。而且,传统的注射模标准模架设计基本凭借设计人员个人的知识和经验,设计模具标准模架、加工完毕后,需要花费大量的时间进行调试、修改,甚至可能由于无法挽回的一点失误使得整个设计报废,模具标准模架设计、加工的成本高,效率低。在模具标准模架设计中,应用三维CAD技术有着二维设计所不可比拟的优势。CAD技术从根本上改变了过去手工绘图、发图、凭图纸组织生产的管理模式,为建立一种新型的设计和生产管理体制。当今科技发展日新月异,市场竞争日趋激烈,尤其是制造业,缩短研发周期势在必行,计算机辅助设计软件在这方面贡献突出。UG作为CAD/CAE/CAM/PDM一体化软件系统,不仅具有强大的实体造型、曲面造型、参数化造型、装配和工程图创建等功能,还提供了强大的二次开发工具UG/OPEN,用户或第三方可以使用该开发工具,开发出基于UG系统的应用程序,实现与UG系统的无缝集成,从而满足用户的特殊要求。UG在为企业提供服务的过程中发现,企业在使用该软件一段时间后,都会提出二次开发的要求,希望通过建立基于UG的专用CAD系统进一步提高设计效率。借助于二次开发,用户可以在某些应用软件中增加自己的某些特定功能,从而大大节省设计时间,提高了工作效率。在机械CAD领域,依托大型通用CAD软件进行二次开发,是CAD行业发展的一大趋势。既可以避免从底层进行开发的工作量大、重复开发的弊端,又可以多快好省的推广、拓展CAD的应用。特别是在具体的专业领域,依托通用软件进行二次开发,更具针对性,从而更具有现实意义。由于传统的设计方法依赖于设计者的经验和知识,难以得到合理结果,而且设计周期长、成本高,不能满足多品种、小批量、高质量的市场需求,更不能满足CAD/CAPP/CAM/CAE集成的需要。在计算机日益普及的今天,利用计算机进行注塑模的二次开发设计具有迅速、准确、逻辑性强等特点。由于模具开发设计、生产加工系列过程中,存在着大量的标准件、通用件,甚至有大量尺寸规格不同,但拓扑结构相同或相似的非标准件。工程技术人员常常因不同尺寸对相似零件进行重复设计,不仅耗费时间精力,而且增加了产品的生产成本。因此,在通用的CAD软件平台软件基础上进行旨在缩短产品开发周期的二次开发具有重要意义。在企业内部,在设计过程中,在同一个系列产品中如果每个产品的工程图都需要设计人员去重复做的话,那就需要花费大量的时间,并且造成重复劳动,效率不高,针对这种情况,二次开发的应用,提高了工作效率,缩短了整个设计制造周期。近年来,尽管CAD技术在国内取得了很大的进步,但除了一些工艺分析和仿真技术外。模具CAD的成果并不十分显著,其中最突出的问题就是结构设计的效率不是很理想。改善模具结构设计效率的出路之一就是借助于通用CAD软件进行二次开发来提高通用模具结构CAD的自动化程度。模具结构的标准化程度越高,二次开发适用面就越宽,通用性也就越好,故完全依靠二次开发来实现自动化设计变的越来越重要。日益激烈的市场竞争,迫切要求企业具备快速响应市场的能力,在设计参数化的基础上,建立模具的二次开发系统,通过适当的人机交互方式,不仅能够降低模具CAD系统的开发难度,而且可以极大地提高模具设计效率。1.6 本课题研究的主要工作如何改进二次开发的方法,提高二次开发速度,缩短开发时间,提高开发效率,达到理想的实用效果,为制品和模架二次开发创造条件是我们面临的一个课题。将软件工程学、优化设计理论、计算机语言、Visual C+6.0、Unigraphics(简称UG)软件、数据库技术、参数化、制品和模具设计方法有机融于模具的二次开发中,来优化和控制设计过程和制品质量,并建立合理的设计、开发工艺窗口,使之实用化、功能化、简便化。是当今二次开发技术发展的一个主流方向。在研究相关技术的基础上,结合本课题研究的内容,确定了本课题所要做的主要工作:(1)研究UG提供的二次开发工具和方法,并对UG的常用模块进行比较研究,择优选择其模块在开发中的应用。(2)论述标准模架三维CAD系统应用开发的几个模块及其相互联系,选择构建注塑模标准模架库系统所用模块组成。(3)利用数据库的储存和管理功能,建立注塑模标准模架设计专用的数据库。探讨注塑标准模架设计中所用设计理念,设计准则、设计方法等。(4)解决好人机接口问题,建立友好界面,实现人机交互式设计和人机界面的可视化设计,为在UG环境下进行人机界面设计的人员提供有效的技术支持。(5)对人机界面设计进行细化研究,从分析人机界面设计领域研究内容和研究方向出发,针对人机界面设计过程,结合设计人员设计思维和习惯,提出恰当的人机界面设计方法,解决好软件的设计开发和兼容性问题。(6)用参数化技术,数据库技术联合建立注塑模标准库。(7)创建三维装配模型自动装配设计系统,实现模架零件的自动化装配。(8)实现模具零部件二维零件图可视化。2 UG二次开发技术2.1 UG软件2.1.1 UG的概述按CAD技术的功能特点将CAD技术的发展分为以下阶段27:曲面造型阶段、实体造型阶段、参数化造型阶段、变量化(GX)造型阶段。Unigraphics(简称UG)是当前世界上一款最先进、紧密集成的、面向制造行业的机械CAD/CAE/CAM一体化三维参数化高端软件,它是目前国际、国内应用最为广泛的大型集成化软件之一,它基于了设计优化技术与知识工程组合,使用户能够参数化地创建和获取数字化的三维产品定义,它为制造行业产品开发的全过程提供解决方案,优化产品结构,功能强大、内容丰富,涵盖了从设计、建模、分析、加工、管理等各个领域,不仅包括实体建模模块、特征建模模块、曲线曲面建模模块、工程制图模块、装配模块、分析模块、加工模块、知识工程模块和二次开发模块这些通用模块之外。还提供了各种专用模块,如计算机辅助工业设计模块、钣金设计加工模块、模具设计加工模块、管路设计布局模块等。可以实现产品从设计建模到产品加工的一体化流程,还可以进行对建立的产品模型进行运动学、动力学仿真及有限元等操作。最重要的是,此软件为用户或第三方提供了功能强大的开发工具UG/OPEN,此工具可以根据用户的要求,在Unigraphics软件平台的基础上,开发出基于Unigraphics系统的应用程序,实现与Unigraphics系统的无缝集成,实现用户专业化、智能化、高效化的定制。作为通用CAD/CAE/CAM软件,Unigraphics功能非常强大,已经广泛应用于航空、航天、机械、汽车、船舶、模具和家电电器等领域。2.1.2 UG的简介 UG系统介绍Unigraphics(简称UG)软件起源于美国麦道公司。该软件作为美国UGS公司的五大主要产品(UG、Parasolid、iMAN、SolidEdge、ProductVision)之一,该软件汇集了美国汽车工业及航空工业的专业经验。目前己成为世界一流的集成化机械CAD/CAM/CAE软件,他提供了参数化、特征化的概念设计,采用区别于多面体的曲面实体造型,使线框造型、曲面造型和实体造型融为一体,提供可以独立运行的面向对象的集成管理数据库系统,是CAD/CAM/CAE各部分的数据能够进行自由切换,具有良好的二次开发接口和工具28,况且也能促进产品开发的创新29。UG/Mold Wizard工具30,软件新增的功能和分析结果,能对市场的反馈迅速做出反应,缩短产品上市时间,提高制品和模具设计的质量,确保项目能按时完成31。UG软件越来越受到国内外许多企业的青睐,它已经成为世界上许多大公司如波音飞机、通用汽车、松下等首选的软件。UG软件自1990年进入中国市场,经过二十几年的发展,目前UGS公司在上海、北京、广州、成都、深圳、香港设有分公司或办事处,在全国设有13个授权培训点。国内用户已经占了很大的市场,各个行业都已经比较普及,相对于模具行业,UG用户更加的普遍。国内许多大型企业、公司均采用UG作为其产品设计生产的支撑软件。上海一汽、东风汽车公司、广州汽车研究开发中心、沈阳飞机工业公司、成都航空发动机公司、上海航天技术研究院都在使用UG做为他们的设计开发软件,并且在实际应用UG软件的过程中,取得了骄人的成绩。不光是这些大的航空工业及汽车公司在使用,还有许多知名的家用、通用机械的公司也在使用UG软件,如珠海格力电器股份有限公司、佳能、飞利浦、海尔、上海日立家用电器公司、长虹、康佳、广西玉柴机器股份有限公司等,利用UG开发优化自身的系列化产品,创新自己新产品,开拓了广阔的市场前景,获得了显著的经济效益和社会效益。通过对国内外有关UG的应用研究,进一步表明,UG软件应用可分为两种类型,一是直接利用UG软件进行产品的设计、建模、分析、制造、加工,二是在UG平台基础上进行二次开发。随着模具工业飞速发展,针对目前模具开发设计、生产加工系列过程中,存在着大量的标准件、通用件,甚至有大量尺寸规格不同,但拓扑结构相同或相似的非标准件,这些零件大多具有相同或相似的外形特征,不同的只是尺寸规格。工程技术人员常常因不同尺寸对相似零件进行重复设计建模工作,不仅耗费时间精力,设计过程中造成产品数据库过大,冗余数据过多,不易管理,而且增加了产品的生产成本,况且在大量重复性的工作当中,不可避免的带来不可预见性的设计细节错误,最终影响产品的生产质量,因此提出了基于UG软件的二次开发具有很大的现实意义,应用二次开发技术建立起符合国家标准、行业标准以及企业标准的标准件库,并且在建立相应的数据管理系统的基础上,开发通用标准件库以及行业标准件库,以提高模具质量、提高产品设计效率、缩短模具设计制造周期、降低模具生产成本,所以基于UG的二次开发成为各个公司角逐的对象。另外,它所提供的二次开发语言UG/Open GRIP,UG/Open API,便于用户开发专用的客户化CAD系统。UG为各种规模的企业带来了非常巨大的价值:更快地提交产品到市场,抢占市场的制高点;使复杂产品的设计简化和高效;减少企业产品成本和增加企业的竞争实力。随着UG版本的不断更新和升级,新功能的不断扩充,UG更是扩展了软件的应用范围,朝着专业化和智能化的方向发展。UG是一个交互式的计算机辅助设计(CAD)和计算机辅助制造(CAM)系统。CAD功能是如今制造业的工程设计和绘图能力自动化。CAM功能为现代母机应用Unigraphics NX设计模型提供的NX编程规划以描述完成的零件。UG是一个三维的双精度系统,用户可以对几乎所有的几何形状进行精确描述。通过将这些形状进行结合,用户可以设计、分析和创建产品图纸。设计完成以后,可以应用制造程序选择几何形状对零件进行加工。输入制造信息,比如刀具半径和刀具自动定位源文件(CLSF),利用该文件可驱动大部分NC机器。UG具有强大的建模、分析和加工功能。其建模技术结合了传统建模和参数化建模的优点,采用尺寸驱动技术,具有全相关参数化功能,是一种“复合建模”工具。应用UG建模功能,可以快速进行概念设计和详细设计,交互建立和编辑各种复杂的零部件模型。根据已建立的三维零件模型,UG的各种应用功能既可对模型进行装配操作、创建二维工程图,也可对模型进行机构运动学、动力分析和有限元分析,进行设计评估和优化;同时,还可根据模型设计工装夹具,进行加工处理和改进,直接生成数控程序,用于产品的加工32-33。 UG的主要功能UG的功能模块众多,下面从产品设计、产品制造、产品分析和饭金设计的角度介绍UG的功能模块。UG软件主要包括以下应用模块34-35(如图1.1所示):(1)UG计算机辅助设计(CAD)模块包括几个应用模块:UG基础环境(Gateway)、UG建模(Modeling)、UG工业设计(studio for Design)、UG制图(Drafting)、UG装配建模(Assembly Modeling)、UG高级装配(Advanced Assemblies)。(2)UG计算机辅助制造(CAM)模块包括加工、机床建造器。(3)UG计算机辅助工程分析(CAE)模块包括,结构分析、注塑流动分析、Mascot Form、运动分析等。(4)UG饭金(Sheet Metal)模块。(5)注塑模具设计模块(Mold Wizard),级进模具设计模块。(6)UG管道(Routing Mechanical)与电气配线(Routing Electrical)。(7)“知识融合”应用模块。(8)程序设计模块主要是用户或者开发商应用此模块进行UG的二次开发。它由GRIP编程语言(Graphics Interactive Programming)和UG/Open API编程语言组成。(9)电子数据表不但可以作为数据库来用,而且可以在此基础上建立零件族以及其它的一些数据库功能。图1.1 UG各模块示意图Figure 1.1 Schematic diagram of each module of UG UG的特点通过UG软件的功能模块,我们能方便的使用这些模块去开发设计产品。既能提高产品设计制造效率,还能避免开发其它应用功能所带来的风险。在运用UG软件进行产品开发设计时,主要有如下的特点36:(1)产品开发的集成性。UG产品开发环境的无缝集成性。UG是一款集CAD、CAE、CAM于一体的专业化、智能化、集成化计算机辅助设计制造系统,可以完成从产品概念设计、外观设计、详细设计、图纸生产、运动与受力受热分析、零件数控加工程序的自动生成、设计与使用文档的建立等全过程,甚至还可以对生产过程进行管理。可以实现从产品概念方案提出到产品制造的整个产品开发过程,只有考虑了这一方面才能提高产品设计效率。(2)产品设计的相关性。在UG的使用中,会产生大量的数据,这些数据统一用数据库进行管理,为了解决产品设计过程中产品的数据过多、数据库比较繁杂,数据量大造成的查询困难,采用了单一数据库的形式。它将所有的相关信息存储在同一个数据库中,可以实现零件的装配、三维模型转化为二维工程图、直接进行加工制造等。在整个设计过程中,任何一处的参数改变,则相关环节全部发生变化。针对设计制造装配的全局,通过装配建模和部件间的链接技术,可以利用各零件之间的相互参照,实现不同模型文件之间的相关性,通过应用主模型方法,可以使集成环境中各应用模块之间保持完全的相关性。(3)设计的并行处理。为了提高产品设计效率,缩短产品的开发创新周期,UG采用并行处理的方式。其主要包括PDM(产F5I数据管理)、Product vision(产品可视化)以及Internet技术,实现了开发成员之间数据共享,设计过程的总体监控,各产品间的参数化和相关性处理,网上远程处理,互联操作。特别是在设计过程中,在Internet技术的支持下,可以实现异地多人互动协同工作,每个人负责自己的设计任务。在各自的设计任务与访问权限下,同一产品的不同设计阶段甚至加工阶段可以同时进行,系统完成产品的自动更新。不同的设计人员和工程师都可以在同一时间对产品范围、不同组件和不同子装配进行工作,大大缩短了产品的开发修改时间。(4)产品数据的可移植性。在进行产品设计过程中,CAD软件使用的多元化,造成了在使用UG的过程中,很可能会用到其它的CAD软件,或要求把UG转化成其它CAD格式,这就要求UG能够识别读取其他软件的数据,也可以输出自身的数据被其它软件所识别读取,这就要求数据具有可移植性。(5)基于装配的产品设计技术。从整体的产品概念出发开始产品的设计过程。从装配出发,通过应用主模型方法、自顶向下的设计方法和上下方向的全局设计,可以从产品总体设计入手,逐步详细设计每一个零件。小到生活用品,大到复杂的机械,UG都可以为用户提供产品级的解决方案。(6)基于知识的专家设计模块。为了进一步提高产品设计质量与设计效率,增加产品的设计附加值,UG在汇集设计专家智慧的基础上,采用了知识驱动的方法,针对不同产品中具有的通用性,设计了智能化和专业化的模块,并且还在逐步增加这些模块。(7)满足客户需要的开放式接口。UG提供了方便而先进的用户或第三方开发工具。利用UG/Open UIStyler可以根据用户自己的需要定制自己的对话框;利用UG/Open GRIP脚本设计语言,通俗易懂,简单易学,用户可以很方便的进行二次开发;利用UG/Open API工具,用户可以通过C、C+、Fortran和Java高级语言进行二次开发,而且支持面向对象程序设计的全部技术。2.2 二次开发工具UG向用户提供了功能强大但又十分开放的二次开发环境和最先进的编程工具集。UG软件为用户或第三方开发人员提供良好的二次开发环境,用户和第三方开发人员可以通过多种途径对UG软件进行开发、扩充和修改,使之更简捷方便、更专业高效地服务于用户。UG二次开发编程工具集以满足用户二次开发的需要,这组工具集称之为UG/Open,是一系列UG开发工具的总称,是UG软件为用户或第三方开发人员提供的比较完整的应用开发工具集。利用该工具集可对UG系统进行用户化裁剪和开发,可以使UG本地化、定制化和用户化,以满足实际的应用要求。它主要由UG/Open API(也称为User Function)、UG/Open GRIP、UG/Open MemuScript和UG/Open UIStyler四个部分组成。它们随UG一起发布,以开放性架构面向不同的软件平台,提供灵活的开发支持。它们之间可以相互调用来实现UG的全部功能。使用户开发的软件系统能完全和UG结合到一起,同时,也使开发人员节约了大量的时间和精力。除了UG/Open外,UG软件还为用户提供了一个调用二次开发结果的交互式接口:User Tools,它的功能是生成弹出式对话框或工具条,其界面风格与UG界面风格一致。通过执行对话框或工具条,操作相应的控件就可以运行菜单文件、宏文件、UG/open Grip程序、UG/Open API程序和其他二次开发文件。它们之间的相互关系如图2.1所示。利用UG所提供的应用程序和开发工具,用户可以在其提供的开发平台基础上,结合自己具体的应用需求,开发出适合自己需要的CAD产品37-40。UG二次开发工具UG/OpenUser ToolsUG/Open APIUG/Open MenuScriptUG/Open GRIPUG/Open UIStyler对话框设计工具菜单脚本语言图形交互程序应用程序接口 图2.1 UG的二次开发工具集 Figure 2.1 Secondary development tools of UG 2.2.1 UG/Open GRIP UG/Open GRIP概述41GRIP是Graphics Interactive Programming的缩写,GRIP是UG内嵌的专用图形交互编程语言42。用户可以通过GRIP图形交互语言,在基于UG平台的基础上进行二次开发,编译生成程序。UG拥有强大的二次开发接口,其中Grip就是UG的二次开发语言,UG所有的命令几乎都可以用Grip编程实现。GRIP语言有一套完整的语法体系,具备完整的语法规则、程序结构、内部函数,能与其它通用语言程序相互调用43。GRIP与一般通用语言一样, GRIP程序必须经过编译、链接、生成可供UG调用的可执行程序之后才能运行。GRIP程序一般在UG环境下编制,由一系列GRIP语句组成。GRIP主要内容包括:变量的定义和使用、内部函数、数组的定义和使用、字符串的运算和处理、几何体的生成方法、逻辑语句和转移语句、程序的循环结构、文件管理功能、人-机交互语句、输入输出语句、数据的存取和分析、以及制图和装配功能44。GRIP与UG系统集成,利用GRIP程序能够实现与UG的各种交互操作, UG/Open GRIP常应用于开发一些程序,开发的程序可以集成在UG环境内交互运行。它的应用范围:几何体的创建、计算和分析、绘图、文件的管理、系统参数的控制、数据访问、UG数据库的存取等。目的是旨在向用户或第三方开发人员提供一种在Unigraphics环境下二次开发的方法45。与其他二次开发语言相比,GRIP语言结构简单,编译方便,类似FORTRAN。只要具有初步的编程知识,就能学会GRIP语言,比较容易的进行二次开发。 UG/Open GRIP开发环境使用GRIP,就是应用GRIP语言,进入UG/Open Grip开发环境,建立生成GRIP程序,解决完成用户在UG环境下的参数化设计要求和其它操作。使用GRIP编程的一般步骤如下46-50:(1)选择开始所有程序UGS NX 6.0NX ToolsNX Open Grip命令,进入UG/Open Grip开发环境,如图2.2所示。图2.2 UG/Open Grip开发环境Figure 2.2 Development environment of UG/Open Grip(2)编写GRIP源程序。在运用GRIP高级开发环境(GRADE-Grip Advanced Development Environment)中或在Windows的记事本(Notepad)中,利用文本编辑器编(用Edit功能),用GRIP语言编写或修改GRIP源程序,并以扩展名*.grx存盘。然后与主程序链接。(3)编译GRIP源程序。利用GRIP编译器对源程序*.grx文件进行编译,即用GRADE的Compile进行编译。生成扩展名为*.gri的编译文件。如果GRIP源程序中含有子程序,则两者要分别进行编译,链接时GRIP源程序自动对子程序进行链接;如果在编译过程中出现错误,GRIP就会自动在屏幕窗口中显示错误信息或将错误信息输出到指定的文件中,以供用户进行查询修改。在编译输出信息中,GRIP会向用户提示错误发生的位置和错误的类型,提请用户修改源程序,然后继续调试源程序。如果编译没有错误,GRIP即会生成一个新文件*.gri,然后进行下一步链接。(4)链接程序。把编译成功的*.gri文件进行链接,生成可执行的GRIP文件,自动生成扩展名为*.grx。如果链接出现错误,在屏幕或输出文件中,GRIP会显示错误信息,提示用户进行检查和修改。(5)运行程序。运行GRIP程序必须首先进入UG环境,在UG的环境下链接生成的*.grx文件,可以通过UG的菜单项FileExecuteGrip直接选择要运行*.grx文件,就会出现运行结果。也可以通过用户化的菜单或对话框调用*.grx文件。在UG/Open GRIP开发环境下,用户可以利用较为简单的GRIP语言程序实现各种较复杂的参数化建模功能。用户编制的数据文件,可以通过用户编制的GRIP主程序进行读取,从而使一个主程序可以得到一系列不同规格标准件的参数化建模实体。GRIP语言是面向用户和工程师的语言,具有简单、易学、易用的特点。但是用GRIP编写的程序比较冗长、繁琐、复杂,要考虑程序的各个细节问题,不适合编辑量比较大的程序开发。其功能远不如UG/Open API强大。需要注意的是:虽然GRIP程序通过了编译和链接,排除了语法上的错误,也完成了链接,生成可执行程序,但是程序还可能包含其它错误,这种错误可能是算法错误、逻辑错误、不符合UG的规定等等。因此,在开发GRIP程序时,还要通过程序的调试运行,在程序调试中,内在的错误才会暴露出来。2.2.2 UIStyler对话框设计 UIStyler的功能UG/Open UIStyler开发工具是一个可视化对话框编辑器51,不仅可以所见即所得的方式生成对话框,使其与UG集成,系统还可以自动为对话框生成相对应的C或C+语言模板文件,用户可以方便、高效地用于创建独立于硬件平台的交互界面,生成UG 风格的对话框功能。其功能如下52:(l)为用户提供了强大的制作UG风格对话框的可视化环境,可以选择生成保存UG/Open UIsytler文件和代码的语言格式,根据需要去有选择的去生成UG/Open UIsytler文件和代码,从而使用户在使用UG/Open UIsytler产生的对话框时,不必考虑图形界面(Graphical User Interface缩写为GUI)的实现。(2)UIStyler所支持的控件种类丰富,在可视化环境下,利用这些控件快速生成UG风格对话框,易于添加、删除和修改对话框控件,大大减少开发时间。(3)UIStyler编写的对话框可以包括用其它语言写的文字,具有执行宏文件等功能。(4)在UG界面下,可以直接选取和放置控件,进行组合和布局,以创建出满足不同功能的对话框,从而能实现所见即可所得,直观明了的面对开发窗口。(5)用户可以根据自己的需要,在对话框中插入或自定义位图,从而形象的描述了零件的外观和结构。(6)提供了属性编辑器,从而允许开发人员设置和修改控件属性。就可以制作UG风格对话框,实现不同的用户功能。(7)UIStyler能与MenuScript兼容,编辑产生的对话框可以被MenuScript生成的菜单调用,因此可以实现在UG菜单项上调用UISytler产生的对话框,从而将用户应用程序和UG完全无缝链接。 UISty1er的操作界面在UG Gateway状态下,开发人员进入UG,点击ApplicationUser Interface Styler就可以进入UIStyler可视化界面,如图2.3所示。菜单编辑对话框对象浏览器控件编辑工具“项目”工具栏资源编辑器图2.3 UIStyler可视化环境Figure 2.3 UIStyler visual environmentUIStyler可视化界面由菜单、编辑对话框、对象浏览器、资源编辑器、控件编辑工具和“项目”工具栏6个部分组成。菜单提供了对话框及控件常用的操作,包括文件、编辑、插入和对话框等;编辑对话框是把对话框制作环境中的各种操作结果显示于UG界面,满足了用户可视化的人机交互;对象浏览器显示了在对话框中用户选择和设置的控件信息;资源编辑器用于编辑对象浏览器中所用控件的属性;“项目”工具栏列出多种对话框使用的控件。供开发者向对话框插入控件;控件编辑工具列出了编辑控件的常用工具,在设计对话框上添加删除控件,进行对话框界面的设计,此工具中的所有功能都包含于菜单中,只是把常用的工具通过工具条显示于UG界面,方便用户快速的调用和操作。 UIStyler控件介绍控件名称第一行从左到右依次为静态文本(Label)、整型数值输入框(Integer)、浮点型输入框(Real)、字符串输入框(string)、宽字符串输入框(Wide String)、多行文本框(Multi-Line Text Box)、按钮(Push Button)、复选框(Toggle)、分隔线(Separator)、位图(Bitmap)、布局按钮(Button Layout)、下拉列表框(Option Menu)、选项切换框(Option Toggle)、单选按钮(Radio Box)、工具组(Tool Palette)、整型数滑动条(Integer Scale)、实型数滑动条(Real Scale),第二行从左到右依次为单选列表框(Single Selection List)、多选列表框(Multi Select List)、单选框(Selection Box)、滚动窗口(Scrolled Window)、组群(Group)、可折叠组(Begin Collapsible Group)、行列组合(Row Column)、选项卡控件(Tab Control)、属性页(Property Pages)、色彩工具(Color Tool)等。UG/Open UIstyler是由工具栏(Toolbar)、项目浏览器(Object Browser)、资源编辑器(Resource Editor)、对话框编辑器(Design Dialog)四部分组成的,通过这四部分,开发者可以很容易的构建符合用户要求的对话框。UIStyler控件控件工具如图2.4所示。图2.4 UIStyler控件工具Figure 2.4 UIStyler control tools UIStyler对话框的编辑在设计编辑对话框的过程中,资源编辑器有“属性”、“选择”、“回调”三个选项卡组成,如图2.3所示。三个选项的功能为“属性”选项是用于编辑对话框的基本属性,其中包括对话框标题、提示信息、对话框前缀名称、调用对话框的形式以及导航按钮等;“选择”是当对话框显示时,定义用户在UG图形窗口中的选择;“回调”是对对话框中包含的回调函数进行选择和设置,使用资源编辑器的功能来设置对话框的属性。进入UIStyler编辑环境,从“项目”工具栏中选择所需的控件,根据自己的要求,设置定义这些控件的属性信息,这些属性也可以通过编程来控制;用户还可以利用所选控件工具的资源编辑器中的附着选项调整控件工具的尺寸大小和控件工具间的位置关系,对各个控件进行合理布局。任何的对话框都可以利用资源编辑器对控件的回调函数进行定义,当用户触发对话框控件时,系统就会响应该消息并执行对应的回调函数。如图2.5 对话框的回调函数Figure 2.5 Callback function of dialog对话框回调函数分为基本回调函数与控件回调函数两种。对话框与用户程序之间是通过对话框的基本回调函数相联系的,UG风格对话框有6种基本回调函数,如图2.5所示:OK回调函数、Apply回调函数、Back回调函数和Cancel回调函数是一些基本的回调函数,设计编辑一个对话框使用那些常用基本函数可以在“回调”选项中选定,与VisualC+6.0中相应的按钮功能相同,在该按钮被按下时执行相应的回调函数。Constructor回调函数用于执行对话框的初始化,在UG构造对话框完成后、用户应用执行之前调用。由于此时对话框上的所有控件都可以被使用,因此,此回调函数是初始对话框的最佳位置。Destructor回调函数在UG破坏对话框之前被调用,用于完成对话框结束前用户所定义的需要处理的工作,此时,对话框中的控件仍然可以被访问到。主要用于释放内存等析构操作。所有的回调函数可以通过对话框资源编辑器来定义。控件回调函数是选择控件时,用户运用UG调用的函数,是为了实现与程序的交互操作和数据的传递,把对话框中一些控件(如输入框、单选列表框、下拉列表框和按钮等)定义的回调函数。当由UIStyler设计用户自定义对话框的各种按钮、控件后,保存UIStyler编写的对话框时,用户选择自己需要保存的语言格式,一般情况下系统自动生成3个文件:*.dlg、*_template.c和*.h文件。这些文件是对所用资源的响应,是通过*_template.c和*.h中的回调函数来响应,在回调函数中必须有对话框资源文件名*.dlg,将这些控件身份识别号等参数传入,以便回调函数识别。*.dlg是保存UIStyler对话框图形界面的文件,非ASCII格式,不做为开发编辑,如果图形界面有所改动,则必须重新生成,使用时需要把此文件放置于程序文件夹中的开发目录application中,才可以被UG程序调用;*_template.c是UIStyler对话框C语言的模板文件,包括对话框中的各种定义和命令,可以对其进行编辑和修改;*.h文件是UIStyler对话框C语言的头文件,也是建立编程框架的主要组成部分,包括对话框及其控件的标识符和函数原型的声明。生成的此对话框文件,使用时先将*_template.c模板文件的扩展名更改为.cpp,并复制移动到目标文件目录下,添加到VisualC+6.0 Workspace环境中,再通过添加用户代码,编写相应的函数,然后和添加到VisualC+6.0环境中的*.h头文件一起编译链接生成*.dll动态链接库文件。UIStyler对话框的调用有三种方法:UserExit、CallBack和Menu。User Exit是指被用户接口调用;CallBack是指该对话框被其它对话框调用;Menu是指被MenuScript编写的菜单调用。UIStyler对话框可以调用GRIP或API编写的程序,而且其本身也可以为MenuScript菜单项所调用执行,这样可以实现在UG菜单项上调用UIStyler产生的对话框,使得用户的应用程序和UG完全融合,实现了与UG系统无缝连接,方便用户与UG进行交互操作。这样就完成了UG风格对话框的设计。使用这个工具最大的优点是可以避免复杂的图形用户接口编程,其设计对话框的方式与VisualC+6.0很相似,即利用对话框中基本控件的组合生成不同的对话框,对话框中所有的控件设计都是可见即可得的。但是UG/Open UIStyler开发的对话框只能基于UG平台使用,不能实现比较复杂的应用程序交互界面的设计。2.2.3 UG/Open MenuScript 用户菜单脚本UG/Open MenuScript二次开发者在进行本地开发时,菜单是人机交互最重要的方式之一,UG/Open MenuScript不仅是创建用户化菜单和工具图标的工具,还是一种定义UG菜单的脚本语言。在UG的开发环境下,它既支持UG主菜单和快速弹出式菜单的设计和修改,通过它可以改变UG菜单的布局实现菜单用户化,还可以扩展UG功能菜单,添加新的菜单项以执行用户二次开发程序、User Tools文件和操作系统命令等53。UG/Open MenuScript提供有定制菜单的专用模块,利用它可以创建新的菜单,并可以根据用户自己的要求,替换UG的原有菜单,也可以实现对UG某个菜单的编辑并生成用户自己的菜单。通过ACTIONS命令来指定菜单对应的响应行为,例如利用UG/Open GRIP或者UG/Open API编写程序,UG/Open UIStyler编辑对话框,从而实现与UG的无缝连接。并且它也可对工具条进行编辑和创建,生成菜单脚本文件(*.men),并需要把此文件放置于文件中的startup文件夹中,以供UG启动调用。此脚本文件不用C语言开发,简单方便,易学易用,非常适合设计开发人员使用54。开发者可以通过文本编辑器,可以用Windows记事本来制作,最后将扩展名由*.txt改为*.men即可。菜单文件的内容包括菜单形式的描述和菜单行为的描述。应用UG/open MenuScript编程,有两种方法可以实现菜单的用户化:添加菜单文件:开发人员添加菜单文件到相应的菜单目录下,这些菜单文件是经过用户编辑的,符合自己要求的菜单文件,是一种比较好的方法。该方法简单、易学,使用方便。编辑标准菜单文件:开发人员编辑存在的标准菜单文件,使之符合自己的要求,并且覆盖原来的菜单文件。这种方法就会改变UG原来的界面,不能恢复,须谨慎使用55。 菜单脚本文件的语法结合本课题研究内容,制定本课题的个性化的菜单,下面是一个用UG/Open MenuScript开发的本课题三级菜单实例。VERSION 120 菜单脚本文件的版本信息,兼容Ugv120EDIT UG_GATEWAY_MAIN_MENUBAR 编辑UG系统菜单BEFORE UG_HELP 第一级菜单位于Help菜单之前CASCADE_BUTTON MOLD_SECONDARY_DEVELOPMENT_MENU 定义第一级菜单的ID,它是下拉菜单 LABEL 模架二次开发 CASCADE按钮的标题“模架二次开发”END_OF_BEFORE 结束第一级菜单的编辑,与BEFORE UG_HELP相对应MENU MOLD_SECONDARY_DEVELOPMENT_MENU 编辑第二级菜单,是MOLD_SECONDARY_DEVELOPMENT_MENU的下拉菜单,其名称与之前的CASCADE按钮的名称相对应CASCADE_BUTTON PARTS_LIBRARY 定义第二级菜单的ID,它是下拉菜单,其名称为“PARTS_LIBRARY”LABEL 零件库 CASCADE按钮的标题为“零件库”SEPARATOR 定义菜单中的分隔线BUTTON ASSEMBLY_LIBRARY 定义第二级菜单的ID,它是按钮BUTTONLABEL 装配库 定义BUTTON的标题为装配库END_OF_MENU 结束第二级菜单MOLD_SECONDARY_DEVELOPMENT_MENU的编辑MENU PARTS_LIBRARY 开始PARTS_LIBRARY子菜单的定义,即编辑第三级菜单,其名称为CASCADE_BUTTON、与PARTS_LIBRARY相对应BUTTON SOLID_PLATE 定义名为SOLID_PLATE的BUTTONLABEL 定模座板 定义BUTTON的标题为定模座板ACTIONS SOLID_PLATE_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为SOLID_PLATE_ACTION的对话框BUTTON FIXED_CLAMP_PLATE 定义名为FIXED_CLAMP_PLATE的BUTTONLABEL 定模板 定义BUTTON的标题为定模板ACTIONS FIXED_CLAMP_PLATE_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为FIXED_CLAMP_PLATE_ACTION的对话框BUTTON MOLD_SCREW 定义名为MOLD_SCREWLABEL 内六角圆柱头螺钉 定义BUTTON的标题为内六角圆柱头螺钉ACTIONS MOLD_SCREW_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为MOLD_SCREW_ACTION的对话框BUTTON DIE_SLEEVE 定义名为DIE_SLEEVELABEL 导套 定义BUTTON的标题为导套ACTIONS DIE_SLEEVE_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为DIE_SLEEVE_ACTION的对话框BUTTON PUSHING_PARTS_PLATE 定义名为PUSHING_PARTS_PLATELABEL 推件板 定义BUTTON的标题为推件板ACTIONS PUSHING_PARTS_PLATE_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为PUSHING_PARTS_PLATE_ACTION的对话框BUTTON MOVABLE_MOULD_PLATE 定义名为MOVABLE_MOULD_PLATELABEL 动模板 定义BUTTON的标题为动模板ACTIONS MOVABLE_MOULD_PLATE_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为 MOVABLE_MOULD_PLATE_ACTION的对话框BUTTON SUPPORT_PLATE 定义名为SUPPORT_PLATELABEL 支撑板 定义BUTTON的标题为支撑板ACTIONS SUPPORT_PLATE_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为SUPPORT_PLATE_ACTION的对话框BUTTON SPACER_PARALLEL 定义名为SPACER_PARALLELLABEL 垫块 定义BUTTON的标题为垫块ACTIONS SPACER_PARALLEL_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为SPACER_PARALLEL_ACTION的对话框BUTTON MOVING_CLAMP_PLATE 定义名为MOVING_CLAMP_PLATELABEL 动模板座 定义BUTTON的标题为动模板座ACTIONS MOVING_CLAMP_PLATE_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为MOVING_CLAMP_PLATE_ACTION的对话框BUTTON PUSHING_PLATE 定义名为PUSHING_PLATELABEL 推板 定义BUTTON的标题为推板ACTIONS PUSHING_PLATE_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为PUSHING_PLATE_ACTION的对话框BUTTON PUNCHER_PLATE 定义名为PUNCHER_PLATELABEL 推杆固定板 定义BUTTON的标题为推杆固定板ACTIONS PUNCHER_PLATE_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为PUNCHER_PLATE_ACTION的对话框BUTTON RETURN_PIN 定义名为RETURN_PINLABEL 复位杆 定义BUTTON的标题为复位杆ACTIONS RETURN_PIN_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为RETURN_PIN_ACTION的对话框BUTTON GUIDE_PILLAR 定义名为GUIDE_PILLARLABEL 带头导柱 定义BUTTON的标题为带头导柱ACTIONS GUIDE_PILLAR_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为GUIDE_PILLAR_ACTION的对话框BUTTON STRAIGHT_GUIDE 定义名为STRAIGHT_GUIDELABEL 直导套 定义BUTTON的标题为直导套ACTIONS STRAIGHT_GUIDE_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为STRAIGHT_GUIDE_ACTION的对话框BUTTON GUIDE_BUSHES 定义名为GUIDE_BUSHESLABEL 带头导套 定义BUTTON的标题为带头导套ACTIONS GUIDE_BUSHES_ACTION 定义BUTTON的相应行为,运行UIStyler,打开执行名为GUIDE_BUSHES_ACTION的对话框END_OF_MENU 结束第三级菜单PARTS_LIBRARY的的编辑保存以上添加的脚本文件,先通过在“我的电脑”上单击鼠标我的右键选择属性切换到“高级”选项卡单击环境变量,注册环境变量,将用户工程路径注册到变量名UGII_USER_DIR下的变量值中,然后启动UG,在主菜单中将出现如图2.6所示的菜单项。图2.6 菜单文件运行结果Figure 2.6 Run result of menu file2.2.4 UG/Open API UG/Open API功能概述UG/Open API(Application Programming Interface,应用编程接口)又称作User Function,是UG与外部应用程序之间的软件接口56,它是UG提供的一系列函数和过程的集合。UG/Open API是UG中的一个重要模块,是UG用户最常用的二次开发工具之一57,UG/Open API开发工具不仅提供了编译和连接程序的工具,况且它还支持C、C+、Fortran和Java等主要高级语言,头文件支持ANSIC,用户可以通过高级语言编程来调用这些函数和过程,来实现UG中的功能。主要可以实现以下功能58-61:(l)可以调用函数和过程,通过这些函数和过程可以访问文件管理器、UG图形界面的终端和UG本身的数据库,对UG文件及相应模型进行操作,包括UG模型的构建、编辑、装配体的建立、查询UG模型、遍历UG装配体和工程图等。(2)提供了UG内部的交互接口,实现了在UG主界面中创建交互式程序界面。(3)用于用户化定制CAD环境、开发在UG软件平台上的专用软件、开发UG软件与其它CAD软件的接口。(4)通过用以连接和运行用户应用程序的命令,创建并管理用户定义对象等。UG/Open API是一个允许程序访问并改变UG对象模型的程序集,其编程实质是利用UG软件自带的API函数进行编程,实现UG软件和外界的交互式操作。UG/Open API封装了近2000个UG操作函数,用户可以通过它可以对U G 的图形终端、文件管理系统和数据库进行操作,几乎所有能在UG系统的所有功能都可以通过UG/Open API的编程实现,从而它的运行效率和功能都比UG/Open GRIP要强大得多。UG/Open API不但支持标准C数据类型和UG编程所需的数据类型和结构, UG/Open API还支持ANSIC的头文件,而且当用到UG/Open API函数时都要在程序的开头添加UG特有的头文件。这些函数和过程分别定义在$UGII_USER_DIR/UGOPEN目录下的头文件中定义。下面给出常用的部分UG/OPEN API头文件名及简单描述见表2.1。表2.1 常用头文件名称及其描述Table 2.1 Common header file name and description头文件名称头文件描述uf.hUG/Open API的公共类型和函数定义uf.mb.h与MenuScript中对象的属性相关的函数和数据结构定义uf_assem.h与装配相关的函数和数据结构定义uf_attr.h与部件及对象属性相关的函数和数据结构定义uf_defs.hUG/Open API接口函数所需要的类型定义及结构定义uf_modl.h与模型创建、查询相关的函数和数据结构定义uf_obj.h与UG对象及属性相关的函数和数据机构定义uf_part.h与部件操作相关的函数和数据结构定义uf_exit.h与用户出口相关的函数和数据结构定义uf_disp.h与显示相关的函数及结构定义uf_styler.hUIStyler相关的函数和数据结构定义uf_ui.h与用户界面功能相关的函数和数据结构定义uf_view.h与视图操作、查询相关的函数和数据结构定义uf_object.hUG对象的类型定义 UG/Open API的运行环境 UG/Open API程序有两种不同的运行环境(依赖于程序的连接方式):外部(External)环境和内部(Internal)环境。由于运行环境的不同,把UG/Open API程序分为外部程序(External UG/Open API程序)和内部程序(Internal UG/Open API程序)62。用户可以根据自己的开发需求,选择不同的开发环境,编译实现自己的程序。(1) 外部(External)环境外部环境是指程序的执行是在操作系统中进行而不进入UG环境中,这一执行过程是不能进行交互式操作的。使用外部模式的应用程序编译生成的是一个独立的可执行程序(EXE文件)。外部开发模式的程序能在操作系统(Windows NT/2000/XP及UNIX)下单独运行,只作为操作系统中子进程存在,不在UG环境中作为UG的子进程运行,UG前台界面不能交互显示输出的信息。该模式多用于数据的管理而不是几何的操作。外部模式通常用于那些不需要图形界面的后台运行应用程序,如打印机、绘图仪输出、数据库管理和创建CGM文件等。在不需要对模型进行显示的情况下,用户可以使用外部模式应用程序构造和编辑模型。外部程序的主函数形式为58:#include/*Additional include files as required*/int main(int argc,char *argv)/*variable declarations*/UF_initialize();/*TODO:Add your application code here*/UF_terminate();(2) 内部(Internal)环境内部环境运行的程序是指程序只能在UG环境下运行,根据所编制的程序进行交互式操作。使用内部环境编写的应用程序是一个动态链接库(DLL文件),只能加载到在UG的环境下运行。与外部程序相比较,内部程序的执行更快,占用内存更少。绝大多数的UG/Open API函数即适合外部程序也适合内部程序,只有少数的API函数仅仅适合于内部程序。运行在UG内部的API程序通过动态链接成为UG的一部分,并可以与用户进行交互操作,实现与UG的无缝集成。针对于不同运行环境的UG/Open API程序,其程序的入口是不同的63。该模式的特点是:(l)编译程序代码小,连接快。(2)通过UG界面的图形窗口,可以查看运用UG的交互界面创建模型,编辑表达式,编译程序的运行结果。(3)Internal的程序被加载到UG系统分配内存后,即可作为常驻内存进驻UG进程的子进程,重复使用无需重新加载,只能通过UG/Open API的卸载功能才能从UG的运行环境中卸载它。(4)内部模式应用程序标准的入口函数是ufusr()或ufsta()。内部程序的主函数形式为:externCDllExport void ufsta(char *param,int *returnCode,int rlen)/*Initialize the API environment*/int errorCode=UF_initialize();if(0=errorCode)/*TODO:Add your application code here*/*Terminate the API environment*/errorCode=UF_terminate();/*Print out any error messages*/PrintErrorMessage(errorCode); UG/Open API应用程序的初始化和终止方式无论是内部模式还是外部模式,所有UG/Open API程序必须正确地初始化和终止,以取保获取和释放UG/Open API的执行许可权限(License)。用户在使用UG/Open API应用程序时,必须调用函数UF_initialize()和UF_terminate()来实现这项功能。声明变量之后第一个UG/Open API调用函数必须是UF_initialize(),以便获得应用程序的执行许可权限。在程序执行完程序运作后,必须选用函数UF_terminate()终止释放执行许可权限。 UG/Open API的数据类型任何一种编程接口或者编程语言都有适合自己的数据类型,UG/Open API编程接口是由C语言的语法格式构成,也支持C语言的标准数据类型。UG/Open API除了使用了C言语的基本数据类型,还大量的应用了C+类型定义,例如structures(结构体)、enums(枚举)、unions(共用体)、pointers(指针)、constants(常量)、string(串)等。UG/Open API数据结构的命名与函数的命名方法相似,通过命名后缀规范来实现,定义数据结构的类型规范如下:_t 数据类型(Data type)_p_t 数据类型的指针(Pointer to the type)_s 结构标识(Structure tag)_u_t 共用体类型(Union type)_u_p_t 共用体类型的指针(Pointer to a union type)_f_t 函数指针(Pointer to a function)tag_t类型是UG/Open API使用最多的数据类型之一,该数据类型实际上是无符号整型数据。参变量列表中都有一个tag_t指针或tag_t类。它在UG/Open API头文件uf_def.h中定义为:Typedef unsigned int tag_t,*tag_t;在UG环境中,tag_t是UG对象的句柄,即UG对象模型的唯一标识,能把UG/OpneAPI和对象模型联系起来。通过tag_t来对UG模型部件、曲线、属性、草图和表达式等对象内容进行操作。 UG/Open API函数名称及参数规范UG的二次开发的本质就是通过对UG/Open API函数的集成与组合来实现相应的功能。(l)UG/Open API函数命名规范UG/Open API采用两类名称约定方式:遗留函数命名规范和标准函数命名规范。遗留的名称约定是UG旧版本所采用的约定方式,其一般格式是uc和uf。其中uc和uf代表UG/Open API的C函数,通常是4位数或者3位数加一个字母组成,表示不同的函数功能。标准的函数名称的一般格式为UF_。其中,UF_表示UG/Open API函数;部分常用的动词有ask(查询)、copy(复制)、edit(编辑)、set(设置)、delete(删除)、create(创建)等。(2)UG/Open API函数的参数UG/Open API函数的参数都是由C语言编写,都遵守ANSI/ISO C的标准,其函数定义的一般格式为:(参数列表)返回数据类型通常是UG/Open API自定义数据类型或C数据类型。参数的输入输出方式有3种:Input、Output和Output Free。Input表示输入参数,参数在使用前必须赋值; Output表示输出参数,使用前无须赋值;Output Free表示输出参数,使用完毕参数后必须要释放所占内存。2.2.5 User Tools用户工具(User Tools)是一种生成用户对话框的工具,为用户提供一个调用二次开发结果的交互式接口。它有两种功能:其一是生成弹出式对话框或工具条;其二是在UG主菜单的User Tools下拉菜单中添加用户项。用户工具生成的界面风格和UG界面一致,通过它可运行宏文件、对话框文件、UG/Open GRIP及UG/Open API程序。用户工具生成的文件扩展名有菜单定义文件*.utm和对话框定义文件*.utd,这两个文件都可用微软中的写字板制作,最后只需要修改扩展名即可64-65。用户使用此工具对话框或工具条中的一个按钮来调用由多个UG/Open GRIP或UG/Open API组成的程序集,使用起来就比较方便。2.2.6二次开发工具之间的关系二次开发工具之间的关系如图2.7所示UG/Open MenuScriptUG/Open User ToolsUG/Open GRIPUG/Open UIStylerUG/Open API图2.7 二次开发工具之间的关系Figure 2.7 The relationship between the secondary development tools2.3 本章小结本章首先简要的介绍UG软件系统,并在对UG软件功能,特点做了详细的阐述的基础上,着重论述了UG二次开发工具的功能、使用方法和技巧,分别对UG/Open GRIP、UG/Open UIStyler、UG/Open MenuScript、UG/Open API和UG/Open User Tools等开发工具和他们之间的接口逐个详细分析和说明。利用这些工具去设计本系统应用程序,实现与UG软件的集成。3 模架库系统开发关键技术及应用3.1 参数化设计技术3.1.1 参数化设计原理参数化(Parametric)设计66是指通过修改尺寸变量而实现对参数化模型的修改的设计方法,提供给设计开发着建模造型使用。在参数化设计过程中,用户无需进行干预,由CAD系统对整个图形的约束集进行分析和求解。参数的求解较简单,参数与设计对象的控制尺寸有显式对应关系,设计结果的修改受尺寸驱动,所以也称为尺寸驱动(Dimension-Driven)。C.M.Hoffmann,K.J.Kim67提出参数化技术是CAD软件的一项重要技术,使参数化CAD逐步应用于现代的设计制造中,不仅CAD系统具有交互式绘图功能,还具有自动绘图的功能。参数化设计是新一代智能化、集成化CAD系统的核心内容,也是当前新一代继承化三维CAD系统应用研究的热点理论68-69。九十年代中期以来随着基于知识的参数化理论逐渐完善,参数化方法在实践生产中得到广泛应用,不但提高了图形设计智能化水平,而且大大提高设计效率,还减轻设计人员的工作强度,尤其保证了产品设计的质量。参数化设计是在设计中产品结构形式确定的情况下,根据某些具体的条件和参数信息来获取和得到产品的结构参数,从而设计出不同规格的产品。其本质是通过修改驱动尺寸变量来生成新产品,利用计算机来进行参数化CAD设计和优化,只需输入图形零件的几个关键参数变量,就会自动准确地生成工程图样。Buchanan S Alasdair,Alan de Peddington70等人提出了结构约束、尺寸约束、自定义约束、为参数化提供了好的约束方法,确定设计草图的若干尺寸和拓扑关系,系统就可以自动生成相应的设计图样,我们将这一求解过程称为几何约束求解,随后B D McGinnis,D G Ullman71把几何约束表示为C=(T,Q1,Q2,V),其中:C表示约束;T表示约束类型;Q1,Q2表示约束对象;V表示约束值。参数化设计的实质就是根据各个图形中元素之间的约束类型,找出各个图形中元素之间的约束对象,确定各个图形中元素之间的约束值。在实际应用过程中,提取图形中各元素对象的几何和拓扑结构信息,分析出各元素对象之间的约束关系,在保持原图形的拓扑结构关系不变的基础上,通过改变图形的几何尺寸参数,实现图形随尺寸的修改而变化,从而完成产品的系列化设计。与传统的CAD技术方法相比,参数化设计方法存储了设计的整个过程,不仅能设计出单一的产品模型,而且能够设计出系列化的产品模型。采用参数化设计,可以通过控制模型程序的参数变量来编辑和修改几何尺寸变量,自动实现产品的精确造型设计。 参数化设计技术以其强有力的草图设计、尺寸驱动修改图形的功能、成为初始设计、产品建模及修改、系列化设计、多种方案比较和动态设计的有效手段72。参数化设计在CAD系统中是通过参数驱动机制实现的,参数驱动机制是基于对图形数据的操作,通过尺寸驱动进行控制,能够将产品的设计要求、设计目标、设计原则、设计方法和设计结果用可以改变的参数和明确统一的模型来表示,并通过参数驱动机制对图形的几何数据进行参数化修改,以便在人机交互过程中实现图形模型的参数变量的转换。但是,在修改参数变量的同时,还要满足图形的约束条件,参数与产品模型的控制尺寸相关联,需要约束关联性的尺寸手段来约束联动,通过修改产品模型的参数尺寸就可以得到结构相同尺寸不同的产品,实现产品模型的自动化生成与修改,因此参数化技术适合于全相关设计和系列化设计,可以提高产品设计的效率和智能化水平。3.1.2 参数化模型模型用来表示实际的或抽象的物体和现象。模型开发首先起源于实体建模,逐步走上参数化建模。参数化模型是把参数化模型的尺寸用对应的关系表示,而不需用确定的数值,只需变化其中一个参数值,则与其相关的尺寸也随之更新变化73。参数化模型有多种形式,如几何参数模型、数学参数建模、物理参数建模和力学参数模型等等。建模技术是CAD的核心技术,参数化技术是建模技术的核心技术之一。参数化设计首先要根据需要建立正确合适的模型,方便对被选择对象的结构进行计算、分析、模拟、优化和研究,进而为参数化设计提供了基础。实体几何模型理论的发展可以追溯到1970年,Nguyen C,Lafon J.C74利用CSG(Constmetive Solid Geometry)方法将所建立的实体先大致描述出来,然后再将这个实体转换为以B-REP(Boundary-Representation)方法建立的造型表示出来。随着计算机的发展普及,逐渐用计算机表示、控制、分析和输出几何实体,已成为CAD/CAE/CAM系统中的关键技术75。几何模型是CAD/CAE/CAM中最常用的模型76,可以表达出产品的信息77,它是对诸如零件形状、结构特性和几何特性等与零件描述相关的信息集的实体,是反映零件特点结构,能够为图形的显示和输出提供信息。在CAD/CAE/CAM的应用中,通常利用几何模型进行具体的对象操作,实现开发设计的工程模型。在对实体的表达和描述过程中,几何模型恰能反映出实体的拓扑信息和几何信息。所谓拓扑信息是指物体的拓扑元素(顶点Vertex、边Edge和表面Face)的个数、类型以及它们之间相互关系的信息,反映了物体几何元素之间的邻接关系;几何信息是指一个物体在三维欧氏空间中的位置信息,反映了物体的大小及位置78。在CAD系统的开发设计中,不同型号类型的产品往往只是结构相同而尺寸不同,映射到几何模型中,就是拓扑信息相同而几何信息不同79。参数化模型是根据捕捉模型中几何元素之间的约束关系建立的,将几何图形表示为由几何元素及其约束关系组成的几何约束模型,通过一组参数约束模型的一组尺寸序列。把图形文件赋予不同的参数序列,就可以驱动原有几何模型达到新的目标几何图形,实现高效建模和模型修改,从而大大提高产品设计的效率,并能够有效保证产品模型的安全可靠性。参数化建模的关键在于确定和建立几何约束关系80,通过几何约束可以确定几何元素在空间的形状与位置等重要参数。几何约束包括尺寸约束和结构约束(也称拓扑约束)81-82。结构约束是对产品结构的定性描述,表示几何元素拓扑和结构上的关系,如平行、垂直、相切、对称等,这些关系在图形的尺寸驱动过程中保持不变。尺寸约束是对产品结构的定量描述,通过尺寸标注控制结构中几何元素之间的位置关系,如直径尺寸、距离尺寸、角度尺寸等,作为参数化驱动的目标对象。因此,所建立的参数化模型必须满足以下两点:(1)确定产品结构中几何元素之间的约束关系,使其与几何拓扑关系保持一致,以保证在图形参数变量变化的情况下,几何结构形状不能变化。(2)建立几何信息和参数的对应机制,让图形的控制尺寸由一组参数约束,保证模型结构,设计参数的修改受到尺寸的驱动,通过尺寸修改去更新模型结构,实现参数化设计。3.1.3 参数化设计在本课题中的应用模架通常是指模具的通用成套基础件。是一种按一定规律和位置加以组合,并能装配到模具生产设备上的装置,主要固定支撑模具各部分,目前已成为应用广泛的一种装置,由于存在使用企业、行业、国家的标准差别而形成了一个个的系列产品,造成了资源的浪费。随着模具标准化速度的加快,我国自从1984年以来陆续制定实施了大量的标准,模架逐步实施了标准化和规格化,并由专门公司大量制造。标准化的产品在结构和设计上,存在大量相似性,只是尺寸大小的不同,如果各个反复地去设计,重复工作量庞大,极大地浪费了人力、物力资源,延长了设计周期,大大降低了设计效率。参数化设计技术的理念很好的帮助我们解决这种难题。特别是基于参数化技术的UG二次开发为我们提供了清晰地思路,参数化设计的基本手段有尺寸驱动和程序驱动83。利用UG提供的参数化功能模块实现模型的设计变量驱动,即在模型构建过程中用变量来控制模型的几何尺寸并约束尺寸关系。还可以用程序实现模型参数化设计,即利用UG提供的系统开发环境应用程序接口,通过编程生成执行文件供UG调用以实现模型参数设计。前者主要是利用UG的全参数化功能,通过设计参数变量控制模型的形状和大小,这种方法的好处是用户可以直接修改变量表中的参数实现对模型的修改和编辑。但此方法对使用者的要求较高,需要使用者熟练掌握UG的实体造型、装配以及对变量表的编辑等使用技巧。后者是根据需求编辑相应的程序,去调用UG文件包中的函数,来实现各个功能。这是完全的程序驱动,把一系列形状相似的模型通过编译生成程序,再把模型的各种参数存储于数据库,从数据库界面中选择所需的零件型号生成相应的模型。该方法程序编程量大,结构繁琐复杂,对设计开发人员的要求较高,前期投入比较大,但是对使用者后期来说,程序扩充变换简单,编译和调用灵活,使用简便,可以大大缩短产品设计开发周期,提高设计开发效率。所以该开发方法多用于标准系列化产品参数化设计的设计和开发。参数化建模的首要步骤是对零部件进行形体结构分析84。所以在对注塑模标准模架进行参数化建模之前,首先要分析模架组成零件的结构信息,比较各个零件的结构形状,罗列出各个零件的约束关系,确定各个零件的几何尺寸。从中找出设计参数变量和约束参数关系,进一步确定参数变量和建模策略,然后进行参数化建模以及参数提取,最后进行模型的验证。如图3.1注塑模标准模架的结构组成实例所示85。经过对注塑模标准模架的彻底分析可得,注塑模模架一般由模板、垫块、导柱、导套、复位杆、顶杆和用于固定的螺钉、销钉等组成,此模架零件按结构形状可分为板类零件和轴类零件两大类。板类零件主要特征参数尺寸包括模板的长度、宽度和厚度以及模板上的圆孔孔径及其定位尺寸。轴类零件主要特征参数尺寸一般是直径、长度等。在完成零件结构分析的基础上,逐步细化各个零件的结构信息,获取各个零件的结构尺寸参数和约束参数,进而选择一定的信息平台,实现零件尺寸参数和非尺寸参数的表达,建立可变型的零件模型。在完成所有注塑模标准模架的相关零部件模型参数库建立后,所有的模型提供一定的结构参数化功能,然后通过参数设置,采用程序自动完成尺寸修改更新模型的方法,设计各类不同规格的产品。图3.1 注塑模标准模架的结构组成实例Figure 3.1 Structure composition examples of standard mould baseof injection mould1-定模座板;2,7-内六角螺钉;3-定模板;4-推件板;5-动模板;6-支撑板;8-垫块;9-动模座板;10-内六角螺钉;11-推板;12-推杆固定板;13-复位杆;14-带头导柱;15-直导套;16-带头导套3.2 数据库管理技术及应用3.2.1 数据库管理技术在注塑模标准模架的设计过程中,客户使用不同的标准,经常需要用到不同的标准模架,模架零件参数的获得和修改,通常的方法是人工查阅机械手册,这样浪费了大量的时间。所以模具设计系统强烈需要一个数据库的支持,以储存大量的数据,方便对数据的管理和更新,还能不断补充新的设计,以使软件不断地进行更新,保持长久的生命力和竞争力86,在注塑模标准模架零件库系统中利用数据库技术,将该每个标准模架零件的标准参数尺寸保存在数据库中,需要时直接选择调用所需的标准数据,实现了即调即输的快捷操作,从而方便零件的设计,提高了设计效率。数据库(Database)按照数据结构来组织、存储和管理数据的仓库,即将现实世界中的信息以计算机所能识别的数据模型存储于计算机中,为用户提供数据服务的数据集合。数据库管理系统(Database Management System)是位于数据库与用户之间用于建立、使用、操纵、管理和维护数据库数据的管理软件,简称DBMS。数据库管理系统用于管理存储在计算机数据库内的数据,为进一步二次开发提供了良好的数据库保障87。面向不同对象的处理建立不同数据库管理系统88,采用不同的面向对象数据库管理系统设计方法。它对数据库进行统一的控制和管理,可以有效地对数据库中的数据进行定义与访问。用户不但能通过DBMS访问数据库中的数据,而且数据库管理员也可以通过DBMS进行数据库的维护工作。它提供多种功能,不仅可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。还能使用户能方便地定义和操纵数据,维护数据的安全性和完整性,而且能进行多用户下的并发控制和恢复数据库。SQL(Structured Query Language)是在20世纪70年代创建的一种为关系数据库管理系统(Relational Database Management System,RDBMS)模型开发的一种查询语言。SQL语言允许用户在高层数据结构上工作,主要功能包括查询、操作、定义和控制,是一个综合的、通用的关系数据库语言,同时又是一种高级非过程化编程语言。它既不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入和管理的接口。SQL能够集成实现了整个数据库生命周期中的全部操作功能,提供了与关系数据库进行交互链接的方法,它可以支持标准的编程语言。SQL语言结构简洁,功能强大,简单易学,SQL语言得到了广泛的应用。比如Oracle、FoxPro、Sybase、Microsoft SQL Server、Access、DB2、Informix等都采用了SQL语言标准。SQL是一门ANSI的标准计算机语言,用来访问和操作数据库系统。SQL不仅能取回和更新数据库中的数据,还可与数据库程序进行协同工作。UG/Open API具有很强的编辑功能,通过编译可以调用UG文件中的内部函数,去实现所有的UG的指令,但是对数据库的管理以及可视化交互却不方便。所以本系统利用Microsoft Visual C+ 6.0强大的编程链接接口,对SQL关系数据库系统兼容性,创建链接模架结构数据库,主要完成以下几个功能:UG和SQL数据库的联结,数据的录入和功能模块的调用,还有数据库链接程序的编制89。本论文的开发目标是能完成从模架总体设计到装配实体造型的建立和开发,主要是把数据库运用于零件模型程序中,实现数据库技术和参数化模型程序的结合,能在数据库的基础上实现图形自动生成绘制,并从中根据用户的需求选择数据库中合适的标准型号。首先设计人员输入原始参数数据,不仅用来驱动本次设计过程,同时也能为同类相似结构产品设计提供参考,还可以改变输入的参数变量,这些输入的原始数据要利用数据库保存;在需要使用的过程中,需要从数据库读出零部件几何、拓扑信息,材料信息,领域知识信息,设计数值计算所需的各种标准数据信息,为了更加有效地存储和管理数据库各类数据,使系统各个模块既能共享公共数据资源,又可保持数据的独立性和完整性,避免不必要的数据冗余,本论文采用了数据库管理技术。3.2.2 数据库管理技术应用注塑模标准模架的零件参数化设计中所有需要的参数都是根据国家标准选取制定的,而作为参数化系统中生成三维模型的输入数据原始依据。然后,将ODBC(Open DataBase Connectivity)技术用于开发的应用程序中,可以实现UG与外部数据的连接,实现参数化设计,使数据库操作简单方便,大大缩短开发时间。为了便于应用和管理,在Microsoft SQL Server关系数据库中建立相应的表格,采用ODBC做程序设计接口,可方便有效地访问外部数据库。ODBC是为用户应用程序访问关系数据库提供统一的接口,对于不同的数据库,它规定了统一规范,并提供了统一的对数据库访问的标准API。数据库使用标准的SQL作为其数据库访问语言,只有使用此语言才能去操作、处理和访问。使应用程序可以应用所提供的标准API来访问任何提供了ODBC驱动程序的数据库。一个基于ODBC的应用程序对数据库的操作不依赖于任何的DBMS,所有操作由对应的DBMS的ODBC驱动程序完成。即无论是FoxPro、Sybase、Microsoft SQL Server、Access还是Oracle数据库,均可用ODBC API进行访问。因此,ODBC的最大优点是能以统一的方式处理所有的数据库90。在产品的设计开发过程中,针对众多的几何和非几何设计参数,我们可以选择数据库去储存,但我们如何让其快速交互和维护,是我们急需解决参数化设计系统开发中所面临的技术瓶颈和难点。设计参数管理系统的性能是检验我们设计的参数化设计系统实用性和可靠性的试金石。我们在通常的产品设计中,产品设计参数之间的传递功能是从上到下的,总体设计阶段确定的参数将传递到下面的部件设计或零件设计中被直接使用和调用,避免部件或零件参数数据繁琐的输入和修改。所以,在设计参数管理系统之前必须要建立设计参数的数据库,以便充分保证设计的正确性,奠定继续设计开发的基础;其次是对设计参数数据库进行输入、修改、存储、调用、追加等功能操作,实现各个功能的统一管理,即可实现把参数变量输入并存储于数据库,再从参数数据库中读取数据,修改数据库中的数据,进而根据用户需要可在原始数据中追加若干参数的记录,还可在数据库中增加多个数据文件等功能。 由于注塑模标准模架标准尺寸的多样化,在注塑模标准模架设计过程中一般需要查询相当多的数据资料,数据库可以支持UG软件的的应用:开放式的数据库连接接口ODBC是Microsoft Windows开放服务体系(WOSA)的一个组件,它提供了一整套的应用程序接口(API)函数,使开发人员可以方便地同许多数据库格式相连。本文将利用ODBC技术与Microsoft Visual C+ 6.0的支持,实现UG软件与数据库的连接,使得设计所需要的数据可以随时得到,并在不断的使用过程中使设计经验数据库得以扩充,从而达到方便设计的目的。数据库采用了微软的SQL Server 2000。数据库技术在本系统中的应用主要表现在两个方面:一是建立注塑模标准模架零部件的设计参数数据库,输入并储存标准件的参数变量,通过接口函数调用数据库中的参数,实现三维自动造型。二是通过ODBC数据库接口技术,用户可以方便的执行对设计参数数据库进行查询、调用、修改、添加等访问和操作,实现了设计开发的灵活性。其中,该技术用于UG二次开发的参数化零件设计总体思路是:用交互方式创建三维原始模型,并利用UG的参数功能建立设计参数和尺寸关系,然后在Microsoft SQL Server关系数据库中建立相应的表格。通过Visual C+映射一个CRecordset类对象,用于交互,最后由UG/Open API应用程序检索出模型的设计参数,根据数据源对象输入参数并再生模型,从而将功能强大的UG与先进的数据库管理系统有机结合起来。3.2.3数据库管理技术的连接 91本系统中的数据库管理采用客户机/服务器结构(Client/Server)结构,即C/S结构。在C/S结构中,它是由客户机和数据库服务器构成的分布式计算机处理网络系统,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。C/S结构的关系图3.2所示。 数据库服务器 SQL请求 客户机 客户机 客户机 图3.2. 客户机服务器结构Figure 3.2 Client-Server structureC/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序和后台程序。运行数据库服务器程序的机器,称为应用服务器。 一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户程序安装在用户自己的电脑上,对应于数据库服务器,可称为客户机。当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果。服务器负责系统资源的管理和优化,客户端负责与用户的交互,应用程序或应用逻辑根据需要划分到服务器或客户端,为满足用户查询或数据管理的要求,客户端上的客户应用程序和服务器上的服务器管理程序协同工作。 本论文交互数据量比较少,所以采用本电脑即作为服务器,也作为客户机来完成数据的存储和交互,就可以满足本论文的需要,在运用的过程中,只需添加自己的计算机名称,启动C/S结构连接。3.3 本章小结本章研究系统开发中所用到的关键技术:参数化设计技术、数据库管理技术以及数据库管理技术的连接,并论述了这些技术在系统开发中的作用及应用方式。4 模架库参数化CAD系统的开发4.1 系统总体设计方案标准模架和标准零部件是模具标准化工作的主要部分,在模具设计制造中,充分利用标准模架,不但能简化设计,提高质量稳定性,缩短制造周期,降低成本,提高企业在市场上的竞争力,而且能使模具设计者有更多的自由度、时间和灵活性致力于真正产品的工艺及模具设计方案中去。目前标准模架已被模具行业普遍采用。在设计标准模架时,系统的总体设计是依据模架实际设计过程,以模架生产成本核算为依据,以具备的生产条件和产品的供应要求为约束条件制定算法,以产品成型工艺、模架设计制造现场工作状况来综合考虑,并以此作为判别准则,开发模架参数化CAD系统的标准零件库和含标准模架的模具零件标准件数据库,从而实现了模架型号的优化选择、模架标准零件选取、参数自动化读取和参数化绘制92。本系统是在模架各零部件按照国家标准、行业标准、企业标准要求完成优化设计的基础上,得到相关的标准参数后进行研究与开发的。4.1.1 系统总体设计思路根据本系统的体系结构图,系统的组成从功能性框架考虑由三大模块组成:通过Visual C+6.0开发的用户界面模块,通过Visual C+6.0编译调用UG/Open API函数创建模型程序,融入到应用程序模块中,实现参数化的UG/Open API应用程序模块和设计知识数据库模块。其中各大模块下又划分若干个子模块。各模块相互关联,相互调用。系统模块结构如图4.1所示:用户界面模块数据库模块应用程序模块 图4.1 系统模块结构图Figure 4.1 System module structure diagram各模块的基本功能如下:(1)应用程序模块:该模块功能是利用UG/Open API函数,运用VC+进行编译生成模型的程序文件,生成可执行的应用程序,通过UG调用,以实现实体模型的创建。与以往的设计方法相比,用户省去了实体模型样板的创建,简化了设计步骤,提高了产品的设计效率。在编辑程序的过程中,函数调用和运用要合理,函数参数变量定义和使用要正确,输入参数和输出参数也要正确。该模块把UG系统、用户界面模块和模型参数数据库在后台有机地结合起来,支持着系统的正常、稳定运行。(2)设计知识数据库:数据库主要储存的是模架零部件的各种标准参数值,使用时不需要逐个输入,只需选择调用。包括控制实体大小与位置尺寸等几何设计参数,还可以控制零件号、零件材料和重量等非几何参数。(3)用户界面模块: 包括用户菜单和用户对话框的设计。通过点击用户菜单,弹出对应的对话框。它作为开发用户与参数化设计系统进行交互的窗口工具,由若干UG/Open MenuScript创建的菜单和UG/Open UIStyler创建的对话框组成。本系统以基于对象与对对象属性的参数化设计为基础,总体开发思路如下:采用全程序控制的方式,首先在Visual C+6.0中使用UG/Open API函数进行程序编辑,编辑的程序能完成模型的建模,实现所有的UG功能;然后在Microsoft SQL Server数据库中建立相应的数据表,同时通过Visual C+6.0映射一个CRecordset类对象,用于数据交互;最后用Visual C+6.0和UG/Open API开发工具编写系统接口程序,并利用ODBC数据库接口技术使该模型样板与其设计参数数据库相关联,同时利用Visual C+6.0设计友好的用户交互界面。参数化程序通过对模型的设计编程,来实现设计参数的检索、修改以及三维模型的再生,其系统框图如图4.2所示。设计参数数据库UG/Open API应用程序UG中定制的用户界面参数化驱动生成零件三维实体图4.2 系统关系框图Figure 4.2 System relation diagram4.1.2 系统开发基本步骤(1)创建模型程序。在Visual C+6.0环境下,编辑调用UG/Open API函数,创建模架各部件的实体模型程序,程序中设置所需的原始设计参数,进行程序调试,生成可执行的程序文件。把此文件放在相应的路径下,以便在UG界面下调用实现。(2)设计参数数据库的建立。在Microsoft SQL Server中建立各类模型程序对应的设计参数数据库,每一个数据库由数据表组成,以存放不同标准型号的设计参数数据。设计参数分为几何参数和非几何参数两种。几何参数包括实体大小与位置尺寸等数值型参数,非几何参数只是用以表明结构特征以及一些数据控制和标记作用的代码,如零件材料、零件号、模架型号等非数值型参数。(3)用户交互界面的开发。利用Visual C+6.0中的MFC资源和编写UG/Open UIStyler对话框资源文件相结合的方式,设计系统的用户交互界面。(4)UG/Open API接口程序的设计。在Visual C+6.0集成开发环境下设计系统应用程序,经编译生成DLL可执行文件后,在UG中注册并运行,实现VC程序与UG的数据通讯,从而完成系统的开发。4.1.3 系统开发工具选择利用UG提供的丰富的二次开发工具,并结合以上所讲述的标准件总体设计方案,根据本课题的实际情况,本系统是在Microsoft Windows XP Professional 2002的微机操作平台上,利用UG提供的UG/Open MenuScript开发用户菜单,利用UG/Open UIStyler设计与UG风格一致的用户对话框,实现用户和UG界面之间的交换,并与UG无缝集成,操作简单快捷,能够避免复杂而繁琐的编程。UG/Open API提供了所有能生成UG对象模型的函数集,并且支持C/C+语言。而C/C+语言的集成开发环境Visual C+是Windows环境下最主要的应用开发系统之一,与WIN32紧密相连,具有功能强大、使用简单、可靠性强和生成代码效率高等优点,利用Visual C+开发系统可以完成各种各样的应用程序的开发93。在Visual C+6.0集成开发环境中,利用UG/Open API对UG进行二次开发,编写应用程序和设计程序接口,在用户菜单和用户对话框之间以及对话框上的控件与相应的回调函数之间建立联系,并且可以实现UG环境中的各种应用操作94。再结合Microsoft SQL Server数据库管理技术,对系统所用数据进行储存和管理,并通过Visual C+6.0平台对数据库链接文件进行编译,并与应用程序共同生成动态链接库文件,UG启动时自动加载动态链接库文件供用户菜单调用,从而实现了应用开发程序、数据库与UG系统的无缝集成。因此选择Visual C+6.0作为编程开发环境进行UG应用程序开发,并利用UG/OpenAPI编写应用程序,建立一个与UG系统集成的标准模架三维参数化CAD系统。4.1.4 系统开发流程通过对系统总体设计思路、系统开发的基本步骤和系统开发工具的综合分析,可以充分利用UG二次开发工具,结合所提出的全程序化建库方法,制定详细的系统开发流程图,使整个系统框架结构更加简单明了,进一步细化了各个系统的细节,用户可以利用此流程图,可以方便准确的进行每一步的开发。如图4.3所示为标准模架系统开发流程。开始用户菜单用户对话框选择数据库中标准件型号和参数读取数据库中标准件的数据信息生成三维实体标准件模型程序结束菜单文件*.menUG/Open MenuScript对话框文件库*.dlgUG/Open UIStyler应用程序库*.dll参数数据库文件UG/Open APIVisual C+6.0Microsoft SQL Server图4.3 标准模架系统开发流程Figure 4.3 Development Process of standard mould base of injection mould基于UG的三维参数化标准标准模架库的总体结构主要由菜单文件、对话框文件库、参数数据库文件和应用程序库等组成,综合运用了UG/Open MenuScript、UG/Open UIStyler、UG/Open API和Visual C+6.0等UG二次开发关键技术以及数据库技术。利用UG/Open MenuScript编写用户菜单,直接挂在UG系统的主菜单上,调出用户对话框;运用UG/Open UIStyler制作UG风格的用户对话框,满足各种各样的功能需求,实现用户与标准件库的交互操作;通过UG/Open API和Visual C+6.0编写UG应用开发程序和编译模型程序,从而实现全编程程序建模技术创建参数化模型,并生成动态链接库文件,在UG启动时自动加载,保证与UG的无缝集成。4.2 模架库零部件程序创建4.2.1系统环境变量设置在利用UG/Open API进行开发之前,应对系统作一些相应的设置,只有这样,才能进行二次开发的工作。工程路径是指安装在目标硬盘的用户工程的路径。要使三维标准模架库的应用程序得以正确运行,为了避免与UG本身的功能模块发生冲突,应在工程文件夹下建立两个资源文件夹: Application和Startup,完成后把它们以及用户配置文件夹存放于工程路径下,然后采用环境变量法注册工程路径。通过设置环境变量来获取配置文件的路径,实现用户应用程序对配置文件的访问。环境变量的设置有三种方法,使你开发的程序在UG启动后起作用。UG环境配置文件ugii_env.dat中存放着3个环境变量:UG_VENDOR_DIR(存放第三方开发商开发的相关应用文件)、UG_SITE_DIR(存放其它开发者开发的相关应用文件)和UG_USER_DIR(存放用户自己开发的相关应用文件)。根据要实现的不同作用,去选择使用不同的环境变量。具体的注册方法有三种:第一种是:直接打开$UG_BASE_DIRUGII目录下的ugii_env.dat文件(该文件包含Unigraphics系统的全部环境变量及系统路径定义),找出下面的两条语句:#UGII_VENDOR_DIR=$UGALLIANCE_DIRvendor#UGII_SITE_DIR=$UGALLIANCE_DIRsite#UGII_USER_DIR=$HOME这三条语句前都带有“#”,“#”代表了注释,说明这三个环境变量不起作用,为了使他们起作用,可以将它们前面的注释符号“#”删除。第三条语句是用来设置用户自己二次开发内容的工程路径目录,用户使用时同样要将其前面的“#”号删除,并在其后使用用户自己的工程路径目录替换$HOME,完成工程路径的注册。第二种是:直接打开$UG_BASE_DIRUGIImenus目录下的custom_dirs.dat文件。直接把用户自己二次开发内容的工程路径目录注册于该文件下,以便UG启动时直接使用工程路径目录下的文件。取消注册直接在工程路径目录前加上“#”或直接删除此工程路径目录。第三种是:采用环境变量UG_USER_DIR来注册工程路径,其具体操作为:右击“我的电脑”,选择属性,在系统属性对话框中选择高级选项卡,单击环境变量,在环境变量对话框的用户变量栏下单击新建。在新建用户变量对话框中输入变量名UGII_USER_DIR和变量值E:MouldBase,则注册的工程路径是E:MouldBase。本文就采用此方法注册工程路径,如图4.4所示环境变量的设置。图4.4 环境变量的设置Figure 4.4 The setting of environment variables4.2.2 工程目录结构在完成系统变量设置之后,相应的用户开发工程路径也被注册成功,UG启动时,系统会通过被注册的工程路径搜索该路径下的工程目录,工程目录包含很多子目录,子目录用于存放要执行的文件,每个子目录必须要与执行文件相对应,才会被UG系统识别读取。这样就保证在UG启动情况下,能够将用户二次开发的部分文件调入操作系统为UG分配的进程内存中,才能实现二次开发。在该工程路径下建立工程子目录结构如图4.5所示。Startup和Application是UG规定的目录,udo是用户自定义目录。Startup目录存放Unigraphics启动时需载入的动态共享库(以ufsta()为入口的*.dll)及菜单脚本文件(*.men);Application目录存放UG启动时需加载具体的功能扩展程序文件(如应用模块的扩展共享库(*.dll)、UIStyler对话框文件(*.dlg) 、UIStyler对话框所使用放标准件的二维示意图(*.bmp)。udo目录存放与用户自定义对象相关的动态链接库文件代码。UG启动时会在这些目录中寻找并加载相应的程序和资源。MouldBaseStartupApplicationudodlg文件men文件dll文件bmp文件dll文件图4.5工程子目录结构Figure 4.5 Engineering Sub-directory structure4.2.3 系统应用程序的设计所谓的UG/Open API应用程序(或简称应用程序)是指利用UG系统提供的UG/Open API工具包的支持,用C/C+语言进行程序设计,使用C/C+编译器和连接器创建能够在UG环境运行的可执行程序(文件名后缀为EXE)或动态连接库(文件名后缀为DLL)形式的程序。对于我们选择的不同操作系统平台,在编译和连接生成UG/Open API应用程序时,编译选项和所需的系统库文件是不同的。所以要使UG/Open API能正常运行,必须要正确设置编译和连接选项60。本系统采用Windows操作系统,Visual C+6.0集成开发环境创建UG/Open API程序。UG/Open API接口程序以VC+6.0为编译、调试工具,采用C/C+语言编写而成。通常情况下,创建应用程序方式:使用工程向导ugopen.awx、使用MFC应用向导。前者创建应用程序方便快捷,但不支持MFC类库,因而不能充分利用VC的资源。后者资源比较丰富,能弥补其它开发工具的缺陷与不足,但使用繁琐,需要对本软件有比较好得掌握。利用Visual C+开发基于UG的程序编制一般需要两个步骤:一是可视化设计阶段;二是代码编写阶段。在可视化设计阶段,编程者使用VC+工具箱来定制所需的用户界面。在代码编写阶段,编程者通过调用消息和事件函数编译功能程序,实现所需的功能。由于在VC+中可以方便对UIStyler对话框文件(*.dlg)进行编译,编程人员只需编写少量的代码就可以设计出界面友好、方便用户使用的程序,因而可以大大提高系统开发的效率。 用户界面设计利用UG/Open MenuScript编制用户菜单文件*.men,创建用户化菜单,创建步骤和编译代码都在节中已作了详细的介绍,编译后执行运行结果如图2.6所示。本节主要介绍用户对话框的设计。由于标准模架零件数目较多,所设计的用户对话框也很多,不能一一详述。注塑模标准模架零件按结构形状可分为板类零件和轴类零件两大类。板类零件主要特征尺寸包括模板的长度、宽度和厚度以及模板上的圆孔孔径和其定位尺寸。轴类零件主要特征尺寸一般是直径、长度等。下面以板类零件定模座板对话框和轴类零件带头导套对话框为例来说明用户对话框的设计及其特点。图4.15 按钮的回调函数Figure 4.9 Callback function of the button图4.19 按钮的回调函数Figure 4.13 Callback function of the button图4.6 定模座板对话框Figure 4.6 Dialog of the solid_plate图4.7 对话框控件属性Figure 4.7 Dialog control properties图4.8 对话框基本回调函数Figure 4.8 Dialog basic callback function图4.16 导套对话框Figure 4.10 Dialog of the sleeve图4.17 对话框控件属性Figure 4.11 Dialog control properties图4.18 对话框基本回调函数Figure 4.12 Dialog basic callback function利用UG/Open UIStyler设计如图4.6所示定模座板对话框和如图4.10所示导套对话框。定模座板对话框共有10个控件:1个位图、1个按钮和8个浮点型数值输入框。所赋予这些控件的属性如图4.7所示,对话框的基本回调函数如图4.8所示,按钮的回调函数如图4.9所示。导套对话框共有11个控件:1个位图、1个按钮、1个组群和8个浮点型数值输入框。所赋予这些控件的属性如图4.11所示,对话框的基本回调函数如图4.12所示,按钮的回调函数如图4.13所示。所创建的定模座板对话框和导套对话框具有如下特点:(1)对话框中插入二维图形,可实现图形的前期预览,使用户比较直观了解该零件的几何参数和结构。当用户选择该零件后,立即显示出二维图形和零件各个尺寸参数,方便用户根据根据实际需要,对零件各个参数做出正确适当的输入和修改。(2)该对话框增加了一个参数库按钮,利用该参数库按钮的回调函数与数据库相连接,实现标准模架数据自动选择调入,当用户选择点击参数库按钮时,会弹出标准模架的参数库,该参数库列出了标准模架各个型号,同时也列出了对应型号的模架零件各参数,用户只需去选择某型号标准型号后,系统自动对对话框中参数进行数据更换。因此用户在选择不同型号标准模架时,完全不需要查看模架的有关设计手册,也省去了手工输入模架零件的各个参数尺寸。同时,也避免了手工输入的错误。 创建应用程序创建了用户界面之后,需要在Visual C+6.0平台上进行应用程序开发设计,编辑零件模型程序,使之与用户对话框建立联系,并对模型程序进行参数化驱动,实现标准模架零件的生成。Visual C+6.0的集成开发环境是采用工程(Project)来管理所有的C/C+源程序、头文件、库文件和对话框等各种资源的,程序的设计、编译、连接和调试均十分方便。由于UG/OpenAPI应用程序设计涉及到UG提供的头文件(*.h)、库文件(*.lib)以及C/C+语言编程环境,所以在编写应用程序之前需要对Visual C+6.0的编辑环境进行设置,具体方法如下:(1)启动Visual C+6.0集成开发环境后,首先根据不同的开发需要,选择利用不同的Visual C+6.0应用程序设计向导创建不同的UG/Open API应用程序的基本框架。本论文采用Unigraphics NX AppWizard V1和MFC AppWizard(dll)应用程序设计向导分别建立动态链接库的工程,但只以Unigraphics NX AppWizard V1应用程序设计向导为例进行说明。(2)启动Visual C+6.0,选择Unigraphics NX AppWizard V1,根据应用程序向导,新建工程项目,并输入工程名称和存储的位置。单击OK按钮,在弹出的对话框中单击Finish按钮,就创建了一个空的UG应用模板程序。本系统中工程名为solid_plate,如图4.14所示。图4.14 在VC中新建系统工程solid_plateFigure 4.14 Building new project name solid_plate in the VC(3)工程设置。选择ProjectSettings命令,在“Link”选项卡中“Object/library modules”下添加UG库文件libufun.lib、libugopenint.lib和libnxopencpp.lib,如图4.15所示。图4.15 solid_plate的工程设置Figure 4.15 The project setting of solid_plate(4)配置路径选项。选择ToolsOptions命令,在“Directaries”目录下拉菜单的两个选项Library files和Include files中添加UG安装目录下的UG6UGOPEN,如图4.16所示。图4.16 solid_plate的配置路径Figure 4.16 Configuration path of solid_plate 图4.17 Visual C+6.0程序框架Figure 4.17 Program frame in the Visual C+6.0对Visual C+6.0编辑环境设置完成之后,更改对话框生成的C语言源文件模板文件*_template.c和头文件模板文件*.h为*_dialog.cpp和*_dialog.h,然后添加到新建的工程中去,然后编写文件代码,合理调用C/C+以及UG/OpenAPI函数进行设计和编译,实现标准模架库零件模型程序的创建,执行用户的具体操作。根据用户的开发需求,通过Visual C+6.0建立应用程序框架,如图4.17所示。该框架结构由起不同作用的模型程序代码组成,用户编写的模型程序代码一般包括两个部分:程序接口和执行操作的应用程序代码。(1)添加接口程序。在标准模架件开发过程中,首先必须在用户对话框和用户菜单之间建立起相应的联系。ufusr()和ufsta()是常用的入口函数,是UG运行过程中规定的入口。如在生成调用对话框时所用到的用户应用程序接口如下:定模座板对话框用户应用程序接口:static UF_MB_cb_status_t SOLID_PLATE( UF_MB_widget_t, UF_MB_data_t,UF_MB_activated_button_p_t );static UF_MB_action_t actionTable= SOLID_PLATE_ACTION,SOLID_PLATE,NULL, NULL,NULL,NULL ;extern C DllExport void ufsta( char *param, int *returnCode, int rlen ) int errorCode = UF_initialize();if ( 0 = errorCode ) UF_MB_add_actions(actionTable);errorCode = UF_terminate(); PrintErrorMessage( errorCode ); 导套对话框用户应用程序接口:static UF_MB_cb_status_t Die_Sleeve( UF_MB_widget_t,UF_MB_data_t,UF_MB_activated_button_p_t );static UF_MB_action_t actionTable=DIE_SLEEVE_ACTION,Die_Sleeve,NULL,NULL,NULL,NULL;extern C DllExport void ufsta( char *param, int *returnCode, int rlen ) int errorCode = UF_initialize(); if ( 0 = errorCode ) UF_MB_add_actions(actionTable); errorCode = UF_terminate(); PrintErrorMessage( errorCode ); 这两个应用程序的入口主要通过ufsta()函数进行连接,用户可以通过调用UF_MB_action_t actionTable函数来建立标准模架库的用户菜单和用户对话框文件之间的联系。(2)编写模型应用程序代码。开发模型应用程序主要是建立用户界面、模型程序与数据库之间的联系,能够根据用户的操作,生成用户所需要的标准模架,从而实现用户与标准模架库之间的交互功能。因此如何利用从用户对话框中获得的所选标准件的尺寸参数信息,从数据库中找出需要调用的尺寸参数,并按选定的尺寸对对话框进行参数更改,按指定的条件生成用户需要的标准模架,是应用程序设计的关键。下面以板类零件定模座板和轴类零件导套为例进行说明。创建板类零件定模座板实现的方法如下:(1)创建板类零件定模座板的回调函数在使用程序创建定模座板模型的过程中要注意特征的创建顺序,比较合适的特征创建顺序为创建长方体特征、孔特征、镜像特征。其代码如下所示。static UF_MB_cb_status_t SOLID_PLATE( UF_MB_widget_t widget,UF_MB_data_t client_data,UF_MB_activated_button_p_t call_button) int resp,result; PartParameter m_part_para;tag_t m_part_tag,m_block_tag,m_hole_tag,m_mirror_tag,m_mirrors_tag,m_mirrort_tag;UF_initialize();LaunchGetPartParameter(&resp,&m_part_para);if(resp!=UF_UI_OK) return UF_MB_CB_CONTINUE;UF_PART_new (e:part.prt,1,&m_part_tag);/创建长方体result=SOLID_PLATE_Create_BLOCK(&m_part_para,&m_block_tag);if(result) return UF_MB_CB_CONTINUE;/创建孔特征result=SOLID_PLATE_Create_Hole(&m_part_para,m_block_tag,&m_hole_tag);if(result) return UF_MB_CB_CONTINUE;/创建镜像特征result=SOLID_PLATE_Create_Linear(&m_part_para,m_hole_tag,&m_mirror_tag); if(result) return UF_MB_CB_CONTINUE;/创建镜像特征result=SOLID_PLATE_Create_Linear_s(&m_part_para,m_mirror_tag, &m_mirrors_tag);if(result) return UF_MB_CB_CONTINUE;/创建镜像特征result=SOLID_PLATE_Create_Linear_t(&m_part_para,m_mirrors_tag, &m_mirrort_tag);if(result) return UF_MB_CB_CONTINUE;return UF_MB_CB_CONTINUE ;(2)创建长方体特征所用主要函数UF_LAYER_set_status()函数设置图层;UF_MODL_ask_list_item()函数查询第index个节点处对象的标识;UF_MODL_delete_list()函数删除整个对象链表,释放内存;UF_MODL_create_block()函数创建长方体特征;(3)创建孔特征所用主要函数 UF_MODL_ask_feat_body()函数查询某一个特征所在的实体body;UF_OBJ_ask_type_and_subtype()函数从实体遍历出特征;UF_MODL_ask_list_item()函数查询第index个节点处对象的标识;UF_MODL_ask_face_data()函数查询面的参数数据;UF_MODL_create_c_bore_hole()函数创建孔特征;(4)创建镜像特征所用主要函数UF_MODL_create_fixed_dplane()函数创建固定面;UF_MODL_create_mirror_set()函数创建镜像特征;UF_OBJ_set_blank_status()函数隐藏组件;创建轴类零件导套实现的方法如下:(1)创建轴类零件的回调函数在使用程序创建轴类零件导套模型的过程中要注意特征的创建顺序,不同的创建顺利,可影响到创建后的程序运行结果,经过综合分析,比较合适的特征创建顺序为创建旋转体特征和倒角特征。其代码如下所示。static UF_MB_cb_status_t Die_Sleeve( UF_MB_widget_t widget, UF_MB_data_t client_data,UF_MB_activated_button_p_t call_button ) int resp,result;PartParameter m_part_para;tag_t m_part_tag,m_revolve_tag,m_chamfer_tag;UF_initialize();LaunchGetPartParameter(&resp,&m_part_para);if(resp!=UF_UI_OK) return UF_MB_CB_CONTINUE;UF_PART_new (e:part.prt,1,&m_part_tag);/创建旋转体result=Die_Sleeve_Create_Revolve(&m_part_para,&m_revolve_tag); if(result) return UF_MB_CB_CONTINUE;/创建倒角result=Die_Sleeve_Create_Chamfer(&m_part_para,m_revolve_tag,&m_chamfer_tag);if(result) return UF_MB_CB_CONTINUE;return UF_MB_CB_CONTINUE ;(2)创建旋转体特征所用主要函数 UF_LAYER_set_status()函数设置图层; UF_MODL_create_list()函数创建一个链表,为链表分配内存; UF_CURVE_create_line()函数创建直线; UF_MODL_put_list_item()函数将对象标识添加到链表的尾部; UF_MODL_create_revolved()函数创建旋转体; UF_MODL_ask_list_item()函数查询第index个节点处对象的标识;UF_MODL_delete_list()函数删除整个对象链表,释放内存;(3)创建倒角特征所用主要函数 UF_MODL_ask_feat_faces()函数查询特征的面; UF_MODL_ask_list_count()函数查询对象链表的长度; UF_MODL_ask_list_item()函数查询第index个节点处对象的标识; UF_MODL_ask_face_edges()函数用于查询与特征相关联的信息; UF_CURVE_ask_arc_data()函数查询曲线的数据信息; UF_MODL_create_list()函数创建一个链表,为链表分配内存; UF_MODL_put_list_item()函数将对象标识添加到链表的尾部; UF_MODL_ask_face_props()函数查询面的特征参数信息; UF_MODL_create_blend()创建圆角特征; UF_MODL_create_chamfer()创建倒角特征; 数据库接口程序设计建立数据库,实现模块化设计,使程序和数据相对独立,将有利于数据的维护和扩充,不同的应用程序可以借助数据库实现数据交换。本系统以Microsoft SQL Server 2000为后台,通过ODBC(数据库开发互连)开放式的接口技术,利用Visual C+6.0开发相应的数据库应用程序,并把应用程序通过UG/Open API开发工具和DLL技术集成到UG中,实现了UG用户对SQL Server数据库的访问和操作,从而将功能强大的UG与先进的数据库管理系统有机结合起来。以定模板为例,建立系统数据库接口程序设计过程如下:在VC+6.0继承开发环境中,使用MFC AppWizard(dll)向导创建程序的工程文件solid_plate_program.dsw,要实现对数据库中表的访问,首先要用类向导新建一个基于CDialog的类(CDatabase_main),用于映射所要创建的数据库表(solid_plate),具体操作步骤如下:图 对话框设计Figure 4.18 Dialog design图建立CDialog类Figure 4.19 Building CDialog class图4.20 定义成员变量Figure 4.20 Definition of the member variables(1)在全局对象类theApp的下面添加函数solid_plate_database_func(),并将要用到的UG二次开发工具中的函数头文件包含进来。(2)在上述建立的动态链接库框架中按照需要加入资源,在VC+中选择InsertResource,在弹出的“Insert Resource”对话框,新建“Dialog”对话框,如图4.18所示,并双击对话框,创建包含的资源的类,命名为CDatabase_main,然后单击“OK”按钮。如图4.19所示。 (3)定义CDatabase_main类的成员变量,如图4.20所示。(4)编写相应的接口函数,主要代码如下:数据库用户应用程序接口:CString stri;extern C DllExport bool *_database_func(void *str_mid) int errorCode = UF_initialize(); if ( 0 = errorCode ) AFX_MANAGE_STATE(AfxGetStaticModuleState(); CDatabase_main Database_main_dialog; if(Database_main_dialog.DoModal()=IDOK) int i; for(i=0;iOpen(_T(数据源),FALSE,FALSE,_T(ODBC;DSN=数据源),FALSE); m_pset-m_pDatabase=m_pdatabase; catch(CDBException* e)e-ReportError();e-Delete(); delete m_pset;delete m_pdatabase;return TRUE; DataShow(数据表);return TRUE; void CDatabase_main:ClearList() m_list_control.DeleteAllItems(); while(m_list_control.DeleteColumn(0); UpdateWindow(); void CDatabase_main:DataShow(CString table_name) ClearList();CString strSQL;strSQL=select * from +table_name; ShowInformation(strSQL);BOOL CDatabase_main:ShowInformation(CString strSQL) if(!m_pdatabase-IsOpen() return FALSE; if(!m_pset) return FALSE; try BeginWaitCursor(); if(m_pset-IsOpen() m_pset-Close(); m_pset-Open(CRecordset:dynaset,strSQL); if(!m_pset-IsEOF() m_pset-MoveLast();m_pset-MoveFirst(); nFieldCount=m_pset-GetODBCFieldCount();CODBCFieldInfo fieldinfo; for(int n=0;nGetODBCFieldInfo(n,fieldinfo);Int nWidth=m_list_control.GetStringWidth(fieldinfo.m_strName)+35; m_list_control.InsertColumn(n,fieldinfo.m_strName,LVCFMT_RIGHT,nWidth); CString strValue;m_pset-MoveFirst();int nCount=0; while(!m_pset-IsEOF()m_list_control.InsertItem(nCount,strValue); for(int j=0;jGetFieldValue(j,strValue);m_list_control.SetItemText(nCount,j,strValue); m_pset-MoveNext();nCount+; EndWaitCursor(); catch(CDBException *e) e-Delete();EndWaitCursor(); return FALSE; return TRUE;void CDatabase_main:OnDestroy() CDialog:OnDestroy();delete m_pset; delete m_pdatabase; 然后再编写相应的数据库对话框确定按钮程序,此程序是为了从数据库中读取参数信息,去执行调用和更换对话框中的参数信息。关键代码如下:extern CString stri;void CDatabase_main:OnOK() UINT uSelectedCount=m_list_control.GetSelectedCount(); if(uSelectedCount1|uSelectedCount=0) if(uSelectedCount=0) MessageBox(要选择一条参数!,提示,MB_ICONWARNING+MB_OK); return; if(uSelectedCount1) MessageBox(只能选择一条参数!,提示,MB_ICONWARNING+MB_OK); return; else int nItemSel=0; nItemSel=m_list_control.GetNextItem(nItemSel-1,LVNI_SELECTED);for(int j=0;jnFieldCount;j+)strj=m_list_control.GetItemText(nItemSel,j);CDialog:OnOK(); 程序编译和连接所有程序源文件编写完成后,首先要进行数据库程序的编译连接,首先选择BuildSet Active Configuration命令,设置成*-Win32 Release模式,选择Build命令生成可在UG中注册并运行的可执行程序文件*.dll和库文件*.lib,把*.lib文件复制添加到模型程序工程目录中,并在模型应用程序下,选择ProjectSettings命令,在“Link”选项卡中“Object/library modules”下添加*.lib,进行编译、连接。再把数据库程序文件和模型应用程序所生成的*.dll都复制到startup目录下,以便让UG调用实现。4.3 模架库系统应用实例本文开发的标准模架库系统界面友好,用户只要选择系统中的菜单项,进入相应的零件模型设计模块,即可进行模型零部件的参数化设计。模架由很多零件组成,下面就以模架的板类零件定模座板和轴类零件导套为例,演示一下系统中标准件参数化设计及数据库调用过程。通过参数化技术和数据库技术设计生成模架各个零部件,从而大大提高了模架的设计效率。4.3.1 板类零件定模座板为了生成满足设计要求的定模座板,用户需要向系统提供设计标准参数,这些参数是国家、企业、或者是行业制定的标准,并存储于数据库中,通过系统提供友好的人机交互界面,根据所要实现的要求,调用数据库中的标准参数,直接输入到定模座板对话框的设计参数(几何尺寸、定位尺寸)中,实现设计参数的输入,进而实现图形的输出。具体步骤如下:(1)启动UG,在UG环境下自动加载注册文件,加载成功后便在UG环境下出现了用户自定义菜单,即UG的主界面,如图4.21所示。(2)用户可以从中选择要选用的零件种类,即由用户菜单选择模架的种类,点取选定的零件种类,会弹出该零件参数化设计对话框。例如依次点击模架二次开发零件库定模座板,弹出“定模座板参数化设计”对话框,如图4.22所示。(3)搜索和查找参数库中储存的标准参数,点击“参数库”按钮,弹出“参数库”对话框,如图4.23所示。用户根据实际需要直接选择合适的编号,点击“OK”按钮,直接把数据输入相应的对话框,对数据进行更新。(4)通过调用参数库中存储的参数,或直接在对话框中输入相应的设计参数,点击“确定”按钮,系统即可直接生成定模座板模型,如图4.24所示。用户自定义菜单图4.21 用户自定义菜单时UG主界面Figure 4.21 The main interface of UG when the menu defined by users图4.22 定模座板参数化设计对话框Figure 4.22 Parametric design dialog of the solid_plate图4.23 参数库对话框Figure 4.23 Parametric database dialog图4.24 新生成的定模座板Figure 4.24 The new generation of the solid_plate通过这两个参数化对话框,用户可以在UG定模座板参数化设计对话框下预览模型的二维图形,可以看到模型的尺寸值和尺寸驱动关系;用户可以在参数库下查看数据库中存储的所有标准尺寸参数,可以选择参数库中参数尺寸进行调用,如果用户对当前的定模座板某个尺寸不满意,可以在参数对话框直接修改参数值,确定后,便可生成模型,直至用户满意。这样便实现了定模座板的参数化设计。4.3.2 轴类零件导套依次点击模架二次开发零件库导套,弹出“导套参数化设计”对话框,如图4.25所示。点击“参数库”按钮,弹出“参数库”对话框,显示出了数据库储存的各种型号尺寸,选择数据库中合适的标准尺寸种类。如图4.26所示。通过调用参数库中存储的参数去更新导套参数化设计对话框中的参数,或直接在导套参数化设计对话框中输入相应的设计参数,点击“确定”按钮,系统即可直接生成导套模型,如图4.27所示。图4.25 导套参数化设计界面Figure 4.25 Parametric design dialog of the sleeve图4.26 导套参数库Figure 4.26 Parametric database of the sleeve图4.27 新生成的导套Figure 4.27 The new generation of the sleeve通过两个实例的研究和设计,成功开发了与UG系统集成的模架参数化CAD系统,这种设计方式通过全程序进行编译和控制,去生成零件模型,程序中还引入了数据库技术,对参数数据进行储存和管理,用户省去了手工对参数的输入和修改,节约了输入和修改时间,减少了手工带来的输入和修改错误,使得创建整个标准模架库零件只需“选择”+“确定”。用户不仅可以享受到个性化的界面,整个模架的开发过程抛开了厚厚的手册,将建模由几小时缩短成了几秒钟,设计的过程简化了,设计的效率也大大提高了。4.4 本章小结本章提出了基于UG标准模架库系统总体方案设计,包括系统总体设计思路、系统开发基本步骤、系统开发工具选择和系统开发流程。并详细论述了模架零部件程序创建的整个过程,的用户菜单设计、用户对话框设计和应用程序设计(包括UG应用开发环境设置、其中包括系统环境变量设置、工程目录结构和系统应用程序设计(用户界面设计、创建应用程序、数据库接口程序设计和程序编译和连接)等核心问题,最后结合实例,通过运行板类零件定模座板和轴类零件导套实例具体介绍了模架库系统开发应用过程,从而实现了模架库快速设计和造型,大大提高了产品的设计效率。5 模架自动装配系统5.1概述装配(Assembly)是建立起部件之间的引用关系,将产品零件进行组织、定位的一个过程。通过关联条件在部件间建立约束关系或设置其位姿矩阵来确定部件在产品中的位置。通过装配可以形成产品的总体结构、绘制装配图、检查零件之间是否发生干涉等。在计算机上进行装配,可以及一早发现零件配合之间存在的问题,提供一个产品的整体模型95。在UG中,有两种基本的装配方法:多零件装配方法和虚拟装配方法96。(l)多零件装配方法。在装配时复制所有的零件至装配文件中,这种方法因为不能与原零件链接而非智能装配,另外装配时要存贮所有加载的零件故需要更多的内存。(2)虚拟装配方法。在装配过程中,零部件的几何体是被装配引用,而不是在装配中建立。通过引用零件形成装配,引用而不是复制零件的优点在于减少内存的占用。采用引用集而简化了装配模型的显示方法,主模型改变时装配体自动更新;可以方便地定义装配零件之间的位置关系;诸如工程图、加工等模块方便地利用主模型数据但不能改变其数据。装配模块是UG集成环境中的一个模块,也是UG的一个重要组成部分,用于实现将零件(或部件)的模型装配成一个最终的产品模型。装配不但可以通过装配模块完成,还可以使用UG/Open API完成。通过UG/Open API完成装配功能,其操作主要包括:装配对象的访问、装配配合条件操作、组件阵列、组件和引用集操作、部件族操作以及爆炸视图的操作。在UG/Open API使用中,坐标系矩阵和变换矩阵决定了装配中组件的相对位置,在实际运用过程中,用户通过一些和装配有关的函数去使用坐标矩阵和变换矩阵,让其作为输入参数和输出结果,在整个开发过程中,这些矩阵起到了非常重要的作用。装配体是以树型结构来组织装配体中的组件和零件,建立正确的装配树结构,确定装配中的部件、实例和事例等相关元素,接着系统为其分配各自标识。利用相关的函数对部件对象进行相互访问和遍历装配树中的所有组件和零件,完成装配的初步开发。5.2 装配配合条件将一个组件(零件)与另一个组件(零件)之间建立配合关系,也就是所谓的装配约束关系,从而确定各组件(零件)之间的定位位置关系,这各个关系由一个或多个配合约束组成,其中每个约束描述了组件特征之间的配合约束类型,用于限制组件在装配中的自由度。这里,每个自由度定义了配合部件仍旧可以运动的一个方式。只有通过约束条件建立了装配中装配组件与组件之间的约束关系,才可以称得上是真正的装配模型。由于这种装配约束关系之间具有相关性,一旦装配组件的模型发生变化,装配部件文件则可自动更新,并且保持装配约束不变。有UG中用于建立配对约束类型(Mating Type)共有八种,分别称为贴合、对齐、角度、平行、垂直、对中、距离和相切。针对每一种配对条件,用户可选择其中的一个或多个约束构成一个配对条件。在UG中还可以通过位姿矩阵调用函数UF_ASSEM_reposition_instance()对实例进行定位,对组件或零件进行装配。 UG/Open APT 所提供的关于装配配合的函数可以实现以下功能:(1)用户可以应用配合条件到一个组件;(2)根据需要获取定义配合条件的相关数据;(3)在装配的过程中可以验证配合条件的有效性;(4)如果用户约束配合条件多余,可以自由的删除配合条件;(5)求解配合条件并获取其中的相关信息。 配合条件的创建过程为:(1)用户根据需求,定义装配配合条件,并调用函数UF_ASSEM_init_mc()对其进行初始化;(2)完成装配配合条件的定义后,找出并确认其装配配合条件结构体 UF_ASSEM_mating_condition_t,并对其进行填充数据,在填充过程中,主要填充装配配合约束结构体UF_ASSEM_constraint_t;(3)在完成对结构体UF_ASSEM_mating_condition_t填充数据后,再调用函数UF_ASSEM_solve_mc()求解配合条件;(4)求解完装配配合条件,调用函数UF_ASSEM_apply_mc_data()应用配合条件到一组件,去接受装配配合的动作数据指令;(5)调用函数UF_MODL_update()更新模型,建立起装配体,以在UG图形中反映模型变化。5.3 自动装配程序设计和实现在以前的装配过程中,是通过手工装配的,这样造成了装配过程效率低下,本系统开发设计了自动装配系统,能使装配过程自动生成,提高了装配的效率和装配的准确性。具体的开发步骤:(1)启动Visual C+6.0集成开发环境后,首先选择MFC AppWizard(dll)应用程序设计向导,输入工程名和工程文件位置,建立动态链接库的工程。(2)在上述建立的动态链接库框架中按照需要加入资源,在VC+中选择InsertResource,在弹出的“Insert Resource”对话框,新建“Dialog”对话框,如图5.1所示,并双击对话框,创建包含的资源的类,命名为MyAsmDlg,然后单击“OK”按钮, 如图5.2所示。在“Message Maps”的Messages下双击选择确定所需要的功能,所选的功能在Member functions下显示,如图5.3所示,接着去定义MyAsmDlg类的成员变量,如图5.4所示图5.1 对话框设计Figure 5.1 Dialog design图5.2建立CDialog类Figure 5.2 Building CDialog class图5.3 定义功能变量Figure 5.3 Definition of the function variables图5.4 定义成员变量Figure 5.4 Definition of the member variables编写相应的接口函数和程序函数,主要代码如下:在标准模架件自动装配开发过程中,使用ufusr()函数作为入口函数,通过在UG环境下手动去加载执行应用程序文件。自动装配应用程序接口:extern C DllExport void ufsta( char *param, int *returnCode, int rlen ) int errorCode = UF_initialize(); AfxEnableControlContainer(); DisplayDialog ();if ( 0 = errorCode ) errorCode = UF_terminate(); 自动装配程序主要函数和结构体: UF_ASSEM_constraint_t结构体定义配合约束。 UF_ASSEM_mating_condition_t结构体定义配合条件。UF_OBJ_cycle_by_name()函数获取对象标识。UF_ASSEM_ask_root_part_occ()函数根据标识获取装配根节点的事例标识。UF_ASSEM_ask_part_occ_children()函数查询给定组件事例的所有子组件事例,返回子组件的标识数组。UF_ASSEM_ask_component_data()函数获取指定组件的相关信息。UF_ASSEM_add_part_to_assembly()函数给在指定的父部件下添加一个部件的实例。UF_ASSEM_init_mc()函数初始化配合条件数据结构。UF_ASSEM_solve_mc()函数对配合条件进行求解。UF_ASSEM_apply_mc_data()函数将配合条件应用到当前模型中,实现主动件的重新定位。UF_MODL_update()函数更新模型。UF_ASSEM_ask_prototype_of_occ()函数获取几何对象的原型。UF_ASSEM_ask_inst_of_part_occ()函数获取该事例的实例。编辑完模架自动装配程序后,此程序是需要通过调用执行*.xml文件去实现装配模式和装配顺序的。*.xml文件里面记录了装配的对象标识,装配的约束条件,装配的类型,主动件和被动件标识等相关装配成员变量。*.xml文件代码如下: 把函数编译生成的*.dll和*.xml共同放到程序中定义的文件夹中,还要把生成的零件对按照*.xml文件的装配标识对其装配配合面进行标识设定,在UG环境下选择下来菜单文件执行NX打开或者直接用快捷键Ctrl+U,打开“执行用户函数”对话框,选择应用程序手动加载,点击“确定”按钮,系统弹出对话框,如图5.5所示。图5.5 装配对话框Figure 5.5 The assembly dialog点击“加载零件”按钮,会自动加载模架各零件,在弹出的信息对话框中记载着加载的信息,用于判断零件加载是否成功,点击“刷新”按钮,会自懂显示出加载各个零件的信息,如图5.6所示。图5.6 零件加载 Figure 5.6 The parts loading最后点击“装配”按钮,进行自动装配,信息栏中显示装配的信息,提示着每步进行装配的结果,如图5.7所示。图5.7模架自动装配模型Figure 5.7 The automatic assembly model of mould base5.4 装配爆炸图在装配环境中,将装配体的零部件依次按一定的方向和路径移开,生成装配体的爆炸视图,利用爆炸分离图可以将装配图中的零部件分离开,以便清晰地反映出零部件的装配方向和关系,零部件的移出方向和路径一般要根据装配结构和装配关系来定义,结合手动和自动完成爆炸视图的创建。但爆炸图并不影响实际的装配关系,它仅仅是一个供观察的视图,并可输出到工程图之中。下面以上图的装配体为例,其爆炸视图如图5.7所示:图5.7 装配体爆炸图Figure 5.4 The assembly body explosion figure5.5 本章小结本章首先简述了装配的概述,重点介绍了模架自动装配配合关系和自动装配接口设计、程序编译设计和装配配合的实现过程,最后生成模架爆炸图,对模架进行结构检查,以确保模具结构设计的合理性。6 结论和展望6.1 结论随着经济全球化趋势的形成和科技的不断进步,现代化企业要想在日益激烈的市场竞争中占有一席之地,企业对新产品设计和开发必须以提高设计效率、降低设计成本、缩短产品的开发周期为准则,而传统的产品设计方法和设计过程存在工作量偏大、效率偏低、周期偏长、标准件重复造型等一系列问题,给开发人员带来了诸多不便,造成各类资源的浪费。人们已经意识到,依赖传统的产品开发手段,己经不能适应市场竞争的需要。本论文针对以上的情况,以注塑标准模架为例,开发了基于UG注塑模标准模架库系统,并研究探讨了系统实现中的相关问题与关键技术。通过该系统,不仅能实现强大的标准模架库快速设计功能,在一定程度上还实现了产品的智能化、自动化。而且还能利用数据库技术对设计数据进行存储和管理,实践证明,本文的研究对提高产品的设计效率、缩短新产品的开发周期有很大的实际应用价值,同时也为其它产品的智能化设计开发提供了可行的技术路线和方法。现就本课题的研究开发工作总结如下:(1)课题系统研究了Unigraphcs提供的二次开发工具和方法,根据实际情况和用户需求,通过比较优化,选取了UG/Open UIsytler、UG/Open MenuScript、UG/Open API三个模块对本系统进行开发。并对其各个模块之间关系和配合做了详细的阐述和说明,找出了它们各自的特性,设计出了更加灵活,快捷,直观的开发系统。(2)论述和分析模架库系统开发关键技术及应用,在此基础上,针对标准模架三维CAD系统应用开发的需求,结合各种软件的功能,设计了注塑模标准模架三维CAD系统的总体结构,提出了自己的全程序化编译建模思路。(3)建立了注塑模标准模架设计专用的数据库,储存了所有型号标准模架的各个零部件几何尺寸和位置尺寸参数,这大大减轻了设计人员的查阅资料和翻阅手册劳动量以及提高了产品设计的精度。并对数据库接口和程序编程函数设计和开发做了详细的阐述和分析。(4)解决了模型程序、数据库程序和UG相互之间的人机接口问题,建立友好界面,实现人机交互式设计和人机界面的可视化设计,为在UG环境下进行人机界面设计的设计人员提供有效的技术支持。(5)对人机工程学当中的人机界面设计进行研究,从分析人机工程学领域的研究内容和研究方向出发,针对人机界面设计过程,结合设计人员设计思维和习惯,提出恰当的人机界面设计方法,解决好软件的设计开发和兼容性问题。(6)用参数化技术和数据库技术建立注塑模标准模架库,实现了参数和数据之间在操作后台可以进行高速交换和处理。利用数据库技术,减少尺寸数量和数据库的数据量,从而也就减少了用户输入的数据量,使得用户在程序操作时更加方便不
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:基于UG注塑模标准模架库的研究与应用机械设计资料
链接地址:https://www.renrendoc.com/p-20561934.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!