结构专业Revit到PKPM贯通软件的开发

2023-02-13 11:08
电力勘测设计 2023年1期
关键词:分析模型楼板图纸

严 旭

(中国电力工程顾问集团西南电力设计院有限公司,四川 成都 610021)

0 引言

BIM概念的提出始于上世纪80年代前后,但直至2010年起,BIM技术才在房屋建筑领域逐渐得到广泛使用[1]。作为一种新兴三维设计技术,BIM具有可视化、协调性、模拟性、优化性和可出图性[2]。Autodesk公司开发的Revit软件,能满足建筑、结构、机电专业的要求,成为房屋建筑业使用最广的BIM软件之一[3]。

基于Revit平台,多位专家和学者对结构专业BIM设计问题进行研究。龙辉元[4]、乔保娟[5]、杨党辉[6]、刘照球[7]等研究并实现Revit三维模型和结构分析软件模型的转换,可用于“翻模”;郝国龙[8]基于Revit建模并创建结构图纸,董爱平[9]基于Revit人工操作建模并完成梁、板、柱、基础平法图。李坤[10]在地铁车站结构设计中采用Revit建模并直接导出至Robot Structrue中进行结构分析;赵华英[11]、王勇[12]等在创建Revit模型和平法图纸后,利用CSIXRevit将模型导出至Etabs中进行结构分析,但均未解决Revit模型和计算模型如何保持动态一致的问题。

国内软件商长沙恩为软件、探索者软件、盈建科软件相继自2011~2014年,基于Revit开发了结构辅助设计软件,技术路线在Revit中读取计算模型后生成Revit三维模型,一键形成各层平面布置图,在Revit中读取计算结果并设置配筋参数,一键形成配筋图和三维钢筋[13]。因BIM数据来源于计算模型,计算模型变更后,无法正确且高效地更新到Revit中,故此方式只适合先计算再绘图的设计方式。

广厦软件在2018年开发了正向设计软件GSRevit[14],技术路线是在Revit三维模型中输入全部的荷载和参数后,直接输出至广厦结构进行结构计算[15],可在Revit中一键形成模板图和配筋图。只利用Revit三维模型,与在PDMS、SmartPlant 3D等BIM软件中进行开发没有本质区别。GSRevit看似提供了完整的操作菜单,但又不能完全替代Revit人机界面,直接使用Revit进行的操作可能不被识别。有简单的使用案例[16-17],但操作过程“一气呵成”,没有体现结构设计期间反复推敲修改的情形。

以Revit和PKPM软件之间贯通软件的开发为例,介绍软件开发和测试的具体过程。利用3个已完工的混凝土框架结构进行SATWE计算结果的对比验证,与原SATWE计算结果进行对比,结果均100%一致。在实际工程中选择了3个中小规模的混凝土框架结构进行BIM正向设计[18]。旨在为BIM平台软件指明亟需升级完善的问题,为第三方软件商规划产品路线指明方向。

1 技术路线

对结构设计的工作内容进行梳理,可划分三个部分:“协同”“图纸”“计算”。“协同”是专业内、专业外的配合;“图纸”是图纸及统计表;“计算”是计算模型、计算过程及计算书[19]。二维CAD设计,“协同”主要依靠二维CAD的反复交互,“图纸”与“计算”是割裂的、需要人工维护二者的一致性[19]。BIM技术的出现,其可视化、协调性、模拟性,是解决专业内外的“协同”的独特优势。通过Revit混凝土框架[20]、Revit钢结构框架[21-22]、Revit埋件[23]的设计出图实例可知,在Revit中,不需要借助任何插件就能解决“图纸”的问题,结构工程师通过人工操作,可以方便地创建和推敲BIM模型,方便地创建Revit平、立、剖布置图,完成结构的布置设计,设计总说明、配筋图、节点详图等与模型无关或关系较小的可以在二维CAD中绘制,也可以逐渐在Revit中积累。可以看出,结构BIM设计,关键问题是如何实现“计算”的问题。Revit中人工创建的三维模型,可以很方便地指定为Revit分析模型,若在Revit中添加全部的荷载和参数,全覆盖地输出为计算软件所需的源数据,甚至直接调用结构计算软件运行结构分析[24],避免了模型反复传导时的更新问题,能最终解决结构设计的“计算”问题。

故确定本次开发的技术路线:基于Revit分析模型,补充所有荷载和计算所需的参数后,输出为结构计算软件的原始数据文件“.jws”;直接调用结构计算软件运行“结构分析”;在Revit中读取内力和配筋并进行后处理,如图1所示。其实质是在Revit中嵌入结构计算软件的前处理和后处理,最终可实现在Revit中直接调用结构计算软件进行“结构分析”,且只使用“结构分析”功能。

图1 Revit结构设计插件技术路线

我院常用的结构计算软件是PKPM和STAAD.PRO,混凝土结构通常采用PKPM软件的PM+SATWE模块进行计算。PM为前处理模块,SATWE是基于墙元理论的结构高层建筑结构空间有限元分析软件[25],PM和SATWE的原始数据都存贮在“.jws”文件中。

2017年3月立项开发Revit与PKPM软件PM、SATWE模块的贯通软件,命名为ReviSTRU,只开发在Revit中补全荷载、补全PM和SATWE参数、输出“.jws”文件的功能。Revit中导入PKPM内力和配筋结果,在Revit中生成梁、板、柱配筋图,因现有结构辅助设计软件已有开发,故本次不开发。编程语言采用microsoft公司发布的面向对象的编程语言C#。

ReviSTRU与现有结构辅助设计软件的重要区别在于:

1)结构工程师先在Revit中人工创建Revit三维模型、Revit图纸。不需要读取结构计算软件中的模型,也不需要做自动成图的功能;

2)解析Revit分析模型后,以覆盖的方式输出计算软件的源数据文件,不存在模型数据的更新问题;

3)能够实现在Revit中直接调用结构计算软件并运行结构计算。

2 软件设计

ReviSTRU主界面功能菜单(图2)有如下功能:添加荷载、设计参数(含楼层信息、PM设计参数、SATWE设计参数、角柱设置)、约束释放(钢构件约束对比、砼构件约束对比、约束识别、杆件角度表、材料等级表)、分析设置、上部分析。

图2 ReviSTRU功能菜单主界面

2.1 添加荷载

在Revit中,荷载工况的添加与修改,可以利用Revit内置的“分析→分析模型→结构设置→荷载工况”功能,不需要二次开发。

需要注意,从Revit2012~2022版,Revit一直只有6种荷载工况(图3)。前3种是空间荷载,与构件无关联;后3种主体荷载虽与构件有关联,但仅能表示构件两端的节点荷载、沿构件通长分布的线荷载、整个楼板上的面荷载。Revit不直接支持的荷载,目前只能用空间荷载模拟。故在本次开发中需要对荷载进行“刷新”:当构件被移动时,荷载相应移动;当构件被删除时,荷载相应删除。

图3 Revit内置的6种荷载工况

各荷载工况下荷载的添加、修改、删除,需要二次开发,具体为节点荷载、杆件荷载(均布荷载、均布弯矩、集中力、集中弯矩、线性变化力、梯形分布荷载、柱侧荷载)、楼板荷载、自重荷载(图4)。在Revit中,荷载的正负值按世界坐标系的方向,荷载垂直向下时为负,在输出“.jws”文件时转换为PKPM默认的向下为正。

图4 ReviSTRU中可添加的荷载

在ReviSTRU中荷载输入界面中,在荷载工况上单击右键,将出现“添加荷载”及荷载的修改、删除等功能(图5左)。在具体荷载上单击右键,将出现“单选施加荷载”和“批量施加荷载”等功能(图5右),在Revit分析模型中选择节点或构件后,即可施加荷载。在Revit中不宜与PM一样在平面图上输入楼板荷载,故结合Revit的特点进行改进:施加楼板荷载时,只需要在Revit分析模型的三维视图中单击楼板,自动搜索该点楼板周边的梁所围成的区域,用Revit的空间面荷载表示该楼板的面荷载。

图5 ReviSTRU添加荷载与施加荷载

2.2 楼层信息

输出“.jws”,必须明确标准层及层高。逐层设置楼层信息相当不便,故开发楼层信息对话框(图6),在Revit中读取所有的标高列表,勾选是否设定为PKPM的标准层,层高则由软件自动计算,并定义各层梁、板、柱、墙默认的混凝土强度、钢筋强度、配筋率。

图6 ReviSTRU的楼层信息

Revit模型是实际的模型,故不存在标准层的概念。输出“.jws”时,Revit中每个自然层就是一个标准层,不考虑标准层合并。对于不属于标准层的构件,按层间构件(梁、板、柱)考虑。

对于需要单独设定材质的构件,直接在Revit的“结构材质”中设定(图7)。ReviSTRU会搜索构件的“结构材质”是否含“Cxx”“Q235”“Q345”等强度值,若有,则会单独设定该构件(梁、板、柱、墙)的指定强度值。

图7 ReviSTRU构件特定强度的设定

2.3 PM和SATWE设计参数

在ReviSTRU中,需输入PM和SATWE所需的全部参数,故开发这些参数全部的输入界面。“.jws”是二进制加密文件,目前只掌握2.x版“.jws”格式,无法输出新版“.jws”格式,故目前采取的措施是对不能保存到2.x版的参数予以提示。因现版SATWE不能直接打开2.x版“.jws”文件,故每次输出“.jws”后,必须用PM打开并更新数据格式。

PM参数对话框,用绿色表示无法输出的参数,并在下方以文字注明(图8)。例如,“矩形房间导荷载,边被打断时,将大梁上的梯形、三角形荷载拆分到小梁上”“钢框架抗震等级”“抗震构造措施的抗震等级”,若实际取值恰巧是当前PM的默认值,则不用在PM中修改。否则,每次结构计算前都必须使用PM修改。对于既可在PM参数中设定又可在SATWE中设定的参数,用蓝色表示。

图8 ReviSTRU的PM设计参数——地震信息

SATWE参数对话框,用红色表示无法输出的参数,并在下方以文字注明(图9)。若实际取值恰巧是当前SATWE的默认值,则不用在SATWE中修改,否则,每次结构计算前都必须使用SATWE修改。

图9 ReviSTRU的SATWE设计参数——地震信息

2.4 角柱设置

在SATWE前处理的特殊构件中,需要设定角柱。Revit没有角柱信息的存放位置,故在构件族中创建一个“结构性质”的实例参数,用于存放角柱信息。在ReviSTRU中,有必要增加“角柱设置”功能(图10),读取并罗列所有杆件的是否为角柱,且与构件联动:在模型里选中构件,则表中自动跳转至该构件的角柱与否情况;在表中双击某行,则模型中予以高亮显示该行所对应的构件。

图10 ReviSTRU的角柱设置

2.5 构件约束对比

在Revit分析模型中,可以人工干预构件起点、终点的约束释放,但不能直接观察各构件的约束释放情况。故有必要在ReviSTRU中增加“钢构件约束对比”和“砼构件约束对比”功能(图11),读取并罗列所有杆件的两端约束情况,且与构件联动:在模型里选中构件,则表中自动跳转至该构件的约束释放情况;在表中双击某行,则模型中予以高亮显示该行所对应的构件。

图11 ReviSTRU的混凝土构件约束对比

2.6 杆件角度表

在Revit中,不能直接观察构件的自转角度。故有必要在ReviSTRU中增加“杆件角度表”功能(图12),读取所有杆件的自转角度,且与构件联动:在模型里选中构件,则表中自动跳转至该构件的转角;在表中双击某行,则模型中予以高亮显示该行所对应的构件。

图12 ReviSTRU的杆件角度表

2.7 材料等级表

在Revit中,不便于直观查看各构件的强度。故有必要在ReviSTRU中增加“材料等级表”功能,如图13所示,读取所有杆件的材料强度,且与构件联动:在模型里选中构件,则表中自动跳转至该构件的强度;在表中双击某行,则模型中予以高亮显示该行所对应的构件。

图13 ReviSTRU的材料强度等级表

3 分析设置与上部分析

输出“.jws”文件,默认只读取分析模型,分析软件选择“ePKPM”,如图14所示。

图14 ReviSTRU的分析模型设置

在Revit中布置楼板时,按整块楼板建模即可,没有必要基于梁的位置分块建板。ReviSTRU会在输出到“.jws”文件时,根据梁的分析线划分楼板。楼板上的矩形和圆形孔洞,输出到“.jws”文件时,是100%的真实输出,如图15所示。经测试发现,SATWE在进行结构计算时,会扣除孔洞区域的楼面荷载。

图15 ReviSTRU的分析模型设置

单击“上部分析”按钮,ReviSTRU即按“分析设置”的设定输出“.jws”文件,先在Revit模型文件所在目录下创建 “Revi2SATWE计算模型” 子目录(图16),然后解析Revit分析模型中的梁、板、柱等构件,将构件在交点处打断,将Revit中的各个恒载工况均合并到PM的恒载中,将Revit中的各个活载工况都合并到PM的活载中,并将PM和SATWE参数直接写入“.jws”(图17)。因不能实现直接调用PM或SATWE,故每次输出“.jws”文件时,ReviSTRU均会打开“Revi2SATWE计算模型”目录,以提示结构工程师程序输出已完成。

图16 ReviSTRU的创建的子目录“Revi2SATWE计算模型”

图17 子目录“Revi2SATWE计算模型”中的文件

4 软件测试

软件测试分为三个阶段:模块测试、整体测试、对比验证。

软件开发期间,跟随软件模块的开发进行模块测试,对每个具体的模块进行反复测试与优化,直到输出正确的结果。

2019年软件开发完成后,进行软件的整体测试。ReviSTRU输出“.jws”后,在PM和SATWE中打开并检查构件、荷载、参数,反复测试与优化,直到与ReviSTRU中的输入完全一致。

完成整体测试后,就实现了本次开发的目标。但是不能肯定SATWE运行结果是否正确,有没有其它问题,故有必要与已完成的实际工程进行对比验证。考虑到建模的工作量,选择3个中等体量且已完工的混凝土框架结构进行对比验证,具体操作为:对照结构施工图和计算模型,在Revit中人工创建Revit模型,使用ReviSTRU在Revit中完成荷载输入、PM和SATWE参数输入,输出2.x版的“.jws”后,先用PM打开并更新数据格式,再采用SATWE进行计算,最终要能得到与已有计算模型完全一致的计算结果。

对比验证发现,在模型一致、参数一致的情况下,SATWE中各荷载工况的构件弯矩、剪力、轴力、配筋、位移、地震效应,及指标汇总信息、柱脚内力等等,都与对照模型100%一致。在PKPM的“砼施工图”模块中,梁、板、柱在同样的配筋参数下,实际配筋结果与对照模型也是100%一致。通过对比验证,以事实证明软件输出结果可信,可以用于工程设计。

5 应用案例

2020年,选择3个中小规模的混凝土框架结构进行工程应用。操作步骤与对比验证相同,不同之处在于没有对比模型,不使用AutoCAD,直接在Revit中建模进行正向结构设计,在Revit中完成全部图纸。

第一个是某项目危废储存间结构(图18),单层,荷载较为简单,只有楼面荷载、女儿墙线荷载,施工图共3张,均放在一个Revit图纸视图中。

第二个是某项目凝结水回收泵房结构(图19),2层,荷载也较为简单,只有楼面荷载、女儿墙线荷载,施工图共3张,在Revit图纸视图分开放置。

图18 某项目危废储存车间结构

图19 某项目凝结水回收泵房结构

第三个是某项目消防值班楼结构[20],4层,有节点荷载、梁集中力、梁线荷载、多种楼面荷载,每个Revit图纸视图放置一张施工图(图20)。

图20 某项目消防值班楼结构

因当前使用的SATWE不能直接打开ReviSTRU输出的2.x版的“.jws”文件,故每次进行结构计算之前,必须先用PM打开并更新“.jws”文件,顺便设置ReviSTRU中不能设定的PM参数,再用SATWE前处理设置ReviSTRU中不能设定的SATWE参数,最后运行SATWE进行结构计算。

完成SATWE结构计算之后,在PKPM中设定梁、板、柱的配筋参数,完成梁、板、柱的配筋。当Revit中的结构模型有修改时,重新用ReviSTRU输出“.jws”文件即可,梁、板、柱的配筋参数依旧存在,重新生成梁、板、柱的钢筋即可。

6 结语

通过ReviSTRU的开发、测试、验证及应用案例,证实在Revit中完成结构计算软件前处理功能、输出结构计算软件所需的全部数据是可行的,避免了BIM模型和计算模型相互之间的“更新”问题。

当前版本Revit自带的荷载类型太少,很多荷载都只能用Revit空间荷载模拟。构件变动后,需要重新将荷载与构件匹配。若每一步修改都自动刷新荷载,可能导致临时不能与构件匹配的荷载丢失,当模型较大时,还会产生等待时间,故目前选择人工“刷新”荷载的方式。用空间荷载模拟显示的楼板荷载,在梁移动后还是发现有未更新到位的情况,需要进一步优化算法解决。最终的解决办法是AutoDESK公司完善Revit的荷载类型,包括楼板荷载的输入与剖分,使用空间荷载而产生的问题将不复存在。

目前没有开发其他SATWE特殊构件的对应设置,只完善了梁、板、柱相关的功能,用于框架结构、框架支撑结构的Revit正向设计。进一步,可以开发与“墙”相关的功能,实现剪力墙结构的正确输出。

目前每次输出的“.jws”文件,必须用PM打开才能更新,才能被SATWE识别。若PKPM开放数据结构和SATWE调用接口,可以实现在Revit中直接调用SATWE运行其“计算功能”,则可以不必使用PM。

将结构计算软件的前处理、后处理都嵌入Revit中,结构设计时甚至只需要调用结构计算软件运行其“计算”功能。在Revit中进行结构正向设计和计算,不需要在AutoCAD中绘制图纸、也不需要在结构计算软件中建模,利于结构工程师专注于“设计”。对于没有“出图”功能的结构计算软件如STAAD、MIDAS,可以弥补其不足,在Revit中完成后处理。

将来实现直接调用结构计算软件运行分析计算时,可以考虑归集到少量的几台服务端进行计算,计算结果则通过内网返回用户端,能大大节省购买结构计算软件的费用。

猜你喜欢
分析模型楼板图纸
基于BERT-VGG16的多模态情感分析模型
预制叠合楼板的裂缝成因与防治措施应用研究
装配式叠合楼板施工质量控制
厨房、卫生间楼板渗漏的主要原因及防治
浅谈汽车线束产品图纸管理
看图纸
四边简支PK 预应力混凝土叠合楼板受力性能分析及应用
模具图纸在全生命周期内的信息管理系统研究
层次分析模型在结核疾病预防控制系统中的应用
全启发式语言分析模型