行业动态

基于IFC标准的建筑平面图自动生成方法研究

来源:admin  浏览量:  发布时间:2026-04-27 11:15:00

1 研究背景

近年来,随着建筑信息模型(Building Information Modeling,简称BIM)技术应用的普及和快速发展,建筑行业生产技术正在发生较大的变革。目前的设计模式正逐步从以二维图纸为主要信息载体的设计模式,过渡到以BIM模型为主导、关联生成二维图纸的正向设计模式。研究表明,BIM正向设计是BIM技术在设计阶段应用最理想的模式。

在BIM正向设计中,二维图纸是不可或缺的。虽然二维图纸缺乏在空间表达的直观性和信息交互的协同性,但二维图纸能在BIM模型中抽取最重要的定位信息和构件作法等,减少了冗余信息对设计人员和设备的负担,同时二维图纸在模型的平面布局和定位上有着直观的表达,在很大程度上满足了正向设计过程中三维模型空间位置标定的需求,对于三维模型有着简化表达和重要的辅助作用。

然而对于目前的企业而言,从传统的以CAD二维图纸为主的设计模式转换到以BIM模型为主的正向设计模式,存在许多困难。一方面,我国的BIM正向出图效果较差,且达不到现行的二维制图标准,部分图纸仍需采用CAD软件进行手工修改,增加了企业的工作量;另一方面,不同专业模型二维图纸难以通过统一的方法生成和读取。由于CAD图纸本身在传递信息上存在劣势,构件在图纸上仅表现为图形而缺少相关联的属性,且构件之间缺乏有意义的联系,需要通过人为的组织方法进行信息的表达与传递,这样显然会造成设计信息协同能力的不足。因此高效自动生成正向设计所需的二维图纸,并且能在不同的专业之间实现设计信息的协同,对于正向设计的推广和相应设计模式的革新具有重大意义。

在二维图纸自动生成方面,KIM等对IFC(Industry Foundation Classes)文件进行解析,使用OpenCascade库生成模型的三维网格,使用剖切面和投影的方法获取DWG和PDF格式二维图纸。杨海涛等对桥梁构件的Revit模型进行剖切和投影等几何运算,得到CAD格式的二维施工图纸。二者的研究均使用剖切和投影的方法自动生成二维图纸,但其局限性在于只能获取构件的几何轮廓信息,而构件对应的属性、关联等信息则难以包含在DWG二维图纸中,导致二维图纸的信息难以与BIM模型进行关联和协同。

而在BIM协同设计方面,IFC标准作为国际上公认的建筑信息模型数据交互的标准,可满足多专业设计信息协同交换需求,因此有许多学者从IFC标准出发,研究以IFC格式为交付标准的二维图纸生成方法,从而实现信息的共享协同。

国内外学者对IFC标准的二维实体表达进行了扩展,并基于IFC标准实现了对BIM模型层面二维实体的生成方法,但是对于多源的BIM模型平面图的自动生成和二三维模型的关联方法的研究还不完善,BIM模型的数据库存储可以为此提供思路。徐嘉懿等[10]基于IFC标准和数据库,研究了多源异构BIM模型数据的提取与存储方法,为BIM模型的信息共享协同提供支持。因此,可进一步研究二维图纸与三维模型的数据库存储与关联机制和基于IFC标准的自动出图方法。

本研究结合IFC标准和数据库存储结构,创新性地提出了一种非DWG的二维图纸自动生成和归档方法,采用上海交通大学BIM研究中心自主研发的BIM协同平台(简称NMBIM),研究了三维BIM模型的信息结构,提出了一种基于数据库的二维信息存储方式,实现了基于IFC的建筑平面图自动生成方法,并以多个复杂的建筑三维模型为例,在多个BIM平台上,验证了该方法的可行性。

2 三维构件信息提取与存储

BIM正向设计的核心是BIM模型包含的所有元素的几何信息、属性信息、关联关系等信息流在不同专业、不同阶段的传递与使用[11]。而如何获取BIM模型中的信息,并将其存储为合适的格式以供后续使用,是正向设计中首先需要解决的问题。因此本研究从BIM模型的信息结构出发,提炼并概括得出了BIM模型中三维实体的层次关系,将楼层中的墙、柱、门、窗等构件作为研究重点,总结了三维构件的信息结构,并根据这一结构提出了一种基于关系型数据库的三维构件信息的提取和存储方法。

2.1 三维模型的层次关系

建筑的三维模型在空间关系和逻辑关系上通常具有明确的层次划分。

根据IFC标准可以得出,建筑三维模型的层次根据其空间关系和逻辑关系可以划分为场地、建筑、楼层和构件4个层次,上层对下层有着一对多的关系。

本研究将构件层次作为研究主体,根据三维模型层次关系将三维模型逐层解析,得到构件层次与其他层次之间的属性与关联关系等信息,并以符合该层次关系的方式进行存储。

2.2 三维构件的信息结构

2.2.1 几何信息

墙体一般可由一个拉伸实体进行定义,其底面可以看作拉伸面,拉伸方向一般是竖直向上。以直线延伸的墙体为例,定义一个墙体延伸方向定义为x轴,竖直向上的方向定义为z轴,墙体的起始点作为原点,即可唯一确定一个描述该墙体的局部坐标系,以墙体的长度作为在x轴上的偏移距离,以x轴为界向+y和–y方向各偏移宽度的一半,并将此矩形作为拉伸面,在z轴上拉伸一个墙体高度即可表示这一墙体。

同理,以矩形截面的柱为例,柱也可由拉伸实体表示,但与墙体表示不同的是,定义柱的局部坐标系x轴向为柱的长度方向,y轴向为柱的宽度方向,原点为矩形的中心点。

对于门窗构件,仅记录主要几何参数,以简化其复杂的几何表示,完整的几何形状存储在额外的几何网格模型文件中。以单面开启单扇门为例,定义局部坐标系的x轴方向为门的延伸方向,门的开合方向为y方向,原点位于矩形的中心,定义。

2.2.2 属性信息

属性信息可以描述构件在构造方面的特性,对于构件的二维表达具有一定的补充作用。根据GB/T 50104—2010《建筑制图标准》,对于门构件,开门数(单扇、双扇或多扇)、开门方向(单面开启、双面开启等)、门的种类(折叠门、推拉门)等属性都会决定构件的二维图例,所以在绘制门构件的二维图元时,需要考虑这些属性信息。

对于不影响二维图例的属性,如构件的作法、工艺、物理特性等,可以作为构件的非可视化参数信息,在特定的场景下提取并使用,因此在提取模型信息时,也需将这部分属性信息考虑在内。

此外,通过分析多种BIM模型(如IFC、Revit等)中属性信息的表达方法,可将属性信息的表示概括为属性名–属性值的键值对形式。在获取构件的属性信息时,可根据BIM模型的格式,有针对性地获取所有属性的键值对,从而得到该构件完整的属性信息。

2.2.3 关联信息

构件与构件之间、构件与楼层之间的关联关系用于构件的快速归类与查找。从整体上来看,所有的构件都与其所在楼层有着直接的空间从属关系;从局部来看,门和窗构件与其依赖的墙体有着直接的关联关系。所以在定义构件实体时,对于所有构件,都需定义一个BuildingStorey_ID表示从属于哪一楼层;对于门和窗构件,还需定义一个Host_ID表示其依赖于哪一墙体。综上所述,表1总结了这4类构件相关信息分类对应的数据内容。

表1 4类构件信息分类的数据内容

1.png

2.3 三维构件信息的存储

为了实现构件信息的存储,根据上述提出的信息结构以及墙柱门窗所包含的信息分类数据,将这4类构件的信息存储到Componentlnfo、GeometryInfo和Property SetInfo这3个表中。

虚线框外的4个表分别代表模型、场地、建筑和建筑楼层,后三者表示了前文提出的三维模型层次关系的前3层。虚线框中的表是对第4层——构件层次的信息结构的表达,其中ComponentInfo为这一层次的主体,主要存储构件的ID、名称、类型、外键及关联信息。创建GeometryInfo表存储几何表达的ID、表达类型(如拉伸实体、Brep、CSG等)、定位点和局部坐标轴信息,创建GeometryParameter表存储几何表达相关参数信息,如构件的长、宽、高等。GeometryInfo表通过主键Geometry_ID与ComponentInfo表建立一对多关联,与GeometryParameter建立一对多关联。

此外,创建属性集PropertySetInfo表示构件的属性集合,创建属性表PropertyInfo存储每一条属性信息。在PropertySetInfo表中可通过主键PropertySet_ID与ComponentInfo表建立一对多关联,与PropertyInfo建立一对多关联。上述一对多的关系可以使被多个构件引用的同一几何表示或属性集只存储一份,减少存储空间和查询时间。

2.4 三维构件信息的提取

在信息提取阶段,对于不同格式的BIM模型文件,需要一种统一的提取方法将模型信息转换到构件数据库中,本研究选择NMBIM(7.0版本)解析Revit的rvt文件和IFC文件。

NMBIM平台分别使用Revit SDK和IFCPlusPlus框架将rvt文件和IFC文件读取并对象化解析到内存中,然后在构件对象中提取对应的几何信息、属性信息和关联信息等,并生成构件信息数据库和三维几何网格文件。

3 基于IFC的二维图纸生成

3.1 二维信息的提取方法

三维构件的二维信息一般可由截面参数和截面坐标表示,通过数据库查询,根据构件的种类获取对应的表示二维信息的参数。首先根据自定义的平面高度在数据库的BuildingStoreyInfo表中获取对应楼层ID,然后根据该楼层ID在ComponentInfo表中查询构件与楼层的关联信息,得到该楼层所包含的所有构件,之后即可根据构件的种类提取相应二维信息,需要提取的信息包括构件的几何信息、属性集信息和关联信息,具体应该提取的数据内容在表1中已经给出。

提取几何信息时需要根据Component_ID在ComponentInfo表中查询外键Geometry_ID,以此为主键在GeometryInfo表中查询相关几何信息,如几何表示类型、构件定位点以及局部坐标系。同时,在GeometryParameter表中查询构件的延伸长度、厚度和高度等几何参数信息。

提取属性信息时需要根据Component_ID在ComponentInfo表中查询PropertySet_ID,然后据此在PropertySetInfo表中查询属性集的类型和名称,在PropertyInfo表中查询到该属性集内所有的属性键值。最后,根据需求可在ComponentInfo表中提取其Host_ID作为门窗构件与墙体的关联关系,以作进一步处理。

3.2 IFC二维图纸的生成方法

在IFC标准中,构件的实体信息通常由其几何表示、位置信息和关联的属性信息决定。

3.2.1 几何实体的生成

IfcAnnotation实体的总体几何形状采用IfcProductDefinitionShape实体表示,其包含多个IfcShapeRepresentation实体,用于表示包含的多种几何形体。IfcShapeRepresentation实体也可包含多个基础的几何图形,例如表示曲线集合的IfcGeometricCurveSet和用于表示文字的IfcText– LiteralWithExtent。

本研究的墙柱门窗构件,几何形体均由曲线或直线构成。结合上述对构件几何信息的描述,通过构件的长度、宽度等参数得到直线段的定位点(IfcCartesianPoint),从而通过IfcPolyline实体关联这些定位点,建立对直线段轮廓的表达。

此外,对于门构件,还需通过其属性信息(种类、开合轴、开门数、开门方向和单扇门长度等)确定门的几何线条。以某一单开门为例,其开门方向为(0,1,0),开合轴为1且单扇门长度为800 mm。

通过IfcTrimmedCurve实体对IfcCircle实体进行裁剪描述门的几何线条。首先设置IfcCircle的圆心的坐标为(–400,0,0),直径为800 mm,随后将裁剪方向设为逆时针裁剪,裁剪范围为0 °~90 °,可以得到表示开合情况的1/4圆弧线。最后连接点(–400,0,0)和点(–400,800,0)生成IfcPolyline实体,即可表示最终的门构件的几何形状。

对于标注中的文字内容,则需使用IfcText– LiteralWithExtent实体,将文字内容赋值到该实体的Literal属性,创建IfcLocalPlacement实体表示文字位置,并将其与IfcTextLiteralWithExtent实体关联。

3.2.2 位置实体的生成

在世界坐标系中实体位置信息需要通过从局部坐标到楼层坐标,再到建筑坐标,最后到场地坐标层层嵌套得到。位置信息由IfcLocalPlacement实体表示,需要得到其关联的上一级坐标系的IfcLocalPlacement实体,并在此基础上建立这一级的坐标系IfcAxis2Placement3D实体,该实体需要获取原点坐标,x轴方向和z轴方向。对于墙柱门窗构件,将其延伸方向或长度方向设置为x方向,z方向可设置默认值(0,0,1),坐标原点可由构件截面的起始点或中心点表示。

3.2.3 属性实体的生成

IFC标准根据属性信息类别将构件的属性进行分类并形成属性集。属性集是存储构件属性的容器,本文将构件的所有属性信息整合成一个属性集,该属性集用IfcPropertySet实体表示,其存储的每条属性均使用IfcProperty实体表示。属性实体可存储属性的名称和值等信息,从数据库中获取属性信息键值对后可直接生成IfcProperty实体,随后将其与构件的IfcPropertySet实体关联。在构件所有属性实体生成后,可通过关联实体IfcRelDefines–ByProperties将IfcAnnotation实体和IfcPropertySet实体关联,实现IFC属性信息的生成。结合上述生成的几何实体和位置实体,得到二维图元最终的IfcAnnotation实体。

4 案例验证

本研究分别选取某办公楼和某居民住宅楼作为测试案例,对提出的算法在转换效果和属性信息的完整性进行测试。本研究的案例模型均采用Revit 2018软件建模,案例均使用原生的rvt文件以及从Revit导出的IFC文件进行测试。首先将两种格式的模型文件导入NMBIM 7.0版本中,内置的数据转换模块会将rvt和IFC文件转换为包含几何信息和属性信息的nmi文件,根据上述的方法,在NMBIM软件内研究开发了三维模型的二维IFC图纸自动生成模块,即可将nmi文件导出为IFC二维图纸进行测试。

4.1 转换效果

案例1为某办公楼,主体结构尺寸为51.2 m×15.9 m,共4层,在NMBIM中将原模型与每层的IFC二维平面图文件同时加载,案例2为某居民住宅楼,主体结构尺寸为125 m×37.7 m,共20层,用Revit导出第1层的DWG。其中,提升效率的定义为:(Revit导出耗时–自动生成算法耗时)/ Revit导出耗时。试验发现自动生成算法在导出效率上均有较大的提升。

上述案例表明,本方法可成功自动生成中大型体量BIM模型的IFC二维平面图,自动生成算法相较于Revit直接导出耗时更短,并且该二维平面图能准确表达墙柱门窗构件在平面图中的位置、轮廓等二维信息,导出图纸中关键构件的表达和主体轴网的分布与原二维图纸相似度高,表明通过对三维模型构件信息的提取并生成IFC二维平面图的方法已经具备初步的实用价值,同时也说明利用IFC文件可以很好地表示BIM模型的二维平面图。

4.2 属性信息完整性

为了直观地展示二维实体对应构件的相关信息及其正确性和完整性,利用NMBIM平台对案例1模型文件中1F的某个门构件进行属性提取与展示,同时在Revit 2018平台中加载对应模型,选择该门构件并查看其属性集,并与NMBIM中展示的属性集进行对比。通过测试构件在两个平台中的属性集对比可知,模型转换后(在NMBIM平台中),相关的属性信息与在Revit 2018平台中完全一致,可验证转换后模型属性信息的正确性和完整性。

5 结论

本研究以BIM正向设计中自动出图方法为切入点,基于IFC国际标准,使用数据库作为数据存储与交换的桥梁,提出了一种基于关系型数据库的三维构件信息的提取和存储方法。然后根据三维构件中二维与三维信息的对应关系,设计了一种提取二维模型数据并自动生成IFC二维平面图的算法。试验证实该算法成功适用于中大型的建筑模型,导出图纸的完整性、准确性高,具备高于Revit出图的导出效率,且以IFC为格式的图纸在转换后能携带完整和准确的属性信息,说明该算法已经具备初步的实用价值。本研究提出自动出图方法,解决了传统DWG平面图中构件属性信息丢失的问题;以IFC国际标准为交换格式,克服了二维图纸与三维BIM模型之间数据交换的阻碍,为多专业BIM软件协同设计和自动出图提供技术支持,同时为BIM协同平台的多专业二维平面图自动生成功能的研发奠定了基础。

在本研究的基础上,后续研究可以从以下几方面进一步开展。

(1)完善构件及其几何信息的提取,存储和自动生成的方法。本研究只对墙柱门窗4种构件进行提取,对于楼梯,楼板(开洞),家具构件等可以进一步研究;墙柱构件的二维几何轮廓只停留在矩形的情况,对于T形和L形等复杂构件截面的表示也可深入研究。

(2)根据建筑制图标准,进一步研究平面图中二维图例的表示方法,完善基于IFC的二维图纸归档方法。

(3)基于本研究提出的构件数据库,二三维构件可由数据库内的构件ID进行关联,据此可以进一步提出三维构件与二维图元的联动方法,同时也可提出一种借助二维图纸对三维模型的审查流程,扩展本研究提出的归档方式的使用场景。

摘自《建筑技术》2025年5月,王晶,邓雪原