APP下载

基于IFC的水利水电工程信息扩展实现与应用

2021-11-24傅志浩杨楚骅王存慧

人民珠江 2021年11期
关键词:水利水电编码定义

傅志浩,吕 彬,杨楚骅,王存慧

(中水珠江规划勘测设计有限公司,广东 广州 510610)

BIM技术在水利水电工程中的应用方兴未艾,近年来在三维建模、场地分析、方案比选、可视化应用、模型出图等方面应用取得丰硕的成果,应用目标逐步转向工程全生命周期运用。对数字化产品和服务而言,从生产到建造再到最终交付,所有环节都可基于数据分析的结果实现价值链整合和系统优化的目的[1]。基于BIM的工程数据信息从主要用于记录和查看,逐渐成为流程优化、方案优化的重要依据,在产品设计、服务交付等各个方面正发挥着越来越重要的作用。

当前在房屋建筑[2]、道路工程建设方面[3],基于BIM的工程信息分类编码方法和编码体系已有较多的研究与应用成果,但在水利水电工程建设方面目前仍处于起步阶段[4-5],当前虽已编制发布信息分类、编码及存储标准,但在实际应用中数据信息仍不够完善,无法完全满足工程全生命周期数据的需求;标准未在设计软件中实现,不能得到有效应用,其都不利于基于模型信息的研究与推广应用。

本文结合行业工程信息标准,首先探讨了在IFC标准体系下进行信息扩展的方式;再梳理采用C#语言在Microstation平台基础上实现IFC标准扩展的具体方法,并通过编程实现;最后在实际工程中应用,完成了三维信息模型成果的交付。经实际应用验证,基于Microstation平台的IFC信息扩展实现方法简便可行、移植性强,可为后续开展数据交付标准、工程模型信息扩展、工程数据分析等研究工作打下良好的基础。

1 BIM数据标准

在工程BIM技术应用过程中,工程数据信息是基础和核心。这些信息分为几何信息和非几何信息2种,几何信息可通过三维模型直接获取;非几何信息如结构材料、施工方法、施工工艺、设备材质等,用几何信息无法直接表达,需要工程参建各方挂接到BIM模型中,以便共享与应用,一个项目中运用的非几何信息的多少,往往决定了这个项目BIM技术运用的深度[6]。BIM基础数据标准通常分3类[7],用于解决三方面问题:①分类编码标准,用于解决数据信息应如何分类的问题,即数据的编码和组织方式;②数据模型标准,用于解决数据以何种格式存储、以何种格式进行信息交换等问题;③信息交换标准,规定BIM模型数据交换的内容,用于解决工程的不同时期,模型应补充或产生何种数据,即模型在不同工程阶段的数据需求问题。信息交换标准需各专业领域、各工程项目根据实际业务需求进行设计,当前水利水电行业及相关行业的标准尚有不足[8-10],随着BIM技术工程全生命周期运用的深入发展,此方面正逐步完善,本文不做过多的探讨。

BIM技术发展、应用及普及的过程,是漫长的工程信息化建设过程,随着BIM应用的深入,BIM标准体系建设不断完善和发展。作为底层的3类基础数据标准的国际化是不可避免的趋势,英国于1997年发布的分类编码标准Uniclass在使用过程中不断修改,最新的Uniclass2015采用了ISO 12006推荐的分类系统,在分类方法上与OmniClass保持一致。中国发布的GB/T 51269—2017《建筑信息模型分类和编码标准》参照OmniClass,仅为了适应中国的规范制定做了少量修改,T/CWHIDA 0007—2020《水利水电工程信息模型分类与编码标准》引用GB/T 51269—2017标准针对行业进行了补充。随着越来越多的国家参与到信息存储标准IFC的制定,IFC的国际接受度不断提高,目前美国、英国、挪威、德国、中国、日本、新加坡等多国均开始采用IFC标准作为信息存储标准。

1.1 数据信息的分类与编码

针对数据信息开展相关工作,为提升数据信息应用效率以及确保信息存储的完整性、唯一性和一致性等问题,分类与编码是需首要考虑的问题。工程行业常见的分类编码主要有OmniClass和KKS编码2种[11]。其中KKS编码分类定义严格,偏向于运维需求,目前广泛应用于电力行业,在进行信息扩展时,新起编码定义表较难避免和电力行业的冲突,因此在使用过程中受到一定的限制。OmniClass以全数字编码方式规定了工程全生命周期的信息分类结构,由于OmniClass标准良好的兼容性、可扩展性以及全数字编码对程序的易操作性,目前成为国家到地方BIM领域的主要标准依据,水利水电行业的分类编码标准T/CWHIDA 0007—2020即采用了OmniClass编码。关于信息信息分类和编码的基本原则与方法详见国标GB/T 7027—2002[12],此处不再累述。

OmniClass编码按层次和属性的分类,实质上是从不同的应用视角去审视数据信息。一项工程或一个建筑物及附加于之上的信息可视为客观存在,而工程参建各方因业务领域和专业应用需求,对信息获取和需求往往带有明显目的性,因此需要结合应用需求对信息进行有效的分类与编码。OmniClass提供的分类和编码方法为数据信息提供了一个完整且易于扩展的解决方案。在实际应用中,同一份数据通常需要多个编码信息及其组合来精确描述,以满足唯一性和一致性的要求,后续研究与应用中采用OmniClass的分类方法对工程数据进行组织和扩展。

1.2 IFC标准数据模型与扩展

工业基础类IFC(Industry Foundation Class)标准主要用于解决数据交换过程中数据存储与交换格式的问题,IFC是目前业界接受程度最高的信息交换标准格式,大部分BIM软件都支持IFC格式的模型信息数据。IFC是公开开放的标准,主要面向工程建设领域,其标准框架分为4个层级[13]:资源层、核心层、共享层和领域层,每层中包括若干模块,用于描述工程建设领域不同类别的内容,如若干模块用来描述工程建设领域不同类别的内容;对建筑物的墙、柱、板、门窗等实体则可在共享层的建筑元素模块进行描述;对比较抽象的空间、时间、材料等概念在核心层的模块中进行描述。通过不同层级的组合描述就可以实现对建筑物构件信息的完整表达。

IFC标准定义了众多的类对象来实现上述4个层级的框架,并按分层级的、对象继承的方式进行组织[14],如建筑对象元素有IfcWall(墙体)、IfcWindow(窗户)、IfcDoor(门);如几何对象元素有IfcExtrudedAreaSolid(面拉伸成体元素);如基础元素IfcCartesianPoint(空间坐标点)等,实际应用中可方便地根据工程项目需求和业务应用进行扩展。IFC的类实现逻辑基于3个基类来完整地描述项目或结构:①IfcObjectDefinition用于定义对象(如枢纽、大坝、电站等);②IfcRelationship用于定义不同类型对象之间的关系(如枢纽包含大坝、厂房);③IfcPropertyDefinition用于定义与对象相关联的属性(如大坝类型属性、电站类型属性等)。IFC标准主要基类继承结构见图1。基于IFC面向对象的描述方式,可以方便地根据需要进行扩展,如水利水电工程的挡水建筑物即可按图2方式扩展。

图2 水利水电行业基于IFC扩展的示例

1.3 IFC标准应用现状

IFC基于面向对象描述的实现逻辑,可以很好地利用面向对象的程序语言加以实现,同时结合OmniClass的信息分类和编码方法可以较好地满足工程建设行业的信息应用需求,因此在工程建设领域得到了广泛的认可与应用。为方便IFC的使用,当前各大设计软件厂商如AutoDesk、Bentley、ArchCAD等都添加了对IFC格式的支持,同时也有一些开源的软件项目如xBIM提供对IFC格式较为完整的处理能力。

但同时由于IFC标准体系的庞大和复杂性,仅IFC标准自身定义的实体对象、属性集及数据类型就有上千个,各专业领域的扩展更是不计其数,让一般用户不禁望而却步,在一定程度上限制了IFC标准的发展与应用,因此当前IFC标准的制订与研究工作多在科研、管理部门及各大设计软件厂商开展。而工程建设行业是实践性较强的领域,特别是针对数据信息的应用更是需要结合业务需求不断发展完善,需要工程参建各方共同参与到研究与应用工作中来,才能更好地推动工程信息技术的发展与应用。从目前技术水平和易用程度来看,基于现有的软件平台开展行业数据信息研究与应用工作是较为便捷和可行的方式。

2 基于Microstation平台的IFC标准实现

Microstation是当前水利水电工程行业被广泛使用的三维设计软件,因其专注于土木建设领域,及其完善的工程设计解决方案而得到广泛认可[15]。在Microstation Connect平台上附加信息的方式主要有3种:EC(Engineering Content)、ItemType(基于EC的简化实现,可直接通过软件进行操作)、Xdata(以扩展数据形式附着于图形元素,可方便地同AutoCAD进行信息交换)。其中以EC方式附加的数据信息可在Bentley系列软件间(如建筑设计、结构设计以及机电设计)无缝衔接,且有较为完善的数据处理、分析、导入导出等功能,为基于Microstation平台开展数据信息相关研究与应用工作提供了便利的基础。ItemType及Xdata的实现方式实际是以硬编码的方式将信息嵌入,虽可方便地实现信息附加和修改,但不便于数据的扩展及存储格式的交换,后续主要以EC方式描述工程数据信息的扩展与处理。

2.1 Microstation中EC基本概念

EC是Microstation平台用于解决行业数据交互的解决方案,基于EC框架可根据行业标准自定义文件格式;以XML文件格式存储,方便地进行数据交换,且格式可自解析;用于行业数据的交换,不依赖于具体的软件。EC框架的程序开发支持C#、C++等面向对象语言,其提供的主要实现类见表1,对比表1中的类名称与图1中IFC定义的主要基类,EC相关类对应地实现了IFC的对象、属性及关系定义,同时由于EC在Microstation上的实现机制采用了面向对象语言的动态绑定特性[16],通过C#语言等程序语言实现相关功能时可充分利用这一特性进行数据信息的扩展。

表1 EC FrameWork提供的基础类

2.2 基于EC的IFC实现

基于EC可以方便地实现IFC标准及其他自定义标准文件格式,其主要实现路径见图3。如前所述,IFC标准和扩展标准所涉及的类定义众多,采用类生成的方式工作量颇大,不便于维护,Microstation提供了ECClassEditor编辑工具简化生成过程,基于编辑器可方便地进行标准引用、ECClass的定义与继承及属性定义等操作,导出XML文件后可用于标准的后续维护与交换;对于简单的数据结构则可利用程序语言进行动态生成ECClass对象,加入到指定的Schema对象中,后续根据需要导出存储为XML文件。

图3 EC使用步骤

利用ECClassEditor生成水利水电工程挡水建筑物的扩展数据结构过程示意见图4。首先根据工程应用需求按OmniClass的分类方法合理地组织对象逻辑,然后按面向对象的方式逐级引用或继承实现各单元的扩展信息定义。完成后保存为xml文件,加载到三维模型文件中即可实现标准文件的应用。

图4 利用ECClassEditor生成水利水电工程扩展数据结构过程示意

2.3 关键功能实现

2.3.1ECSchema的导入与更新

a)ECSchema导入操作可用以下代码实现。

//dPath为指定ecschema.xml文件路径

IECSchemaLocater searchLocater = new Search

PathSchemaFileLocater(dPath);

ECObjects.AddSchemaLocater(searchLocater);

//根据指定的Schema名称提取信息并生成ECSchema对象

IECSchema ecSimpleSchema = ECObjects.LocateSchema(scName,SchemaMatchType.Exact,null,null);

//添加ECSchema对象到当前文件

ecSimpleSchema.AddSchemaToDgnFile();

b)ECSchema的更新,如标准定义文件发生改变,则可利用更新操作刷新数据信息。

//获取当前文件及其EC管理器

DgnFile activeDgnFile = Session.Instance.GetA

ctiveDgnFile();

DgnECManager manager = DgnECManager.Manager;

//设置Schema更新属性,执行更新操作

ushort providerId = 0x56FF;

UpdateSchemaOptions uso = new UpdateSchema

Options(providerId,false,bUpdateInstance);

manager.UpdateSchema(sc,activeDgnFile,uso);

2.3.2由ECCLass创建ECInstance

a)由ECSchema获取ECClass对象。IECSchema提供了GetClasses和GetClass 2个函数,可分别从Schema对象中提取出所有的ECClass对象和指定Class名称的ECClass对象,在实际使用中可根据需要选用。

b)由ECClass创建ECInstance代码如下:

//activeDgnFile当前文件,用于生成ECInstance的ECClass对象

DgnECInstanceEnabler ecInstanceEnabler=

manager.ObtainInstanceEnabler(activeDgnFile,ec);

ECDInstance ecdWipInstance = ecInstanceEnabler.

SharedWipInstance;

2.3.3为ECInStance创建或更新属性

ECClass对象通常包含多个属性值,如水利水电工程中大坝通用属性包括名称、类型、体积、高度、坝顶宽度等多个属性参数。经编程试验,建议采用数据库程序中常用的DataTable类作为属性参数的容器,可方便地与数据库、WPF的数据展示界面进行绑定[17],使程序功能更加灵活、便捷。实现代码如下:

//dt为属性容器,labelIdx容器中用于标识属性名称的索引,valueIdx用于标识属性值的索引

int valCount = dt.Rows.Count;

for (int i = 0;i < valCount;i++){

List val = dt.Rows[i].ItemArray.Select(x => x.ToString()).ToList();

ecdWipInstance.SetAsString(val[lableIdx],val[valueIdx]);}

2.3.4附加ECInstance到元素

经前述几个步骤生成完整的ECInstance对象,后续即可方便地将其与图形元素对象绑定,通过如下代码实现。

//ecInstanceEnabler、ecdWipInstance为第2步中生成的ECInstance对象和操作对象,elem为要附加信息的元素对象

ecInstanceEnabler.CreateInstanceOnElement(elem,ecdWipInstance,false);

3 工程应用验证

基于Microstation平台采用C#定制开发工程信息处理程序,以广西某水库通航建筑物工程应用为例,船闸主体结构三维模型见图5。

图5 船闸主体结构三维模型

3.1 IFC标准工程数据的扩展定义

首先根据工程应用需求按OmniClass分类方法确定工程结构的分类及组织方式,如上下游引航道、上下闸首、闸室、细部结构以及所需附加信息的属性集等信息,按IFC面向对象方式进行组织,形成如图2、4的对象继承关系。为便于工作开展,亦可借鉴T/CWHIDA 0009—2020《水利水电工程信息存储标准》关于工程数据模式的Express-G图。

当数据对象关系明确后,即可利用ECClassEditor工作进行数据标准的定义。标准定义的工作较为繁琐,但好处是一经定义完成,后续进行信息标准的扩展、交换及共享则十分轻松。定义完成后的标准可导出为xml文件存储,采用任意文本编辑软件进行查看与修改。文件名默认以“对象名.主版本号.次版本号.ecschema.xml”方式命名,通过文件名即可快速识别出该数据标准所表示的对象和版本,在后续数据信息挂接中,可用于快速判断元素数据信息版本的有效性和一致性。

3.2 数据信息的挂接

采用C#语言开发基于Microstation平台的工程数据处理程序,实现的主要功能有加载、更新数据标准,附加信息到元素,删除更新元素信息,校验数据信息完整性等。程序实现界面及信息附加过程见图6。单选或批量选择模型元素后,指定要添加到元素的数据标准(ECSchema对象)和数据信息(ECClass对象),即可方便的创建数据实例(ECDInstance对象)自动挂接到模型元素上,实现多平台软件的信息查看。如后续需要对数据进行更新和删除,可利用前述程序实现的方法进行操作。

图6 程序界面及模型数据信息查看

3.3 标准检查与更新

数据标准的定义以xml文本文件形式保存,在软件平台上实现则是以类对象的形式呈现。通过标准文件的文件名可快速检查附加于元素的信息采用的是哪个版本;另外也通过对比数据标准定义与附加信息的类对象结构,实现元素附加信息的完整性与合规性检查,确保数据信息的可靠。

当已定义好的标准需要进行信息扩展时,可直接通过编辑标准定义文件的方式进行,然后采用前述ECSchema的更新操作即可实现。

当同一个项目需要采用不同行业的数据标准时,典型如本案例工程的船闸既可采用水利口,又可采用交通口的数据标准,两个管理部门的数据标准显而易见的不一致,但只要通过前述方式做好标准定义的工作,则可非常方便地实现数据标准的转换,实现满足要求的数据信息交付。

3.4 数据信息的应用

完成信息附加工作后,可利用Microstation软件自带的信息查看功能针对元素数据信息进行筛选、提取及分类汇总等工作,在实际工程中的比较典型应用有:按工程部位自动分类汇总统计工程量、按材料分类筛选模型元素、按施工顺序显示相关结构元素、按设备提取所有供货商信息等。对数据信息的处理,当软件平台的功能无法满足需求时,则可通过将信息导出到Excel文件或数据库文件(如Access、Sqlite等)中做进一步的应用,同时也为数字交付和数据交换提供了更多的选择。通过对附加于元素之上的非几何信息的操作,极大地扩展了BIM几何模型的应用范围与应用深度;通过结合业务应用需求,真正实现了数据对传统设计过程的数字化赋能,体现出BIM模型作为工程数据信息载体的核心价值。

通过项目的实施,完整地验证了工程信息处理程序功能的实现,实现了IFC扩展标准在Microstation平台的应用;工作过程中形成了完整的、符合行业要求的IFC标准schema.xml文件,为后续基于模型的信息扩展,工程数据分析奠定了良好的应用基础。

4 结语

a)工程数据信息既是BIM技术赖以存在的基础和核心,也是数字经济时代的关键生产要素。工程数据的分类编码、存储与交换的重要性日益凸显,开展相关技术研究对BIM技术在工程全生命周期的运用具有重要意义。

b)现阶段各行业领域根据自身需求基于IFC标准进行扩展,但在水利水电工程中如何实现并加以应用方面的研究成果甚少。探讨研究IFC标准扩展在Microstation平台的实现方法,经工程应用验证难度适中,可拓展性、移植性强,可为同类工程应用提供参考,同时亦可为后续深入开展相关标准研究打下了良好的基础。

c)除对信息分类编码、信息存储和交换格式的研究外,针对信息交换标准即约定什么人,在什么生产阶段,生产和使用什么信息,对数据的深度挖掘与应用等问题,是后续推进BIM技术应用深度需着重研究的问题。限于篇幅此方面未做过多的探讨,还有待结合业务需求做进一步深入研究。

猜你喜欢

水利水电编码定义
水利水电工程三标一体化管理体系研究与实践
混凝土施工技术在水利水电施工中的应用
水利水电工程施工质量控制的关键点
生活中的编码
长链非编码RNA APTR、HEIH、FAS-ASA1、FAM83H-AS1、DICER1-AS1、PR-lncRNA在肺癌中的表达
水利水电工程施工质量控制与管理探讨
严昊:不定义终点 一直在路上
定义“风格”
Genome and healthcare
论纪录片影像中的组合编码运用