面向对象工程模板数据模型研究
定义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