“阅图式”钢筋混凝土梁图形算量数据模型探索★
2011-08-21王兴吉
王兴吉
目前,基于电子版建筑图纸的识别方法[1,4-7]主要包括模板匹配、条件判别、约束网络、属性关联图和规则获取等,这些方法具有现实的指导意义,但都存在一些弱点,如识别规则不具有普遍意义、识别成功率不高,而且多数识别方法未考虑后续工种所需信息等等,即存在算量软件计算范围问题。同时,识别方法也存在工程量自动计算“可信赖”的问题,因为识别方法识别构成未开放,预算人员对算量软件持有很大的抵制和怀疑心理[2]。
针对预算人员抵制和怀疑心理问题,作者提出“阅图式”图形工程量算量技术[3]概念。“阅图式”图形算量所追求的目标:计算过程直观可视、条理清晰、非人工记忆、可修改、符合造价员工作习惯、低门槛使用、适用范围宽、便于多次校对审核和自主知识产权。
“阅图式”图形算量系统需要表达如下数据信息:1)CAD图元信息;2)已识别的CAD图元信息;3)CAD图元集组信息;4)三维构配件信息;5)二、三维构配件对应信息;6)三维构配件间约束信息;7)计算规则;8)工程量计算信息;9)通用信息(系统变量、层和轴线信息);10)知识库(通用构配件、字库和Hatch库)。
1 梁构配件
梁按结构承重方式不同大致分为两类:圈梁和柱承重体系梁。梁的截面形式有:矩形、L形、倒L形、T形、倒T形、十字形、花篮形等。由于装配式预制板楼板禁用,L形、倒T形、十字形、花篮形梁现在很少出现,所以不再讨论这类截面梁。
1.1 圈梁图纸表达与构造
在砌块墙体承重体系中,每道承重墙体每层都有圈梁。圈梁的宽度一般同墙体厚度,而且同现浇楼盖一道浇筑,形成整体。结构施工图表达圈梁时,仅表示圈梁的位置及其编号,配筋及断面尺寸在结构设计说明中给定或用圈梁截面配筋详图给出。圈梁之间的搭接关系类似于图1,需要关注类似于图1b),c)的圈梁搭接形式,因为在圈梁搭接处需要增植钢筋。
图1 圈梁搭接形式
墙体承重体系中也存在悬挑梁。
圈梁工程量主要有:混凝土工程量、钢筋用量和模板用量。圈梁混凝土工程量是从梁底算至板底作为梁的高度乘梁宽再乘梁净长。
1.2 框架梁图纸表达与构造
梁的工程量主要有:混凝土工程量、钢筋用量和模板用量。计算梁混凝土工程量时梁高是从梁底算至板底。
梁类型有:楼层框架梁、屋面框架梁、框支梁、非框架梁、悬挑梁和井字梁。梁少数情况下是简支梁,大多数情况下是连续梁,连续梁需要考虑负弯矩钢筋。
梁的截面形状如前所述,也有少数梁会加腋、变梁高或变梁宽,梁顶标高不同也会出现,因此需要关注它们的构造钢筋。梁的配筋用截面注写或平面注写表示方式。
梁在平面布置图中以双虚线条或一实线一虚线表示,后者表示边梁。梁正弯矩钢筋必须锚固于柱体支座内,锚固长度不小于la,laE;负弯矩钢筋一般会按Ln/3或Ln/4长截断,少数成为贯通筋(或称为通长筋)。梁的每跨两端几乎都有加密箍筋,箍筋形式也分为2肢箍筋及其以上的复合箍筋。
梁按受力传递方式可分为主梁和次梁。次梁与主梁交接处次梁两侧的主梁需加加密箍筋或吊筋。梁高超过一定高度时,需要在梁两侧加腹筋。腹筋间按构造要求在施工时要加一定量的拉结筋。
井字梁,平表法规则用单虚线或实线表达,而且是一组,相互垂直交接,被同类梁分成若干跨,但此跨为“虚”跨,一根井字梁配筋按实跨(两端支座)划分,即一端搁置在框架梁上,另一端也搁置在框架梁上才为一跨。板配筋是按“虚”跨围成的区域配筋。
1.3 梁构配件信息结构
梁同样需要构筑已识别的CAD图元信息、CAD图元集组信息、三维构配件信息、二维与三维构配件对应信息和三维构配件间约束信息。
梁体数据结构、梁跨数据结构、主梁与次梁关系数据结构和2D梁实体图元与3D梁对应关系数据结构分别见表1~表4。
表1 梁体数据结构
支座类型取值:0—无支座、1—正交矩形柱、2—斜交矩形柱、3—圆形柱、10—正交梁、11—斜交梁(如图2所示)、20—正交混凝土墙、21—斜交混凝土墙、31—砌块墙或砖柱、90~99—同跨不同形状梁,依次使用,相当于数据指针,把它们链接起来形成一跨梁。
梁中心线半径为零时,表示长方体梁。
表2 梁跨数据结构
表3 主梁与次梁关系数据结构
表4 2D梁实体图元与3D梁对应关系数据结构
梁左端上部配筋、梁左端下部配筋取值为@时,其梁右端上部配筋和梁右端下部配筋表示本跨左、中、右截面配筋相同且用其值。
本跨梁左板与右板区分:梁的|Δy/Δx|≥1,从y值小的端点至y值大的端点,左为左板,其右为右板;梁的|Δy/Δx|<1,从 x值大的端点至x值小的端点,其左为右板,右为左板。
梁双线条类型用两位数xx表示,其值为00,01或10,11。0为虚线,1为实线。实线表示楼板的边界线。个位数x为右边线条,十位数x为左边线条。左右边线区分同前。
图2 主次梁斜交箍筋构造
次梁处构造筋类型取值:0—无构造配筋、1—加密箍筋、2—吊筋。次梁跨1与跨2的区分:主梁的|Δy/Δx|≥1,从y值小的端点至y值大的端点,其左为次梁跨1,右为次梁跨2;主梁的,从x值大的端点至x值小的端点,其左为次梁跨1,右为次梁跨2。
次梁处构造筋类型取值为-1时,梁上下约束的是柱体,因而次梁跨1和2句柄指向柱句柄;同样取值为-2时,梁上下是混凝土墙体。
2 梁构配件识别算法
几个假定:
1)剪力墙墙梁画在其相应的层上,而且最好识别在梁识别之前;
2)井字梁及其配筋画在各自相应的层上;
3)梁水平配筋标注与垂直配筋标注画在各自相应的层上;
4)梁上附加配筋画在其相应的层上;
5)梁上柱必须用LZ编号。
2D梁平面表达法识别算法:
1)依据图纸句柄选取相应的梁线布置图层和梁筋配置层;
2)I不大于水平轴线符号最小者,Imin≤I,Imax不大于水平轴线符号最大者;
3)以I水平轴线图元实体为基准,上下各偏移700构成梁线选择基带Baseband;
4)从梁线布置图层选择完全包含于基带Baseband中的实体图元形成集合A,按x值、y值升序排序集合A;从梁线布置和井字梁图层选择相交于且非包含于基带Baseband中的实体图元形成集合B和Bj,按x值、y值升序排序集合B和Bj;
5)从柱布置图层选择相交于基带Baseband中的实体图元形成集合C,按x值、y值升序排序集合C;
从剪力墙布置图层选择相交于基带Baseband中的实体图元形成集合D,按x值、y值升序排序集合D;
6)从水平配筋标注层中选择与Baseband相交或包含其中的标注引导线,从标注引导线远离梁端附近取出集中标注;
算出标注引导线指向的梁跨双线的垂直Y值(Yb1,Yb2);
7)J1不大于垂直轴线符号最小者、Jmin≤J1,J2不大于垂直轴线符号次小者(J1后续轴线符号)、Jmax不大于垂直轴线符号最大者;
8)集中标注梁跨度有“A”或“B”标识时,从集合A中取出其Y值小于Jmin轴线Y值的梁实体图元,从其最小的X值开始组对梁线,取其梁上部、下部和箍筋配筋信息;
从附加配筋层判断该跨有无次梁搁置此跨;
如有次梁与此跨梁相交,从集合B和Bj判断并确定与此跨梁相交的次梁端点坐标,以便以后待此次梁识别时更新之间的约束关系;
从集合C和集合D(剪力墙识别在梁之前)中寻找支座类型,并构成约束关系;
9)从集合A中取出其Y值大于J1轴线Y值和小于轴线Y值的梁实体图元;
如果无梁实体图元时,从集合A中取出其Y值大于J1轴线Y值和与J2轴线相交的梁实体图元,若为空,转xxx;J2≤J2后续轴线符号,转9);
10)从其最小的X值开始组对梁线;
从集合C和集合D(剪力墙识别在梁之前)中寻找左支座类型,并构成约束关系;
如无支座时,判断次梁是否为次梁;如为次梁,设置左支座类型,更新约束关系;如为非次梁而且前(或左)跨梁线型为直线、斜率一致,将本跨归并于前跨中,否则视为同跨不同段的梁;
从集合C和集合D(剪力墙识别在梁之前)中寻找右支座类型,并构成约束关系;
如无支座时,判断次梁是否为次梁;如为次梁,设置右支座类型,更新约束关系;如为非次梁,可视为本跨有不同段的梁;
取其梁下中部配筋信息;如无,判断有无集中标注信息;再无集中标注时,待以后更新;更新已识别的但没有设置配筋信息的梁相应配筋;
取其梁上中部配筋信息;如有,更新已识别的但没有设置配筋信息的梁相应配筋;
如无梁上中部配筋信息,取其梁上左部配筋信息(如无,待以后更新),根据支座更新此跨的前跨梁右上部配筋信息;更新已识别的但没有设置配筋信息的梁相应配筋;
如无梁上中部配筋信息,取其梁上右部配筋信息(如无,待以后更新);更新已识别的但没有设置配筋信息的梁相应配筋;
取其本跨箍筋配筋信息;更新已识别的但没有设置配筋信息的梁相应配筋;
11)创建3D梁数据、与2D墙体图元对应数据结构、约束部件数据结构并填写有关数据;
12)如有次梁与此跨梁相交,从集合B和Bj判断并确定与此跨梁相交的次梁端点坐标,以便以后待此次梁识别时更新之间的约束关系;
13)J1≤J2,J2≤J2后续轴线符号;如果 J2≤Jmax,转 9);
14)集中标注梁跨度有“A”或“B”标识时,从集合A中取出其Y值大于Jmax轴线Y值的梁实体图元,识别过程同8);
15)I≤I后续轴线符号;如果I≤Imax,转4);
16)垂直方向梁识别类同2)~15)步骤;
17)类似于12)~16)步骤识别井字梁;
18)按水平、垂直方向识别不在轴线上但在两轴线之间的梁;
19)按水平、垂直方向识别小于或大于水平轴线、垂直轴线的没被识别的梁。
说明:1)梁截面标注法识别方法类似于梁平面表达法识别算法,不同之处在于提出梁配筋信息时先提出截面配筋图的索引号,再根据索引号寻找本张图纸中的截面配筋详图,依据截面配筋详图获取配筋信息。识别配筋详图时,应该设置识别区域即“靶区”;2)圈梁的识别比梁识别简单,但必须区分出圈梁之间的构造关系。
3 结论与讨论
建筑构配件种类繁多,信息量巨大而且多次冗余。二维所表达的构配件三视图关联度不是很高,需要语义理解。一个成熟的算法必须建立在相应的数据结构之上。描述表达能够反映建筑构配件内在属性而且便于按工程量清单计价的计量规则计算工程量时提取数据的数据结构,实非易事。本文核心内容就是探索其数据结构,在此基础上对有关算法作简单的描述,数据结构及其算法有待进一步的探索和优化。
以上论述的数据结构,在构成构配件之间的约束关系时算法比较复杂,也是难题。因此,作者认为建立统一的中间数据结构标准,将给社会带来无限的益处,任重道远,需要大家共同努力。
[1]李伟青.建筑构件智能识别方法研究[J].浙江大学学报(理学版),2005,32(4):392-398.
[2]李 艳.建筑工程算量软件发展建议[J].山西建筑,2009,35(4):365-366.
[3]王兴吉.工程造价算量软件开发的思路[J].山西建筑,2010,36(12):361-363.
[4]任爱珠,喻 强,王洪深.基于图形识别的剪力墙标注方法[J].计算机工程,2002,28(5):115-117.
[5]洪建武,张树有.基于特征与知识关联的建筑图钢筋量提取方法[J].计算机工程与应用,2004,40(2):219-221.
[6]罗志伟,颜 巍,蔡士杰.截面表示法柱平面图的自动识别方法[J].计算机应用研究,2004,21(8):132-135.
[7]赵 巍,刘建红,蔡士杰.基于图形识别的建筑图钢筋自动统计系统CSC[J].计算机工程与应用,2001(2):105-107.
[8]中国建筑标准设计研究院.混凝土结构施工钢筋排布规则与详图(现浇混凝土框架、剪力墙、框架剪力墙)[M].北京:中国计划出版社,2008.