当前位置:首页 >> 机械/仪表 >>

电气开关柜三维CAD的开发与虚拟装配的研究


新疆大学 硕士学位论文 电气开关柜三维CAD的开发与虚拟装配的研究 姓名:张汉国 申请学位级别:硕士 专业:机械制造及其自动化 指导教师:孙文磊;李力 20060608

Y 900890
新疆夹学硕士研究生攀位论文






本课题是在Windows XP平台上,基于美

国UGS公司的CAD/CAM/CAE

一体证较馋Unigraphics NX(UG NX)窝Microsoft较馋公司豹缀共缟程软馋
Visual

c++6.0,利用UG NX良好的开放性,通过一系列的二次开发方法的综

念运用,针对电气开关桓结构复杂、工期紧、工{乍量大、部分零部件已经系 列化等特点,开发出了专用电气开关柜三维CAD模块。 在本课题中主要进行了如下研究工作:
深入磷究了UG NX静实侮建模,主要包括实体建模、表达式帮参数驱

动;深入研究了UG NX二次开发的方法,主鼹包括:威用程序按口UG/OPEN
API、菜荤麓零工具MenuScript鞫对话疆王其UG/OPEN UIStyler;疆究了UG

NX二次开发的流程;研究了电气开关柜的设计、加工流程;研究了机械通用
橼准传的外彤特征,以及标准传蓐鲍建立方法;

在上述研究的基础上,提如电气开关糨三维CAD系统的总体设计方案;
运用特征造毅和参数化设计的基本原理,对电气开关柜中所有零部件进行建

旗;设计翻开发了专瘸CAD软件——电气开关桓三缭CAD系统。该系统酌
使用只需用户的初步UG NX操作知识就可进行操作。适用于产品系列化设

诗,霹大大提高电气牙关桓产舄豹设诗效率。该系绞器嚣筵洼纛褒、操弦方
便、具有良好的人机交互性、可扩充性和可移植性。

荚键词:

UG NX

CAD二次开发电气开关柜

新瑕太学硕士研究生学位论文

This

project

develops



three-dimensional CAD system module for electric
Unigraphics

switch cabinel。It is based

On

NX(UG N冷which{S



integrated

eAD/CAE/CAM
which is has
a a

software of UGS Corporation of American and Visual C++6.o

classics programming software of Microsoft Corporation,111e

project

further study in it

by

synthetically using



series of development methods

and electric switch limit for


cabinet’S

serialized characters:complex structure,tight time

project and big workload.
on

The author has mainly carried

the foRowing researches in this paper:

Studied the solid modeling of UG NX thoroughly,including the application of soUd modeling,express and Parameter-driven modeling.Studied Secondary development methods of UG NX,including UG/oP熬N API.MenuScript and UlStyter.Studied the whole process of secondary development.Studied design and

manufacturing
of mechanical

process of electric switch cabinet.Studied the shape characteristics

standard

parts as well

as

the development methods of parts library。

Base on the above

researches,the author brought forward the master design

of electric switch cabinet CAD system;finished a/l modeling work of electric swish

cabinet’S

parts

by

using the

basic

principles of

feature

model

and

parameterized design;designed and developed
cabinet CAD fit
tO

CAD software?——electric
efficiency
Call

switch

system.The system.The

system only demand users’basic operation of UG NX,

serialize designed products.and the

design

be greatly promote

by using this
to

system has the following features:simple interface,easy
etc.

use,favorable

man—machine conversation,expandability,transplantation

Keywords:

UG NX、CAD、Secondary Development、Electric Switch Cabinet

ll

新疆大学硕士研究生学位论文

第一章绪论
高低压电气开关柜是由各种钣金件、电气元件、导线、母排和通用标准件构成,其 产品以抽屉式、柜体式、箱体式和板式结构为主的机电一体化产品。其设计主要分为两 部分:电气设计和柜体设计。设计工作主要由工作经验丰富的工程师进行,国内外的电 气开关柜企业应用的软件主要是二维CAD软件以及在二维CAD基础上开发的专用模 块。在电气设计和原理设计部分使用二维CAD软件及其专用模块完全可以满足设计需 求,但在柜体的设计上,由于结构复杂,应用二维CAD软件就很难满足设计需求了,

大大降低了设计的效率.而且经常出现设计问题。自从八十年代末中国引入三维CAD
软件之后,它的参数化、关联性、空间可视化和直观性已经被越来越多的企业和个人认

可。因而把三维CAD软件引入到电气开关柜企业进行柜体设计成为可能,这样就可避
免设计中的绝大多数的设计问题,大大提高设计速度和效率。本章的主要内容为:本课 题的来源,高低压电气开关柜产品的简介,国内外电气开关柜产品设计概况,并阐述了 本课题的研究背景及主要研究内容。

1.1课题来源
本课题来源于新疆科力公司和新疆大学共同承担的新疆中小企业技术创新基金项目 ,.电气开关柜三维零部件库的建立与虚拟装配.课题内容是依托于新疆奎屯电气开关有 限公司的高低压电气开关柜系列产品,在UGNX,SolidEdge和CAXA等三维软件上进 行二次开发,开发出适合于电气开关柜产品的专用CAD系统。本课题将完成这个项目

中的主要部分..基于UGNX的电气开关柜三维CAD,然后再后续课题中将会按照我完
成该课题的技术路线、方法,在Solid Edge和CAXA等三维软件上进行二次开发,扩充 该项目的内容和功能。 高低压电气开关柜是由各种钣金件、电气元件、导线、母排和通用标准件构成,其 产品以抽屉式、柜体式、箱体式和板式结构为主的机电一体化产品,其主要机械结构件 是以冲、剪、折、弯、焊等为主要加工手段的钣金件及焊接件。生产特点是典型的多品 种、小批量、面向订单型生产制造。产品非标及变型较多。根据用户的需求不同,组合 形式千变万化,但各个零部件具有很大通用性,因而特别适合于采用标准件库的方法来 进行设计。

新疆太学硕士研究生攀证论文

1.2课题的研究目的及意义
尽管狠多企业在设计低压成套电气开关柜机时已采用了各种CAD系统,_谯~定程 艘上简化了设计工作,但蕻本只是停留在较低层次的=维计算机辅助设计阶段,当面临 建户甭薮变纯鹄工程台弱瓣,滩戳实现镳捷纛难确秘产磊设{}。奄气开关柜鲍撬裢结梅 多为钣金件和通用标准件,加工易于实现高度自动化,函而,落扁的产品设计簪段往往 成为企业设计制造的瓶颈环节。为了进一步缩短设计时间、提高准时交货率以及提高一 谈竣{÷正确肇,戳丈援接裳镑l纯设谤恐瓣寒壤是鑫蕊个性纯羲毒蛹篱隶,班蠡凝佟痒羲 设计思想,开发一套高低鹾电气开芙三维标准件库的建立与开关税虚拟装配系统,解决 传统设计中的不快、不便和不准等难题。 缱着幸}冀壤技拳熬快速发展,三缝CAD敷{孛已经在撬撬镶域孛÷分普及,瓿械颚 域的各个行、弛都开始拥有属于自己行此的三维标准件库。如:三维通用机械零件标准件 庠、三维汽车标准件库、兰维模具标准件库等等,但是,三维CAD软件在电气领域中 瓣珏褥§《援摸应藏,更没有标准锌痒了。 新疆电气开关柜目前罐市场容量大约有12~15亿元。随着电力工业的发展,每年将 保持一定的增长。市场所需产品涵盖了从高压到低鹾各种型号的电气设各。其中新疆企 业所占器颧在30%左右。壤据薪疆开关扳厂{亍韭拇会统计a羟癌(产燕年镑售额在500 万元以上)的企业有16蒙。生产低压配电设备小型愈业接近二爵家。 相对于骥外的电气开靛柜企业,新疆的企业研技能力较弱,产晶的设计还停留在二 维设计耳境,产品设计和耋产依靠传统瓣设计方法秘工程技术A爨躲经验来完藏。详细 热范的安装蒲导手册酶缺失,导致同样溉格的产品幽于批次不同,安装工人不黼,产品 存在较大差异。设计人员的大部份精力花费在二维设计无法表达的诸如干涉、走线方式、 元器{牛安装分布等词题上,对毅产品的歼发精力投入不足。三维产晶设计技术的成熟, 使得此类两越变得十分容翳解决,将设计A员腻重复性工作中解放出来,蘸站整好地集 中精力投入产品的研发中。为了提高新疆电气开关椭企业的整体设计水平.提升核心竞 争力,电气开关桓三维CAD的建立具肖重大意义。 电气开荚裢三维零都体库靛功能藏哲二维电气设计较件无法}E拟盼优势,开关柜行 业由二维设计转向三维设计是必然趋势。因而该课题的研究不但可以解决电气扦关柜企 业的各种问题,两且填替了国内电气开关柜企业在棵准库方面的空岛。



新疆大学硕士研究生学位论文

1.3课题的主要研究内容和解决的问题
本课题的主要研究内容如下: 1.电气开关柜产品设计、加工流程; 2.三维实体造型技术基本理论及参数化设计方法和技术:
3.UG

NX二次开发方法、流程,二次开发工具的联台使用; NX2的联合开发技术:

4.Visual C+46.0与UG

5.虚拟装配的初步研究。
电气开关制造企业目前急需解决的问题如下: 工期紧:由于电气开关柜产品大多数是为工程配套服务的,客户通常在工程后期进 行设备的采购,这些客户在资金上的安排是非常紧凑的,不会给生产厂家留下很富裕的 时间,使得任务急、交货期短。企业的设计生产部门经常超饱和工作,对产品质量、生 产成本、设计生产计划都是一个严峻的考验。 产品设计错误多:产品是按订单设计的,即单件生产模式。特点是变化多,工期紧。 由于企业中经验丰富的设计人员相对较少。在较短的设计周期内,一般的工程设计人员 的设计结果很难准确的满足各种技术指标的要求.出错率比较高,影响了整个合同的实 施。 缺乏产品变形设计手段,合同定单响应速度慢:在整个生产经营过程中,每个产品 都根据用户的要求进行变形设计。但在设计的局部组成上有很大的相似性,设计变动量 约占整个设计的15%左右。目前,单纯依靠CAD软件只能解决出图快,不能提供任何 变形设计功能和手段。根据客户特殊要求设计生产的产品,销售部门很难准确、快速地 对客户进行产品报价,无法对客户的要求及时反馈。 报价、成本核算困难:企业经营者需要准确掌握每个合同的利润和成本情况,及时 调整销售策略,在竞争中取得优势。 部门间信息传递慢,影响设计生产整体进度:对于每一个合同来说,承接和签订由 企业的销售部门完成。技术交底、合同评审和全部的工程设计、工艺设计工作由企业的 技术部门完成。其它的工作如加工、装配、检验等由企业的生产制造部门完成。部门间 的密切合作,对于竞争要素时间、成本和质量有决定性的影响。目前,设计部门的设计 结果需通过手工输入方式传递到销售、财务部门进行报价和成本控制,无法及时生成各 种BOM汇总表,传递到生产、采购供应部]进行组织生产和物料采购。 本课题的研究成果将可以很好地解决上述问题。


新疆大学硕士研究生学位论文

1.4电气开关柜产品设计国内外概况
本课题主要完成的工作是电气开关柜三维CAD的开发,所以有必要对国内外电气 开关柜企业所使用的产品设计软件进行了解,又由于本课题的内容是依托于新疆奎屯电 气开关有限公司的电气开关柜系列产品,因而对新疆奎屯电气开关有限公司进行简要介 绍。

1.4.1电气开关柜产品设计国内外概况

目前,国内外绝大部分的电气开关柜生产企业都使用二维CAD软件进行电气设计、
原理设计和柜体设计,没有专门为电气开关柜设计的三维软件。在国外所使用的二维

CAD软件主要有:西班牙的ELECTRICALDesigner、丹麦的PCSchematic/EIAutomation、
美国的Promis.e、德国的Ruplan、EPLAN、elcad等,在国内有天正电气、浩辰电气、理 正电气、博超电气、利驰电气、大恒软件等,这些软件(主要在Auto CAD的基础上进 行二次开发的模块)均着重于电气设计和原理设计,对于产品的结构方面涉及很少,即 使有相关的模块,但由于二维软件自身的限制,无法使其在广大企业中推广。 在国内有少数的电气开关柜企业也采用三维软件,用于柜体设计,但是没有专业的 电气开关柜模块,没有建立成熟的产品库,参数化程度较差,通用性差,虽然比起二维 设计的情况有所改观,但是仍有大量的重复设计,没有从根本上提高设计速度和设计效 率。因而有必要开发专用的三维电气开关柜软件或模块,由于三维软件是一种复杂、开 发周期长、工作量大和开发难度高的软件,对于一般的企业来说,从底层进行开发是不 现实的,因而比较合理、成本低的方案是在三维软件的基础上进行二次开发,开发出专 用的电气开关柜模块,这样可以大大降低开发难度和开发成本,这使得电气开关柜专用 模块的开发成为可能。

1.4.2新疆奎屯电气开关有限公司概况
新疆奎屯电气开关有限公司(原新疆奎屯市开关厂)创建于1985年,属原国家机械 工业部、能源部定点生产高、低压成套配电设备的专业生产厂家,奎屯市民政福利企业, 新疆八家红证企业之一,是北疆地区最大的配电设备生产厂家。企业于1998年12月改 组为股份合作制企业,具有雄厚的技术及经济实力。 JL年来,该公司充分尊重知识、尊重人才依靠科学技术求发展,取得了显著成效。 现已生产GCS、GZS、GCK、BFC、GOD、35kv变电站集控台、微机监控台、ZBW厢


新疆大学硕士研究生学位论文

式变电站等高级型配电产品,还生产JK、PGL、PK、BZGN系列镉镍电池屏、各类控制 柜及三箱类产品。其中GCS型低压抽出式开关柜达到九十年代国际先进水平;35KV变 电站集控台、微机监控台产品填补了西北五省区空白,现在该企业产品广泛用于石油、 化工等大、中型企业的动力及控制中心,多项产品被列为自治区“星火”计划项目;1994 年被列为新疆奎屯市科技示范企业;1996年产品质量获国家机械工业部表彰的25家质 量管理显著的优秀企业之一:自治区民政福利优秀企业;1998年8月GCS型低压抽屉 柜产品获中国发明博览会金奖i 1998年11月该企业获国家机械工业局基础管理达标先 进单位。 现在新疆奎屯电气开关有限公司已发展成为自治区同行业之首,员工总数从最初的

十几人到今天的180余人,大中专毕业生占职工总数的71.1%;企业占地面积己由最初
的3900平方米扩展到现在的40000余平方米;资产总额已从最初的几十万元增长到现在 的7929万元:年销售产值由最初的几十万元增长到现在的年产值6000余万元;年利润 总额由亏损到现在年利润总额800余万元:注册资金也由最初的几十万元增长到注册资 金3000万元,企业完全具各技术装备先进、技术力量雄厚、自主开发的综合配套能力, 具有产品开发和严格的质量保证体系。

1.5本课题研究背景及主要内容

目前,以三维实体造型为基础的CAD在我国方兴未艾,国际著名的CAD软件商纷
纷登陆中国市场,国内许多大学、科研院所也着力于各种CAD平台的二次开发以及自 主知识产权的CAD软件开发,各种三维CAD软件如雨后春笋,不断出现。 UGNX是国际著名的三维CAD软件,在国内许多大型企业都有应用。新疆科力公 司自2000年引进UG NX后,在产品可视化设计、装配设计、结构分析等方面得到~定 应用。由于UG NX是大型三维软件,价格高、功能多、使用复杂,因此对设计人员要 求高,这在一定程度上影响了其在新疆其他们企业中的应用。例如,在新疆现在只有新 疆科力公司、金风科技有限责任公司、新疆第三机床厂和石河子天业集团等少数几家企 业应用UG NX,而且软件套数非常少。

随着计算机技术的快速发展,三维CAD软件已经在机械领域中十分普及,机械领
域的各个行业都开始拥有属于自己行业的三维标准件库,如:三维通用机械零件标准件 库、三维汽车标准件库、三维模具标准件库等等,但是,三维CAD软件在电气领域中 难以得到规模应用,更没有标准件库了。 然而,三维造型设计取代二维平面设计是工程设计的必然趋势。就目前来讲,三维


新疆大掌硕士研冤生学位论文

造型在可视怯设计、装配设计、分析、加工等方面礴着平面设计笼法比拟的优越性,是 筏高设诗质鬣的重要手段。健是电气拜荚柜的设计j荟停瞽在应用二维CAD技寒豹永平 上,产品开发阁期长,成本高,并且在饭大程度上依赖于设计工程师的经验。鞫而,三 维CAD软件在电气开关糖产品开发中的应用前景广阔。问题主辩在于:如何使三维造 型设许变褥褥单、莰逮,璃监逯尾软蒋鬻法解决这个瓣蘧,昃眷绻台产品具体设锛。连行 通用软件的阁户定制或=次开发。 基于这样的背景,本人仔细研究了UG NX用户定制及二次开发方法,在用户界面 设计及瑶彦设计琵方厦不麟赛践,获褥了uG NX臻户定制及二敬并发的完整赛施方案。 同时,根据专用电气开关柜的结构特点,采用参数化设计及特征建模方法对其零部件进 行分析,确寇其特征模型的特点。在此基础上,用vc++开发了燕子UG NX2.0版本的 专罱毫气开关蓰快速建攫蒜统,极大蟪箍嵩了专爝露气开关疆声赫赫设计霞鬃每速度。 本文首先论述了三维囊体造型技术的基本理论_疑参数化特征造型的基本方法,研究 了UG/,IX=次开发方法,获取了UGNX二次开发的完整实施进程,提出了电气开关柜 三维CAD慧体设幸}方寨,最垂绘警藏燃实潮..电气开关柜三壤CAD。



新疆大学硕士研究生学位论文

第二章

电气开关柜三维CAD系统的总体设计

软件工程是把软件用工程化的方法进行设计、制作、使用和维护。本章利用软件工 程的基本方法,对电气开关柜三维CAD从需求分析、实现目标、实施原则、软件平台 等方面提出总体设计方案。

2.1

电气开关柜三维CAD的需求、目标和设计原则
下面从软件工程的角度出发.来了解电气开关三维CAD的开发流程。

2.1.1

电气开关柜三维CAD的需求
电气开关柜的整体设计是一个技术含量高、变化多的工业门类。电气开关柜三维

CAD要求能够最大限度的简化电气开关柜设计过程,缩短电气开关柜设计周期,准确把

握电气开关柜尺寸。过去采用的是计算机辅助绘图设计,为提高设计质量,有必要实现
电气开关柜的设计从“绘图”到“设计”的转变,实现三维造型设计。 虽然目前许多CAD软件具有很强的实体造型功能,可采用多种方法生成复杂的实 体。但是。由于实体造型是复杂而繁琐的交互过程,其问要进行各种各样的操作。以UG NX为例,要实现在平面上打孔这一简单造型,需进行如下十余个步骤方能实现: 1.选择打孔特征按钮; 2选择简单直孔类型; 3.OK确认; 4.选择打孔平面; 5.OK确认: 6输入孔径、孔深、孔锥角;


OK确认:

8确定孔位置,选择水平位置按钮; 9.选择水平参考线:
10.OK确认

11.选择另一参考线:
12.OK确认:

13输入平行距离值


新疆大学确士研冤生学位论文

14.选择垂直位置按钮; 15.选择垂直参考线i 16.输入垂直距离值: 17.OK完成。 可见,由于实体造型需十分精确地表达三维物体的几何信息,三维实体造型比二维 绘图要复杂得多。电气开关柜设计若仅仅简单地应用现成三维CAD软件来进行造型设 计,效率是很低的,并且其系列化设计也会有许多重复性的劳动。 经过在奎屯电气开关厂的调研,并与该厂的工程师交流.制定了本系统实现的基本 功能有以下几点: 1.在UG环境下,把原先的设计变成选择,即:使用菜单选择各种零部件。 2.可以选零件的标准参数,也可输入零件的参数。 3可以选择零部件的生成模式,即:可以选择仅仅生成零件,也可直接生成零件并 加入到总装配文件中。 4.对于通用机械标准件,采用参数配置文件的方式生成3D模型,即:在UG界面 内只选择零件的类型和公称尺寸,其它参数全部放在参数配置文件中,利用程序去读取 参数配置文件中的参数。 5在UG环境下,可以从存放3D零件参数的配置文件中读取参数数值,在前台进 行参数驱动,自动生成三维图形; 6.用户可以自行添加零部件库: 7.对生成的三维图,可直接生成符台国标的二维图,以及主要尺寸自动标注; 关于第6点本课题的实际软件部分还未成形,仅给出了开发方案与思路。 关于第7点因其难度与工作量都很大,本课题的软件只完成了二维工程图的投影和 尺寸关联,没有开发自动标注。

2.1.2电气开关柜三维CAD目标
现在市面上成熟的商品化三维CAD软件,一般都是经过十年甚至是二、三十年的 不断的开发、更新和扩充功能才有如今的功能强大、界面友好、稳定性和可靠性都比较 高的商品化三维CAD软件,在三维CAD软件发展的过程中不断地涌现出新的软件,但 同时也不断地有倒闭的软件公司。因而开发三维CAD软件需要耗费大量的人力、物力 和资金,同时还要承担很大的风险,所以对一般的公司和单位来说,从底层设计开始开 发机械产品的CAD软件系统是不现实的,比较现实的方法是尽量利用性能优良的、成


新疆大学硕士研究生学位论文

熟的商品化三维CAD软件进行用户化、定制化开发。电气开关柜三维CAD就是lAGNX 的基础上,电气开关柜的设计流程进行二次开发。论文本阶段的任务和目标: 1)选择合适的CAD软件平台、软件开技工具。 2)选择合适的软件开发模型。

3)获得专门CAD软件的二次开发方法及实现途径。包括:①CAD用户界面设计
及接口研究:②CAD用户应用程序设计及接口研究。

4)建立和开发专用CAD软件..电气开关柜三维CAD系统。要求全中文交互友好
的界面。设计人员可以不必掌握UG操作的专门知识和比较复杂计算机软硬件知识,便 能很方便地在定制界面上操作。系统界面简洁直观、操作方便、具有良好的人机交互及 可扩充性和移植性。 今后可在此基础上进一步开展如下研究工作: 1)继续添加电气元件、常用零部件、柜体骨架及通用机械标准件的参数化库。对各 种电气元件、零部件、柜体骨架和通用机械标准件建库工作是CAD开发的基础。在电 气开关柜中含有电气元件、柜体常用零部件、柜体骨架和通用机械零件.如标准柜体骨 架、门横粱、挂料粱、纵横粱、刀型隔离开关、断路器、熔断器、互感器、电容、螺栓、 螺母、十字槽螺钉、内六角圆柱头螺钉、垫片等等,把它们建成全参数化的3D模型库 以方便调用,避免重复设计。 2)建立各种绘图,加强3D图形与21)图形之间的转换。目前3D图形还需转化为 21)工程图作为加工依据,此工作主要为生成电气开关柜2I)工作图提供各种标准符号, 如尺寸标注、粗糙度符号、形位公差符号、标题栏符号及其它各种绘图符号等并实现3D 图形向2D图形的自动转换及尺寸符号标注。 3)针对设计对象建立设计过程程序。提供装配及干涉分析报告。某些典型零件的设 计有着一套较为规范的步骤,但每一步又涉及到许多复杂的计算及相关设计资料的查询, 如十字槽螺钉等。建立一套CAD程序.大大提高设计速度,提高设计质量。

2.1.3电气开关柜三维CAD设计原则
1友好的人机交互界面 电气开关柜三维CAD的使用对象是普通设计人员,所以应具有适合设计人员设计 习惯的用户界面。通过用户界面,设计人员不必了解许多关于计算机硬件和软件的知识, 只需按屏幕提示便能方便地完成产品设计。它满足以下几方面的要求: 1)使用方便提供的设计界面方便设计人员使用,无需进行专门训练或进行少量的、


新疆丈学硕士研究生学位论文

简单的培训即可使用。 2)记忆最少设计人员尽量少记各种操作规则、命令、图标、专有名词和特殊符号。 3)帮助提示各种操作具有恰当的帮助提示,引导设计人员顺利地完成设计工作。 4)良好的人机交互方式在界面设计流程上需考虑设计人员的常用思路,界面风格 和UG软件本身界面一致,提高界面的可视性,减少界面的层次以加快操作,所有界面 均采用中文提示,与人们的日常工作习惯相符。 2.正确的软件工程方法 软件工程是指导计算机软件开发和维护的工程科学,即采用工程的概念、原理、技 术和方法来开发和维护软件。软件工程采用生存周期的方法学,从时间上对软件的开发 和维护问题进行分解。把软件生存周期分别划分为若干阶段,从对任务的抽象逻辑分析 开始,分阶段实施。 3.确定合理的产品结构 经过多年的设计总结,电气开关柜部件已形成不同型号的系列化产品,使得电气开 关柜参数化特征造型设计成为可能。 本课题利用参数化建模方法,将电气开关柜零件简要地分为如图2.1所示的结构图。

图2.1电气开关柜零件分类
10

新疆大学硕士研究生学位论文

2.2选取开发电气开关柜三维CAD的软件
1.CAD软件平台 目前国内广泛使用的三维CAD/CAE软件非常丰富,高端产品有UGNX、1-DEAS、 Pro/E、CATIA、CIMATRON等,中、低端三维CAD/CAE有SolidEdge、Solidworks、
CAXA等。

电气开关柜三维CAD的软件平台之所以选用UG NX主要基于如下考虑:
1)UG NX是国际著名的机械CAD/CAEtCAM一体化软件,具有广泛的应用。 2)UG NX具有多种功能应用模块的无缝集成,可满足用户的各种需求。 3)UG NX具有良好的、成熟的二次开发环境,可方便地实现各种用户化定制。
4)UG

NX具有电好的售后服务支持。

NX的电气开关柜三维CAD不仅是可行的,而且其研究对电气开关 柜三维CAD的后续集成工作及基于UG NX平台的其它产品三维CAD应用都有一定的
因此,基于UG 意义。 2.开发软件平台 目前流行的通用软件开发工具有Visual c++、Delphi、c++Builder和Visual
Basic

等。UGNX支持c/c++、JAVA和VisualBasic语言编程,而且UGNX内嵌专用的GRIP

语言及其编程工具,二者有如下区别:
1)GRIP语言主要支持特征造型,功能单一,无法实现UG NX内部其它功能的灵 活控制;UGNX支持的C/c++编程功能强大,能应用UONX丰富的OPENAPl实现特 征造型、分析、板金、管线、制造及其它控制。 2)GRIP语法及函数简单,内嵌的编程工具,使用方便。C/c++编程需独立于UG NX 的编程工具,使用较为复杂。 3)GRIP程序的可移植性差,只能在UGNX内部应用:C/C++程序分为内部程序及 外部程序,外部程序可独立于UG Nx平台运行。 由于dc++具有良好移植性和可扩充性,且UGNX中支持c/c++的uG/oPENAPI 功能十分强大,几乎可以实现UG中全部的功能。从程序的可深入应用及电气开关柜三 维CAD今后的需求出发,选择了咀Visualc++6.0为平台进行UGNx的c/c++程序开 发,在今后有良好的继承性和发展前途。

新疆大学硕士研究生学位论文 2.3

电气开关柜三维CAD功能模块
根据计算机科学的软件工程这门学科的知识可知,软件开发一般都经历项目可行性

分析、需求分析、总体设计、详细设计、软件实现和应用维护这几个阶段。也就是说在 软件开发在真正进行程序编制的阶段时已经进行了大量的工作,其中总体设计也在其中。 因而我们在软件编制之前一定要对所开发的软件进行总体设计,而模块划分就是软件开 发中总体设计阶段的主要工作,在模块划分工作中确定该软件有哪些功能模块,可以实 现什么样的功能。 通过在新疆奎屯电气开关有限公司的设计中心和组装车间的调研,并根据调研所取 得的技术图纸和相应的数据,对该公司的电气开关柜产品中的GGD系列固定式开关柜 的各零部件进行三维建模,然后进行柜体的总体装配。 根据零部件建模和总体装配的结果进行分析,并根据电气开关柜产品的组成结构和 参数特征模型的特点,把基于UG NX电气开关柜三维CAD的功能模块划分成如图2.2 所示的电气开关柜三维CAD系统模块图。其中(a 3为系统按参数驱动类型划分的三个 模块;(b)、(c)、(d)分别为选择参数或手动输入参数驱动模块、无参数驱动模块、 参数配置文件参数驱动模块的进一步细化的划分;

fa)

电气开关柜三维CAD的模块划分

12

新疆大学硕士研究生学位论文

选择参数或手动输入参数3昏州翼块

(b)选择参数或手动输入参数驱动模块的组成

(C)无参数驱动模块的组成

(d)参数配置文件参数驱动模块组成 图2 2电气开关柜设计功能模块
每一模块功能的实现大致分为十个左右的步骤。F面以参数配置文件参数驱动模块中

新疆大学硕士研究生学位论文

的六角头螺栓(部分螺纹)零件为例,来说明其实现过程,如图2.3。

选择公称直径 选择公称长度 选择螺纹显示类型 载入相应的 模型文件 打开配置文件读 取相应的参数 对参数进行处理 参数驱动模型 并更新模型

图2.3六角头螺栓模型的生成流程

新疆大学硕士研究生学位论文

第三章电气开关柜三维CAD的理论基础和UG NX的二 次开发方法
CAD技术作为一项杰出的工程技术,因其能带来巨大的经济效益,已经广泛应用于 航空航天、汽车、船舶、机械、电子、化工、建筑等行业中。 由于机械产品的千变万化以及用户在应用时都会具有自身企业的特点。因此,用户 引进商品化CAD软件后,需要针对具体对象在选用的CAD软件平台上进行不同程度的 二次开发.设计出界面友好、使用方便的专用产品的CAD系统,以便使CAD软件在本 企业中淋漓尽致地发挥作用。 在计算机领域,随着计算机硬件性能和交互图形技术的迅速发展,人们己将重点从 程序效率转移到用户效率上,而用户界面是影响用户效率的一个关键因素。在应用系统 的开发过程中,用户界面的设计往往体现了系统功能实现的整个思路,是建立整个编程 框架的基础,因此,用户界面的设计和开发工作在整个系统开发过程中占有很大的比例。 由于本课题是在三维CAD软件UG NX的基础上进行二次开发,因而本章着重介绍 三维CAD技术的相关理论、UG NX软件、UG NX的二次开发,以及系统的界面设计。

3.1三维实体参数化与特征建模理论
三维CAD技术有三大理论:实体造型、参数化造型与特征造型,其中实体造型是 基础。早期实体造型属于无约束自由造型,后来向基于约束的实体造型发展,产生了参 数化造型理论。特征造型是参数化造型理论的深化与拓展。下面对这些理论进行一些简 单地介绍。

3.1.1三维CAD实体造型理论基础及方法
早期的交互式CAD系统仅提供处理二维图形的功能,在计算机中没有形成机械零 件的完整JL何描述。70年代,在三维线框模型和曲面造型的基础上,人们提出了实体造 型思想,即在计算机中用一些基本体素来构造机械零件完整的几何模型。 1.实体造型理论基础 1)形体的定义 形体在计算机内通常采用五层拓扑结构来定义。如一个形体的外壳,可用六层结构
15

新疆大学硕士研究生学位论文

表示,如图2.1所示。几何模型描述产品对象两方面的信息:几何尺寸和拓扑结构。前 者是指具有几何意义的点、线、面等,其有确定的位置坐标和长度、面积等度蕊值:后 者反映了形体的空间结构,包括点、边、环、面、实体等形成的层次结构。

VS



V]
(a)

V!

(b) 图31定义形体的拓扑结构
16

新疆大学确士研究生学位论文

①点是零维几何元素分为端点、交点、切点和孤立点等。但在形体定义中一般不
允许存在孤立点。 一维空间中的点用一元组{I)表示,二维空间中的点用tx,y}或{x(t),Y(t))表 示,三维空间中的点用{x,Y,z}或{x(I),Y(t)。Z(f)}来表示。N维空间中的点 在齐次坐标系下用N+I维来表示,点是几何造型中最基本的元素,任何形体可用有序的 点集来表示,计算机处理形体的实质是对点集与连接关系的处理。

②边是一维几何元素两邻面(正则形体)或多个邻面(非正则形体)的交线,直
线边由两个端点确定,曲线边由一系列型值点或控制点描述,也可用方程表示。图3.1 (a)所示立方体有24条边。 ③面是二维几何元素是形体上一个有限、非零的区域,由一个外环和若干个内环 界定其范围(也可以无内环)。面有方向性,一般用其外法矢方向作为该面的正向。图 3.1(a)中的立方体有6个面,上下底面含有内环。

④环是有序、有向边组成面的封闭边界环中的边不能相交,相邻两条边共享一个
端点。环有内外之分,确定面的最大外边界的环称为外环,通常其边按逆时针方向排序。 把确定面中内孔等边界的环称为内环,与外环排序方向相反,按顺时针方向排序。按这 一定义,在面上沿~个环前进,其左侧总是面内,右侧总是面外。在图3.1(a)中v,v6v,v8 是立方体顶面的外环.v9v10v,-v12是该面上的内环。该立方体共有六个外环、两个内环。

⑤体是三维几何元素是由封闭表面围成的空间,也是三维空间中非空、有界的封
闭子集,其边界是有限面的并集。 ⑥体素是指能用有限个尺寸参数来定义的一个简单封闭空间,它可以是由参数定 义的一条(或一组)截面轮廓线沿一条(或~组)空间参数曲线作扫描运动而产生的形 体。如对于球体只要给出球心位置(x0,y0,z0)及其半径r就可以唯一确定,而立方体要 用~个顶点坐标(X,Y,z)、三个轴向边长(dx,dy,dz)以及其与X,Y,Z轴的夹角 “,ay,az来定义。 ⑦半空间是由某一平面加上在该平面上一侧的所有点定义的,可以写成{p:F(p) =0,的集合,其中P是R3中的点,F是一个平面。假设一几何实体所存在空间的集合为 N,Nb为集合边界如图3.2。Nb将空间划分为两部分,即N存在的空间与不属于N的 空间。用有限边界表示时,沿箭头方向,Nb右侧为实体存在的空间,左侧为非实体存在 的空间。空间的实体也可用面的半空间来定义。例如,平面F(P)=ax-f-by+cz+d可以定 义平面加上在平面某一侧所有点组成这个平面的半空间,这样的长方体可以看成是六个 平面半空间的交。

新疆大学硕士研究生学位论文

图3.2集合及边界

图3.3三个半空间定义圆柱体

⑧体索定义体素可分有界体素和无界体索。无界体素用半空间域定义,这时体索 在有限个半空间内集合的组成。例如一个圆柱体可以表示为三个半空间的交集如图3.3: 1(R)=K:{(x,Y,z),x2+旷-R‘c0) Hj=K:{(x,Y,z),Fj(x,Y,z)‘0) 复台半空间则为:H=SlⅡS2nS3 2)集合运算 几何建模中集合运算的理论是集合论中的交、并、差等运算,是用来把简单形体(体 素)组成复杂形体的工具。 进行集合操作的结果也应是具有边界良好的几何形体,并保持初始形状的维数。图 3.4所示的A、B是具有良好边界的体素,但经过交运算后,形成了~个没有内部点集的 直线,不再是二维实体。尽管集合运算在数学上是正确的,但有时在几何上是不适当的。 总之,集合运算仍是几何建模的基本运算方法,用它可去构造较复杂的几何形体,是许 多建模系统采用的基本方法。 j=1,2

图3.4

A和B求交后的结果

新强大学硕士研艽生学位论文

3)欧拉运算 满足欧拉公式V—E+F=2的形体称之为欧拉形体,其中v为形体的顶点数,E为边数, F为面数。增加或删除点、边、面产生新形体的处理称为欧拉运算。这种运算提供了构 造形体的合理性检验方法。 2.线框模型、表面模型和实体模型 形体在计算机中常用的表示模式按其物体几何模型的复杂程度不同可分为线框模 型、表面模型和实体模型三种,它们实质上代表了形体在计算机内的不同存储方式。 11线框模型 线框模型是CAD技术发展过程中最早用来表示形体的模型。它表示的是物体的棱 边。线框模型由物体上的点、直线和曲线组成。圉3.5中所示立方体是由6个表面形成, 每个面由四条棱边围成,每条棱边可以通过两个端点来定义。这种关系形成一种树状结 构。一旦给定了下层各项点的坐标值,就能唯一确定这个立方体。用于构图的图索是点、 线、圆、圆弧、B样条曲线等。它具有数据结构简单,运算速度快的特点。但表示的图 形有时含义不清,在图3.5的立方体上如果存在有孔,则孔是盲孔还是通孔就含义不清。 不便于消除隐藏线,不能满足多坐标数控加工刀具轨迹的生成等方面的要求。 2)表面模型

表面模型是以物体的各个表面为单位来表示其形体特征的,在线框模型的基础上增
加了有关面与边的拓扑信息,给出了顶点的几何信息、边与顶点、面与边之间的二层拓 扑信息。表面模型的数据结构是在线框模型的数据结构的基础上增加面的有关信息与连 接指针,其中还有表面特征码,各条棱边除了给出连接指针外,还给出方向、可见不可 见信息等。图3.5所示立方体的表面模型由六个边界表面围成的一个封闭空问来定义的, 平面由棱边围成定义,而棱边则由两个端点来定义。

V2



V6

e6

V7

图3.5三种模型数据结构原理

新疆大学顿士研冠生学位论文

31宴体模型 宴体横型主要是蟪确定义了表鬣的哪一倒存褒实俸,在袭蕊楼型的基础上可用三种 方法来定义。舀3.6(a)在定义表舔静嗣对.给岛囊体存在侧鲍一点P;露3,6(b)直接 用表面的外法矢来指明实体存在的一侧;图3.6(c)是用有向棱边隐含地表示表面的外 法矢方国。遥鬻在定义表面时,有向棱边按右手法则取向,沿穰田舍的棱逾雕褥斡方向 与表面井法矢豹方商一敏,尾既方法还可控查黠体豹拓扑一致靛。如强3.6(d)所示, 拓扑合法的形体在相邻两个面的公共边界上,棱边的方向正好相反。实体横测和表面模 型的主要鬣剐是在定义下表面外环的梭边方向,~般按右手援则为序。

?p

(a)

(b)

(c)

(d)

圈3.6实体表示模型
3,忍健卖捧造登方法 几何实体建模研究的重点是如何利用简单的几何形体构造复杂组合实体,研究如河 方便地定义形状简单的几何体(体索),如何经过适当的布尔集台运算构造所需的复杂儿 鹰#,势最终在器形设器上赣整各转视篷+霉臻懿三缝实钵遥攀方法是: 单诧分解、法(Cell Decomposition) 空间枚举法(soatial
Occupancy

Enumeration)

参数澎体调焉法(Pure PrimitiveInstancing) 扫描褒示法(Sweep Representation)

新疆大学硕士研究生学位论文

构造实体几何法(Constructive

Solid Geometry,CSG 1

边界表示法(Boundary Representation,B-rcp) 目前,实体造型软件中使用较多的是扫描表示法、CSG法和B-rep表示法。

3.1.2参数化造型技术
1参数设计的概念 参数设计是用一组参数来定义几何图形(体素)尺寸数值并约定尺寸关系,提供给设 计者进行几何造型使用。参数的求解较简单,参数与设计对象的控制尺寸有显式的对应 关系,设计结果的修改受到尺寸驱动。生产中常用于设计对象的结构形状比较定型的产 品,系列化标准件就是属于这一类型。参数设计系统的原理如图3.7所示。

图3.7参数设计系统原理框图
计算方程组中的方程是根据设计对象的工程原理而建立的求解参数的方程式,例如: 根据齿轮组的齿数与模数计算中心距等。参数化造型的主要技术特点是:
11约束

约束的概念是利用一些法则或限制条件来规定构成实体的元素之问的关系。约束可 分为尺寸约束和几何拓扑约束。尺寸约束一般指对大小、角度、直径、半径、坐标位置 等这些可以具体测量的数值量进行限制;几何拓扑约束一般指平行、垂直、共线、相切 等这些非数值的几何关系方面的限制;也可以形成一个简单的关系式约束,如一条边与 另一条边的长度相等、某圆心的坐标分别等于另~矩形的长、宽等。 2)尺寸驱动 通过约束推理确定需要修改某一尺寸参数时,系统自动检索出此尺寸参数对应的数 据结构,找出相关参数计算的方程组并计算出参数,驱动几何图形形状的改变。 31数据相关 尺寸参数的修改导致其它相关模块中的相关尺寸得以全盘更新。采用这种计算的理
‘)]

新疆大学硕士研究生学位论文

由在于:它彻底克服了自由建模的无约束状态,几何形状均以尺寸的形式而牢牢地控制 住。如打算修改零件形状时,只需编辑一下尺寸的数值即可实现形状上的改变。尺寸驱 动在道理上容易理解,尤其对于那些习惯看图纸、以尺寸来描述零件的设计者是十分对
路的。

∞基于特征的设计 将某些具有代表性的几何形状定义为特征,并将其所有尺寸存为可调参数,进而形 成实体,以此为基础来进行更为复杂的几何形体的构造。 2.参数设计方法 参数设计过程中,从已有的CAD图形文件中查找约束关系,将固定尺寸的图形自 动转化成参数化图形,目前,这是参数化设计中应用最多的方法。 对于系列化、通用化和标准化的定型产品f如模具、夹具、液压缸、组合机床、阀门 等1设计所采用的数学模型及产品的结构都是相对固定不变的,所不同的只是产品结构尺 寸有所差异,而结构尺寸的差异是由于相同数目及类型的己知条件在不同规格的产品设 计中取不同值而造成的。根据已知条件和基本参数,由计算机自动查询图形数据库,由 专门的绘图生成软件在屏幕上自动地设计出图形来。 例如图3.8(a),在正方形垫片上开圆形孔,图3.8(b)为在圆形垫片上开方形孔。 这两个零件虽然看上去结构差异很大,但通过圆的直径D及正方形边长L这两个变量使 这两种结构相互转化,即采用一个参数化绘图程序进行设计。另外如图3.8(c)和2.8 (d)所示,通过设置参数改变法兰盘上的孔的数目和孔排列类型,甚至由圆周均匀分布 的其它形素替代孔,并且孔或其它形素是否在同一圆周上,是否均匀分布都可以通过参 数来设置。










(b)

新疆大学硕士讲究生学位论文

(c) 强3.8参数设计示饿

(d)

3三维实体的参数化设计
参数纯造型的主体思想是甩几何约柬、数学方程与关系来说髓产品模型的形状特征, 从碗达到设计在形状和功能上具有相似性豹设计方案。参数化宴体造型的关键是几何约 束关系鸵提取表然、求解以爱参数讫几何模型的构造。 3D参数亿模型是由几何模型和约束信息两大部分缓成。根据几何尺寸约束和拓扑信 息的模型构造的先后次序,弈即它们之间豹依存关系,参数他造型可分为两类。一类是 几何约束作用在具有固定拓扑结构形体的几何体素上,几何约京值不改变几何模型的拓 扑结构,而是改变几何模型的大小。这类参数化造型系统以B—re口为其内部表达的主模 型。另一类是先说明参数化模型抟几橱构成要索及它稍之弼的约泵关系,而模型的拓扑 结构是由约束关系决定的。这类参数造型系统以CSG表达式为内部的主模型,可以改变 实体模型的拓扑结构,并且便于以过程优的形式记录构造的整个过程。

3.1,3特征造型技术
产品设计的过程也是信息处理的过程。设计过程中产品信息的表达方式与计算机产 品建模技术紧密相关。三维实体建模方法能正确地描述机械零件的实体几何模型,但有
以下不足之处:

1)功实体模型仅提供产品的几何形状信息,但不能显式地标注尺寸,柬提供公蓉、 表面粗糙度、材料性能和稚工要求等重要的产品制造信息。 2)B—rep宴体模型仅存储面、边和点的几何信息及有关的拓扑信息而CSG模型存 储基本几何体和布尔运算的二叉树。这些存储信息不其备离级豹工程意义。 3)利用实体造型软佴:构造好几河模型后,对它进行修改很不方便。而产品的酝计是 一个反复修改、逐步求精的过程。所以,它不能提供一个灵活而富有刨造性的设计环境。
23

新疆大学硕士研冤生学位论文

可见,几何实体模型与产品模型之间还存在一定的差距。从CAD/CAM集成的角度 出发,要求从产品整个生命周期各阶段的不同要求来描述产品,完整地提供产品的信息, 使得各应用系统可以直接从产品模型中抽取所需的信息。目前,能实现这一技术目标的 模型是特征模型,其建模技术称为产品建模或特征建模,是目前被认为最适合于 CAD/CAM集成系统的产品表达方法。 1特征定义 特征是设计者对设计对象的功能、形状、结构、制造、装配、检验、管理与使用信 息及其关系等具有确切的工程含义的高层次抽象描述。特征模型用逻辑上相互关联、互 为影响的语义网络对特征事例及其关系进行描述和表达。它与低层次的几何元素面、边、 点来表示几何实体的方法区剐是:特征模型袭达高层次的具有功能意义的实体,如孔、 槽等,其操作对象不是原始的几何元素,而是产品的功能要素,产品的技术信息和管理 信息,体现设计者的意图。 2.特征分类 特征是产品描述信息的集合。不同的应用领域和不同的对象,特征的抽象和分类方 法有所不同。通过分析机械产品大量的零件图纸信息和加工工艺信息,可将构成零件的 特征分为五大类管理特征:与零件管理有关的信息集合,包括标题栏信息,零件材料, 未注粗糙度等信息。 3.特征联系 为了描述特征之间的联系,可应用特征类、特征实例的概念。特征类是关于特征类 型的描述,是所有相同信息的特征概括。特征实例是对特征属性赋值后的特定特征,是 特征类的成员。 4.特征建模 以特征作为建模基本元素描述产品的方法叫基于特征的建模技术。特征建模可大致 归纳为交互式特征定义、特征识别和基于特征的设计三种模式。 与几何造型方法相比,特征造型具有如下特点: 1)特征造型着眼于表达产品的技术和生产管理信息,目的是用计算机理解和处理统 一的产品模型,替代传统的产品设计图纸和技术文档。 2)特征的引用体现了设计意图,使得建立的产品模型容易为别人理解和组织生产, 设计的图样容易修改。设计人员可以将更多的精力用在创造性构思上。 31有助于加强产品设计、分析、工艺准各、加]_检验各个部门间的联系,更好地将 产品的设计意图贯彻到各个后续环节,并且及时得到后者的意见反馈,为开发新~代基
9Ⅱ

新疆大学硕士研究生学位论文

于统一产品信息模型的CAD/CAPP,cAM集成系统创造条件

3.2

UGNX简介
UG

3.2.1

NX软件的发展历程及其功能简介

UG

fUnigraphics)软件起源于美国麦道飞机工业公司,20世纪60年代成为商业软件,

于1991年11月并入美国通用汽车公司EDS分部,得到不断发展和完善,并成为当前世 界上最先进和紧密集成的、面向制造业的CAD/CAE/CAM一体化高端软件。UG NX以 其强大的设计和加工功能而著称,可以支持目前市场上销售的不同厂家的所有工作站及 微机平台,广泛应用于通用机械、模具、汽车及航空航天领域,被很多世界著名公司选 定为企业计算机辅助设计、分析、制造的标准。多年来,UGS一直在支持美国通用汽车 公司实施目前全球最大的虚拟产品开发项目,同时UG也是日本著名汽车零部件制造商 DENSO公司的计算机应用标准,并在全球汽车行业得到了很大的应用,如Navistar、底 特律柴油机厂、Winnebago和Robert BoschAG等。另外,UG软件在航空领域也有很好 的表现:在美国的航空业,安装了超过10,000套UG软件;在俄罗斯航空业,UG软件 具有90%以上的市场;在北美汽轮机市场,UG软件占80%。UG在喷气发动机行业也 占有领先地位,如Pratt&Whitney和GE喷气发动机公司都选用UG作为其设计软件。 航空业的其它客户还有:B/E航空公司、波音公司、以色列飞机公司、英国航空公司、
Northrop

Grumman、伊尔飞机和Antonov等。

从20世纪60年代起UG就一直代表着工程制造业CAD/CAM软件产品的照高水平。 20世纪90年代,UG进入中国市场,受到广大CAD/CAM用户的欢迎。自UG进入中
国十几年来,其在中国的业务有了很大的发展,UG在中国的用户已超过800家,装机 量达到3500多套,中国己成为远东地区业务增长毋快的国家。这是因为UGNX是一个 集成化、全面、一体的软件,它包括设计、加工、分析和最流行的产品数据管理(PDM), 给企业提供了一个全面的解决方案。其实体建模核心Parasolid是高精度的边界表示实体 建模工具。其最大的特点是支持并行工程,在对变化的工程过程的产品修正信息,进行 协调和管理时增加多用户协调和产品数据管理的功能。
UG

NX软件的主要功能模块有:

计算机辅助设计模块(CAD)、计算机辅助工程模块(CAE)、计算机辅助制造模
块(CAM)、钣金模块(Sheet Metal)、二次开发编佯工具(Programming)、数据交 换模块(Translator)、信息管理模块(1MAN)等。

新疆大学硕士研究生学位论文 UG

NX软件的CAD模块最主要的特点是将基于约束的特征建模和显示几何建模集

成在一起称为复合建模,可以在基于特征的环境下发挥传统实体、曲面和线框造型的长 处。包括特征建模(FeatureModeling)、自由形状建模(FrueformFeatureModeling)、 用户自定义特征(UserDefinedFeature)和制图模块(Drafting)。
3.2.2

UG应用现状研究

UG软件自1990年进入中国市场,经过十年的发展,目前国内用户已近千家。国内 许多大型企业、公司均采用UG作为其产品设计生产的支撑软件。大连机车车辆厂、天 津汽车研究所、长春光机所、上海飞机制造厂、北京福田汽车股份有限公司都是使用UG 的成功范例,许多知名的家电企业,如海尔、海信、科龙、康佳、长虹、小鸭,利用UG 开发自身的系列化产品,获得了显著的经济效益。 国内外有关UG的应用研究资料表明,UG应用包括两种类型,一是直接利用UG 软件进行产品的建模、分析、制造,二是在UG平台上进行二次开发。二次开发的内容 涉及标准零件库、行业产品特征库、复杂零件的自动化生成、零件成型与分析自动集成、 典型产品的专家系统研究等 1.快速建模(Rapid
prototype)

UG现有的建模功能完全能够实现复杂零件的建模要求,快速建模的目的是提高建 模速度以缩短产品的整个研制周期。快速建模通常是针对某一复杂零件(如变距螺杆、 特种齿轮、弹簧、凸轮、叶片、曲面车身、压力容器等),这类零件的特点是设计参数 多,各参数满足一定的函数关系,从设计参数向结构参数转化需要复杂的数学运算。通 常的设计方法是:首先根据设计参数计算出结构参数,然后用UG软件建模。这种方法 的缺点是:模型生成速度慢且不易修改设计。一旦调整某一设计参数,则牵一发动全身, 模型所有结构参数均可能改变,建模就得从头开始。如果利用UG/OPENAPI或UG/OPEN GRIP创立用户程序,使设计计算和UG建模集成在一起,实现设计、建模的自动化,则 建模速度将大大提高,改动设计也十分方便,非常适合系列化零件的建模设计。有些模 型的生成是以实测的数据为基础,则可通过用户程序实现数据的自动采集、处理、最后 建立模型。 2建立用户参数图库 UG软件没有标准零件库,更没有具体行业的专用零件库,而具体行业的产品设计 总是经常会用到标准件、相似件。若每次设计对每一零件均从头开始建模,则要做许多 重复性的工作。建立用户参数图库即是把常用的标准件、结构相似件建成特征库,使用
26

新疆大学硕士研究生学位论文

时只需输入确定参数,直接调用,提高建模速度。 3.建模与分析的用户集成 UG软件本身带有建模和分析模块,若要对模型进行分析,通常先在建模模块中建 立模型,然后切换到分析模块中进行分析,如果模型需要不断改变,则设计过程要在建 模与分析模块之间反复切换。并且分析过程是固定的标准过程,用户无法提取计算过程 数据进行优化控制,用户的特殊要求役有途径实现。利用UG/OPEN API或UG/OPEN GRIP可以实现建模与分析的用户集成,也可实现分析过程的用户化。 4.CAD/CAPP/CAM集成 UG软件不含零件的工艺设计功能。在CADtCAPP/CAM集成系统中,利用 UG/Modeling、UG/Manufacturing功能实现零件建模和刀具轨迹生成,再利用UG/OPEN API功能增加工艺特征定义。CAPP系统则利用UG/OPENAPI功能读取UG模型数据进 行工艺过程决策处理。集成系统以数据库为基础完成必要数据的传递及工艺规程的保存、 发送,为生产现场提供工艺准备数据。 5.基于UG的专家系统研究 专家系统(Expert system)是问题求解的智能软件系统,在某一专业领域内,它把 有关专家的经验和知识表示成计算机能够接受和处理的符号形式.采用专家的推理方法 和控制策略,解决该领域里只有专家才能解决的问题并达到专家级水平。 基于UG的专家系统研究.利用UG/OPENAPI和UG/OPENGRIP编程,针对具体 零件或简单系统,建立知识库、解释系统等专家系统的基本结构.把专家系统和UG结 合起来,在建模、分析、制造过程中随时得到专家级的指导,提高产品设计的质量。

3.3

UG

NX二次开发的方法及实现途径

3.3.1

CAD系统常用的二次开发方法简介
CAD系统常用的二次开发方法



参数化CAD:主要用于标准化、系列化和通用化程度比较高的定型产品,这些产品 的结构和数学模型相对固定,只是一些结构尺寸有所差异,可将基本参数采用变量代替, 从而实现参数化。它具有效率高、可靠性高的优点,但只适用于特定的设计对象。 成组式CAD:根据产品结构和工艺的相似性,利用成组技术将零件划分成为有限数 目的零件族,通过对零佴‘旅内所有零件的分析统计,归纳出一个将零件族内所有零件功 能要素集成一身的“复合零件”,并对每个功能要素的参数进行标准化处理,建立相应的
27

新疆大学硕士研冤生学位论文

数据库。对这样的“复合零件”进行二次开发就可满足零件族内所有零件的设计要求.从 而完成相似结构产品的设计,其适用面比参数化CAD宽,但结构复杂,开发难度大。

交互式CAD:它适用于单件小批量生产,对结构千差万别、无法应用成组技术进行
分类并建立标准化通用化图库的产品,则应用交互式CAD,其开发主要是利用系统提供 的资源以提高交互设计速度,如数据库、图形库和程序库的建立以及各种用户工具的开 发等。它应用广泛,适用于各类产品的设计。 2.二次开发的主要内容 CAD软件二次开发的内容主要包括以下几个方面: 1、标准件库及常用件库的建立: 21二次开发界面技术; 3)针对具体产品或零件的参数化造型工作。 3.二次开发的特点 CAD二次开发系统作为一软件系统,它本身技术复杂,又具有特殊性,其二次开发 具有如下特点: 11涉及面广,情况复杂 由于CAD二次开发是面向某一专业、企业所进行的二次开发,会涉及到该专业的 各种类型设计,涉及到设计的各个阶段,不同的设计方法和技术处理等方面,因此说CAD 二次开发涉及面广,情况复杂; 21工作量大 由于机械设计本身复杂,内容繁多,其中数据种类多、数据量大、计算公式千变万 化,耍开发的功能模块很多,故CAD二次开发工作量大: 3)面向工程技术人员 二次开发系统是面向工程技术人员进行设计的,是他们进行设计的工具。因此,二 次开发系统的设计耍符合工程标准,满足工程技术人员的设计习惯和要求。二次开发系 统的运行过程就是对具体设计过程的模拟。 4.二次开发支撑软件的选择 CAD软件的二次开发不同于一般的软件开发,主要在于它不是从底层开始设计,而 是在已有的软件基础上进行开发,所以二次开发最大的特点是继承性。二次开发后的软 件功能和性能在很大程度上取决于支撑软件的功能和开放程度。因此,二次开发的首要 任务就是选择台适的支撑软件。一般在选择二次开发支撑软件时需要考虑以下几个方面: 1、支撑软件必须功能齐全、性能优照:

瓤撼大学碗士研究童学位论文

蛰支撑教件翁版本是否与自身实际檑祷 31现令支撑软件的版本有DOS版、WINDOWS版、NT版及工作站辞多个版本 选择哪一种要根据实际情况而定; 躬载孛}靛佳能徐裕是否往整。

3.3.2

UG

NX二次开发的方法及实现途径

1.宏翕夸 宏命令是UG平台上人机空飘操作的~系列过程的记录,宏命令文件扩展名为 *.macro,为ASCII码形式。宏命令通过两种方式产生:一软律自动记录;=手工编写。 宏静夸的产生和搜厨与用户莽蕊紧密穗关,这是重鸯它是用户对当赣嚣面避{亍键盘 操作和鼠标操作的连续记录,所以开始执行宏命令的界面必须和开始记录窳命令的界面 一致,这样才能保证宠命令能逐步难确地运行。容命令中可以加入用户中断点,以便输 入必要熊设计数据及掇示信息,鄂宠裔令靛运行冒火规交互。 在UG Nx版本中通过主菜单顺呵bols_÷Ma释o_Record…”开始进行窳命令自动记

录,咀“1砌s_÷Macm_close…,,终JE记录。用“Tootg_÷Macr。mRllIl…”执行塞命令。
夏用户鑫定义将链 用户自定义特征是LIG软件提供的造型特征之一,它可对一简单实体生成用户化的 特征,特征的参数由用户定义。通过这一功能百r建立用户自定义特征库,柱需要时直接 调窝。瓣户鑫定义赞,蘸文箨扩曩瘩为;.udf。 具体操作为: 1)酋先自4建一新的特征实体; 2)避遭‘"Tools_Expression'’查纛特征宴律懿参数皂稼投箕壤,霹鞋嚣箕避章亍蟹魏; 3)通过“Fik—Ex∞n_÷Us盯DefinedFeature…”输出用户自定义特征。在该对话框中 输入自定义特征名称、摄入特征线框图形,在Features Part梦d表框中选定特征添加到
Features b

UDF藏褒疆孛,在Features

In

UDF弱表框中逑中特{歪,翔在Available
Input

Expressions列表框中出现所选特征的参数名称,分别选中它们并添加到UDF Parameters列表框中.OK退出。

4)道过“毡sert一,FromFeature—UserDefined…”霭霹鑫定义特茬文停,弹窭对话摧, 输入参数生成特征实体。

月;|户自定义特征遣合简单零件的特征造型,用于建立常用标准件庠非常方便。
3.UG/OPEN GRIP程序

29

新疆大学硕士研究生学位论文

UG/OPENGRIP是UG提供的二次开发语言模块,也具有外部高级开发语言的接121。 GRIP是UG的内嵌语言,能够实现强大的图形绘制、装配、工程图的生成和一定的文件 管理功能,主要进行UG的功能调用。 应用GRIP语言建立GRIP程序通常需要四个主要步骤,其具体开发过程如下: (1)编写GRIP源程序用Windows的记事本(Notcpad)编写,存盘为.grs文件:或 在UG高级开发环境GRADE中f由开始一程序一Unigraphics NX—Unigraphics
Tools---。UG OPEN

GRIP进入UG的高级开发环境GRAD勘,用<l>Edit功能,编辑GRIP

源程序,自动存盘为口s文件。 (21编译GRIP源程序在UG高级开发环境GRADE中,用(2>Compile功能编译 GRIP源程序.grs文件,编译成功后生成一个新文件.gri文件。 (3)链接GRIP程序在UG高级开发环境GRADE中.用<3>Link功能链接GRIP

程序.西文件,链接成功后生成一个新文件.grx文件,即为UG可阻识别的可执行文件。
(4)执行GRIP程序执行GRIP程序时必须先进入UG环境中,可以在UG界面下 选择File_Execute UG/OPEN-÷Grip,在“执行GRIP程序”的对话框中选择要执行的GRIP 程序名;也可以通过用户自定义的菜单进行调用,通过用户自定义菜单调用时,可执行 文件+.grx必须存放在用户目录下的a口plication目录中。还可以通过UserTools来调用, 后两者的具体实现过程将在本章的后续章节中详细介绍。 需要注意的是:虽然GRIP程序通过了编译和链接,排除了语法上的错误.也完成 了链接.生成可执行程序。但是,程序还可能包含其它错误,这种错误可能是算法错误、 逻辑错误、不符合UG的规定等等。因此,在开发GRIP程序时,还要通过程序的调试 运行,在程序调试中,内在的错误才会暴露出来。
4.UG/OPEN UG/OPEN

API程序

API是完成本课题所用的主要二次开发方法.因而UG/OPENAPl将会是

本章的重点。在这里会重点来介绍UG/OPENAPI。
UG/OPEN API叉称User Function,是一个允许程序访问并改变UG对象模型的程序

集,是UG软件提供的另外一个二次开发编程语言工具,也具有与外部高级开发语言的 接口。UG/OPEN API封装了近2000个UG操作的函数,这些函数和过程分别在 ¥{UGILBASE DIR}\ugOPEN目录下的头文件中定义。通过UG/0PEN API的编程,可 以对uG的图形终端、文件管理系统和数据库进行操作,几乎所有能在UG界面上的操 作都可以用c语言编程米调用这些UG/OPEN APl函数实现,从而实现用户化的需要。
1)UG/OPEN API一次开发工程的创建

新疆大学硕士研究生学位论文
UGIOPEN

APl程序使用的是C戡c++编程语言,基于Wmdows 2000操作系统的

UO赣释熬并发可珏在ve++6.0环凌下避{亍,因为编胡UG/OPEN API程序牵涉虱UG- 提供的头文件(-.h文件)、库文件(+.1ib文件)和c语亩编程环境,因此需要进行~定的设 置。在VC编译环境中创建一个UG的二次开发工狸有3种方法,下面分别加以说明:

@聪搦UGfl3PEN A》蹦妇疆彝嚣雹《建UG/OPEN API工程
在¥{UGI/_BASE_DIR}\ugOPF.,N 目录下找到名为UgoPEN v19.awx和

U90PENjl9.hlp的文件,将其复制到VC工程向导目录,倒掘C:\PxogramFikakMicrosoft
Visual

Studio\Commoa\MSDev98\Template\嚣录下。运嚣VC,利矮如露3.9毵幕

UⅡ=igraphlcsNxAppWizardVl向导创建UG应用工程,在向导第三步中,指定UG/OPEN 应用程序创建模式是内部(Internal)*.dll方式还是外部(Extemal)*.甑e方式,并指定语言类

墼是c÷÷避燕e。捃雯蕊定表帮方式袋褥C或c++谣言,辩在霭警第三步孛黎簧选择程
序入口方式及卸载方式,然后向导自幼生成工程模板。如果选择外部方式采用c++或c 与语言,那么会直接生成工程模板。在生成的工程模板中添加代码,经编译、调试、链 接,可罨垂掰蔫程箨+然蓐再避芎亍_F~步撵作。

謦3.9
@手工创建UG/OPEDi

UG/OPENAPI缓痔两导
DLL工释

API Win32

a启动VC,新建~个Win32Dynamic—LinkLibrary:[程,选择EmptyDI.,LProject
3i

新疆大学硕士研究生学位论文

这样就建立了一个空的动态链接库工程,如图3.10所示

图3.10创建一个动态链接库工程
b.在VC菜单中选择Toolsr÷Option…。在目录选项中,分别选中Include files和 libraryfiles条目,然后添加UGOPEN和UGOPENPP的路径,如图3.11所示。

图3.11添加UGOPEN和UGOPENPP的路径

堑里查兰堡主竺至兰兰些笙奎
c.在VC菜单中选择Projec卜?settiⅡg—link,然后加入链接库文件libufun.1ib和 libugOPENint.1ib,以及输出+.du文件的路径,如图3.12所示。

图3.12添加链接库文件
以上步骤完成后,就完成了VC中的环境设置,可以进行程序的编制了。

⑤手工创建MFC AppWizard(d11)I;程
a.启动VC,新建一个MFC AppWizard(d11)工程,如图3.13所示,选择An
DLL empty

Project,这样就建立了一个空的动态链接库工程。

新疆大学硕士研究生学位论文

图3.13创建一个MFC动态链接库工程
b.在VC菜单中选择Tools_Option…,在目录选项中,分别选中Include珂es和
Library

files条目,然后添加UGOPEN和UGOPENPP的路径,如图3.14所示。

图3.14添加UGOPEN和UGOPENPP的路径
c在VC菜单中选择T程一设置一链接,然后加入链接库文件libufun.1ib和
libugOPENint

lib,以及输出+d11文”的路径,如剀3,15所示。
34

新疆大学硕士研究生学位论文

图3.15

添加链接库文件

相比利用UG/OPEN AppWizard向导创建UG/OPEN API工程而言,手工创建 uG/OPENAPI工程显得繁琐的多,它必须在VC中人为配置工程的各种设置,才能建立 起UG软件和VC的连接。 第一种方法是UG NX提供的应用于向导,该向导操作简便,运行稳定,可以快速 构建开发体系,但不支持MFC类库,因而应用受到限制,所以常常用作辅助开发,特 别适合于初学者;第二种方法,创建常规DLL,它只能导出C样式函数,不能导出c++类、 成员函数和重载函数,也不支持MFC:第三种方法,有很多优点。由于UG/OPEN提供 的工具及对话框所包含的控件较少,功能有限,由此界面开发在一定程度上受到限制, 有的功能甚至难以实现。为了避免这个缺陷.可以采用MFC应用向导建立系统框架, 在该框架下可以方便地调用MFC类库中的资源。本课题中用的是第三种方法。 2)程序初始化及终止 所有UG/OPEN API程序的使用.必须及酬进行初始化和终止,以确保获取或释放 UG/OPENAPl的执行许可权限。在调用UG/OPENAPl的函数前,应先调用UF initialize0
.{5

新疆大学硕士研究生学位论文

来获得执行许可权限。一般来说,第一个调用的UG/OPENAPI函数就是UF initialize0。 当不再调用API函数的时候,必须调用UF_lerminate0来释放执行许可权限。 UG/OPENAPI程序分为内部程序(1memalUG/OPENAPI程序)和外部程序(External UG/OPENAPI程序)。 根据所编制的程序进行交互操作,Internal环境下的程序只能在UG界面环境下运行。 在运行这些程序时,它们被加载到UG的运行空间中(UO分配的内存k该模式具有如下 特点:执行代码小,链接快:internal程序一旦被加载到内存中,只能通过UG/OPENAPI 的卸载功能才能从UG的运行环境下卸载它;运行结果在UG界面的图形窗口下可见; 入口函数是ufusr0或者ufsta0。 External模式开发的程序能在操作系统(Windows

NT/2000/XP及Urn)下运行,不

在UG环境中作为UG的子进程运行,程序执行过程不能进行交互操作。通常External 模式用于那些不需要图形界面的后台运行应用程序,比如打印或绘图仪输出。 与外部程序相比较,内部程序更简短、执行更快。针对于不同运行环境的UG/OPEN APl程序,其程序的入口不同:内部程序的主函数为ukqlsr()或者ufsta(),外部程序

的主函数为main(),其函数体都必须以uEinitialize()开始、uF-lcrminate()结束。
1)Internal UG/OPENAPl的一般形式:
#include<ufih>

头文件

void tlfusr(char+param-Int+retcod,int parmlen)

{P一”申明变量……,
UF initialize():

P…¨用户代码川川,
UFterminate();

} IntemalUG/OPENAPI必须使用ufusr函数(主函数)作为程序运行的入口点,它可 以看作是用户写的UG子程序或子函数。执行程序时,UG将程序装入内存并搜索ufusT 或者ufsta,程序从这里开始执行,执行完后由一个return语句返回UG。
2)External

UG/OPENAPI的一般形式:

#incIude(ufh> inl main(int algc,char“argy)

{/……申明变量槲…/
UF initialize():

新疆大学坝士研咒生学位论文

/牛…¨用户代码¨Ⅲ+/
UF terminate():

) 输入主函数的参数(arguments)是标准的c参数:argc是参数个数,argy是字符串 指针。 所有UG/OPEN API程序必须正确地开始和终止以配置和返还UG/OPEN
API

License,用户使用两个函数UF initialize()和UF terminate()来实现这一点。在定义 变量后调用的第一个UG/OPEN API函数必须是uF-initialize(),且最后一个调用函数 也必须是UF terminate()。 在程序中除了包含标准的ANSIC头文件外,还应包含所使用的UG/OPEN API程

序的头文件。UG/OPENAPI除了提供标准的C数据类型,还大量使用用来定义结构体、 枚举体、共用体和指针的“类”和用来定义常量的“串”,UG将它们统称为“types Symbols”。并在特定的头文件里描述它们。
UG/OPEN
and

API程序的运行可以在这几种环境下运行:

①vc++环境。在这种环境下内部、外部程序均可以执行。 ②UG界面。这种环境只能执行内部程序。程序的执行是程序通过vc++编译连接 后,产生一个du文件,然后进入UG,执行这个.d11文件。 ③UGJ‘OPENGRIP程序。这是通过GRIP程穿来调用UG/OPEN API程序。

由于编程是在VC中进行,所以可以充分发挥VC的强大功能和丰富的编程资源, 也可以利用企业原有的C语言代码资源,将其集成到IJG中。用UG/0PEN API函数

进行二次开发的优点是该工具功能比较强大,能够实现UG的绝大部分操作,易于进行 交互操作。由于是调用UG封装的API函数,程序的出错率比较低;缺点是掌握UG/OPEN API函数的运用比较困难,特别要注意参数的类型和传递形式。
5.UG/OPEN MenuScript

这一二次开发工具也是本课题中用到的工具。 用这一工具可以实现用户化的菜单。UG/OPEN MenuSc邱c支持UG主菜单和快速弹 出式菜单的设计和修改,通过它可以改变UG菜单的布局、添加新的菜单项以执行用户 GRIP、API二次开发程序、UserTools文件及操作系统命令等。 应用UG『oPEN MeimScript缟程,有两种方法可以实现菜单的用户化: 1)添加菜单文件:开发人员添加菜单文件到相应的菜单目录下,这些菜单文件是经 过用户编辑的,符合自己要求的菜单文件,是一种比较好的方法。

堑堡查兰堡主里茎兰兰篁笙苎
2)编辑标准菜单文件:开发人员编辑存在的标准菜单文件,使之符合自己的要求, 并且覆盖原来的菜单文件。这种方法就会改变UG原来的界面,不能恢复,须谨慎使用a 开发人员可以通过文本编辑器,例如windows的记事本编辑UG菜单文件。UG/OPEN API提供UG/OPENAPI程序与UG/OPENMenuScript程序的接口函数。 运用UG/OPEN MenuSeript开发工具,可以根方便的编写用户菜单。通过此菜单调 用用户自行开发的对话框或UG本身的对话框,生成满足用户要求的交互式操作。但是 UG/OPENMenuSc邱l可以完全改变UG软件的主界面,须谨慎使用以防出现界面混乱。 MenuScript的应用包括以下两部分:


1)通过编辑纯文本的Menu文件(菜单脚本文件)创建并修改UG的主菜单及下拉 菜单,而不用开发C语言的程序,本课题中所使用的菜单就是用这种应用生成的- 该Menu文件后缀为+.n抟n,一般来讲,该文件必须放在用户目录下的startup目录 中,以便在UG启动自动加载。 下面结合本课题中的主菜单文件的一部分来说明菜单脚本的语法
VERSION 139 E13IT E:JG GATEWAY MAIN MENUBAR <1> <2>

AFTER UG HELP CASCADE_BUTFON

<3>

DQKGG_SYSTEM

(4>
<5>

LABEL电气开关柜
END_OF_AFIER

<6>

MENU DQKGG_SYSTEM
BUTYON LABEL AC】10NS

(7> <8) <9> <i0>

DOKGG NEW PROJECT

新建开关柜项目 NEWPROJECT

CASCADE_BLrlTON LABEL END OF MENU

DQKGG_CH01CE_TYPE_AND—DIMENSION<11>

选择柜型和柜体尺寸

<12> <13>

MENU DQKGG——CHOICE TYPE——AND——DIMENSION
BLrrrON DQKGG GGD TYPE]

38

新疆大学硕士研究生学位论文 【ABEL ACnONS

GGD系列固定式开关柜 CHOICED邛,咂NSlON

<16> <17>

BUTTON

DOKGG——GGD.—TYPE2

<18> <19) (20)

L镪EL
ACnONS

GCS系列封闭式开关柜
CHoICEDIM卫NSION

BUTTON LABEL

DQKGG_GGD—TYPE3

<21) <22) (23>

DXG系列固定式开关柜
CHOICEDIMENSION

A叨ONS
BUITON LABEL

DQKGG_GGD皿E4
XGN系列封闭式开关柜
CHOICEDIⅣ匝NSl0N

(24> (25> <26>

ACnONS

BUTTON LABEL

DQKGG_GGD_TYPE5

<27> <28> <29> (30>

KYN系列凯装式封金属封闭开关柜
CHOICEDIMENSl0N

A(jn0NS END_OF_MENU

下面我们对上述脚本文件的每一句进行解析: <1)兼容UGVl3的菜单脚本。 《2>编辑UG主菜单。 (3>表示第一级菜单位于Help菜单之后。 <4>定义第一级菜单的m为:DQKGG SYSTEM,它是下拉菜单。 <5,定义第一级菜单的标题为:“电气开关柜”。 <6,结束第一级菜单的编辑。 <7>编辑第二级菜单,是DQKGG SYSTEM的下拉菜单。 (8)定义第二级菜单的第一个ID为:DQKGG NEW PROJECT,是菜单按钮。 c9,定义第二级菜单的第一个菜单按钮的标题为:“新建开关柜项目”。 c10,定义第二级菜单的第一个菜单按钮的响应行为。 <1l>定义第二级菜单的第二个D为:QKGG
CHOICE TYPE AND DIMENSION

新疆大学硕士研究生学位论文

是下拉菜单。 ‘12)定义第二级菜单的第二个下拉菜单的标题为:“选择柜型和柜体尺寸”。 (13>结束第二级菜单的编辑。 <14>编辑第三级菜单,DQKGG_CHOICE
TYPE

AND—DIMENSION的下拉菜单。

<15>定义第三级菜单的第一个Ⅲ为:DQKGG—GGD—TYPEl,是菜单按钮。
<16>定义第三级菜单的第一个菜单按钮的标题为:“GGD系列固定式开关柜”。 <17>定义第三级菜单的第一个菜单按钮的响应行为。 (18>与<15)相似。 ‘19)与<16>相似。 <加>与<17>相似。 <2l>与<15>相似。 <2扫与(16>相似。 <23>与<17>相似。 《24>与<15>相似。 <25>与c16>相似。 <2曲与<17>相似。 《27>与(15>相似。 <28>与<16>相似。 (29>与<17>相似。 ‘30>结束第三级菜单的编辑。 将文件以DQKGG.men存盘于工程目录下的startup文件夹中,启动UG,菜单自动 加载在UG中如图3.16

图316项目菜单的生成
40

新疆亢学碗士研究生学位论文 2)剩翔UG/OPEN APt提安静MenuScript API瘗数爱子程露穗C语言羚发定裁菜单

选项的UG应用,这些选择对应的回调函数也是}{j C语言编写的。 使用MenuScdpt API与利用菜单脚本文件的不同之处在于j菜单脚本文件是通过 "ACTIONS”衷搓定菜攀璎对应的穗癌=l亍为(actions,妇存在懿GRIP疆旁、UG/OPENAPI 程序或片;l户工具定义文件(User 是通过UF MB
add Tool

Definition等),而使用MenuScript API实现菜单

actions()来注册C语言编写的回调函数。

UG/OPEN MenuScript丞数瓣主要功能是注爝露疆匝数(callbacks)、焉子壤写C

程序打并对话框或完成UG/OPEN API应用的功能,以及注册一个完整的、税Unigraphics 菜单条上增加的应用。OF_MB ad屯actions允许l{j’户绑定每一个回调函数及燕联的回调 鼗握摆专}至《行为名(强字符串定曳的),然后可默在菜单辫本文{孛孛把该露凳皂歹《A。 当用MeaoScript准备好一个菜单脚本文件后,每次碰到的行为名都被加到行为注册表中, 并且相应的回调函数也被附加到菜单项上。 MenuScript可班用予增趣蠲户爨邑懿囊襄毫采扩展Unigra曲icsG采eway斑擐的性钱, 或者扩震巢些特殊应用如建模、制鲻或制造等模块的性能。在后一种情况下,用户的菜 单项只有在相应的应用模块下才会控示出来,并自动地在用户进入或退出相应模块时以 标准的Unigra曲its菜棼顼静方式蠼§§或去掉。

为了使甩户的注珊有效,必须在读取菜单脚本文件前,通过UF

MB add actions()

注册用户的回调函数。如果用户提供的功能是用于扩展Unigraphics的Gateway性能,并 且相应蔡孳是在Unigraphics主界甏的菜萃条上显示,赠该注瓣过程必需逶遗数量在基交 “startup'’下的共享库文件来实现。注意,包含该“startⅡp1’目录的二次开发目絷(必须包含 startup目录和application目录)名称应该被添加到操作系统中作为系统变量,变量名称 为“UGIt USER DIP,'’+只有这样,该“stanup”强录雏共享库及菜单脚本文锌在每次 Unigraphics启动时会被自动加载到内存中,每当每个共享库空件被加载后,入ID"勺fsta” 被马上执行。函数UF MB_add_actions()应该敝在ufsta()子过程中。 如粜阚户应甩是熙予扩展Unigraphics应用模块如建模、铡魅、工业设计、运动分辑、 结构分析、有限元分析薄。荠且希塑用户应用凳商在进入稳成应糟模块时才被激活,那 么共享库文件应该放谯用户工程目录下的“application”目录下。此时,直到砰|户进入相应 斡应用模块,共享瘁及菜单脚本文钟考筏加载割内存中。_艿量照动地在用户进入或退出 稿应模块时增加或去掉。


UG/OPEN UIStyler

UG/OPEN UIStyler也是本课题中熠到的工具。

新疆尤学硕士研宄生学位论立

U/S擗妇是开发UG瓣话蓬懿霹援钝王其,生裁抟霹话框藐岛UG集成,谴蘑户更
方便、更高敬地与UG进行交互操作。利用这个工具可以避免复杂的图形用户接t.q(GUI) 的编程,宜接将对话框中的基本控件缀含生成功能不同的对话框。 秀发A爨进A

UG,点营谴蘑耐瓣产男蚕缝辑嚣’'藏霹鞋进入瓣话疆设诗熬赛蠢。

该界面包括~个工具条和三三个窗口:对象浏览窗口、资源编辑器落口以及设计澍话框窗 口。应用工具条能够快速点击图标,在设计对话框上添加删除控件,进行对话框界面的 竣诗;对象潮燕器塞强显示露话框上辑骞控薛筑馕惑,建孛莱一攘馋帮霹在蛰游编辑器 窗口中进行相应的操作:资源编辑器窗口用于设置修改控件的属髓、消息等操作;设计 对话框窗口用来显示对话框的界面。 UIStyl“控#王具魏粼3.17

图3,17

uIStyler控锋工具

当界蕊没计完成舞,绦存UIStyler编写的对话挺时UIS嘲。r为糟户创建3个文件: +.d培文件、*_3emplate.c文件及4血文件。其中,’d埯是保存对话框图形界面的文件;+.h 文件是UlSlyler对话框C堪言的头文{串,包括对话挺及其控件的栎识符和函数攮型的审 螭;t。template是UIS娜铺对话框C谣言豹模板文捧,包括各种定义帮命令。粥户的主 要工作是修改’template.c模板文件并在其中添加用户代码,以确定UIStyler对话框被调 用的形式及其所能实现鼬功能。对模扳文社的修改王作可在VC申完成,然后和‘玉编译 连接生戒+。DLL文斡。 U1Styler对话框的调用有三种方法:Callback、Menu和User Exit。CaHback的调用

方式是该对话框能被其它对话框调用;Menu调用方式是指被MenuSc由坫编写∞菜单调
蔫;
user

exit漏用方式嚣被雳户臻霹调瘸。

应用UIStyler这一开发工具可以使开发人员方便、快速地设计出与UG界面风格一 致的各袖对话框,并可生成相应钓框絮代码,减少开发入员的工作量。避免其纯复杂豹 编程。蟊量胥苏和孀萁纯开发工曩开麓出的结栗避纷集蔽。UG/OPEN U1Styler工其耜 UG/OPENMenuScripts工具一样,都只具有某一力面的功能:UG/OPENUlStyIer用于对 话框的开发,UG/OPEN MenuScript用于菜单的开发。


UsefTools工曼
』,

新疆大学硕士研芄生学位论文

UG软件为孀户提供了一个疆臻二二次开菱缝果躲交互式接磊:UserTools。它熬臻簸 是生成弹如式对话框或工具条,其界丽风格与UG界面风格一致。通过执行对话框或工 具条,操作相应的控件就可运行菜单文件、宏文件、uG/OPENGRIP程序、uG/OPENAPI 程穿和箕恕=}支牙发文搏。 通过编写对话框定义文件(t。utd)来实现UserTools工具的功能。编写文件完成以 后,在UG中执行“工具一自定义_+加栽”,选择所编写的+.utd文件即可弹出需要的对话 挺或工其基。t.utd这令文终是文本文传,可塌willtiows孛蕊写字叛进牙编写期编辑。一 种比较简单的实现方法怒拷贝UG中的模扳文件user 然后编辑梭板文件,实现所需要的功能。


lo tutd _,下录目发开次二户j{f别

在UG赛瑟串应用“文件—执芎亍~埔鼯交互编裁”禁单执{亍UG/OPENAPI群痔或UG/
OPEN User

GRIP程序,操作~次只麓执行一个程序,而且必须找至《糕序所在的路径。若利用

Tools这个工具,用户可以将多个GRIP或APl函数所编写的程序集成到一个User

Tools对话框或者工具象孛,一个程序对应一个撩{孛,透过操绺控件来调用程序,使用 过程非常方便。 UG软件为用户提供的=次开发王具不但可队独立使用,而且可以相互调用其它工 其开发熊缨慕,这就大大扩曩了工具本身旗具有鲍功能,方便埔户进行二次辨发。 MenuScr/pt所开发盼菜单可鞋与User Tools歼发的对话穰相互调用:所开发的菜革 与UserTools开发的对话框可以调用UIStyler开发的对话框;MerauScript、UserTools和 UIStyler开发的对话框坶可以调用GRIP程序和API程穿,GRIP程痔和API糕事之间也 可以相互谪麓。另外+使用UG二敬并发工具必籁饕设置相瘦辩环境变量.这样系统才 能找到这蝗开发文件,执行相应的程序。 综上掰述,UG提拱多静形式、不掏层次髀二二次开发工具,满足不同用户进行UG 薛二次开发。UG二次弹发的技术路线是:|三I交蔓式霞形系统为主要支撵,以鹫形系统 的用户语言为进程的控制者,以高级语言为系统连接及数据转换的枢纽,开发有关产品 参数化设汁、产品智能设计、产品集成设计的CAD软件,实现UG软件的粥户化、本 遣纯,撬蒿设计速度与竣计质量。

3.4

UGNX用户界面设计
如前所述t UG掇供UG/DPENMenuScripi、UserTools、UG/OPENUIStyler三秭界
18

面设计工盥.这三种界面设计工具和UG/OPENAPl、UG/OPEN GRIP的关系见图3

新疆太学硕士研究生学位论文

圈3.18嚣发工具之阈的关系
由于UG/OPEN U/Styler对话框设计功能最为强大,可实现箕他对话挺的所有功能 故下面主辩讨论UG/OPEN UIStyler的使用方法及技巧。 在UG NX的开发中,UG/OPEN UIStyler的使用按照如墅3,19的步骤进行

图3。19 1,UlStylei对话枢文件的生成

UIStyteI调用流程

和Visualc++对话框设计相似,UIStylef包含对曾眶的各种控件,即UIObjects对象

新穗大学坝士计艽生掌位论文

掘Label、ActiOn BuRon、Bitmap、Radio ikx、s80Hed Window、Selection
Select

Box、ToggleButton、

List谆,可以随意对它们进{予缀合并编辑确定其位置。每一UIOhjects对象具有一

定的属性、选择性及哟调函数,这魑性质均应在生成UIStyler对话框文件之前确定。 在{聚存UlStyler瓣话框时共生成三个文搀:+埘塾‘templmo-c、4。h。其中‘d连是 UIStyler对话框界面文件,封装了对话框的匿形界面;’一template.c’‘.h分别是UIStyler 对话框C语言模板文件和头文件。用户的主要工作是修改?_+template.C模板文件并在其 中添加娜户哉码,确定UlStyler慰落糕被调用斡形式及其所实现的功能。这魑工作都在 Visualc≈+6.0中完成,最终和,.h编译链接生成可调用的,.DLL文件。 2.UIStyler对话框的调用 UIStylel对话框有三种被调用方式;Callback、Menu、UserExit。Callback指被对话 框谪翔t郄对话框嵌套,Menu指被MenuScript璃用、User Exit指被角户接强调用。不 同的被调方式具有不同的接口函数,分别为extenlint<enterthenanleofyourfunction>(im ‘response)、exteimufsta(char+para,,妇’retcodet intten)、e.xternvoiduf_llsr(char
*paramt

int+retcode?Lit den)。

3。UISty]er对话概CaLlback Function的实现 对话框的最终功能是实现用户的某种操作,如建模。这姆在‘template.c文件中的
Callback Function中竞成,Callback Function是对话框响应委数,龟称霞调蕊数。

无颁专门设定,横板文件Lcenlpja【ec中提供躁基本的apply按钮回调萄数框架.函 数名为:
im 4_apply cb(int dialog_id,void+client data,
UF—STYLER_item_value_type_p t

callback_data)

每一U10bjects对霉都可确定一回调函数。嘲调函数名在UlStyler对话框编辑时定 义,箕稚架将在生或8_template.e时鑫动产生。龆Radio Button的匿调函数为:
int+_radio call(int dialog id,void4client_data,

呸STYLE罡item value_typ啦r
关模块备种子功能集成在用户程序中实现用户的特定任务。

callback_data)

拄圈涌函数中,簿越调用UG/OPEN API,疆过谲焉UG/OPEN API,把UG及其辐

所有UG/OPENAPI程序必须位于初始化函数UF initialize()和终lE函数UF terminate() 之闯。在定义变量嚣灞_簿l匏第一拿UO/OPEN API函数必须燕UF initialize(),最基一 个调用函数必须是UF terminate()。

新疆大学硕士研究生学位论文

第四章电气开关柜三维CAD开发的关键技术
基于UG的电气开关柜三维CAD系统的开发所涉及到的关键技术主要有: 1.全参数驱动建模技术。
2.UG/OPEN MenuSclipt、UG/OPEN UIStyler、UG/0PEN

API等二次开发工具的综

合运用队及和开发工具Visual C++6.0联合开发技术。

3.系统开发过程中的程序处理技术。
该系统和UG NX2集成在一起,界面采用全中文的菜单、对话框、信息提示框,图 文并茂、界面简洁直观。本章着重介绍电气开关柜三维CAD系统的开发所涉及到的关 键技术及其在电气开关柜设计中的具体应用。

4.1全参数驱动建模技术
在不涉及到UG NX的二次开发的用户一般只用普通的建模,即只关心最终的建模 结果是否符合自己的需求,而对于参数化技术中晟重要的部分一一表达式几何都不重视甚、 至不采用。在本系统的开发中用了大量的表达式,以及各种表达式的技巧,把表达式的 作用发挥到了极致。下面将对表达式进行一些介绍并列举一些表达式在本系统中的应用 实例。 1.表达式的基本概念 表达式是可以用于控制一个部件特性的算术或条件语句。表达式可以定义和控制一

个模型的许多尺寸,如一个零部件的外形尺寸。
在参数化设计中表达式是有很大的价值的,因为它们可用于控制在一个零件的特征 间关系或控制在一个装配件的零件间关系。例如,六角头螺栓的螺距和它的公称直径是 有关系的、螺纹的眭度和它的公称长度之间是有关系的,那么修改了公称直径或公称长 度,螺距和螺纹长度的表达式值就会自动改变。 2表达式语言 表达式有它们自己的语言,它模仿c编程语言。 左例:变量名
a =

右侧:表达式字符串
b+c

变量名是文字与数字组合而成的文本字符串,但必须是Hj一字每开始。下划杠…’
可以用于变量名内。区分大小写。表达式字符串是由变量、猝种逛算符、各种函数等纽
46

新碱走学硕士研究辍学位论文

台的表谜式。不管在UGNX的表选式公式中还悬在uGNX的=次开发中,表达式都会 被当佟譬簿串来处理。舔GNX支持游运冀蒋只吝簸擎运算簿秘逻辑运算箝,支持斡函数

有常掰静数学函数和单位转筷醋数。但在UG NX系统内部袭选式在最终迸算结栗必籁
是整数或浮点数。 3。褒达式的癸癸 t辩NX中酌表这式可分为三樊;~般表达式、条辞表遮藏氍尼祷表达式。 一般表达式:由变量、运算符和各种函数缒合而成。如:length=2200、dl=d—p、

pt=(1/3郴/SQRT(3))8S等。
条褥袭达式:为了避一步提蔺襄达式辩曩错髓,tOG NX提供了程第拄箭语言.-if 和else。通过这种控制语言可以创建条件表达斌。如: width=if(1ength《8)《2)else《3)

这个褒达式表示;魏栗}ength,j、子g,掰width等于2,答嬲为3。这样窳瑶焉确群h
在不同的条件可以控制得到不同的wldth的值。 几何表运式:疆指在表这式中萼l甩某种几何特征捧为定义特征参数的约束。如,谴 用蘸个对象之洒魏最夺距离捧鸯正方蒋静长囊。凡侮表达式典寄3释:鞭篱表达式、投 度表遮戴和角度表选斌。 4。裳迭式的注释 为了蹙表达式翡袋返意恶薹搦容荔接理群,可驻裁震“驴’符号在表达式申增燕注释t 一般将注释语句放狸“,,’之后,UG NX系统自动想略表达式柑“,厂’后的任何譬符。如: width=if(1ength《s)诏)etse(3)翻#据length计算widthe

4.2_=:=次开发工具的联合使用
1.u§NX2嚣蟪变量霸获睿参魏竣置 在避行编程之前需要对操作系统的环境糍量和工程的~些参数进行设置。在
windows

xP中,软件系统的工作路柽是由系统j盘册表和环境变量来设蚤:舯。UG NX安

装蒜,囊动建立霞藤翁系笺变攫,荫UG鞋-BASE_DIRt
UGIl R00T DIR、UGII PLOT

u搿tHC}瓣sEj己E、

DIR等。如槊用户要添加环境变量可馘通过“控制谳

板”呻“撩统”_“环境”米进行环境蹙撬设置。在UG NX2中鹪菜单激发对谗框有两种方 式:蘩嚣邀蓑黠话糕靼蓁蕈囊发巍楚;量然嚣~辩方式经嚣技幕焉,蓬舞存在一定熊弊 端,由于用户执{亍菜单命令时就盥接打开了对话框,所I三1只能在打开剥话框厉才能对栅 始环境下进行判断,阮往实现通过判断初始环境F米控制是磷激活对话椹,这样会导数
4,

堑矍銮黧塑圭里塞圭堂攘堡苎
执行菜单命令时即使初始环境不符台骤求,对话框也将会被打开,这在许多情况下是用 户币嚣望懿。鑫蔑这辫彦武适合手器菠与窝菇耳袭燕关转疆序,焉显至多需要添糖一令 以上的用户环境变量。盾~种方式弥补了上述缺陷,在这种方式中,用户执行巢单命令 后,先执行鹿用中的代码,这样就可以在应用中添加初始环境判断语句,根据:=1==同的初 始环境弑《甭耩戆窿瑶鸯骞,盎魏程露翁灵话鞋太大提裹,霞量霹竣甭霆添辩蠢技程枣 入口的环境变量。由此举系统采用后一种方式进行程序的开发。 在本系统开发时会需器得到种子文件和参数配鼙立件的路径,这样就会用剿工程路

糖,一般愫琵下琨户匏王糕爨桎羁UG≥疆懿摄爨缎蓦~致,露褥苓能采照谤瓣较路径
的方法来获得工程路径,在这里采用的方法是利用环境变量来得到工程路径,郾在环境 变量里添加~个工程路径的用户环境变龌,然后再用getenv0函数来得到所对殿个环境 爱量熬蠹褰,毅魏穗裂王程路径,下甏是率系统鳇王器路径对应黪嚣境变量:

Secd_Faih=’’D:\DOKGG—BYs黼OKGItSystem'’
本系统的工程路径缩构如下:

D:∞Q黼JYsJ田Q}(GG—s蚓em王狴黠径t芏翟孛辑毒室{牛全都救最予该路径
下。 D:kDOKGG BYS]∞QKGG—System、Application主要用于存放具体的功能扩展文

磬,如UIStyler对话挺文磐(4。,fig)、芏典骞标文{譬(8.t,mp)、和位鬻调色援文转(+.nb秘)。
D:kDQKGG BYS.ILDQKGG System、startup主要存放UF启动时需要加载的动态链

接库文件(*.d11)、菜单脚农文件(+.men)和用户工具檄文件(*.tb0。 上述两个文俘夹是必颁莓在热,嚣剡菜单帮动态链接瘁不会拨麴载,两导数舅户程 序无法正常醚行。
DBDQKGG BYSJ、DQKGG—System\Code用于存放具体的程序代码,该日澈在新疆

工程斡对嫉会自动魁建。 D:、DQKG(._BYS.1kDQKGG—System\Seedparts用于存放斡予文件(‘.Pn邑经参数仡 驱动的三维模型文件)。
D5DQKGG_BYSJ、DQKGG System\Configure塌于存放通赐机械标准件豹参数配

置文体(‘.魄)。
D:、DQKGG BYSJ、DQKGG System\Bitmaps用于存放零件示意图文件(t.bmp)。 D:、DQKGG BYSJ、,DQKGG System\PulicParametets用于眷技工程的垒竭参数文

件。 2二次开发工具的综台运用以及羊¨开发J具Visual c++6+0娃台开发技术

堑曼态堂堡主型塞生鲎垡丝奎
11利用MenuScri髓定制界面

盔裁辑述MenuScript是UG/OPEN二次开绽软件包的一帮分,它的应髑有两种,一
种通过编辑纯文本的Menu文件(菜单脚本文件)创建并修改UG的主菜单殿下拉菜单: 另一种是剥罔UG/OPEN API提供的MenuScript APt函数及子糨序用C语言并发定制菜 单选项豁UG应霜。这显主要盛鬻了菜荸辫本文{串定期了电气开差柜三缀CAD系统主 菜单,脚率文件可以用任何文字编辑器编写,这熙使用Nolepad2,本课题中所使用的主 菜单脚本文件DQKGG、xnen里的内容以及做法在第三章中有详细的介绍,在此不再赘述e

将诧文睾}存鑫为DQKC,-G.mn,保存在D:kDQKGG
下,UGNX启动后自幼加载该菜单,如图4.1所示:

BYS.TLDQKGG_System\Startup羁录

凿4.t主菜肇懿魏载
2)利用UIsly】er制作程序中使用的对话框 以电气开关柜骨架为例讨论对话框及程序编制的过程t以及所涉及的装键问题a编 裁选辑赞絮足寸砖谴糍蛟蜃懿是在篷}藉譬桨模燮辩过程中与越户交互,缡《程蓐躲髫鼗 是最终生成可运行的劫态链接痒文件8
dll。

①启动UGNX2,在图4.2可视化环境中编辑电气开关卡臣儡架对话框界面,添加对

新疆大学硕士研究生学位论文

话框控件并布局,定义控件identifier、属性及控件回调函数名称、属性。

图4.2使用用户界面编辑器编制对话框
②对话框编辑完成后以名称ChoiccDimension保存,生成三个用户文件:界面文件 ChoiceDimcnsion.dig、头文件ChoiceDimension.h、模板文件ChoiceDimension 如图4.3所示:
template
c。

图4.3生成模板文件的提示信息
31利月j

v“+6.0和UG/OPEN API进行编程

①进入vc++6.0,按3.2.2中的方法在D:\DQKGG_BYSJkDQKGG—System下建立 名为Code的MFC(dlt)V程,并设置好用户环境,将模板文件ChoiceDimension_tcmplate


改名为ChoiceDimension.cpp,然后弭将ChoiceDimension h和ChoiccDimcnsion.cpp加入 该工程中.见斟4 4。

新疆大学硕士研究生学位论文

图4.4在vc++中添加模板文件 ②修改对话框模板文件ChoiceDimension.cpp
首先将对话框头文件ChoiceDimension.h包含在模板文件开头,其次根据对话框被调 用的方式取消对话框模板文件中对应的条件编译指令,并且确定接口函数名称,这在
ChoiccDimension

cpp文件中有注释说明。此时已经可以对程序进行编译、链接生成可运

行的erojeCt.dll文件.但此时运行,仅仅出现对话框图形界面.不能输入数据也不能实 现具体的功能。

@添加用户程序代码
若要使骨架尺寸选择对话框的按钮有响应动作,就必须对该对话框中的按钮所对应 的回调函数进行编程,因为初始状态F,所有的回调函数全是空的,即只有函数的定义 和结构,而没有具体的功能代码,例如希望“应用”按钮有响应动作,就要对应用按钮所 对应的回调函数DQKGG CHOICEDIMENSION apply曲n进行编程,见图4.5。在回 调函数中定义变量及UG对象,运Hj c++及UG/oPEN API函数进行运算、设计。其中 使用到UG/OPEN API的函数及变量、对象类型均应在文件开始包含在所属头文件中。 UG/OPENAPl共提供2000余个接口函数,其中建模函数约500个。用户添加程序

新疆大学硕士研究生学位论文

代码的主要工作就是合理调用所需要的函数,实现用户要求的功能,在本系统中大约用 到了200余个接口函数,主要集中于建模、对话框、装配、用户出口、部件文件操作、 界面功能等功能的接口函数。

图4.5添加用户代码
UG/OPEN API编程的关键是要了解众多API函数的应用.包括函数参数的类型及

含义,函数参数如何赋值。 由于本系统采用的是菜单激发应用的方式来打开对话框,所以在定义头文件后,需 要对对话框文件进行注册,这在工程的DqkggProject.cpp文件中进行注册,注册语句如
下:
static UF_MB_cb_status_t DQKGG UF

ChoiceDimension(
widget, client—data,

MB widgeLt

UF_MB—datat

UF_MB activated_button_pj call_button);
static

UF_MB_action_t aetionTable[】=

{ {"NEWPROJECT“,DQKGG—NewProject,
NULL

),

新疆大学硕士研冗生掌位论又

{’,CHOICEDIMENSlON”,DQKGG


ChoineDimension,

NULL

),

staticUF_MB_cb_status.tDQKGG ChoicoDimensioⅡ( UF_MB widget
UF


wi电et,
client data,

MB』am



UF MB_activated button_p_t call

button)


UF_MB_cb_statas—t c.b_status=UF_MB—CB_CONTINUE; im rep;

ChoiceDimension(&rep): retunl(cb_status), }

在回调函数DQKGG CH01CEDIMENSlON_apply_cb中,加入程序代码实现参数驱
动三维模型并更新模型的功能,由于代码太多,下面只给出函数的定义和框架结构:
int DQKGG_CHOICEDIMEBSlON_2ipply void’client data,

cb(hat dialog_id,

UF_STYLERjtem {

value

type_p_t

callback_data)

P Make SUre.User Funclinn is available+/

/度量、结构体等的声明和定义

if(UF_initiatize0 l=o) retum(UF_UI—CB—CONTINUE_DIALOG); p一一Enter
your callback code

here一一+/

//具体的功能代码

uFjerminate O;
r Callback acknowledged,do not terminate dialog /+Areturn value of

UF_uI』B—EXIT—DIALOG

will not be accepted

p for this callback type.You must respond to your apply button.*|

return(UF-ULCB

ExIT DIALOG



新疆大学碗士研究生学位论文

以上代码可以实现的功能是把已经存在的骨架装配种子文件的每一个组件载入,井 根据对话框得到的参数来驱动种子文件并更新模型,然后把所有组件文件加入到总装配 文件,更新并保存,最后得到新的骨架,如图4.6所示。在此过程中自动生成全局参数, 井保存到D:、:DQKGG.BYSJkDQKGG System\PulicParametcrs文件夹下,因为在设计一套 电气开关柜的过程中可能会由于某种原因中止,有了全局参数下次再接着进行设计时会 接着上次的工作进行,而没有必要再重新进行设计。

图4.6生成电气开关柜骨架的对话框、提示信息以及生成的骨架模型
在本系统中有一半以上的组件都是用这种方法生成的,如各种梁、门、项板、底板、 侧板和l隔板都是通过用户界面输入或选择的参数来驱动种子文件,从而获得新的组件。 对于尺寸不用变化的各种电气开关柜附件车¨电气元件采用更简单的方法,即在用户界面 中只需要进行一些其它选项的选择,不需要选择或输入尺寸,在程序的运行过程中,只 需要载入种子文件直接另存为组件就行了,而不需要进行参数驱动。这样就简化了程序 的编制。采H{上述方式可以使多个组件批硝一段代码.这样就可大大简化程序,缩小程 序的规模.减轻编制程序的工作量、减少稗序的错误。

新疆大学硕士研究生学位论文

4.3系统开发过程中的程序处理技术
通过调研,并根据调研所取得的技术图纸和相应的数据,对GGD系列固定式开关 柜的各零部件进行三维建模,并进行柜体的总体装配。通过前面的总体设计可以得知在 电气开关柜中的很多部件的生成采用的方法都是一样的,总共可以分为三大类:选择参 数或手动输入参数驱动、无参数驱动、参数配置文件参数驱动。可知有大量的、重复的 或部分重复的代码、对话框和选择步骤。在这里采用了3种主要的处理技术来处理大量 的重复代码、对话框、选择步骤。 1.为了避免大量的重复代码可以采用公用函数技术来处理大量的重复代码:

2.在所有的零部件的生成工程中均会用到对话框,如果每种零部件都有一个对话框
的话,将会有大量的对话框存在,在这里我们采用公用对话框技术来处理大量的部分重 复的对话框: 3.在处理机械通用标准件时,为了避免大量的参数选择,采用参数配置文件技术来

处理大量的参数选择步骤,在整个过程中只需要选择1—3个参数便可得到最终的模型。
下面将会举例来说明这三种技术的应用。 1公用函数技术 在进入到编程阶段时,会发现对每种零部件进行编程时有大量的重复代码,分类相 同的零部件只在局部代码有所不同,这样就可采用公用函数来处理这些大量的、重复的 代码。具体实现: 在工程中单独建立~个公用函数的.cpp文件和h文件,在本系统中是function.cpp

和function.b文件。在function.clap中放入所有公用函数完整定义和具体实现的功能,并
加入头文件functionh,在function.h中放入所有公用函数的声明.主要是函数名和函数 参数的声明。完成了这个工作以后,后面凡是用到公用函数的话,只需要给出函数名和 相关的参数,并在该文件中加入头文件function.h即可,不用再编写相应的功能代码, 系统会自动到function cpp中去调用该函数。这样就可大大减少代码的行数、提高代码 效率和减少代码的出错机率。

例如:在系统的运行过程中会常常需要从对话框中获取字符串控件的值,这样就可
以为获取字符串控件的值做一个公用函数。在function cpp中加入function h,并作如下 定义:
extem void GetStrValue(int

dialogjd,char+string_id,char+value)

{∥获得字符串控件的字符串的值
55

新疆大学硕士研究生学位论文
UF STYLER—itern value_type-f data; data.item_attr:UF STYLER_VALUE; data.item_id=Stling id;

uF.STYLER—ask—value(dialog

id,&data



sprin呱value,”%s”,data.value.string);

uF—sTYLER—he-value(&data);
' 然后在function.h中做如下定义:
ex∞m void GetStrValue(int dialog id,char+string_id,char+value);

做完这些工作之后,就可以在任何用到获取字符串控件值的地方,很方便,很灵活。 2.公用对话框技术 根据本系统的总体设计可知会用到大量的对话框,根据分类可知在相同的分类中的 零部件用到的对话框基本上是一样的,只是局部有所不同,比如六角头螺栓的公称直径 和十字槽螺钉的公称直径对话框基本上一样,只是十字槽螺钉的公称直径系列的个数要 少于六角头螺栓的。具体实现: 把所有用到的公称直径系列全部设计到一个公称直径对话框内,可以根据不同的标 准件类型控制该类型标准件的公称直径对话框显示。核心代码如下: 腑空制六角头螺栓(部分螺纹)的公称直径对话框的显示 if(standardcomponentnum==1) {
forfi=l;i<=5;i++)

{ SetVisibility(dialogjd,DiametcrNum[i],FALSE); ) for(i=11;i<=27;j+=2) {
SetVisibility(dialog

id,DiametarNum[i],FALSE);



SetVisibility(dialog_id,DiameterNum【30],FALSE);


新疆大学硕士研究生学位论文

/脏制十字槽螺钉的公称直径对话框的显示
if(standardcomponentnum==4)

{ for(i=10;i<=30;i++) { SetVisibility(dialog id,DiameterNum[i],FALSE); } } 上述代码中,用standardcomponentnum变量来表示标准件的类型,不同的变量值代 表不同的标准件,其中standardcomponenmum==1表示标准件的类型为六角头螺栓, standardcomponentnum==4表示标准件的类型为十字槽螺钉。 这样就可以使所有的标准件共同使用一个公称直径对话框,使用这个技术可以使本 系统所有使用的对话框的总数在十个以内。 3.参数配置文件技术 本课题研究中深入地研究了通用机械标准件的相关知识和三维标准件的建库方法, 由于本系统中所使用的通用机械标准件并不是很多,而且不能采用和普通的参数驱动方 法来获得组件,所以在编制通用机械标准件的程序中采用了另外一种方法:参数配置文 件,即在用户界面中只需要选择l一3个参数,其余参数全部放在参数配置文件中,用程 序去读取并获得参数配置文件中的参数.这样就可咀用在用户界面中获得的参数和参数 配置文件中获得的参数共同驱动种子文件,从而获得所需的组件。因而在编制通用机械 标准件的程序时采用如下方案,在这里我以六角头螺栓(部分螺纹)为例来说明该技术 方案: 1)种子文件思想,即:在UGNX2中为六角头螺栓建立一个3D模型,在后面的步 骤中把该种子文件载入、另存,修改六角头螺栓参数并更新模型后就得到新的六角头螺 栓。 2)全参数驱动,因为六角头螺栓总共需要8个参数才能完全表达螺栓的模型,因而 新建8个参数,并用这个8个参数每一个参数来驱动3D模型。 3)参数配置文件,由于正常情况下,在机械设计手艇中查询六角头螺栓只需要查公 称直径和公称长度,这时只有两个参数,无法完全驱动六角头螺栓3D模型,如果把8 个参数全部在用户界面内选择,系统将会变得十分复杂,也不符合工程习惯,因而在这 里采用配置文件方案,即:在用户界面内只选择六角头螺栓公称直径和公称长度两个参

新疆大学硕士研究生学位论文

数,其余参数写到一个配置文件中,由程序来查找公称直径和公称长度所对应的其它参 数。参数配置文件如图4.7所示。 4)利用程序来计算六角头螺栓的螺纹长度,通过总结机械手册中螺纹长度和公称长 度的关系,得到可以用程序来计算螺纹长度的结论,因而可以编写一个子程序来计算螺 纹长度。 5)修改表达式的值并更新3D模型,在用户界面内得到2个参数,在参数配置文件 中得到5个参数,利用4)中的子程序得到螺纹长度参数,用这8个参数来修改3D模型 的所有表达式并更新模型。

图4.7六角头螺栓的参数配置文件

新疆大学硕士研究生学位论文

1.程序流程图 根据上述方案得到如图4.8所示的生成六角头螺栓的程序流程图

(启动UG NX2)
l选择公称直径、公称长 f度以及螺纹的显示类型

I载入种子文件I


另存为用户文件l
打开参数配置文件 并获得相应参数


处理上步的参数

用参数修改表达式
并更新3D模型

图4.8生成六角头螺栓的程序流程图
在本系统中的所有零部件的生成都是要经过一系列的选择步骤的,比如生成六角头 螺栓就要经过以下的步骤: 在系统菜单中选择六角头螺栓一选择公称直径_选择公称长度_选择螺纹的显示类 型,最后修改六角头螺栓的参数并更新3D模型得到新的六角头螺栓。 下面给出生成六角头螺栓的步骤图,如圈4.9所示;

新疆大学硕士研究生学位论文

(a)选择六角头螺栓菜单@选择公称直径

(c)选择公称长度

(d)选择螺纹的显示类型
60

新疆大学硕士研究生学位论文

(e)生成的螺裣模型
图4.9生成六角螺栓的步骤

新疆大学硕士研究生学位论文

第五章电气开关柜三维CAD的应用实例
在本章当中,将会列举出一些本系统的应用实例来说明电气开关柜三维CAD的具 体应用。

5.1

电气开关柜三维CAD工作流程
本系统的工作流程如下:

1.新建开关柜项目在这一步当中会让用户选择项目的路径和项目名称,然后系统
会自动创建相应的文件夹。创建一个总装配文件,并且把项目路径、项目名称、项目路

径全名和总装配文件路径全名放入全局参数文件中,用来防止在由于工作的中断而造成
损失,下次起动系统可以利用这些参数继续前次的工作。 2.选择柜型和柜体尺寸因为电气开关柜的种类较多,每种产品之间都有较大的差

别,因而需要选择每种产品相应的柜型和柜体尺寸,在这里可以直接选择,也可手工输
入。由于工作量的问题,本系统中只能选择GGD系列固定式开关柜。 3.选择电气开关柜梁在电气开关柜中有各种各样的梁,如:门横梁、纵横梁、内 立柱、电缆梁、刀开机构粱、挂料梁、hrroo挂料梁、母排粱、电容器梁等。所有的电 气开关柜梁都可以通过选择标准尺寸和手工输入尺寸两种方式进行操作。还可以选择产 品的保存方式:仅保存和保存并加入到装配文件。在这里还可以测览梁的零件示意图。 4选择电气开关柜门操作方式如3。 5.选择顶板、底板、侧板、隔板操作方式如3。 6选择附件、电气元件因为对于电气开关柜的各种附件和电气元件不需要输入尺 寸,因而操作更加简单,只需要选择产品的保存方式。 7.选择通用机械标准件在这里只需要选择标准件的公称直径、公称长度和螺纹显 示类型等就可自动生成标准件。按照上述步骤,下面给出使用本系统使用过程中的一些 截图,存储模式采用仅保存,标准类型采用标准粱。

5.2电气开关柜三维CAD的应用实例
按照上述步骤,F面给出使用本系统使用过群中的一些截圈,存储模式采用仅保存 都采用标准类型。
62

薪群大学硕圭研究生擎位论交

(a)新建开关糨项目

(b)选抒柜型和桓体尺寸

新疆大学硕士研究生学位论文

(c)选择电气开关柜梁

(d)选择电气开关柜门

64

新疆大学硕士研究生学位论文

(e)选择顶板

m选择附件

新疆大学硕士研究生学位论文

(心选择电气元件

fh,选择逢鹾扼槭标准件

新疆大学硕士研究生学位论文

(i)经过装配得到的电气开关柜的产品图 图5.1电气开关柜三维CAD的工作流程截图

新疆大学硕士研究生举位论文

第六章寝羧装酝鳇硬究
本系统中所完成的主要工作集中在参数化驱动部分,对于虚j薹{装配涉及的较少,本 系统在装配帮分完成斡主要工{#有:怠#建息装配文{串,§l够在王作时把零帮仕鑫动加入 到总装配文件中,能够潮断装配文件是否打开。 本系统预期完成的工作是包含自动装配的,怛由于工作量和开发难度的l_i}题,没用 褥鞋实现,下面就给出一些虚拟装配盼思想。 在UG NX中装配怒一个重要豹组成部分。谯正常的操作中,可以翻霸UG NX提供 的装配功能手动完成装配,但借助于UG/OPEN API的功能不但可以完成手动装配的功 能甚至可默竞成皂动装配。剥眉UO/OPEN AP!霹娃完成的装瓤攘作包括:袈配对象的 访闽、装配配台条件搽侔、组释薛捌、组搏弓l焉集操作、零{唪旅辣{#和曝簿锶臻操作。
UG

NX的虚拟装配与产品的实际装配是不同的,并不是将一个模型所有的数据完整

地复制过来,蕊只是建立装配模型与被弓l是的每~个零件闻建立弓l用关系。康攒装配不 覆减垂>了敷据冗余,翁照使装配模繁具有相关毪,帮一旦蟹设,装配模型裁可楚之得到 更新。 本誊内容主要赍蝌如何利用UG/OPENAPl避行常见的装酿操作。

6.1装配操作的藻本概念
l装耗中静专建术浯 在UG Nx的装配中,经常会用到一些专业术语,下面对避些专业术语进行一些介
绍:

Tag:UG}Ⅸ孛瓣对象标谈,对象可鞋是辩盼、实铡稼袭这式。在UG NX中是苓
能用程序直接访问对象的,只能通过访问对象的标识才能对对黎进行操作。
Piece

Pan:单个零部件,是装配中最基本的元素。

0e∞獬ne。:垒多个零帮{孛被瓣入到~令装瓣中;系统率在装配孛拷基零帮辞和冀
中的对象,而是将零部件加载到内存,并将零部件的事件放入到装配中。 Object Occurrcnce:零部件中的每个对象都会在装配中有一个对应的对爨事例。 instance:当缝掌}教入裂装配孛蓐,象俸恭髂为赛舞。
Muti level:装配可以是多层的,即装配中可以有子装配。
Componem

Part:在装配中的组件。~个组件可以是单个零部件,也可以是一个子
SS

新疆犬学硕士研究生学位论文

装配。在靛配中的组件仅仅包含一个指向主模型的链接。当一个组件的几何形状发生改 变君,箨么装配孛瘊有使糟该装配鳇铤锌籍会鑫翁更薪。 Prototype:一个事件的主几何体。
Reference

Set:在复杂装配中,为简化组件袭丽定义的有名字的集合。

Displaypan:当嚣照暴在窗疆串镌模型。可錾是一个零都孛},也可答是一个装琵。 WorkPart:建模过程中正在被使用的组件文件。 2.坐标系 在UG NX孛羲垒耩系是壹6个浮点数缀藏翦矩簿毒奄或。6个浮点数对盎u『嚣巾莘垃 向量:第一个向量给出了x轴的方向,第二个向掇给出了Y轴的方向。 当一个实例加入到装配或在装配中重定位时.实例的坐标原点和矩阵被确定下来。 坐标蒙点怒技翘A鳃箨鹣绝对垒稼藩赢或缍锌弓{;;l集疑点在当裁王作帮咎熬袋霉。嚣范 实例的CSYS或者引用集的CSYS被变换,从而使实例的矩阵能反映实例衣当前事例中 的位置。 l’黛舔系矩簿秘交接矩薄 在UG/OPEN API中,坐标茉瓶阵和变换矩阵决定了装配中组件间的相噩位置,具 有非常重要的作用。一些和装配有关的函数使用嫩标系矩阵和变抉矩阵作为输入参数和 输出结暴。在UG/OPENAPI争定义了囊巾术语,宅稍是: ①空间..组件的绝对坐标系所对应的空简,即创建组件时使用韵空间。 ②装配空间..当组件被加入劐装配中后,蛆件所处的空间。 热缀馋坐标系矩晦鞠藏蠢 组件擞标系矩阵和琢点是uG NX装配中的一个重要概念。组件坐标系矩阵包含6 个实数,组件坐标系原点包含3个实数。分别指定x轴Y轴的方向,而z轴嫩标可以利 用x轴静Y轴宾量叉爨褥判。逶:醴灏数UF_ASSEM_ask component_data褥舞的锺传坐 标系矩阵是一个由9个实数组成的斑阵,包含了x轴、Y轴和z轴的方向向艇。当向装 配中加入~个带有引用集的组件时。那么引用集本身也具有一个坐标系。 组髂转换矩阵是一个4x4抟实数印薄,描述了缀髂献宣邑肫模型空斌燮接到当前黪 装配空间的变换矩阵。组件转换矩薛如式衢一1)所示。
csys0 csysl csys2 0 csys3 csys4 csys5 csys6 csys7 csys8 0 ori90 origl {垂l,

OF培2




堑璺盔兰堡兰竺墨兰兰堡笙苎
其中如式(6—2)所示的子矩阵表示将组件从模型空间变换到当前的装配空间的变换 矩阵。
csysO csysl csys2 3 4

临 萄

哪印哪 l}卵娜 印●引—吖


表示式(6.1)中的如式(6-3)所示的向量表示组件的模型坐标系原点在装配空间的坐 标

Or喀0 or培1 or堙2
(6—3)

6.2装配树的结构
1.装配树的组织
UG

NX的装配是以树型结构组织装配中组件和零件的。根据UG NX的定义,一个

部件文件中仅能有—个装配树,即只能存在一个树根。显然,装配树根对于遍历装配树
中的零件是非常重要的,通常是遍历的起点。 下面来说明装配树的结构。如图6.1所示的是一个板联接机构的装配树。其中两块 板为同一部件,两联接螺栓也是同一部件。在说明之前需要介绍装配部件中的3个重要 的部件对象:部件事件、部件原型和部件实例。 部件事件rPart Occu肿ncel是装配环境下对实际存在的部件模型的一种引用,部件事

件也可以理解为指向部件原型的指针。如果需要一次或多次装配一个部件,并不复制该
部件的原型,而是建立该部件的原型所对应的事件。在装配中,不同的部件事件表征不 同的装配节点,因此UGNX赋予它唯一的标识。在图61中,节点Occ_l为根节点事 件,其余为子节点事件,每个装配节点对应着一个部件事件。 部件原型feart Prototype)是真实存在的部件模型,它记录了模型所需的所有数据。当 一个部件文件被多次装入时,将产生不同的部件事件,但这些事件都指向相同的部件原 型。可以看出,部件原型与部件事件之间形成一对多的映射关系。部件事件随原型的改

变而改变,但修改部件事件不会影响它的原型。装配树中的多个部件事件指向同一个原
型,如Occ 3和Occj都指向Pro_3。 部件实例(Pall Instance)是指次或多次装入装配体的部件对象,它描述了装配环境
70

新骚太学硕士研究誊学位论文

下实例之间的层次关臻。用来记录予节点与父节点之问的关联关系的,从而形成各节点 之闻靛瓣凌结撺。部俘事箨{蔓哥鞋瑷解为一释指针,盘下级帮件事静指彝土一缓都{孛事 件。因而部件实例与部件事件之间骺成一对多的映射关系,即不同的装配节点可能具有 相同的装配关系,如:Oee_6与Occ ll具有相间的实例h屯5。需要注意的时根节点是

隶远是父节点,它军其毫部薛实镁,蠢建报苇患熬辉终实铡标识为NU啦’融G。
装配带点具有相阿部件实例的条件有3个: 1)装配节点具有相同的部件艨裂。 蛰父装配节点不雅籀嚣,鄄父节矗事嚣不鞠。 3)父节点事件指向同一个部件文件,即父节点原型相间。

l;回
图6,1板联接机构装配树
综上掰述,装配审靛节点蠡帮俦瘴蔓、帮{孛事件与鄂佟窦弼3砖对象逛簿箍述。帮 件原型媳实际存在的部件对象,都件事件是装配中引用部件鞭型的部件对象,部件实例 是表达部件事件装配装系的部件对象。冈此,雹们使用不同的标识类型,在使用过程中
7l

新疆大学硕士研究生学位论文

必须区别对待。 2.装配猎的遍历 为了获敬装配树中所有的节点文件的信息,需辨遍历整个装配树。常用的遍历方法 肯定深度优先法与,一度优先法。最常用豹是深度遍掰忧先法,用深度优先遮掰法遍历装 配树豁基本簿法如下:首先获取装配辫校,熊后获取擞的子帮体。对每午子帮件递嫱求 解下一级部件,如此循环,直到子部件为单个零件。 3.装配体中的几何对象 装配体中静死俺对象筏菇实体、寝篚、边赛和顶点等。死傅辩象在装配中菇有两种 形式:对魏第件和对象原烈。不同的几何对象具有不同的对象事件和对象原戮,如表面 对象事件与骧型、边界对浆与原型。几何对象中的事件和原型的篾蒹与部件中灼基本相 麓,对蒙器登是指位子部俘藩型孛真实存在静尼俺辩象,对象事粹是装配环境F对对象 原型的一种;I用。 4.部件的装入和配台关系的创建与编辑
UG

NX中一个完婺静装配过程分为两帮分:部佟的装入、部停闻嚣台关系豹龟l建。

一般使用UF_ASSEM addjoart30 assembly0来安现在装配体中装入一个部件的功 能。在一个装配过程中,装配部件以指定的位置和姿态装入到]=作部{牛的指定蔗中,从 纛实瑾了辩{串与工{挈部蒋黪上下缀装酝关系。帮辞靛入装配髂疆蠢,莓礁对象避行一系 列编辑操作,如:重定能、更名、移除、抑制和非抑制等。 装配中备部件间的配合关系是通过装配约束关系采实现的。装配约束是搀~个部件 舞是一个帮锌懿约寨,攀帮掌}A琵台戮燕金B,黧部孛}A拣为生动释,帮释B禳为被 动件。在约束求解过程中,被动件在装配空间中的位置固定,主渤件将变换娶卷到装配 约束的位鼹上。注意:组成配合关系的约束之间不能存在几何关系上的矛盾,并且装配

关系不麓形裁雉嚣定义,辩部{孛A配合翳帮锌B一乏筋辩媛,甭齄在定义帮黉B配台裂
部件A上。 可以将装配约束关系定义为MR=<MT,MS,^钟>。其中,MR为装配约束关系, MT为终藏黉型,MS为终寐二}类型。13G NX提袋靛装配钧素莛幕龟捱M哦<魅台,、 ~《皿(对齐)、Angle(角度)、Center(对中)、Paiallel(平行)、Perpendicular(垂直)、Distance(IfE 离)和TangenI(相切)等。 空橱孛黟每个都棒都蕊青6争蠡瘫度,萁孛色拯3令旋转龟交发秘3个平移童鸯度。 在装配过壤中针对不同的部件可以采用全约束和部分约束的方法。在工程应}Ij牛,一个 零件要实现在装配中的约来定位通常需要2个到3个约束序列。

新疆大学硕士研究生学位论文

配合关系的创建过程如下: 定义约束关系一求解约束_应用约束到装配体一更新模型。 在约束创建完成后,可以对己存在的部件配对条件进行一系列编辑操作,如检查、 读取、抑制和删除等操作。

6.3自动装配实例
利用UG/OPENAPl开发具体产品的应用系统时,常常遇到如何建立零件问装配约 束关系的问题。如何实现零件间自动装配,是开发应用系统的难点之一。 下面将给出一种自动装配是思路和实例。 1.装配约束关系的简化 在实际应用中,装配约束的配合类型有Mate(贴合)、Align(对齐)、An#e(角度)、 Center(对中)、Parallel(平行)、Perpendicular(垂直)、Dist¨ce(距离)和Tangent(相切)等7 种类型。用于装配约束的对蒙类型有面、边、基准面、基准轴、点、线、曲线、坐标系 等多种形式。为了便于数据描述,可将组件间的装配关系做了适当的简化,如图6.2所 示,该例中,将零件间的装配约束关系简化为两组件间三个基准面的贴合或对中的装配 约束类系。其中,图(b)中X,Y,Z为对应部件中的基准面名。

(a)简化前的装配约束关系

(b)简化后的装配约束关系 图6.2装配约束关系的简化
简化绸仆装配约策关系后,将主动绸件的部件名、组件名与对象名
73

新疆大学硕士研究生学位论文

件名、组件名与对象名,咀及装配约束类型等信息保存在0DBC数据库中。在系统加载 部件时,可根据数据库中的装配信息,实现组件的自动装配。 2.自动装配的实现 1)主动件的加载 使用uF_AssEM—add_parljo—aSsembly0函数即可将部件加载到装配体。其中,要 注意父部件的部件标识、加载部件的部件名、加载部件的组件名和加载部件的实例标识 的区别。 ∞主动、从动组件事例标识的获取

主动组件的事例标识可以通过uF_AsSEM一勰barL幔oLinn O函数直接获取。从
动组件事例标识的获取较为繁琐,其步骤为: ①确定从动组件的部件标识: ②获取从动组件的所有事例标识; ③匹配事例标识对应的组件名与从动组件名,确定从动组件的事例标识。 需要注意的是,在同一装配中,部件名相同的其组件名不能相同,组件名相同的其
部件名不能相同。

3、约束对氰标识的获取 获取用于建立装配约束关系的对象标识的步骤为: ①将对象所在部件设置为工作部件; ②利用UF
OBJ

cycle_by一Ⅱame获取对象标识。

同样需要注意的是,在同一部件中,对象名应唯一。 4)装配约束关系的建立 建立组件问的装配约束的步骤为: ①定义装配约束,即填充结构uF-奠,SSEM_constralm ②利用函数UF-ASSEM ③利用函数UF ASSEM
solve
s;

mc0:求解约束; O将约束应用到装配体上;

④利用函数UF_MODL,pdateO删,以反映模型变化。
apply me_data

新疆大学硕士研究生学位论文

第七章结论与展望
本文提出了电气开关柜CAD总体设计方案,论述了三维实体造型技术的基本理论 及参数化特征造型的基本方法;研究了UG NX二次开发方法,获取了UG NX二次开发

的完整实施进程:最后给出应用实例一电气开关柜三维CAD。该系统使用只需要初级的
UG操作知识,适合电气开关柜产品的开发和已有产品的快速修改设计,在加快电气开 关柜产品的设计速度、节省设计时间方面将会取得很大的成效。本课题在论文阶段实现 如下预期目标: 1.获得实现本系统的UGNX的二次开发方法及实现途径。主要包括用户界面设计、 用户应用程序设计及接口研究,具体内容如下: 1)实现基于VC++6.0开发平台与UGNX应用程序接口; 21实现UG NX主菜单Menuscript用户定制;

3)实现UG Nx对话框1JG,OPEN U1Styler可视化设计应用;
4)实现电气开关柜的UG/OPEN API程序三维参数化驱动造型。

2.建立和开发专用CAD软件一电气开关柜CAD系统,实现电气开关柜产品的快速
造型,提高了电气开关柜的设计质量与速度。系统界面简洁直观、操作方便、具有良好 的人机交互及可扩充性和移植性。
UG

NX是大型CAD/CAE/CAM一体化集成软件平台,作者在CAD方面作了大量工

作,在CAE方面仅仅作了初步研究,由于时间和水平的局限,还存在许多不足之处。在 今后的工作中,可在该系统的前端加入与二维CAD(如Auto

CAD等)的接口,这样可以

把电气开关柜的电气设计与机械结构设计结合起来,使该系统更加符合客户的需求。在 系统的后端,也就是在快速建模的基础上,进一步实现智能装配、常用标准图库的完善、 工程图的标注、典型零件智能设计等用户功能集成,并在图档管理及PDM方面进行用 户化。 本电气开关柜设计软件的设计,针对最终用户,它具有如下特点: 1)内容较全面,使用方便,简单易学。 ∞用户除了可选择参数来调用各种型号的标准零部件外,还可以输入参数对一些非 标零部件进行参数驱动,生成需要的零部件,以满足特殊的需要。 3)零部件参数化:把零部件做成参数化驱动的三维模型,用它来作为种子文件,可 以快速生成新的实体,占用存储空间小。 41界面形象直观:操作界面使用对话框.可以使用户在众多的常剐零部件和通用机
75

新疆大学硕士研究生学位论文

械零部件中快速准确地挑选出自己所需要的零部件。 今后可在此基础上进一步开展如下研究工作: 1.在本系统的前端添加与二维CAD软件(如Auto CAD等)的接12 本系统主要针对的是电气开关柜的总体结构进行设计的,没有考虑电气方面的设计。 如果在系统前端加入与二维CAD软件的接口,这样可以把电气开关柜的电气设计与机 械结构设计结合起来,使该系统更加符合客户的需求。 2继续添加非常用标准件及通用件的参数化库。 由于工作量是问题,本系统中只完成了GOD系列固定式开关柜的零部件库、部分

电气开关柜附件库、部分电气元件库和部分通用机械零部件库的建立。这样是远远不能
满足企业的需求的。本系统的架构已经搭建完毕,需要后续的大量零部件库的填充,使 本系统更加完善。 3.加强三维图形与二维工程图之间的转换。 目前三维图形还需转化为二维工程图作为加工依据,在本系统中已经可以实现二维 工程图尺寸与三维图形的参数相关鞋,自动生成标题栏等功能。还需要在后续的工作中 完成粗糙度符号、形位公差符号、焊接符号的自动生成工作,使得到的二维工程图更加 符合企业加工的实际需求。 4.针对设计对象建立设计过程程序。 建立电气开关柜部件自动装配程序,提供装配及干涉分析报告。某些典型零件的设 计有着一套较为规范的步骤,但每一步又涉及到许多复杂的计算及相关设计资料的查询,

建立一套CAD程序,大大提高设计速度,或引进人工智能及优化设计技术,提高设计
质量。

新疆大学颤士研究生学位论文





经过一年多的资料准备、调研和相关知识的学习,尤其是最近半年的努 力,本人的毕业设计和学位论文终于完成。本人的毕业设计和学位论文是在 我的导师孙文磊教授的精心指导下,依托新疆科力先进制造技术有限责任公 司的软件和新疆奎屯电气开关有限公司的电气开关产品数据的基础上完成 的。 我衷心的感谢导师孙文磊教授在论文完成过程中所给予的悉心指导、热 情关怀和孜孜不倦的帮助。渊博的知识和严谨的学风永远值得我学习。从论 文的初稿的形成到最后的收尾工作中,都给了我很多有用的、重要的指导和 建议。同时,在三年的学习生活中,也给予了我很多的关心和帮助。 我要真诚的感谢新疆科力公司的李力总经理、张科总工程师、陈新平工 程师、鞠俭工程师、冯新虎工程师以及公司其他的员工,在我近两年的兼职 期间为我提供的许多专业上的帮助和指导,参与或独立完成了公司的多个项 目,使我的专业水平和计算机水平大大提高,并使我学会如何与同事相处, 学会如何与其他厂家和公司接触和交流。感谢新疆奎屯电气开关有限公司的

生志远总工程师,王芳工程师,周元安工程师,在我调研期问给我提供了许
多方便和有用的电气开关柜方面的知识。我还要真诚的感谢南京优仿软件公 司的周益明工程师,在编程中给予我的指导和帮助,这在我编程的过程中起 到了十分关键的作用。以及“UG二次开发”群联盟中众多不知名的网友通过网 络给予我的无私帮助! 在此我还要真诚感谢我的同学王新、付伟、邱兴克、袁杰、石永芳、孙 利峰等同学,在我三年的学习和生活中,从他们身上,我学到了不少的知识 和道理。

最后要感谢我的父母,我取得今天的成绩离不开他们的关心和支持,希 望论文的顺利完成能够使他们感到欣慰。
作 者

2006年05月30日

新疆大学硕士研究生学位论文

参考文献
f11洪如琏编著,UG CAD快速入门指导,清华大学出版社2002。1 【21严翼飞编著,UG镢金设计培训教程,精华大学出版社2002.9 【31黄翔、李迎光编著,UG应用开发教程与实例精解,清华大学出版社2005.4 【4】董正卫、田立中、付宜刹编著,UG/0PENAPI编程基础,清华大学出版社2002.8 耳}王庆林编著,UG越FENGRIP使用编程基础,清华大学出版社2002.1 【6】6夏天、吴立军编著,UG二次开发技术基础,电子工业出版社2000 【7】王明强、赵良才编著,UG二次歼发中建库接口技术研究,2004.1 f81徐凯、;妊裕中,CAD二次开发技术l、11,《包装与食品机械》200402 t观范元勋、庄亚红、王华蚌,UG 22次开发王其的使用,《电气技术与自动化》2002,6 【lO】李玉胜,孙毁柱,UG软件的二次开发研究与应用,《淄博学院学报》2002.2 f11]胡道中,微机平台的UG二次开发技巧,{CAD/CAIvl计算机辅助设计与制造》,2000.1

f121胡遒中,基于vc¨的UG二次开发技术,《UG99用户年会论文集》1999.10
f131曾向陌,TOG二次歼靛的过程与方诖,{(UG99硝产年会论文集》1999.10 [14I曾向阳、谢国明编著,UG NX高级开发实例,电子工业出舨社2004.I 【151殷国富、陈永华编著《计算机辅助设计技术与应用,科学出版社2000 f161孙家广编著,计算机辅助设计技术基础,第二版, 清华犬学出版社2000.9 {171孙家广等编著,计算机留形学,第三版,精华大学出版社2002.1

118】杜宏伟,UG二次开发及其在包装容器。蛐中的应用,硕士学位论文。2001.5
f19]周字峰,基于UG的三维参数化标准件库开发方法的研究,硕士学位论文,2003.5 f2。1张磊+UG参数化设计微波器件建库模块的研究与开发。硕士学位论文,2004.3 f21】谭浩强编著,C稳序设计(第二版),清华大学出版社1999,.12 c++6编程技术内幕,机械工业出版社,2000.2 f23j郑章,搓嚣8等编著,Visual c¨&O数据库开发技术,机械工业出版社,1997.7 f24]王焱,UG/OPEN API在CAD/CAPP/CAM集成系统开发汇总的应用,{UG99用户 年会论文集》,1999.10 f251郑苹、程刚等编著,Visualc++6.0数据库开发技术,机械二【=业出版杜19977
f261 Visual c++开发德麓手册,机械二}=业出版社。1997

【22】EugeneOlafsen,KennScfibner&KDavidWhite著,王建华,陈一飞等译,敞Visual

【27】严蔚敏,是伟民编著,数据结构,清华大学出版社,1999 『28]机械设计手册,第3卷,机械工业出版社,1991.9 f291N明机械设计手册,机械工业出版社.1997.10 f30]中国匿家标准分粪汇编,视械卷S。中国标准出版社,1993 [31】Carl
Machover,Four Decads of Computer



Graphics,Computer

Graphics

and

Application,Nov 1994

【32】Computer Aided

Design Report,Follow—up

on

Parametric Technology,1990
mudy of expandable polystyrene

133]№SV,L

Tor

SB

Lee

sG,Pammetrk
78

新群走学硕士研究生学位论文 foamprotective,1998

[34l
1998

Richaid cLeinecker&Tom Archer,Visual C*+6 Bible,IDG t300ks

worldwide,lnc,

f351 mGrabowski,S*Rude

etal,New Developments in CAD Concepts,1992

f36J Shin,ttayong;Oiling,GustavJ.;Chuag,Y仰c;Kinl,B0 I-I.;Cho,Su
Issue:乏Febraary,2003

IC,加integrated

CAPP/CAM system for stamping die pattern machining,Computer-Aided Des谗l Volume:35,

f3 7]Ouinn,James Brian;Bamch,Jordan J.;Zien,Kaieu Aisle,SoftwⅡe-Based
The Joumal ofProductInnovaⅡonManagementVolume:14,Issue:3,May,1997

Imaovation,

【38】UG/OPENAPIReference,UaigraphiesSolutionsInc.VersionNX2004

【39】UG/OP搿GRIPReference,UnigraphicsSolutionsInc.VersioaNX2004
【40】UG/OPEN UIStyl∞User Guide,Unigraphics f41】uG,0PENAP】Programmer’s }42】UG/OPEN
Menmscript User
Guide Solutions JⅡc.Version NX 2004 Ine,Version NX 2004

Unigra#ics Solutions

Guide,Un嘻啦溉Solutions

lnc.Version NX 2004

堑篓杰鲎堡主墅茎妻堂堡笙皇

攻读硕士学位期间所发表的论文
强瑷藁餮文磊陈薪平葛窳芳,莲彝王鞣技术在《涵镑跫工具并发孛戆应用 《机械工程师》,2006年1期。

电气开关柜三维CAD的开发与虚拟装配的研究
作者: 学位授予单位: 张汉国 新疆大学

参考文献(42条) 1.洪如瑾 UG CAD快速入门指导 2002 2.严翼飞 UG钣金设计培训教程 2002 3.黄翔.李迎光 UG应用开发教程与实例精解 2005 4.董正卫.田立中.付宜利 UG/OPENAPI编程基础 2002 5.王庆林 UG/OPEN GRIP使用编程基础 2002 6.夏天.吴立军 UG二次开发技术基础 2000 7.王明强.赵良才 UG二次开发中建库接口 2004(01) 8.徐凯.张裕中 CAD二次开发技术(Ⅱ)[期刊论文]-包装与食品机械 2004(2) 9.范元勋.庄亚红.王华坤 UG二次开发工具的使用 2002(06) 10.李玉胜.孙殿柱 UG软件的二次开发研究与应用 2002(02) 11.胡道中 微机平台的UG二次开发技巧 2000(01) 12.胡道中 基于VC++的UG二次开发技术 1999 13.曾向阳 UG二次开发的过程与方法 1999 14.曾向阳.谢国明 UG NX 高级开发实例 2004 15.殷国富.陈永华 计算机辅助设计技术与应用 2000 16.孙家广 计算机辅助设计技术基础 2000 17.孙家广 计算机图形学 2002 18.杜宏伟 UG二次开发及其在包装容器CAD中的应用[学位论文] 2001 19.周宇峰 基于UG的三维参数化标准件库开发方法的研究 2003 20.张磊 UG参数化设计微波器件建库模块的研究与开发[学位论文] 2004 21.谭浩强 C程序设计 1999 22.Eugene Olafsen.Kenn Scribner.K David White.王建华.陈一飞 MFC Visual C++6编程技术内幕 2000 23.郑章.程刚 Visual C++6.0数据库开发技术 1997 24.王焱 UG/OPEN API在CAD/CAPP/CAM集成系统开发汇总的应用 1999 25.郑章.程刚 Visual C++6.0数据库开发技术 1997 26.Visual C++开发使用手册 1997 27.严蔚敏.吴伟民 数据结构 1999 28.机械设计手册 1991 29.简明机械设计手册 1997 30.中国国家标准分类汇编,机械卷5 1993 31.Carl Machover Four Decads of Computer Graphics 1994 32.Computer Aided Design Report,Follow-up on Parametric Technology 1990 33.Lye SW.Tor SB.Lee SG Parametric study of expandable polystyrene foamprotective 1998 34.Richard C Leinecker.Tom Archer Visual C++ 6 Bible 1998

35.H-Grabowski.S-Rude New Developments in CAD Concepts 1992 36.Shin Hayong.Olling Gustav J.Chung Yun C.Kim,Bo H, Cho,Su K An integrated CAPP/CAM system for stamping die pattern machining[外文期刊] 2003(02) 37.Quinn James Brian.Baruch Jordan J.Zien Karen Anne Software-Based Innovation 1997(03) 38.UG/OPEN APl Reference 2004 39.UG/OPEN GRIP Reference 2004 40.UG/OPEN UIStyler User Guide 2004 41.UG/OPEN API Programmer's Guide 2004 42.UG/OPEN MenuScript User Guide 2004

本文读者也读过(10条) 1. 陈景波.张艳秋 电气控制系统CAD软件SuperWORKS的研究[期刊论文]-农机使用与维修2009(3) 2. 开目电气CAD--智能的电气CAD系统[期刊论文]-CAD/CAM与制造业信息化2001(2) 3. 王士勇.宋彬.WANG Shi-yong.SONG Bin GFW开关柜改型研究及应用[期刊论文]-煤炭技术2008,27(6) 4. 谢文君 高开断大电流开关柜在电力工程中的应用[期刊论文]-金山2010(10) 5. 刘铁 电气CAD系统的研究与开发[学位论文]2006 6. 朱江 电气原理图识别与智能化设计方法研究[学位论文]2006 7. 汤华涛.吴新跃.TANG Hua-tao.WU Xin-yue 基于UG NX6.0的弹性元件的虚拟装配[期刊论文]-机械工程师 2009(12) 8. 刘雪梅.LIU Xue-mei 使用电气CAD实现自动化设计[期刊论文]-陶瓷研究与职业教育2007,5(2) 9. 阎光伟 电力公司职工CAD电气制图培训[期刊论文]-中国电力教育2008(14) 10. 姜信建 电气模块CAD/三维CAD的开发应用[期刊论文]-新技术新工艺2005(6)

引用本文格式:张汉国 电气开关柜三维CAD的开发与虚拟装配的研究[学位论文]硕士 2006


相关文章:
链传动的三维虚拟装配与运动学模拟在Pro
本文讲述了链传动的三维虚拟装配与运动学模拟在 Pro/ENGINEER 软件中的实现方法,...对三维软件和计算机硬件的 配置提出了很高的要求,在通用 CAD 三维软件中进行模拟...
虚拟装配技术的研究与应用现状
了一个基于知识的虚拟装配系统 CODY[10],允许设计者通过三维操作,进行产品装配...清华大学国家 CIMS 工程 技术研究中心基于 CAD 软件平台 Pro/ENGINNEER 开发实现...
虚拟装配技术研究现状及其发展
缩短开发周 期,降低成本,从而实现产品的并行开发,...三维实体模型为基础,借助虚拟现实 和研究C A D...包括装配或拆卸顺序 DOWN 的 CAD 技术,可以实现零件...
虚拟仿真在装配技术中的研究
2. 虚拟装配技术介绍 2.1 三维建模与造型 零部件的虚拟三维建模与实体造型是...通过 CAD 系统提供的二次开发接口进行 数据转换 将 CAD 系统中的零件信息以...
基於proe系统的虚拟装配研究
波音 777 飞机项目顺利完成的关键是依赖三维数字化设 计与集成产品开发团队 IPT...虚拟装配技术如果要实现行业 CAD/CAE/CAPP/CAM 技术的 有效集成和厂所之间的...
浅谈虚拟装配设计系统的特征及意义
中参数设计的修改; (8)虚拟装配信息到 cad 信息的...装配模型中的几何实体信息、三维几何配合约束信息、 ...浅谈电气控制系统设计及... 暂无评价 3页 ¥3....
虚拟装配技术
在许多世界级大企业中被广泛应用的计算机辅助三维设计(CAD)的高端主流软件 UG (...为了让基于 Top-down 虚拟装配技术设计的产品方便支持后期的开发和研究,本 文在...
虚拟装配技术
利用虚拟现实技术将设计的产品 三维模型进行预装配, ...统的研究和开发,他们开发的第一个虚拟装配规划原型...? 1 位粉丝 型;虚拟装配系统依赖于 CAD 装配建模...
开题报告
三维设计及凸模的 NC 加工 一、选题的目的及研究...研制开发新的武器系统提供了思路 :即利用虚拟原型技...CAD&CG 国家重点实验室设计的虚拟装配设计系统「9'...
基于ProE电风扇虚拟装配与运动仿真
虚拟装配的理论关键技术进行了研究,包括产品的三维建模、 装配约束、干涉检测...设计制造(CAD、CAM等)、计算机辅助工艺过程设计 (CAPP)等工具和系统得到了开发...
更多相关标签:
开关柜装配流水线 | 上海开关柜装配流水线 | 开关柜电气原理图详解 | 电气开关柜 | 高压开关柜电气符号 | 电气开关柜模型 | 西开电气开关柜附件 | 高低压电气开关柜 |