面向对象方法在专用CAD系统建模中的应用
发布时间:2012-03-31
作者:
数控
来源:360cnc
随着市场竞争的日益激烈,如何提高产品设计效率,适应快速多变的市场需求已成为企业十分关注的问题。正因如此,计算机辅助设计已成为设计中必不可少的工具。随着基于几何模型的CAD系统的日趋完善,人们对于计算机 ...
随着市场竞争的日益激烈,如何提高产品设计效率,适应快速多变的市场需求已成为企业十分关注的问题。正因如此,计算机辅助设计已成为设计中必不可少的工具。随着基于几何模型的CAD系统的日趋完善,人们对于计算机辅助设计系统的要求也越来越高,于是提出了产品模型的概念,希望它能对整个设计过程给予全面的支持。事实上,由于实际情况的复杂性和多变性,产品模型基本上还停留在理论探讨的基础上。实际的需求与理论上的滞后导致了人们另求出路。于是,设计一个在一定程度上能实现产品装配模型的专用CAD系统,开始成为许多有特定设计过程的企业的自然选择。本文通过对一个面向产品模型的专用CAD系统的设计实例来展示如何用利用面向对象的方法作工具以实现此目标。
1 设计实例——空调机柜CAD系统
空调机柜是大型中央空调机必不可少的组成部分。它主要由风机室、盘管室、混气室等组成,并为空调机提供一整套热交换设施。通过风机室抽取外部空气,在混气室混合,然后在盘管室中与空调机进行热交换。大型空调不同于家用空调,它不是批量生产的产品,往往是单件产品,一般由空调机柜生产厂家根据用户的不同需求,去设计定制和组装。由于不同的安装形式和安装地点、不同的设计参数(如功率等的要求),形成了产品图形基本相似,但局部小结构有所不同,尺寸也是各异,规格品种复杂多样的特定设计过程。对于每一个用户,企业必须设计多套全新的图纸,费时费力,使得设计能力往往跟不上实际生产能力,无法满足用户需求。为此厂家希望能有一个专用的基于产品模型的CAD系统,达到以下的功能: 。 根据用户的需求自动生成原始装配图; 。 能够在装配图上以零件为基本元素进行交互式的修改,并自动维护装配关系的一致性,三维视图的一致性; 。 能够根据修改后的装配图,自动生成加工信息,如工艺卡、NC代码等。
2 面向对象方法的选择
面向对象方法建立在任何事物都可以用对象来表示的基础上。在系统分析和设计时,对象将数据和对数据操作行为结合起来,作为一个集成的整体来对待。对系统的修改只需改变和增删一些操作,其基本的对象结构并不发生变化。面向对象分析方法中的对象是客观世界对象的直接映射,采用面向对象方法进行分析、设计的系统,比采用面向过程的分析方法设计的系统更易理解,增强了系统的可维护性。 面向对象方法的优点使它适应了现代软件工程的需要,也使它非常适合于产品装配模型的设计。对象是计算机语言对客观事物的抽象;对象之间的基本关系,如关联、依赖、包容、继承等,则是对客观事物之间纷繁复杂关系的抽象。在产品模型的过程设计中,将机械零部件直接映射为对象,将它们之间的装配关系映射为对象之间的关联是一种非常直观的表示方法。在系统设计中,可以更加侧重于用如何用计算机语言来对现实世界进行精确的描述,而不是对数据的处理,使得整个设计过程更为自然。 根据我们的实际情况,决定在基于参数化的二维CAD系统上进行二次开发,采用面向对象的方法来进行建模。 现在国内较为流行的面向对象的设计方法有OMT,BOOCH等,本设计采用基于UML的ROSE建模工具。各种建模思想各有侧重,然而它们的基本思想是一致的,在这里重要的并不是采用何种面向对象的建模方法,而是如何在计算机中对客观世界进行抽象的描述。
3 专用CAD系统的设计
3.1 系统的原理结构 图1为经简化了的专用CAD系统的基本模块划分及其功能示意图。其中: 规则库:由厂家多年的生产经验积累而成。它包含了在不同型号、不同要求情况下,各零部件的尺寸、位置的生成规则。是自动出图的关键。
图1 空调机框专用CAD系统示意图
推理器:从规则库中提取规则,进行分析,并生成零部件的三维模型。 三维模型:它是整个专用CAD系统的核心,不仅包含零件的几何信息,还必须包含零部件的装配信息、生产信息等一切有用的信息,是零部件在计算机中的映射。 二维视图:它是零部件在一个平面上的投影,是在图纸上进行交互修改的基本单元,三维模型与它形成一对多的关系。 消隐模块:根据三维模型,对于灵便的二维视图进行通用消隐和特殊消隐。 加工信息产生模块:根据三维模块产生加工信息,如CN代码。 3.2 建模部分的具体实现 以下对于设计和实现中的一些关键点分别进行论述。 (a) 规则库的建立 规则库是图纸自动生成的关键,也是厂家多年生产资料的建库,这些资料以实例的形式存储(关于实例的查询,限于篇幅在此不作讨论)。下面以经简化的空调机柜的主要零件——角铁为例,说明本系统组建实例的基本思想: 实例名:实例的名称。 室类型名:空调机柜室名,如前面提到的风机室、盘管室等等。 生成规则:相当于规则的IF语名,当条件满足时,才根据规则中的信息建立角铁实体。 角铁ID:纪录要生成的角铁的ID号,供其它角铁(面板或其他零件)对它进行引用。 头部相连角铁ID,尾部相连角铁ID:记录角铁的装配关系。 尺寸计算式:记录角铁的各个尺寸的表达式。 经检索后的实例,根据其中每一个零件的信息生成装配图。 (b)三维模型 三维模型是整个CAD系统的核心,是连接各个模块的枢纽。是计算机语言对零件的抽象描述。三维模型所需要纪录的信息分为以下几类: 几何信息:记录零件的空间位置; 装配信息:记录零件与其他零件的装配关系; 生产信息:记录零件的加工信息,如尺寸等; 绘图信息:说明零件如何在图纸上表达自身。 三维模型不仅是信息的记录者,更是信息的维护者。各种信息之间存在着复杂的约束关系,它们之间一致性的维护理所当然地由三维模型负责。例如,当用户在图纸上改变了零部件中一个视图的位置,其他两个视图也必须作出相应的修改,这必须通过维护绘图信息与几何信息的一致性来完成。再如当一个零件的位置或尺寸改变时,与它有装配关系的零部件也必须作出相应的修改,使装配关系继续得以保持。这就必须维护装配信息与生产信息的一致性。下面以经简化的角铁对象为例,说明角铁三维模型的设计: class JT { 几何信息: Point1,Point2:角铁的两个定位点在空间的位置 Rotation:角铁在空间的旋转角度 装配信息: HeadID,TailID: 与角铁头尾相连的角铁的ID号 JointIDArray:与角铁中部相连的角铁的ID号序列 生产模型: Width,Length,Thick:角铁的三个最基本的尺寸参数,宽度、长度与厚度 绘图信息: ViewID[3]:角铁的三个视图(顶视、俯视、左视)的ID号 维护几何信息与绘图信息的操作: TranslateViewToModal():将模型中的一个点转换为某一视图中的一个平面点 TranslateModalToView():将视图中的一个点转化为三维空间点 … }(c) 装配关系的表达 零部件之间的装配组成关系可以通过对象间的关联、继承、包容加以抽象表示。角铁之间的连接关系是一种关联,室与角铁之间的关系是包容等等。 (d) 系统模型的建立
图2 面向对象系统建模图
通过上面的分析,系统建模如图2所示(已予简化)。
4 结语
真正完全实现产品装配的CAD系统,在理论上与实际上都存在着很大的困难;为某一设计定制的专用CAD系统成为了许多厂家自然的选择。本文用成功的设计实例阐明了如何通过面向对象的方法来对专用CAD系统建模,供准备从事面向产品的专用CAD系统设计的专业人员参考。
|