STEP数据交换技术及其在建筑CAD中的应用 [2009-03-16 15:50] STEP technology and its application in building CAD;提要 本文简要介绍了用于各种软件间数据交换的STEP技术及其在国内外的发展状况和前景,介绍了作者在热分析集成化环境中应用STEP技术构成基本数据库实现CAD工具与各种计算软件间数据交换的体会,对制定建筑和HVAC系统的标准STEP数据模型提出了建议。关键词:数据库 集成化技术 建筑CAD STEPAbstract This paper outlines the development and application of STEP (Standard for exchange of product model data) technology, presents a practice of building an integrated data model for building thermal design and analysis with STEP technology and makes some suggestions concerning the development of standard building and HVAC data Keywords:database CIBS CAD STEP 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=表面(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=点(3, 8, 3) x坐标 y坐标 z坐标 #51=点(………) …… #80=围护结构(#3,#4) 上述STEP文件中,#n仅作为一项数据的识别名,其顺序无任何意义。等号后的名称给出此项数据的结构。它表明括号内的内容必须与该项ENTITY在EXPRESS中定义的结构一致。括号内#n则给出各项数据间的相互联系。 这种方式的数据文件,各项数据顺序无关,根据被描述事物的复杂程度,总的项数亦可很不相同。只要得到它的数据模型,即可产生或理解全部数据内容。这样,EXPRESS定义的数据模型相当于严格定义的化的数据文件协议。在它的公开与一致的基础上,即可实现数据的准确理解。 实际的建筑物涉及的信息当然远比上例复杂,但用同样方法亦可准确完整地描述清楚,并可灵活使用。 上例描述的基础,建立在数据模型的一致上。若数据模型不一致,也就是看待和描述事物的角度不一致,仍不能实现这种数据交换。例如,如果某个软件是用各面墙的中线描述建筑物几何信息,其数据就很难直接用上述数据模型表出。因此,制定统一的标准数据模型,即统一的EXPRESS形式的定义文件,是使用和推广STEP技术进行数据交换的关键。 经过十余年的努力,已开发出许多使用STEP的软件工具。例如以图形化方式定义数据模型并直接生成EXPRESS文件的NIAM;将EXPRESS文件自动转换为C++中数据类型说明的CCGEN;直接存储、和检索STEP形式数据的动态数据库软件等。目前随3 使用STEP的初步尝试 与英国建筑研究中心(BRE)合作,并结合国内的具体情况,作者近两年来开发出采用STEP数据交换方式的集成化建筑热环境分析系统IISABRE。 它的基本思想就是试图将相关的各种计算软件及CAD工具集成到一起,每个软件可以使用其它软件的各种输出结果,它的输出结果亦可被其它软件所使用。系统的核心是使用STEP技术按照EXPRESS定义的建筑信息数据模型(IDM,Intergrated Data Model)。该数据模型包括建筑物的几何信息、围护结构热工性能、建筑物的运行管理方式以及微生物的能耗、采光、自然室温等各种物理性能。利用此数据模型可基本上描述与建筑热物理有关的各种信息。为了实现各软件与以此数据模型为原型的数据库交换数据,每个软件都配一个数据转换器。此数据转换器从STEP数据库中取出该软件所需要的数据,按其要求生成数据输入文件。数据转换器又将该软件的计算结果转换为STEP方式并存入STEP数据库中。 利用这一系统,用户首先AutoCAD上描述所分析建筑的三维几何形状,并通过从门窗墙部件库选择相应的部件来定义各建筑部件的和物理性能。这些输入结果都被转换为STEP的数据项,存入数据库中。用户可调用计算软件对此建筑进行分析。例如检查它的围护结构是否满足保温标准或进行能耗估算。用户还可进一步定义要求的房间范围以及HVAC形式,从而进行负荷计算或自然室温计算。这些计算结果亦存入数据库中,并可被其它软件利用。由于采用了开放式结构,此系统还可以运行现成的计算分析软件。目前已试将美国开发的SERIRES(建筑热模拟软件)和英国开发的BREDOM(建筑能耗估算)连入。利用这种方式现有的分析计算软件资源可以较方便地集成于此系统中。 此系统目前仍处于开发完善中,但已显示出STEP方式的优越。随着系统复杂性的增加,这种优越性会越来越明显地表现出来。4 建议和设想 随着计算机技术的发展,软件的相对越来越高。使开发出的软件能广泛和充分地利用是提高效率降低成本的关键。大型集成化系统复杂庞大,依靠一两个单位的力量很难承担。采用STEP技术可能性较容易实现开放式系统提高软件重复使用率,因此应大力推广。 使用STEP技术的核心是开发建立数据模型。制定标准的EXPRESS建筑数据模型并逐渐使大家遵循是使STEP技术能在建筑CAD领域产生效益的关键。目前STEP标准化组织不可能直接从事这项工作,它只能依靠国内各从事建筑CAD和分析模拟软件开发研究的单位合作,共同完成。这一工作早晚要做,而越早完成越可早见成效,尽早消除重复开发应用软件的浪费现象。