|
1 前言 开发集成化建筑设计系统的关键在于实现CAD工具、分析软件以及各种数据库间数据交换。而要实现"开放式"系统,使集成化系统中的各个部分都可以独立研究开发并不断扩充,就需要有一种标准的数据交换方式。80年代以来国外逐渐开发出STEP技术(Standard for the Exchange of Product Model Data)作为产品数据交换标准。目前该技术已广泛用于机械制造业的CAD、CAM系统中,国际标准化组织ISO TC184 并制定了国际标准(ISO CD10303)。在建筑设计CAD和集成化系统的开发研究中,也开始采用STEP技术。我国1994年由国家技术监督局牵头成立了STEP技术中心,1995年国家技术标准委员会成立了STEP标准分委员会(CSBTS TC 159 SC4),开始制定我国的STEP标准,并组织推广STEP技术。
2 STEP技术简介 不同软件间一般通过数据文件进行数据交换。正确的数据交换的前提是要使数据的接收方能够完整准确地"理解"所接收的全部数据。最初这是通过数据生成方与数据读取方的协议来实现的。此协议包括数据的格式、顺序、数量以及数据文件中每一个位置上的数据的物理意义。 随着产品和工程数据复杂的增加,上述方式就愈来愈不适应。同一类型的事物,具体对象不同,所要描述的数据的数量就不同,所表示的物理意义亦不同,甚至数据类型也不同。例如描述一座建筑物数据,其结构及数量随建筑的楼层、房间数及门窗墙数的不同百有很大差别;描述一个空气处理室的数据,对于不同结构的空气处理室(表冷器、喷雾室),有些数据代表的意义相联系才有意义,一组数据只有与它们的相互关系的定义相结合才有意义。仅依靠预先约定的一些协议,很难准确反映每个数据的物理意义及数据间的相互关系,更难以适应被描述事物类可能具有的各种变化。数据的物理意义、数据间的相互关系以及数据本身三者共同构成了对事物的描述。数据交换与传递也应包括这三部分内容,而决不仅是数据本身。 基于上述观点,提出了STEP数据交换技术。将数据组织为数据项储存。每个数据项包括描述该项内容的若干个数据,其中亦可有与此项内容有关的其它数据项名。每个数据与它的物理名共同储存。为了准确地描述数据项内部结构及各数据项间的关系,对种每数据项的内部结构及其中每个数据的物理意义都要用EXPRESS语言严格定义。这种数据项的EXPRESS定义称作数据模型。根据此数据模型可以准确写出STEP方式的数据文件,也可以很容易地理解按此模型生成的STEP方式的数据文件。 以描述一个建筑物的几何尺寸为例。建筑物可看成是由许多封闭空间组成;每个空间由若干个表面所围成;每个表面由若干条线段为边界;每条线段由它的起始坐标确定。同时,每条线段又是两个表面的相交边界;每个围护结构都以两个表面为其两侧。这个数据模型可以用如下EXPRESS语言描述: ENTITY:建筑 is composed of : SET OF 围护结构 contains: SET OF 空间 END ENTITY: ENTITY:空间 is composed of : SET OF 表面 END ENTITY: ENTITY:表面 has area of: REAL is composed of : SET OF 线段 is surface of : 围护结构 face of : ONE OF (空间,外环境) END ENTITY: ENTITY:线段 Point 1 :点 Point 2 :点 boundary of surface 1: 面 boundary of surface 2: :面 END ENTITY: ENTITY:点 x is : REAL y is : REAL z is : REAL END ENTITY: ENTITY:围护结构 Side 1 is : SET OF 表面 Side 2 is : SET OF 表面 END ENTITY: 以上定义的EXPRESS数据模型中,大写字母为一些由语法决定的关键字。小写英文字母及中文说明物理意义。每一组ENTITY定义了一项数据项结构。按照这个数据模型,一个具体的建筑几何尺寸可用如下形式的STEP文件描述: #1=建筑((#80,#81,#82,#85,……),(#2,各围护结构的代号#3,#60,……)) 各空间的代号 #2=空间((#4,#5,#6,……)) 各表面的代号 #3=表面(24.5,(#10,#11,……),#80, #2)) 面积 各线段代号 所属围 面对 护结构 空间 #4=表面(32,(#10,#14,……),#81,#2) …… …… #10=线段(#50,#51, #3, #4) 点1 点2 面1 面2 #11=线段(#51,#52,#3,#6) …… #50=点(0.3, 12.8, 0.3) x坐标 y坐标 z坐标 #51=点(………) …… #80=围护结构(#3,#4) 上述STEP文件中,#n仅作为一项数据的识别名,其顺序无任何意义。等号后的名称给出此项数据的结构。它表明括号内的内容必须与该项ENTITY在EXPRESS中定义的结构一致。括号内#n则给出各项数据间的相互联系。 这种方式的数据文件,各项数据顺序无关,根据被描述事物的复杂程度,总的项数亦可很不相同。只要得到它的数据模型,即可产生或理解全部数据内容。这样,EXPRESS定义的数据模型相当于严格定义的计算机化的数据文件协议。在它的公开与一致的基础上,即可实现数据的准确理解。 实际的建筑物涉及的信息当然远比上例复杂,但用同样方法亦可准确完整地描述清楚,并可灵活使用。 上例描述的基础,建立在数据模型的一致上。若数据模型不一致,也就是看待和描述事物的角度不一致,仍不能实现这种数据交换。例如,如果某个软件是用各面墙的中线描述建筑物几何信息,其数据就很难直接用上述数据模型表出。因此,制定统一的标准数据模型,即统一的EXPRESS形式的定义文件,是使用和推广STEP技术进行数据交换的关键。 经过十余年的努力,已开发出许多使用STEP的软件工具。例如以图形化方式定义数据模型并直接生成EXPRESS文件的NIAM;将EXPRESS文件自动转换为C++中数据类型说明的CCGEN;直接存储、管理和检索STEP形式数据的动态数据库软件等。目前随着STEP技术的普及与深入,新的工具还在不断出现。
|