许利彤, 崔言继, 亓祥成
(中建八局第一建设有限公司, 山东 济南 250100)
BIM(building information modeling)是设施具有物理和功能特征的数字化表达,在项目的全生命周期中通过共享信息资源,为决策提供可靠基础[1]。当前,国外BIM技术的发展已不仅局限于建筑业,开始扩展到各个领域中[2-4],实现多元化发展。与此同时,国内BIM技术在建筑领域也取得了新的突破[5-7]。近年来,随着国家对基础设施建设投资的不断加大,BIM技术开始逐步延伸至基础设施领域。2017年9月,国家交通运输部办公厅发布《交通运输信息化“十三五”发展规划》,明确现代信息技术在工程管理中的作用,通过开展BIM技术应用示范工程建设以提高公路建设管理水平。2017年12月底,《关于推进公路水运工程BIM技术应用的指导意见》发布,提出进一步加强工程建设项目全过程信息化,激发企业主动运用BIM技术的积极性,推动基础设施BIM技术的不断成熟和完善。
在实际基础设施线性工程中,线路中心线为其设计重点,如何在Autodesk平台(由Autodesk公司研发的各类软件集,简称“A平台”)Revit软件中根据设计曲线数据建构三维工程路线中心线,避免数据信息缺失,保证数据精度成为关键问题。许利彤等[8]基于Autodesk平台,以隧道为研究载体,提出了Civil 3D与Revit交互应用流程,软件信息传递工作流为Civil 3D导出路线坐标(x,y,z),通过Dynamo将其提取至Revit建模空间中进行三维空间点拟合。陈旭阳等[9]研究了AutoCAD三维空间曲线导入Revit中实体正交投影合成的方法,成功创建隧道中心线。张恺韬[10]运用Dynamo从隧道设计平、纵Cad断面出发,将平、纵面曲线对其法线方向放样生成曲面,再通过相交命令获得三维中心线。王茹等[11]详细论述了实时可编辑地形模型、主体结构精度模型以及批量附属设施的三维模型快速搭建方法,并通过具体操作实例证明该方法能提高公路立交BIM 模型的搭建效率。
以上所述对Revit三维路线建构方法及其应用进行了深入探索,但针对方法本身的路线生成基本原理并未进行实质研究。同时,在路线生成过程中,数据传递精度有待证实,方法本身的使用效率仍需优化提升。最后,在实际工程中,基于路线生成的模型在工程量计算、坐标提取定位、标高复核等模型应用中,由于误差影响导致模型用途减少,只能用来可视化展示,模型信息不能有效利用,建模意义大打折扣。
基于此,本文将系统性总结、优化Revit三维工程路线4种建构方法,深入研究Revit拉伸、放样、放样融合等命令依靠空间曲线生成机制,进一步探索Revit空间曲线的存在形态。最后,提出以可视化编程软件——Dynamo为核心计算程序,采用确定性和随机性2阶段分析方法,科学验证、校核Revit中生成空间曲线的精确度,以图表形式直观反映各方法误差分布规律、变化幅度。由于Revit模型的展示效果、可操作性、可交互性、应用普遍性等优于其他A平台软件,可通过数据流方式将其他A平台软件及外部数据传递至Revit中进行整合,为后续在Revit中进行模型创建奠定基础。
目前,国内从事A平台基础设施建模工作者普遍采用Revit进行三维工程路线建构,其方法可系统性分为: 1)正交叠合法; 2)逐点拟合法; 3)Civil Structure法(简称“C-S法”); 4)BIMCAD法(简称“B-Cad法”)。
取A平台Revit、Dynamo和Civil 3D 3款软件进行建模、分析,并提供基础性文件,即工程线路中心线设计文件。在Civil 3D中通过输入平、纵曲线要素生成特定三维道路中心线,以此中心线为基础进行4种方法探索。路线建构基本流程如图1所示。
图1 路线建构基本流程
其中,路线起讫里程桩号为K0+000.000~+556.136,平、纵曲线要素分别见表1和表2,路线信息展示如图2所示。
表1 平曲线要素
表2 纵曲线要素
图2 路线信息展示(单位: m)
在实际工程设计中,平曲线中缓和曲线设计广泛应用于公路与铁路路线设计中,其类型多为回旋线,为直线与圆曲线过渡连接,线形曲率变化连续。理想缓和曲线数学模型为高阶方程,而实际应用只取有限的阶数。通过二次开发可实现AutoCAD缓和曲线绘制。从理论上讲,该曲线只能近似为理想曲线,因此已经产生误差。李全信[12]在AutoCAD中利用三次Spline曲线来模拟和绘制缓和曲线,在取一定的弧段数n的前提下,就能确保所绘制和拟合的缓和曲线的数学精度,满足据此而进行的坐标计算、弧长求取、面积量算等多种需要。纵断面设计中,曲线段设计主要为圆曲线与二次抛物线,此项可通过二次开发进行精密控制并展绘在AutoCAD中。
在整个Revit三维建模空间中,空间曲线将由平、纵断面曲线合成,受平曲线精度偏差(Δx, Δy)影响,再增加z方向偏差Δz,曲线精度误差将由二维扩大至三维,误差计算也变得复杂。
陈顶君等[13]针对AutoCAD样条曲线,详细介绍了NURBS曲线的相关术语及AutoCAD产生样条曲线的方法。在Revit空间中,曲线投影的垂直投影线与水平投影线均为样条拟合多段线,此类曲线由若干单位直线段首尾连接而成,其首尾连接点不具备相同切线方向,整体逼近样条曲线,但并不是真正意义上的NURBS曲线。以垂直投影曲线为基础,通过放样、融合、Dynamo构件提取等Revit命令操作在进行面或者体生成时,系统默认将此样条拟合多段线转换为三次(4阶)、权重为1的NURBS曲线使用,故所得到的面或体的某些边为一条顺滑的空间曲线。同理,在Revit中,2个垂直实体或者垂直面相交,通过剪切运算,所得空间曲线仍为三次NURBS曲线。
三次NURBS曲线由n个控制点定义,其实质上是由n-3段分段曲线连接而成,每一分段曲线首尾接点处顺滑达到切线连续性,即二阶连续可导,因此可实现Revit整体拉伸、扫掠等其他命令操作。以下4种方法的实施基础为基于三次NURBS样条曲线计算得到,进而通过加密控制点个数的方式,使样条曲线无限逼近理论空间曲线。
由于Revit空间曲线默认为三次NURBS曲线,此项决定了基于Revit二次开发不能解决空间曲线无损建构,只能通过不同方法优化以减少路线建构误差。因此,所生成三维工程路线虽与理论道路空间曲线有一定的差别,但是对于实际工程已有一定的帮助。
对于以上4种建构方法,国内已基本实现,但应用较为分散,缺乏系统性的归纳与总结。本文不再详细说明具体使用流程,只是针对性地进行一些细部注意事项、方法实现原理的分析,保证方法的可实施性。
3.1.1 正交叠合法
在Civil 3D中,将已生成路线打断为三维单位多段线,在Revit建模空间中导入该空间多段线。值得注意的是,由于此多段线相邻单位直线段首尾接点切线法平面不重合,故不能整体进行放样等命令操作。需在Revit空间中拾取导入路线并创建水平、垂直投影模型线,如图3所示,通过逆向实体生成交叉原理重新建构空间曲线。不同类别模型实体相交如图4所示。
图3 空间曲线投影
(a) 实体相交 (b) 平面相交
3.1.2 逐点拟合法
在Civil 3D中,将所建设计道路中心线直线段和曲线段分别按0.5 m和0.1 m步距输出三维空间点坐标报告。
在Revit中,使用Dynamo中的Excel. Read From File节点包将空间坐标点导入项目中,通过核心节点Nurbs Curve. By Control Points形成一条三维空间曲线;也可将空间坐标点数据导入体量族中,通过核心节点Curve By Points. By Reference Points拟合成三维空间模型线,再导入项目。由于2种方法原理相同,在以下精度验证中选择第2种方法生成的路线进行验证。
3.1.3 C-S法
Civil Structure为Autodesk公司专门针对Revit正版用户开发的一款实用插件,它是连接Revit与Civil 3D的内部桥梁。由于可获取途径受限,较其他方法鲜为人知。
在Civil 3D中将已生成三维中心线数据导出,生成附带曲线要素的.xml格式文件,将此文件在Civil Structure中导入并加载即可。
3.1.4 B-Cad法
BIMCAD是一款基于Revit二次开发的外部插件,主要用于路桥参数化快速建模,配合详细的参数示意图,输入路线数据或者导入如纬地、EICAD等路线软件源文件即可创建项目。值得注意的是,所生成空间曲线为在体量族中由参照点图元连接拟合而成的模型线,如图5所示。参照点图元个数直接由平曲线要素决定,直线段与圆曲线段参照点图元间距相同,在缓和曲线段进行相应加密。
图5 三维体量路线展示
本工程路线平曲线类型有2类,纵曲线类型有3类,合成空间曲线表达形式共有6种可能,如平曲线直线段+纵曲线直线段合成三维空间直线、平曲线直线段+纵曲线圆曲线合成空间椭圆弧,其他类合成空间曲线表达更为复杂。在实际工程中,常见做法是在Civil 3D中生成精确平曲线(考虑直线、缓和曲线、圆曲线),对应生成精确纵曲线(考虑直线、圆曲线),这样求得的坐标点(x,y,z)是准确无误的。理论上可生成无数点,将这些点连接在一起将会生成无损空间曲线;但在实际过程中,考虑到电脑配置、时效性等因素,生成点的数量将以某一指定规则有限生成,如每1 m生成1个点。通过这些点在Revit中拟合生成三维光滑曲线,相邻点之间实际曲线段与理论空间曲线段是有差别的。如果理论空间曲线段为直线,则不会存在误差;如果为复杂曲线,则开始出现误差。
以上所述4种方法均可在Revit中建立三维空间曲线,利用Dynamo辅助对空间曲线进行坐标(x,y,z)精度验证。本次验证以大众性、科学性为准,其中,基本路线平、纵曲线含常用设计线形要素,即直线、圆曲线、缓和曲线。采用2阶段验证方式,即第1阶段为确定性验证,第2阶段为随机性验证,验证流程如图6所示。每个桩号点数据均精确到5位有效数字,其他数据精确到3位有效数字。每个阶段得出数据后,抽取部分桩号,尤其以特殊区间段为主,再次进行复核,以确保数据的精确性。
图6 验证流程
3.2.1 确定性验证
在Civil 3D源文件中,将设计路线直线段及曲线段步距分别按照0.5 m和0.1 m导出。值得注意的是,Civil 3D生成的路线由软件所绘精确二维平、竖曲线结合得到。该二维曲线又是由设计文件平、纵曲线要素生成,包括直线、圆曲线、缓和曲线以及其组合。平、竖曲线参数设定如图7所示。
(a) 缓和曲线设定
(b) 竖曲线设定
在Civil 3D提取已生成路线任一桩号数据时,软件将在给定桩号处依据源平、纵二维曲线逆向提取信息,提取数据准确可靠,无误差,即所得数据为含坐标(x,y,z)、桩号的精确数据。将数据导出至Excel表格中备用,命名为A1。
在Revit中,选择经4种方法生成的三维空间曲线,采用Curve. Project节点对曲线进行平面投影,平面投影线将由上一步导出的A1数据进行桩号细分。以细分点为参照点,空间z轴为向量,选取一定高度进行竖直线绘制,所绘多根竖直线均与三维空间曲线通过核心节点Curve. Intersect All交叉于一点,如图8所示,将这些交点坐标数据利用Excel. Write To File输出至Excel表格中保存,命名为A2。
图8 交叉显示
此外,由于验证数据桩号与逐点拟合法所采用桩号相同,需将桩号直线段及曲线段部分步距在首次增加后,再次一一对应分别增加0.25 m和0.05 m,以此得到新的里程桩号。最后,按照以上确定性验证方法进行求解,得到逐点拟合法数据。
以上A1与A2数据形成后,挑选部分桩号点进行校核,经校核无误后,对数据进行对比分析。为观察误差分布特征,本次误差取值精确到3位有效数字,即达到mm级别。
为了方便查看误差变化趋势,采用上下错位0.1 mm的方式将叠加图形分开,以不同标识显示不同类别。根据图9可以得到,4种方法产生的误差精度最小为0 mm,最大为15 mm,整体所产生误差在mm数量级。其中,逐点拟合法坐标产生误差均为0 mm,但是并不能代表无误差。列举如表3所示坐标数据,(x1,y1,z1)为Revit数据,(x2,y2,z2)为Civil 3D数据,其(x,y,z)误差精度在0.01 mm,误差极其小。正交叠合法x、y方向与C-S法z方向误差变化幅度类似。B-Cad法x、y方向误差变化幅度较大,最大值达15 mm,误差区间为平面圆曲线和缓和曲线处,z方向产生误差相对较小,误差分布特征与纵断面图类似。
(a) 正交叠合法
(d) B-Cad法
表3 逐点拟合法部分坐标数据展示
由于B-Cad法产生误差幅度较大,为进一步证实此结论,选择对应误差幅度大的桩号点,利用Civil 3D导出对应精确坐标点并展点在Revit平面视图中,观察与已生成路线的位置关系,最终得到结果如图10所示,实际准确点与已生成路线点有一定距离;反之,证明了存在误差幅度较大的结论。
3.2.2 随机性验证
考虑平曲线要素中的圆曲线和缓和曲线、纵断面设计曲线的圆曲线,故随机点个数应按不同特征区间差异化取值,在桩号范围内进行三维空间曲线拆分: 1)直线段; 2)平曲线圆曲线段(包括缓和曲线)或纵断面圆曲线段; 3)平曲线圆曲线(包括缓和曲线)+纵断面圆曲线段。单元划分原则为段内随机点数在直线段每隔5 m取1点,单一曲线段内加密,每隔5 m取2点,组合曲线段每隔5 m取3点。具体划分见表4。
根据表4统计,共计产生206个随机点。分别选择4种方法生成的三维空间曲线,将三维曲线通过节点Curve. Project垂直投影至水平平面,根据所划分的区间桩号特征值通过节点Curve. Point At Segment Length对垂直投影线进行分段划分,将所得到的每一分段作为一单元,利用核心节点Lunch Box Random Numbers对不同单元内随机点个数在垂直投影线进行随机Seed分布,再将分布点映射在空间曲线上,通过Data. Export Excel求得点位坐标;同时,根据分布点位置导出桩号清单,导入Civil 3D中,利用Dynamo求解得到桩号对应精确坐标(x,y,z),提取流程如图11所示。对2组数据进行比较,误差分布如图12所示。
ε=|实测值与理论值的点位平面偏差|,表示绝对误差。
表4 不同特征类型随机点数
图11 Civil 3D数据提取流程
根据图12显示,在x、y方向,4种方法中B-Cad法相对变化幅度较大,正交叠合法排第2,最大为4 mm,其余2种方法误差基本为0 mm; 在z方向,B-Cad与C-S法误差区间较明显,受纵断面圆曲线影响较大,均产生较大幅度变化,变化幅度为1~2 mm。
3.2.3 小结
通过对以上4种方法误差精度确定性与随机性的2阶段研究,发现其共性在于所产生误差处于mm数量级。其中,逐点拟合法有较好的误差表现,x、y、z方向变化幅度为0。B-Cad法误差受体量族中参考点个数影响较大,数量在曲线段个数较少,很难实现精准控制,因此,导致误差集中产生于曲线段区间。参考逐点拟合法,其选用共计3 887个参考点对空间曲线进行加密拟合控制,得到了较好的结果。
本文基于Autodesk平台的基础设施线性工程,如隧道、路基路面、管廊等线路中心线的生成,以提高建模效率、节省建模时间、确保路线建构精度为前提,聚焦Revit三维工程路线建构方法的基本原理、效率优化问题,实现数据模型高效、精准建构。
1)对Revit中三维空间曲线建构机制进行了深入研究,在二维多段线升维过程中,系统自动将多段线转换为三次(4阶)、权重为1的NURBS空间曲线,这也使得分段线二阶连续,从而使得线间过渡平顺,为后续在Revit软件中进行放样、扫掠等命令的正确使用奠定基础。
2)系统性地总结出Revit三维路线建构的4种方法,分别为正交叠合法、逐点拟合法、C-S法、B-Cad法,针对性地进行了一些细部注意事项分析,保证方法的可实施性。
3)根据4种方法在Revit中形成的三维空间曲线,提出了通过Dynamo辅助进行数据精度确定性和随机性2阶段验证方法,科学求解各建模方法所产生的数据误差。通过对比分析,揭示了各方法误差分布规律、变化幅度。推荐采用加密步距的逐点拟合法进行拟合,对Revit三维工程路线建构有较好的表现。
目前,国内外工作者采用A平台Civil 3D+Revit+Dynamo的工作流进行线性工程模型创建,此种方法实操性强,应用广泛。B-CAD法基于Revit进行的二次开发插件,通过输入交点坐标、半径、缓长等路线参数生成三维工程路线,传递参数较少,数据较为精确,但是依然存在明显误差,这也证明了三维工程路线无法在Revit中精确生成,只能通过不同生成方法优化以减少生成误差,使得结果更接近于理论空间曲线。