基于BIMBase 的人行拱桥参数化建模研究

2023-09-12 05:03赵歧林王章琼徐晓雅周意蔡永辉
土木建筑工程信息技术 2023年3期
关键词:人行拱桥代码

赵歧林 王章琼 徐晓雅 周意 蔡永辉

(武汉工程大学 土木工程与建筑学院,武汉 430074)

引言

近年来,随着我国建筑设计行业的发展,常规的三维建模方式已不能满足复杂模型建模及建模效率的需求。参数化建模是实现三维模型的方式之一,其用脚本语言面对对象赋予几何尺寸初始参数,生成模型后可通过修改相关参数值,模型随之发生相应的变化[1]。此方法具有模型快速生成、修改速度快等特点,为此,大量学者进行了参数化建模的应用与研究。例如,仇朝珍等[2]采用Revit 中的Dynamo 插件基于Python 脚本进行参数化建模,实现个性化的建模功能;刘兆新等[3]利用Revit 进行二次开发,实现了隧道初期支护构件的参数化创建;何祥平等[4]采用Revit 中参数化族建立连续桥梁的参数化族库,调用族库即可快速集成桥梁结构模型。以上学者的研究思路对参数化建模具有参考价值,目前大量参数化建模研究致力于Revit 软件[5-7]。而Revit 软件由国外Autodesk 公司开发,存在建模流程繁琐[8]和信息不安全等缺陷。由北京构力科技有限公司自主研发的国产化软件BIMBase 弥补了以上缺陷。人行拱桥具有台阶、变截面、造型奇特、多曲线等特点,采用常规Revit 三维建模方法修改麻烦且无法进行大批量快速设计,而基于BIMBase 的参数化建模技术能解决这一问题。

本文基于BIMBase 进行人行拱桥参数化建模,介绍参数化建模流程,利用BIMBase 软件介绍一种针对人行拱桥的参数化建模方法,并查验该模型的准确性,及总结BIMBase 参数化建模的优势。

1 参数化建模及相关软件

参数化意味着建立整个模型的逻辑性和关联性,只要关联的逻辑固定,每个参数的变化都能得到及时反馈,从而达到改变模型的目的[9]。与常规三维建模方式相比,参数化建模主要解决线形复杂、异形曲面建模难等问题,且大幅提高设计效率[10]。

目前建筑工程三维建模软件大多从国外引进,可进行参数化建模的软件有:Revit 系列、Bentley 系列、3DMax 等[11]。其中具有代表性的Revit 系列有两种方式实现参数化建模,一种采用族实现,具有一定的局限性,例如无法实现本文踏步自动调整功能,另一种使用C++、C#等语言编写代码实现[12],其调试过程比较繁琐,需要编译、启动调试(运行软件),然后运行代码。若需改动代码,则要关闭软件,编辑代码,重新编译,重启调试后运行代码。整个过程较为繁琐,反复编译、调试,拖慢建模进度。而基于BIMBase 的Python 参数化组件在建模时可以“热插拔”,即代码在运行时会自动编译,编译通过后会自动在BIMBase中生成参数化模型。因此,BIMBase 参数化建模可以在建模过程中进行快速调试,提高建模效率。

2 BIMBase 建模

2.1 BIMBase 参数化建模

与Revit 一致,BIMBase 为用户提供了两种建模途径,一种是以常规三维建模技术所支撑的点、线、面等几何元素为基础进行工程内容的创建,此方法较为传统,不够智能化;另一种则是采用基于计算机语言编写代码来驱动三维模型的生成,允许三维模型因使用者的控制或相关工程参数改变而自动更新,即参数化建模[13]。BIMBase 平台提供了二次开发的接口,提供原生C++开发接口,并提供Python 接口、C#、.net开发接口,降低开发难度。

由于Python 有着大量、优质的第三方库,例如爬虫(Requests、Scrapy)、 数据分析(Numpy、Pandas)、文本处理(openyxl、python-docx)及Web开发等。因此,基于BIMBase 技术的Python 参数化组件建模有着更多的可能,用户可赋予任意数字的属性,满足特定功能需求。

2.2 建模技术路线

参数化建模时,所有涉及数值的变量都可以设置为参数,根据需要确定模型所需参数;其次建立几何体各部分的位置关系、参数约束条件等,对于复杂模型可以将其分解成多个子构件,分别建立子构件的参数化模型,再将这些子构件组合,形成一套完整的参数化模型;最后,运行Python 脚本,切换至BIMBase 中即可生成模型,并对参数化模型检查不同变量条件下的几何形状,验证模型或变量的关联性是否正确。基于BIMBase 参数化建模方法的思路如图1所示。

图1 BIMBase 参数化建模流程

3 人行拱桥参数化建模方法

本文将结合下面实际案例进行人行拱桥的参数化建模方法研究。

3.1 工程背景

以瑞安市桐溪风景名胜区景观人行拱桥为例,该工程立面如图2 所示。该桥上部结构采用上承式拱桥,拱圈为无铰拱,跨径13.5m,桥宽2.5m,矢高2.9m,矢跨比1:4.66,踏步高度为125mm,宽度为435mm,拱圈为钢筋混凝土矩形截面、板厚为0.3m,拱上填料采用M10 浆砌块石;下部结构拱座采用2.5m宽、1.7m 高的钢筋混凝土结构,其下采用100mm 厚素混凝土垫层,其余参数见表1。由于该类型拱桥结构刚度大,构造简单、施工方便、维护费用少、故被广泛应用[14]。

表1 人行拱桥关键数据

图2 瑞安桐溪风景名胜区景观人行拱桥立面图

3.2 人行拱桥的参数化

根据住房和城乡建设部发布行业标准《城市桥梁设计规范》CJJ 11-2011(2019 年版)[15]可知本工程主要由桥面、拱圈、拱座、填充物等部分组成,具体见图3。人行拱桥中包含各种复杂的几何形态,很难通过2D 施工图精确表达,且栏杆、拱圈圆弧线条都有不同程度的变化,按照建筑施工图用常规三维建模也难以完成。对于造型奇特、弧线较多的模型,如本项目中浮雕部分如图4 所示,若采用常规三维建模方式建模,耗时较多且误差较大,而采用参数化建模方法则能避免这一问题。参数化的拱桥模型可在保证精度的前提下,通过修改参数,就能得到相应尺寸的人行拱桥,速度快、精度高,且适用于其他场地同类型模型建模,实现一模多用。

图3 人行拱桥组成部分

图4 人行拱桥浮雕部分

选取桥宽、桥高、拱座宽、拱座高、拱板厚、计算跨径、计算失高、桥面高度、踏步高度、文字显示、文字高度作为参数进行参数化建模。各组成部分按结构组成可划分为许多子构件,分别进行各子构建参数化建模,最后将各子构件进行组合,可得到完整的人行拱桥参数化模型。例如进行栏杆建模时,分为栏杆主体和桥头两侧的浮雕两部分,分别对这两部分进行建模,最后进行组合,避免因代码过长导致乱码。

3.3 部分代码编写

在人行拱桥参数化建模的过程中,需保证各子构件在空间上和逻辑上的关联性。设人行拱桥的空间中心点为模型的基准点,各子构件均围绕该基准点布置,准确约束各个子构建的空间位置。此处列举关键子构件部分代码,较长代码采用省略号省略。

(1)参数设置部分

根据需求设置参数,此处依据前文3.2 列举的参数设置。

(2)拱座部分

此部分主要用到Section(点)、Loft(放样)、Rotate(旋转)、Translate(平移)、Combine(组合)等函数。该构件模型如图5 所示。

图5 拱座模型

代码最后一步采用combine(组合)函数,将所需子构件进行组合。

(3)拱圈部分

此部分主要采用Arc(三点画弧)函数。该构件模型如图6 所示。

图6 拱圈模型

(4)踏步部分

此部分较为复杂,是实现参数化的关键一步。该构件模型如图7 所示。

图7 踏步模型

代码中踏步线性排列部分采用for 循环,分别对踏面和踢面进行线性排列,达到踏步步数及踏步高度随拱桥总长度及桥面高度改变而改变的目的,实现踏步参数化,使其精准排列且提高建模效率,而常规三维建模无法实现这一效果。

(5)浮雕部分

此部分曲线繁杂,常规建模方式难以准确表达,以代码形式建模不仅精确且较为简洁。该构件模型如图8 所示。

图8 浮雕模型

代码的倒数第二步使用布尔(Boolean)运算中的布尔剪,即剪掉构件多余部分,达到设计效果。

(6)文字部分

可实现文字内容、高度随时编辑,以便应用于其他项目。该构件模型如图9 所示。

图9 拱桥模型1 参数

…… # 文字外边框制作主要采用Sweep(扫掠)函数实现文字的三维化。

3.4 模型验证

将BIMBase 软件打开呈后台运行状态,在Python解释器中运行写好的代码,转至BIMBase,即可实现模型的生成。模型如图11 所示,对应的属性表如图10所示,可见属性表中参数显示与前文3.3(1)部分一致,修改属性表中任意参数,检查是否生成新的实体。例如,修改后的参数如图12 所示(已由箭头标出),模型随之改变,相应的模型如图13 所示。若模型随参数修改而改变,且准确无误,则表明该人行拱桥参数化建模完成。

图10 拱桥模型1

图11 拱桥模型2 参数

图12 拱桥模型2

4 结论

本文针对人行拱桥有台阶、变截面、变高度、造型奇特、多曲线等特点,建立了一种基于BIMBase 的人行拱桥参数化建模方法,阐述了参数化建模方法相比于常规三维建模方式的优势及基于BIMBase 技术的参数化建模流程,以及建立人行拱桥参数化模型。结论如下:

(1)通过BIMBase 技术对人行拱桥进行参数化建模,发现对于造型复杂、设计繁琐的构件建模(例如浮雕部分),相比于常规三维建模,BIMBase 参数化建模能提升建模效率,减少因模型修改而造成的时间浪费,还能建立参数化组件库直接应用于同类工程;

(2)采用BIMBase 参数化建模方法,根据需求设置参数,具有很高的灵活性(例如踏步、计算跨径、计算失高等),使得基于BIMBase 建立的人行拱桥参数化模型可以适用于大多数场地,只需修改属性表中的参数即可;

(3)相比于Autodesk 公司的Revit 软件族参数化建模存在局限性及利用代码参数化建模流程繁琐问题,国产自主BIMBase 技术基于Python 语言直接面对对象建模,提高建模效率,且真正实现模型数据信息安全。

猜你喜欢
人行拱桥代码
创世代码
创世代码
创世代码
创世代码
完美 慈善万人行
水里的“小拱桥”
某异形拱人行桥通行舒适度及其控制研究
水里的“小拱桥”
翻车机人行通道光电安全保护装置
多跨连拱人行景观桥设计