面向对象工程模板数据模型研究
面向对象工程模板数据模型研究摘要:根据冷冲模CAD系统的设计特点,将面向对象思想与模板的知识表达方式相融合,提出了面向对象工程模板,建立了设计与制造活动的有机联系,实现了几何信息与制造信息的集成和分离的对立统一,将复杂对象、层次结构及动态的数据结构用相对简单且组织严密的方式组织起来。 关键词:数据模型 面向对象工程模板 冷冲模
随着计算机辅助设计(CAD)的迅速发展,集成化CAD系统的研制与开发成为当今计算机集成制造系统(CIMS)环境下CAD的发展方向。产品的设计制造过程实质是对信息的采集、传递、加工和处理过程,其本质体现在以信息集成为特征的技术集成和人的集成两方面1。信息集成是指将CAD/CAM/CIMS工程设计中涉及的数据和信息(尤其是图形数据、结构化数据和非结构化非图形信息)集中起来管理。由于工程设计过程的特殊性,设计过程是一个不断反复、试探、选择、完善的过程,会面临大量需要组织的设计数据和试验数据;同时还会因为同一设计对象的多个版本而产生大量的重复数据,这些都给数据组织带来了很大的困难。因此如何及时、有效地组织和管理工程数据成为工程设计人员迫切需要解决的问题。
传统的数据模型工程设计中没有足够的能力表达工程数据的全部语义结构,表达工程数据的数据模型应当具有以下几个方面的特性:
·随着工程设计的逐步深入,设计人员能够定义新的数据类别,并对已有的数据类别进行改进和重新定义;
·可以允许定义静态和动态的数据种类,静态实体属于设计环境的一部分,可用它创建表示设计对象的动态实体;
·在提供基本数据结构的同时,可以建立设计中数据结构的抽象数据类型;
·提供描述复杂对象的数据描述标准框架,使得不同的设计者从不同的角度描述同一设计对象时,它们的视图是相关的;
·在数据模型里可以按照一定的格式描述任意一个产品设计信息及其语义信息,满足设计要求;
·满足设计和生产要求的一切产品都能为数据模型所描述。
1 面向对象与模板
模板的基本思想是从一组相似的事物中抽象出一种框架型的模式,任何一个类似的事物都可作为以模板为超类派生的实例。将模板概念引入到工程CAD领域,这与工程CAD领域的设计特色有密切的关系。工程设计是设计人员具有创造性的思维活动,其特点具体表现在创造性、变异性、模式重复性、绘图工作量大等方面。采用工程模板的设计思想使设计人员在设计的不同阶段都能按照自己的要求进行操作;而面向对象模型可以描述很复杂的事物,并能在统一概念化的基础上处理有关数据。因而把对面向对象模型的研究和对工程模板设计理论与方法学的研究结合起来设计面向对象工程模板,使产品数据信息模型可以从更本质的基础上建立起来。
模板的应用很广泛,如在程序设计语言中(如VC++)引入了面向对象类(函数)模板用于支持程序设计的参数化、多态性。模板函数可以使某个类型范围之内的各种类型的对象达到一些相同或相似的功能,但这种类型要求参数个数相同,因而函数模板适用于函数名相同、算法相同、参数个数相同,只是类型不同的问题。与面向对象类(函数)模板相比,面向对象工程模板有以下特点:
·描述数据的结构信息采用半结构化数据模式,不是对数据结构进行强制性的约束;
·可以利用工程模板的嵌套、层次结构描述具有复杂语义的数据类型;
·数据模式的自描述性;
·可以支持产品全生命周期的信息建模。
图1 冷冲模设计信息的面向对象模板数据模型
2 面向对象工程模板定义
定义1:TEMPLATE::=<IDVERSIONOBJECTSET
RULESETASSEMBLYARRANGESET, STORAGE>其中:ID是模板的唯一标识,VERSION是工程设计的版本号,OBJECTSET是对设计中的对象类集的描述,RULESET是对象之间的约束信息的定义描述,ASSEMBLY是零件装配信息的描述,ARRANGESET描述对象之间的上下、左右相互间的位置信息,STORAGE将对象类集中对象进行存储。
定义2:OBJECTSET::=<NAME><VERSION>
<INHERITCLASSNAME>,<COMPOSEDCLA SSNA ME>,<ATTRIBUTES><RULES><METHODS>其中:NAME是对象类集中的对象类的名称,VERSION是对象类的版本号,INHERITCLASSNAME是该对象类超类的名称,COMPOSEDCLASSNAME是被聚合类的名称,ATTRIBUTES是对象类的属性描述,RULES是对象类内部属性之间的约束描述;METHODS是对象类的方法描述。
定义3:ATTRIBUTES::=<ATTRIBUTENAME><ATTRIBUTETYPE><VALUEEXPRESS>,其中:ATTRIBUTENAME是属性名称,ATTRIBUTETYPE是属性类型,VALUEEXPRESS是属性求值表达式。
定义4:METHODS::=<METHODNAME><METHODATTRIBUTE><LIBNAME><METHODIMPLEMENDS>,其中:METHODNAME是方法名,METHODATTRIBUTE是方法参数列表,LIBNAME是方法所属动态链接库名称,METHODIMPLEMENDS是方法内部实现接口定义。
定义5:RULES::=<KEYWORD><ATTRIBUTE><EXPRESSION>,其中:KEYWORD为系统定义的关键字,ATTRIBUTE为对象属性名,EXPRESSION为属性求值表达式。
定义6:ASSEMBLY::=<KEYWORD><OBJECT1><OBJECT2><EXPRESSION>,其中:KEYWORD为系统定义的关键字,OBJECT1、OBJECT2是对象类的名称,EXPRESSION是对象间装配信息表达式。
定义7:ARRANGESET::=<WAY><XPOINT><YPOINT>,<ZPOINT>其中:WAY是位置排列信息,XPOINT是距离中心点的X坐标,YPOINT是距离中心点的Y坐标,ZPOINT是距离中心点的Z坐标。
定义8:STORAGE::=<CLASSTBLNAME><CLASSFLDNAMES><VERSION>其中:CLASSTBLNAME是类表名,CLASSFLDNAMES是表中的各类对象的名称,VERSION是版本信息。
面向对象工程模板通过一组定义表示一个复杂的数据类型,它描述的是一种抽象数据类型。应用抽象数据的概念可以从概念的高度,把握事务之间内在的、实质性联系。面向对象方法进一步发展了抽象数据概念,引入了能把有关事物进行分类、组织成层次的概括Generalization机制和把有关对象归并在一起的聚集Aggregation机制。
面向对象工程模板模型具有充分的柔性和可扩充性。在建模时,利用类的封装性、继承性和多态性6,采用面向对象的自上而下、从概念抽象开始、逐步细化的方法。每个对象可以按照概括(G-关联)关系展开,深入分析,建立下层对象之间的联系。
由于工程设计的特殊性,在工程设计过程中,不仅要考虑产品的几何信息和制造信息,如零部件属性、零部件之间的各种装配位置关系、约束条件等,同时还应当从面向对象的思想考虑一个零件对象应有的一些方法。例如对于链接件对象,它应当有可以将另几个对象链接在一起的方法。这些方法都应当封装在零件内部,提供给外界一个接口。对于一个类,将它的所有实现方法放在一个DLL中,形成一个方法库,把该类的方法库与每一个方法的源代码均当作非结构化数据交给工程数据库管理系统进行存储。
3 面向对象工程模板应用
以冷冲模CAD设计为例,用面向对象模板组织模具设计中的各种工程设计信息,设计信息的面向对象工程模板数据模型如图1所示。冷冲模是由模架、冲头、链接件、凹模、垫板等元件组成。在面向对象工程模板模型中,不仅表示元件特征信息,而且描述了元件的位置分布关系、连接关系、操作关系等语义信息,明确地表示了元件之间的关联信息。其中G-关联Generalization用IS-A表示,A-关联Aggregation用A表示。图1中显示的是零件聚集关系的展开,既可以在一类对象的共性上对其进行分析和处理,也可以对其中的某个具体对象的个性进行分析和处理。从数据模式中可以看出,从设计活动一开始,面向对象模板就建立了设计和制造活动的有机联系,实现了几何信息与制造信息的集成和分离的对立统一。
面向对象工程模板数据模型采用面向对象技术定义模板的组织结构,利用定义的模板描述语言(TDL)进行工程设计,一方面有效地组织工程设计中的各种数据,另一方面能够很好地模拟工程中的复杂对象,能表示其层次结构,支持动态的数据结构,在设计对象这一较高层次上进行管理。由于考虑了产品的设计工艺、制造工艺以及约束条件等信息,将设计中的各种信息、数据集成在面向对象工程模板中,从而使得设计人员在进行初期的功能设计和装配设计时就能保证产品设计的可行性及合理性,并及时发现设计中存在的各种问题;在设计结束阶段形成了以模板的版本号为根目录的整个产品的工程数据,在试验中取得了良好的应用效果。
下面给出一个模板整体框架,主要以注释方式给出模板含义的解释。
// 对象列表;
begin of object
inherit
baseboxshangdianbangudinban
aomoaomo
chongtouchongtou
……
part
upmojiashangmojiadaozhu //上模座由上模架和导
柱组成
……
end of object
// 对象属性集合段;
begin of attribute
default mobin.d 50 //模柄直径的默认值为50
table luodin3.d mobin d3 d=mobin.d
//螺钉3的d为模柄中的d3
字段,条件为模柄d
……
end of attribute
// 位置约束段;
begin of positon
luodin1 1 95,45 //以第一种方式排列距中心
点x 坐标95,y坐标45
daohuald1 3 300 //以第三种方式排列距中心
点x 坐标30,y坐标0
……
end of position
// 装配约束段;
begin of assemble
luodinluodin1 shangmojiashangdianbangudinban
//表示螺钉1连接上模座、上垫
板和固定板
……
end of assemble
……
//产品设计描述、版本等信息描述段;
begin of describe
nameluoliaomo
version1.1.1
designerwangjun
designdate2002-05-25
……
end of describe
本文通过面向对象工程模板建立数据模型可以使设计人员节省大量的时间、减少工作量、统一设计风格、设计标准化、确保效果与效率;同时建立了设计和制造过程中产品数据的统一模型,并在此基础上建立面向对象工程数据库处理的工程数据。设计人员可以通过面向对象工程数据库系统对工程数据进行及时、有效的管理。 谢谢分享!:D
页:
[1]