空间结构翻模,Y-GAMA在钢结构鉴定加固项目中的应用
三圣山90
2023年08月04日 15:16:52
只看楼主

供稿:       福建山与海建筑设计咨询有限公司   潘聪海 刘青熹 姜臻 陈志建 北京盈建科软件股份有限公司     庄煌城 在日常工作中,大家可能会碰到需要还原空间钢结构模型的需求,例如钢网架鉴定加固、钢结构深化等场景,业主或者上游单位往往不提供结构模型,只会提供dwg格式施工图、dxf格式施工图,甚至可能会提供给我们纸质版蓝图。如果项目比较复杂,仅仅是手动还原结构模型这一步就会花费我们大量的时间,拉长项目周期。

供稿:      

福建山与海建筑设计咨询有限公司   潘聪海 刘青熹 姜臻 陈志建
北京盈建科软件股份有限公司     庄煌城


在日常工作中,大家可能会碰到需要还原空间钢结构模型的需求,例如钢网架鉴定加固、钢结构深化等场景,业主或者上游单位往往不提供结构模型,只会提供dwg格式施工图、dxf格式施工图,甚至可能会提供给我们纸质版蓝图。如果项目比较复杂,仅仅是手动还原结构模型这一步就会花费我们大量的时间,拉长项目周期。

近期碰到一个空间网架结构鉴定加固项目,网架型式为螺栓球节点正放四角锥网架结构平面四四方方,从立面上可以看到是一个拱形屋面。幸运的是业主提供的表达清晰的dwg格式施工图,让我们可以直接开始建模工作,不用绞尽脑汁去整理图纸。

下图是本项目平面布置图以及纵向剖面图         


上弦、下弦以及腹杆分别有一张安装图,表达杆件连接关系、截面信息以及球节点索引。下图为上弦杆安装图。


作为前任盈建科福建地区技术主管、资深技术支持,熟练掌握各类软件的我当然不会选择手工建模这条路。在目前建筑市场新形势、新环境下,设计行业竞争日趋激烈,设计性价比越来越低,结构师们一方面要提升自身的核心竞争力,另一方面要运用更先进的手段去降低设计的劳动工作量,以提升设计性价比。

看到这个项目我第一个想到的就是用YJK-GAMA来解决建模问题,在GAMA以往案例集中就有一个类似案例。这个案例通过读取节点坐标表还原节点,再通过单元节点号以及截面库索引快速还原空间结构模型。思路明确之后,马上行动起来。


图纸中杆件是采用下图方式表达的,没有一个直接节点编号以及节点坐标表。这个跟前面的案例不一样啊,顺畅的思路戛然而止,看来事情没那么简单。
图纸中虽然没有节点编号,但是我们可以把球节点圆形的圆心作为节点手动赋予编号。利用拾取CAD图元这张卡片把图纸信息读取到GAMA中,包含线(直线和圆)、和文字实体这两项有用的数据,卡片会将根据图层进行划分输出。
获取到的“线”中包括杆件直线和球节点圆,可以通过列表布尔分支来把直线和圆拆开。

把曲线接入文字白板来获取曲线的类型,例如直线类型为“NSGeo.Geometry.LineCurve”,圆类型为“NSGeo.GeometryArcCurve”,用获取到的类型分别与直线和圆的类型判断是否相等就会获得一连串布尔值,布尔值个数与曲线相等,随后把原始曲线接入“列表布尔分支”卡片的列表入口,相等出口的布尔值接入“布尔”入口,就可以把混在一起的直线和圆分开。
对圆进行数据分解就能获取到圆心三维点,也就是上弦节点。
网架立面是拱形的,图纸提供了如下图的定位。把下图所示基点作为原点,就可以计算出各节点的面内的标高。
首先我们需要把平面上弦节点做一个排序。绘制一个围区,通过“点是否在围区内”卡片获取一排点,再通过“列表排序”卡片把点沿X方向按X坐标从小到大排序,同时获得每一列点的X坐标。
再通过循环卡包排序所有点。把X坐标作为循环列表,所有点接入循环卡包的入口。把每一列点作为一个列表装载进容器中,共33列。
循环卡包内部如下图,当前项为每次循环时,循环列表(X坐标)中的一项,分解入口中每一个点,获取X坐标判断是否与当前项相等,通过“列表布尔分支”分流,“真”出口只输出X坐标相等的点,接入输出接口实现数据拆分。如果图纸不是特别精细,可以适当留一点容差。
随后把分成33列的点再按Y坐标大小再次进行排序。按需求排列好之后,还是利用“拾取CAD图元”卡片将立面图拾取进来,拾取时注意选择基点,把立面图基点放到GAMA中的原点。
此时图中圆的Y坐标即实际模型中上弦点的Z坐标。通过一系列的分解、获取点操作。把圆心Y值转化为Z向量,获得33个Z向量,此时注意需要对向量进行升维,保证与前面33列点数据结构匹配,以此还原出三维上弦节点。
  同理获得下弦杆
图中是按CAD平面位置拾取图元,按整体坐标系导入,所以这时候上下弦点在不同位置。不慌,我们还是用“拾取CAD图元”卡片,拾取两张平面图相同轴网交点连线直线,作为移动向量,完成对位。
随后我们需要把杆件直线修改为相接的线段,图纸画法只连接到球节点,无法直接作为计算模型,首先分解出直线端点。
   
再通过“最近的点”卡片,把球节点圆分解得来的节点作为点列表,直线的起点终点分别找最近点,获得最近点在点列表中的序号。需要注意的是,用来找最近的点需要是原始的没有Z标高的点,而后续通过最近点获取序号后,接入提取列表项的点列表是要用Z向平移后的点,这样后续连接的直线才是三维模型,平移处理并不会改变点在列表中的排序。
提取到杆件直线起点终点分别对应的最近节点后,通过“直线(两点)”卡片还原,就能还原出上弦杆实际线模。同理形成下弦杆线模。
   
把上弦节点聚合在一起,通过制作文字实体卡片把编号导出到腹杆平面图中。
再通过上文提到的找最近点,获取节点号的方式还原出腹杆的线模,至此获得到完整的线模。
下一步需要赋予截面,截面表中有用的信息就前两项,手动在CAD中把这两个值排成两列,如下图,适当手工结合软件可以减少很多逻辑排序工作。
   
再通过“读取CAD图元”卡片获取这两列文字实体,以Y坐标进行排序,获得一一对应的截面编号与圆管尺寸。
随后通过“字符串分割”圆管尺寸文字,获取到尺寸列表,提取相应数值还原成圆管截面,获得GAMA中的截面库。
把最终三维线条投影到XY平面(相当于拍平),使之与截面文字一样在XY平面中,获取直线中点找最近的截面编号,再通过“查找列表项”获取截面编号在截面库的中索引,提取出相应的圆管截面,实现杆件一一对应赋予截面。
最终通过斜撑卡片赋予单元线、截面以及标准层,生成实际斜撑杆件,还原成模型,完成建模工作。(形成斜撑时要注意单元线、截面数量对应)
   
最终成功通过“生成YJK模型”卡片把模型生成到YJK建模空间结构中。

通过这套流程,把原本需要几天甚至几周的建模工作压缩到半天完成。而且在GAMA搭建的这套流程是可以复用的,假如我们有十个类似的网架或者更异形的空间结构 需要翻模 ,那这套流程就可以避免大量的重复体力劳动,极大解放设计生产力。  


可能日常工作中碰到这样项目的机会不大,但是碰到各式各样难题的概率可不小。掌握可视化编程的同时也让我们具备了点编程思维,相信在应对日常工作中各式各样难题的时候会有更多的点子,提高“抗通宵风险“能力。

相关推荐

APP内打开