张荷花 顾 明
(1.清华大学 软件学院,北京 100084; 2.北京信息科学与技术国家研究中心,北京 100084)
建筑信息模型(BIM)技术通过实现建筑全部信息的数字化表达,促进建筑全生命周期的信息融合与共享,在国内外工程领域得到广泛关注和应用。在政府的大力支持和引导下,我国BIM技术的应用逐渐深入并在大量工程项目中产生实效。随着BIM技术的普及,能否实现基于BIM技术进行工程项目审查审批逐渐成为了大家关注的热点。湖南省住建厅2017年起在国内率先启动了基于BIM技术的施工图数字化审查研究工作,致力于推动传统二维审查模式向三维审查模式发展。2019年,国家住建部将北京城市副中心、南京、广州、厦门、雄安新区等列为运用建筑信息模型(BIM)进行工程项目审查审批和城市信息模型(CIM)平台建设试点城市。2019年10月,深圳发布了关于取消施工图审查,建立基于BIM的工程建设项目智慧审批平台的文件。
从管理角度,基于BIM技术进行工程项目审查审批将使得BIM模型成为一种官方认可的产品形态,应用BIM技术的设计及施工单位无需再人工或自动生成二维图纸进行提交和审查,这将有利于推动BIM技术的进一步发展和应用。从技术角度,BIM技术实现了建筑全部信息的结构化表示和面向对象的表示方式,相对于面向“人”来审查的图纸而言,BIM模型具有更强的机器可理解性,在BIM模型上进行自动的精确审查成为可能[1]。此外,BIM模型上的三维几何与信息展现方式与二维图表示有较大不同,这也使得审查人员熟悉的二维图审查方法无法直接作用于BIM模型。因此,与二维图审查审批平台相比,BIM审查审批平台能否有效支持各类建筑规范在BIM模型上的自动或智能审查,将成为检验其能否基于BIM技术优势促进审查审批行业变革,从而促进工程建设行业提质增效的一个重要内容。
清华大学软件学院BIM课题组自主研发了BIM模型智能检查工具BIMChecker,该研究成果以建筑规范描述语言SNL(Structural Natural Language)、基于知识的模型检查工具、语义和几何特征融合的高效检查算法等技术为核心,有效支持面向多业务规范、多BIM模型表示的统一自动检查,具有灵活性、易理解性、可扩展性强等特点,已在国内多个典型工程项目的设计施工中应用,对BIM模型质量保障起到了促进作用[2,3]。基于BIMChecker的研究成果和实践经验,清华大学2018年牵头完成了国内首个面向共享信息模型的系列国家标准《面向工程领域的共享信息模型》,于2019年1月1日正式实施[4-6]。标准第三部分《面向工程领域的共享信息模型:测试方法》(GB/T36456.3-2018)对建筑规范形式化描述语言和基于规则的信息模型测试方法进行了规定。
图1 BIMChecker工具的功能架构图
湖南省住建厅于2018年12月在国内率先启动了省级BIM审查系统的建设,中国建筑科学研究院有限公司(以下简称建研院)承担了该BIM模型审查平台的整体研发工作,包括BIM模型的提交管理、模型可视化、审查规范的管理、模型审查、审查结果展现和标注等内容。在该审查系统的建设中,清华大学与建研院合作,实现了BIMChecker工具与BIM审查平台上的集成,通过建筑规范描述语言SNL和检查工具的应用,实现了消防领域各类复杂规范的智能审查,为基于BIM的审查审批提供了灵活可扩展的自动审查支持。考虑到国内各省市对基于BIM的审查审批方案的关注和需求,本文将系统性地介绍BIM模型智能检查工具在审查平台及消防审查上的应用方法和实践,以供读者参考借鉴。
BIMChecker工具是一款基于认知计算的建筑规范智能审查工具,其核心思想是实现基于知识的智能检查。与一般自然语言文本相比,建筑规范的条款描述及审查过程呈现了丰富的领域概念、潜在知识和关联知识。为有效实现建筑规范的智能检查,须基于对规范条款及审查方法的深层次理解。该任务不是自然语言处理、知识图谱等某一项技术可以解决的。BIMChecker工具充分考虑了工程领域的问题特点,结合领域选取适合的智能技术进行综合应用和实现,其功能架构如图1所示。工具主要由规则库构建子工具、语义模型转换模块、BIM模型检查引擎和输出展示模块等构成。
1)对于自然语言描述的各类建筑规范,基于规则库构建子工具,使用建筑规范描述语言SNL,可以统一表示为人和计算机均可理解的一组规则,形成领域规则库; 该部分体现了智能审查工具对各种建筑规范通用的特点;
2)针对遵从不同格式和数据标准的BIM模型(如.ifc,.rvt,.dwg等),通过语义模型转换模块,将其抽取转换为适用于模型检查的语义模型(图结构,以JSON形式表示); 该部分体现了智能审查工具关注于“语义内容”而非“数据格式”的特点;
3)BIM模型检查引擎,基于SNL规则与语义模型的概念映射、应用语义检索和几何计算融合的计算框架和高效模型检查算法,给出BIM模型与规范符合与否的结论; 该部分体现了智能审查工具充分考虑BIM模型区别于一般信息模型的特点,即需要有效处理几何和信息两类要素;
4)输出展示模块,将条款的检查结果数据,按照易于用户理解的分类统计和展示方式,输出给用户进行检查结果后续应用。
BIMChecker工具采用了基于规则库的智能检查框架,使得该工具并不限定于对某一特定专业或者特定规范的审查。例如,通过编制《建筑设计防火规范》对应的SNL规则库,工具实现的是消防专业的合规性审查功能; 通过编制《住宅设计规范》对应的SNL规则库,工具实现的是住宅建筑的合规性审查功能。目前BIMChecker工具的内置规则库已经覆盖了建筑、结构、机电、暖通等多个专业的规范条款,具有通用性。
然而,根据BIMChecker智能审查工具的技术特点和SNL定义,我们可以发现,该工具擅长的是对复杂逻辑关系的表达,以及在复杂逻辑关系下,对语义信息和几何信息内容的直接检测。因此,对于需要复杂数学公式计算、动态过程模拟等才能确定结果的合规性内容,并不能直接通过BIMChecker工具完成,而需要与专业计算软件配合使用,如结构、抗震、绿建等专业计算软件。通过应用专业计算软件进行模拟计算,并将最终结果写入语义模型,可纳入BIMChecker工具的检查框架,进行统一结果输出和报告生成。
此外,对于各类工程规范而言,BIMChecker工具能够描述和自动审查的是具有精确含义和量化要求的条文内容,这也是目前机器能理解的全部内容。对于纲领性的条文,或含义模糊的条文,BIMChecker工具尚无法处理,需要留给专家评判。因此,就目前规范条文审查而言,采取的是BIMChecker智能审查工具和专家审查分工合作的方式:对于明确量化条款,基于机器智能审查,发挥其审查快速、全面、精细的优势; 对于复杂特殊情形,提交给专家进行确认审核,发挥人类在全局决策方面的智慧和经验; 通过人机协作,全面促进审查效率和审查质量的双重提升。
本节介绍在湖南省BIM审查系统中,通过BIM模型智能审查工具与审查平台的集成,提供自动消防审查服务的一些关键点。具体内容包括实现基于SNL语言的防火规范库精确编制,基于语义推理功能实现对防火规范概念的支持,以及基于语义和几何计算融合的检查框架对各类复杂建筑规范条款实现全自动检查。
在“双创”时代背景下,高职院校教师必须与时俱进,不断提高自身的核心素养和能力,为学生做出良好的榜样,为培养出满足“双创”型人才奠定坚实基础。高职教师核心素养和能力[2]主要包括高职教师的教育理念与师德素养、教学和教改能力、专业实践和指导能力、信息化应用及科研能力、创新创业能力等。高职院校应该充分地利用“政校行企”四方联动的模式,构建双创型的教师队伍,促进教师核心素养和能力的全面提升。
现有建筑规范的编制都是面向人来查看和处理的,规范条款因自然语言本身的模糊性、二义性,以及条款包含的隐藏知识等问题,并不能被计算机直接进行有效识别和处理。建筑规范描述语言SNL,致力于搭建人的理解与机器理解之间的桥梁、统一条款的解释、将隐形知识显式化,从而解决规范条款自动审查的“条款理解”这一核心问题。一个典型的SNL规则如图2所示。基于SNL语言,自然语言条款被结构化为一组SNL规则,每个SNL规则描述为一个简单句、复合句或条件句(IF-THEN结构)。SNL语言支持实体之间的二元关系、实体的数值关系和四则计算以及基于逻辑AND和逻辑OR的嵌套组合。
图2 基于SNL的防火规范条款规则描述示例
建筑消防审查参考的一个主要规范是现行的《建筑设计防火规范》(GB 50016-2014,2018年版,以下简称防火规范)。该规范全面定义了对不同类型功能建筑、同一建筑的不同功能空间以及不同消防设施配备下的防火设计要求。防火规范条款通常不是由一个句子,而是由前后相互关联的多个句子甚至多个段落构成,语言描述比较复杂。因此,如何对防火规范条款进行准确和有效的拆解,是实现防火规范自动审查的一个关键点。图3展示了建筑设计防火规范条款5.5.17的内容,该条款又分为了四个小点。在第一小点,防火规范通过表5.5.17对不同类型的功能建筑在不同条件下,房间疏散门至最近安全出口的直线距离提出了明确的量化要求。然而,注1、注2、注3又分别针对房间是否开向敞开式外廊、楼梯间是否是敞开楼梯间、以及建筑内是否全部设置了自动喷水灭火系统提出了补充规定,需要综合考虑表1及注1、注2、注3的内容并进行正确的组合才能准确表达出最终的规范要求。
图3 防火规范条款5.5.17的条款内容展示
基于建筑规范描述语言SNL,条款5.5.17共拆解为429条SNL规则,其中5.5.17-1拆解了384条,5.5.17-2拆解了2条,5.5.17-3拆解了40条,5.5.17-4拆解了3条。图4展示了针对一个表项的SNL规则描述,即对于一个单多层医疗建筑,当其耐火等级为一级或二级、疏散门处于两个安全出口之间、疏散门不开向敞开式外廊,并且楼梯间采用的不是敞开楼梯间,建筑全局设置了自动喷水灭火系统,那么要求该疏散门到最近安全出口的距离不大于35*1.25,即43.75m。
图4 防火规范条款5.5.17对应的一条SNL规则
由图4所示的SNL规则可以看出,SNL规则不仅是可被机器识别和理解的,它也同样可被人所读取和理解。正因为SNL的这一设计特性,使得在防火规范规则库编制过程中,领域专家可以全程介入,基于SNL规则的显式表达对规则进行检查和确认。这一过程在建筑规范的规则化编制过程中也是重要的一个环节。细心的读者可能注意到,SNL语言的条件句设计为IF-THEN结构,不包含ELSE部分,也不支持各类嵌套。该设计是为了将所有约束以尽可能直观和显式的方式表达,而不是通过否命题或者逆否命题等各类逻辑特性考验人们的理解力。事实上,语言的表达能力和易理解性始终是一个矛盾,SNL语言的设计在二者之间取了一个有效的折衷。另一方面,该设计也使得后端检查工具要处理的逻辑相对直观,确保能够对SNL语言表达出的全部内容提供自动检查支持。
BIM模型检查引擎的输入语义模型是一个三元组(Elements,Rels,GeometryModel)。Elements为模型中的元素(构件和空间)集合,包括元素的ID、名称和属性集等内容; Rels为二元关系集合,包括空间与构件的包含关系、空间与构件的边界关系、楼层与空间的包含关系、构件之间的连接关系以及构件之间的嵌入关系等; GeometryModel则记录了构件的几何信息,分为包围盒和线状构件两类。包围盒又分为正交包围盒、斜包围盒、多边形包围盒以及包围盒集合等四种类型。不同的几何类型记录和存储不同的数据内容,以便在检查阶段提供给检查工具实现精确几何计算。
值得注意的是,从BIM源模型中直接提取和转换后的模型数据,通常并不能包含足够的规范检查所需的语义信息。例如,消防审查中会对“封闭楼梯间”、“走道的布房情况”等进行相关约束,而BIM模型中通常并不显式包含如“封闭楼梯间”这样的概念。在人工审查时可根据楼梯间是否为一个封闭的空间以及楼梯间是否有门来判断,机器则不能直接理解这一领域知识。为了解决这一问题,检查工具实现了对输入语义模型进行语义推理的功能,根据推理结果将新增的构件属性、关系等信息进行补充,形成“增强语义模型”。
在消防审查的应用实践中,检查工具的知识推理功能起到了重要作用。检查工具根据标高的常用命名规则,推理并补充了楼层、房间、构件的“计算标高”属性,取值为数值类型,支持规范检查中的数值运算。检查工具实现了对“封闭楼梯间”的推理并将该语义标签加入房间的名称属性; 通过计算添加了走道的布房属性,根据其为单面布房或双面布房填入相应数据; 计算并添加了房间相对于走道的位置信息,根据其处于走道尽端、安全出口之间还是袋形走道两侧写入对应数据; 计算了房间内任一点至最近疏散门的直线距离,并将其填入房间的“至疏散门计算长度”属性等等。考虑BIM模型的建模习惯,检查工具也会考察语义模型中给出的如墙与房间的边界关系,并结合引擎内进行几何计算得到的墙与房间的边界关系,将二者综合后的结果增强到语义模型中。检查工具的推理功能,将人工审查过程中使用的潜在领域知识传授给机器,提高了检查的智能性,从而降低了对前端BIM模型输入的要求、有利于面向各类具有不同BIM建模习惯的用户推广应用。
检查工具的目标在于对用户编制的各种复杂的SNL规则,能够自动适配和完全支持。例如,图2所示的SNL规则不包含几何计算,而图4所示的SNL规则在检查过程中则需要计算构件之间的距离,并与条件中的构件过滤要求相结合。事实上,建筑规范中的大量条款,都是语义与几何约束的结合体。为了实现复杂建筑条款的全自动检查,检查工具实现了一个语义和几何计算融合的检查框架,并提供了一个可扩展的几何计算库,与SNL规则紧密结合实现自动检查支持。
在语义和几何计算融合的检查框架中,将一条SNL规则归纳为范式Rif∧Rif_comp⟹Rthen∧Rthen_comp的形式。Rif和Rthen分别表示SNL规则中条件和结论部分的语义约束(即不含如距离、穿越等特定几何计算的描述),使用Rif_comp和Rthen_comp分别表示条件和结论部分的几何计算约束。Rif、Rthen、Rif_comp和Rthen_comp可为空。图5展示了防火规范条款7.3.6对应的一条SNL规则,该规则的几何计算约束出现在SNL规则的条件部分,对应范式中,Rif_comp为空的情况。图6展示了防火规范条款8.1.6对应的一条SNL规则,该规则不包含几何计算约束,对应范式中,Rif_comp和Rthen_comp均为空的情况。
图5 防火规范条款7.3.6对应的一条包含房间隔墙判定的SNL规则
图6 防火规范条款8.1.6对应的一条包含存在性判定的SNL规则
Rif和Rthen基于检查工具中对语义模型的检索查询实现。检查工具可支持各类复杂的SNL规则描述。如图6所示的SNL规则展示了对“存在一个符合要求的构件即可”之类的描述。检查工具根据SNL规则的表示,自动判定是检查全部构件还是检查是否存在一个构件符合要求,并分别转换为不同的语义查询,实现自动检查。此外,基于SNL的灵活性特点,在应用中可按需求分别编写SNL规则使其作用于整个建筑(如图4)、某个楼层(如图6)或某个特定功能空间(如图5)。当作用于整个建筑时,检查工具会将建筑的全局属性与建筑内的各类构件及信息进行有效融合。例如,在处理图4所示的规则时,检查工具会基于SNL的条件对非医疗建筑自动跳过,无需人工对哪些类型的建筑应检查哪些条款进行选择或标注,检查工具可对其一致性处理。这一点对于需要覆盖各种不同类别建筑的防火规范检查尤为重要。
Rif_comp和Rthen_comp基于检查工具内置的几何计算库实现。目前检查工具中已实现的几何计算包括门的开向、房间之间的隔墙、构件之间的碰撞、构件之间的距离(水平距离、竖直距离、路径距离、最大距离、最小距离等)、构件之间的位置关系(如上下关系、平行并排、异面交叉)等。检查工具的几何计算库可随着未来应用实践的要求逐渐扩充。新的几何计算功能会自动嵌入到语义和几何计算融合的检查框架中,从而支持各类复杂约束条件下的自动检查。
在湖南省审查系统的消防审查应用中,建研院与清华大学合作,实现了BIM审查平台与检查工具的集成。面向防火规范民用建筑涉及的强条,建立了规则库,提供了BIM审查平台的消防审查服务。防火规范规则库目前共拆解为95个条款,包含860条SNL规则。规则库覆盖了人工审查时面临的各类重难点条款,如5.3.1、5.5.15、5.5.17、5.5.18等,并经过了领域专家的检查和确认,确保规则描述正确性。基于统一的检查工具,湖南省审查系统在消防审查部分,实现了对防火分区、消防电梯、封闭楼梯间和防烟楼梯间设置、疏散门和疏散距离要求、特殊功能空间的防火等级和层数要求等各类条款要求的系统性全自动检查。
图7展示了未通过防火规范自动审查的一些样例。图7a展示了违反条款7.3.6的情况,该图也展示了检查工具能够适配多种墙体建模习惯如用三段墙组合成隔墙这一情况,精确识别房间隔墙; 图7b展示了检查工具根据5.5.15要求,检测出房间1不满足设置不少于2个疏散门以及房间2未设置疏散门的情况。图7c展示了高层医疗建筑某病房不满足房间疏散门到最近安全出口的直线距离要求的情况。
图7 防火规范条款的自动审查不通过的样例展示
在应用实践中,检查效率也是工具面临的一个重要问题。在消防审查应用的性能测试实践中,基于CPU配置为Intel CORE i7-7700K 4.20GHZ、内存为32GB的台式机,在典型BIM整体建筑模型(大小为203M)上执行防火规范库的全部95个条款,检查工具的执行总时间约为102s,其中语义模型读取和推理时间为30s,检查执行总时间为72s,每条SNL规则的平均执行时间为8ms,基本满足应用要求。为了提升运行效率,检查工具内部实现了多种基于查询策略的优化。此外,对于哪些内容通过语义模型增强方式实现,哪些内容通过语义和几何融合框架实现也进行了精心选择。面向现实大规模复杂BIM模型,几何计算相关检查通常需要耗费较多的时空资源。若全部采用预计算和语义模型增强的方法,将会导致大量不必要的计算浪费。如条款7.3.6之类的检查,仅涉及少量特定功能空间,并不需要对建筑中所有房间计算隔墙。因此,检查工具将房间隔墙实现为几何计算库中的一项内容,从而基于检查框架的“使用时调用”机制,仅对过滤出来的少量功能空间进行几何计算,大大降低了条款检查的计算量,提升了模型检查效率。
随着BIM技术应用的普及,基于BIM技术进行工程项目审查审批逐渐成为了业内关注的热点。本文结合清华大学与建研院在湖南省BIM审查系统上的创新性合作,阐述了BIM模型智能检查工具在审查平台及消防自动审查方面的应用。通过构建防火规范的SNL规则库、应用检查工具的语义推理能力及语义和几何计算融合的检查能力,BIM模型智能审查工具实现了灵活可配置的精确审查,与审查平台在数据标准、流程管理、可视化等方面的特色功能,实现了优势互补。
BIM模型智能审查工具在BIM审查平台上的应用,是基于BIM技术开展工程项目审查审批的一个有益尝试。在消防规范审查上的应用实践说明了该工具的有效性。BIMChecker工具因采用了基于规则库的智能检查框架,使得该工具并不限定于特定领域如防火规范的审查。通过编制不同的规则库,检查工具可自动适配并给出相应审查结果,以一致性的输入输出形式展现。目前我们正在进一步深入扩展BIM智能检查工具的各类应用,包括扩展到结构、机电、暖通等更多专业,扩充到更多不同类型的设计规范,以及与更多合作伙伴如深圳市建筑工务署、万达集团等开展深入应用,促进行业提质增效。