欢迎来到天天文库
浏览记录
ID:10464292
大小:55.00 KB
页数:5页
时间:2018-07-06
《面向对象技术在机械cad中的应用初探》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、面向对象技术在机械CAD中的应用初探
2、第1 传统的机械CAD系统是面向过程的,采用的是结构化的程序设计方法,按功能划分模块,逐步求精地将给定问题领域中的具体任务细化为若干个子任务,定义成基本功能模块,模块与模块之间通过数据进行联系。但是,由于系统的功能是最不稳定的因素,按功能开发的软件系统,若需要修改调整时,涉及面很宽,很多程序代码需要重新实现,难度大且易顾此失彼,从而导致质量问题严重、开发效率低及维护困难。此外,这种方法使得程序结构的实现与人们对客观世界的认识不相一致,未直接反映人们求解问题的方式和方法。相反,面向对象程序设计是一种试图模仿人们建立现实世界模型的程序设计方法,
3、它的着眼点是数据而不是功能。它的设计思路是从确定表征客观实体的对象开始,建立对象之间的层次结构,确定反映对象状态的属性及施加于这些属性之上的操作,对象之间通过消息互相作用和联系,从而形成软件结构。可见这种方式符合人们对客观世界的认识过程。按此方法开发机械CAD软件可克服传统CAD的一些缺陷。1 面向对象的机械CAD的建模分析 面向对象方法的核心思想是将一切客观实体都看成对象,复杂的对象可由较简单的对象以某种方式组合而成。对于一个设计问题,我们可将问题域逐步分解成一组相互作用的对象〔1〕。每个对象都具有它自身独立的含义,这些含义用它的属性特征来描述,属性可分为2类:一是静态属性特
4、征,它描述了对象的状态结构,在程序设计中用数据结构来实现;二是动态属性特征,它是施加于对象上的操作,用来改变对象数据结构的状态,在程序设计中一般用函数来描述定义。对象之间通过消息传递来实现相互作用与联系。在某一时刻,对象和对象间的联系构成了设计问题空间该时刻的既定状态 当对象与对象之间通过消息传递发生相互作用时,即引起对象状态的变化,状态的有序变化就使得问题空间从初始状态过渡到目标状态,从而可以实现设计问题的求解(见图1)。图1 问题空间 从以上分析可见,面向对象技术更符合人们认识事物的过程,使得描述问题的问题空间和解决问题的方法空间在结构上非常一致。因此,将面向对象技术应用
5、于机械CAD的设计是完全可行和有效的。 面向对象的机械CAD的建模分析,是将面向对象技术应用于待开发的机械产品的建模领域,从问题空间出发,以对象作为基本概念,通过对象的确定、分解和分类,建立能用来进行面向对象系统分析的对象关系图。通过数据结构抽象和行为抽象,描述系统的静态属性和动态属性,得到由对象所构成的层次结构,形成对问题领域完整的语义描述,完成机械CAD系统的模型设计。利用一种面向对象的程序设计语言(如C++)将上面建立的模型转换成计算机可接受的形式,完成程序编制,实现机械CAD系统〔2〕。 比如针对减速器设计,通过对象间的组成关系分析,可将复杂对象分解为较简单的对象,得
6、到图2所示的减速器结构分解图,其中底层是不必再分的基本元素。图2 减速器结构分解示意 对各基本元素按对象的抽象程度不同,确定类属关系,得到图3所示的分类关系图。图3 基本元素分类关系 从基本元素的特征分析入手,通过数据结构抽象和行为抽象,描述对象的静态属性和动态属性(以齿轮类为例),如图4所示。这样便得到了减速器对象的类层次结构模型。图4 齿轮类的抽象数据类型 面向对象技术的特性主要包括抽象性、封装性、继承性和多态性,下面分别对其在机械CAD中的应用进行探讨。2 面向对象机械CAD的抽象性和封装性 传统的结构化程序是按功能对设计问题进行分解,在功能上进行抽象,但由于未考虑
7、数据问题,存在缺陷和隐患。在进行程序设计时,一般是先定义数据结构,然后定义操作函数,数据和操作是分离的,在程序中很多地方都有可能直接操作数据,因此当系统出现问题时,很难查出错误所在。 面向对象采用了数据抽象技术,它限制程序对一个对象的数据访问,只能通过其公共界面,而不允许直接操作其数据,这就意味着改变数据的内部表达而不影响使用该数据的程序。这主要是通过封装来实现的。封装性强调的是数据和代码的一致性,将表达对象状态的数据结构定义与对该数据施加的操作封装在一起,对外仅提供必要的表现该对象特征的有关属性,而将该对象的具体实现细节及内部联系隐藏起来,对对象的访问只能通过公共界面中提供的
8、操作函数来实现,且只要保证接口方式不变,内部实现可随意改动而不会影响使用数据的程序,这便保证了程序的安全可靠。当系统不正常时,只能是对象的操作函数出了问题,使程序维护容易。由于模块对外接口关系简单明确,减少了模块间的耦合度,更易实现程序的模块化,提高了模块的可组合性和可复用性。 比如减速器中滚动轴承的设计,用户只需关心轴承的型号,而轴承型号的选择可运用相应的规则通过推理来完成,这便需要将有关轴承类型选择知识的产生式规则作为特殊的属性封装进轴承类中,该规则由推理机来触发,而推理机
此文档下载收益归作者所有