GS柱表和PKPM柱表的识别方法研究

2015-06-28 17:12石学荣
四川建筑 2015年2期
关键词:算量链表数组

石学荣,汪 雷

(华东交通大学 土木建筑学院,江西南昌 330013)

GS柱表和PKPM柱表的识别方法研究

石学荣,汪 雷

(华东交通大学 土木建筑学院,江西南昌 330013)

GS柱表和PKPM柱表是结合柱定位图表示多层柱截面尺寸、钢筋的一种表示方法。通过分析GS柱表和PKPM柱表的特点,提出GS柱表和PKPM柱表的识别方法。将算法程序在自主的三维建模平台上进行测试分析,对不同的柱表均能正确提取到表格内的信息并后续能成功匹配到模型中。实验结果表明:所提方法在计算机图形算量中,简化了建模操作,提高了三维建模速度和效率。

柱表; 坐标; 模板; 字符; 链表 数组

工程量计算是编制工程造价的基础工作,具有工作量大、繁琐、费时等特点,约占编制整份工程造价工作量的 50%~70%,而且其精确度和快慢程度将直接影响造价计算的质量与速度。改进工程量计算方法,对于提高工程造价质量,加快造价计算速度,减轻造价师的工作量,增强审核、审定透明度都具有十分重要的意义[1]。

现在算量软件可以通过软件接口导入设计院采用结构设计软件设计的电子图纸, “GS柱表”和“PKPM柱表”就是分别由广厦和PKPM的结构设计软件输出的结构施工图纸的表格。在软件建模过程中,不用画图,只需进行构件属性定义和构件的转化就能准确计算工程量,大大降低了预算人员的繁琐工程量过程的计算和节省预算人员计算时间,同时也能减轻算量人员的劳动强度。

用柱表表示的柱属性,如果手工定义输入属性,操作起来比较繁琐,工作量大,耗费时间长不利于提高效率,所以自动识别GS柱表和PKPM柱表,提取柱的属性信息的研究是一个很重要的课题。传统的表格识别,主要是通过扫描表格输入到计算机,然后通过二值化处理,去噪和阴影去除进行预处理[2],对表格结构进行分析[3-4],利用坐标关系提取表格[5-9]。现在是将柱表导入到三维建模平台进行表格信息的提取,则传统的方法就不再适用了。本文提出了将DXF格式的文件导入到操作平台[10],分析柱表的特点,建立柱表模板,根据坐标关系将柱表识别柱表到柱表模板,快速地生成柱属性。

1 柱表的特点

GS柱表和PKPM柱表内的属性有:柱截面尺寸、纵筋、箍筋、箍筋加密区长度等。如表1所示的GS柱表,柱表表头在下方,每一列的信息都一样。如表2所示的两张PKPM柱表,柱表表头在上方,不同的施工图纸柱表的格式不一样。

2 柱表的识别

2.1 操作平台重建柱表

将CAD图纸导入到操作平台重建,采用了CAD图纸的转换文件DXF格式文件(DXF ( Data Exchange Format)是AutoCAD推出的一种开放的矢量数据格式),识别与重建对象中的图元(线段、块信息等)。如表3所示是一条直线的代码:直线的起点坐标是(10,20,30)终点坐标是(11,21,31),代码39表示直线的厚度,210、220、230分别是X、Y、Z方向分量,通过DXF组码读取到了直线的起点坐标和终点坐标就可以在操作平台绘制出这条直线。同样读取到字符的坐标和文本信息按照坐标位置将文本信息如表4在操作平台显示。

表1 GS柱表

表2 PKPM柱表

2.2 柱表坐标提取

在操作平台重建了柱表,用一窗口框住要提取的柱表,把直线段保存在链表LineList中,把字符保存在链表BzList中。柱表的线段有单根直线也可能有多段线(几段线段构成的连续线条),若为多段线则分解为单段线。然后根据链表LineList中储存的坐标信息,找到表格线中最小值x1、y1和最大值x2、y2。并将竖直线段x坐标按照从小到大存放在xi数组, 数组的个数为表格的列数。水平线段的y坐标:x坐标是x1的存放在yi数组,x坐标是xi[1]的储存在yj数组,y坐标按照从小到大的顺序存放,并把yi中数据插入或添加到yj数组中,该数组的个数为行数。如表5所示柱表的行所对应的yj={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14},列所对应的xi={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}。

表3 直线的代码

表4 在操作平台重建的柱表

表5 GS柱表坐标

2.3 GS柱表的识别方法

柱表表格的坐标已经进行排序,根据字符的坐标值开始提取字符。以表6为例说明GS柱表的字符识别的过程:

(1)根据GS柱表的特点建立了一个空白的柱表模板如表6,然后提取字符在模板显示。

(2)定义数组存放柱名称、行数据。

表6 GS柱表模板

定义m_z字符串数组存放柱名称,m_zi字符串数组存放行数据,m_zj字符串数组存放柱名称不为空、截面尺寸不为空、层号不为空的行数据。由yi数组的总个数-1确定m_z的个数,并赋初值为空字符串("")。同理yj数组的总个数-1确定表格中行的个数,并赋初值为空字符串("")。如表5所示 m_z数组有3个字符串,m_zi数组有14个字符串。

(3)查找柱名称储存在m_z数组,其他行数据储存在m_zi数组,柱表表头不提取。

从字符链表找出带“Z”或“z”且x坐标在第一列的(xi[0]<=x=xi[1])且根据x坐标判断其列,将“M + 列数-1 + _ + 字符文本 + |”存放在y坐标所对应的m_zi行。如:m_zi[2]= M1_1|M2_4500|M3_C30|M4_F|M5_500X60|M9_2B25|M10_2B22|M11_2B20|M16_A8@200|M17_A8@100|M18_1300|M19_A8@10|。

(4)将m_z数组的数据储存在m_zi数组。

比较yi[i]和yj[j]的大小,将“M0_ + m_z[i-1] + |”存放在所对应的m_zi行的前面。如:yi[2]>yj[1], 将m_z[1]存放在m_zi[1]的前面,即m_zi[2]=M0_Z43|M1_1|M2_4500|M3_C30|M4_F|M5_500X600|M9_2B25|M10_2B22|M11_2B20|M16_A8@200|M17_A8@100|M18_1300|M19_A8@100|

(5)柱名称不为空、截面尺寸不为空、层号不为空的行数据储存在m_zj数组,在柱模板的链表储存并显示引进函数GetSofC()用于提取m_zi数组中“M列数_”后及“|”前的字符文本。若提取到M0_之后的字符不为空且M2_之后的字符不为空且M5_之后的字符不为空,则根据字符串‘M列数_’和模板对照进行字符提取,储存在m_zj数组和模板的链表,如表7在柱模板显示。如:m_zj[0]=Mz_Z43|Ceng_1|H_4500|C_C30|Gx_F|b_500|h_600|Zj_2B25|Zb_2B22|Zh_2B20|Gj_A8@100/A8@200|Ln_1300|Zn_1|Zx_框架柱|按照顺序在柱表模板显示。

表7 提取到模板的GS柱表

当有多张柱表要提取时,第一张柱表全部提取完之后,将xi、yi、yj、m_z、m_zi数组储存的数据全部删除,链表LineList中的直线段添加到链表linelist1,链表BzList中的字符添加到链表BzList1,将链表LineList中和链表BzList中数据移除,按照2~4步骤继续提取柱表。将柱名称不为空、截面尺寸不为空、层号不为空的行数据储存在m_zj数组,在柱模板的链表储存并显示。

2.4 PKPM柱表的识别

PKPM柱表的识别方法和GS柱表的识别方法类似,在提取柱表之前检查标高用[~、﹣]隔开“+、-”号要正确, 因为PKPM柱表没有很规范的表示,所以在建立柱表时要预留几个空白列将字符临时存放,可以对每一列按照表头将表格进行剪切、粘贴处理,如表8是提取到PKPM的柱表。

表8 提取到模板的PKPM柱表

对图8中的表格进行处理,将提取的的表头信息进行剪切、粘贴处理,与柱表模板表头对应;标高列的字符有汉字或者其他符号的都替换成具体的标高值:标高列的字符“#”替换成具体的数值;最后删除提取的CAD表头,处理后的结果如表9。

表9 处理后的柱表

3 结束语

本文通过对PKPM柱表和GS柱表分析,针对图表的特点,提出了GS柱表和PKPM柱表的识别方法。导入DXF文件在操作平台重建柱表,读取柱表的数据信息,按照坐标值和字符文本特点将字符储存在一维数组,突破原始的二维数值储存方法,这种方法无论柱表会有怎样的变化都可以很快地进软件更新,引用函数GetSofC()提取字符,最后在柱模板显示并进行处理,实现了柱表的提取。柱表提取成功可以有效的减少造价员的工作量,加快三维的建模速度,提高效率。根据GS柱表和PKPM柱表的识别方法还可以对楼层表、连梁表、基础承台表、暗柱列表等进行识别并快速的提取属性。

[1] 赵海滨,于美艳.三维算量软件现状及发展方向研究[J].建筑经济,2008,(5):90-92

[2] 邵珠贵,杨慧英.基于表格自动识别的预处理技术研究[J].长春师范学院学报:自然科学版, 2012,31(6):41-44

[3] 刘冰,江早,胡军安,等.表格文件图像逻辑结构提取方法[J].中国图象图形学报,2000,5(8):678-683

[4] 刘建红,蔡士杰.建筑图中参数化描述的语法分析方法[J].计算机工程与应用,2002,(19):229-232

[5] 崔云峰,沈萌红.基于Web的图表识别系统的研究[D].杭州:浙江大学,2003

[6] 李艳霞,孙羽菲,张玉志.受限表格识别系统的研究[J].计算机工程与应用,2006,(31):161-163

[7] 司明,李军民.表格识别的研究[J].科技信息,2008,(34)

[8] 关履泰,李小福,谢亮.表格识别预处理技术与表格字符提取算法的研究[D].广州:中山大学,2005

[9] 陈新春,欧阳丹彤.数据表格自动识别系统[D].长春:吉林大学,2011

[10] 何永义,夏俊昇.工程图像的矢量化技术[J].光学精密工程,2002,10(4):374-378

[11] 谭超,张群会.基于AutoCAD的DXF格式文件读写方法研究[J].计算机与网络,2009,(21):46-49

[12] 芮明,路通,苏丰,等.基于视觉的表格自动识别方法[J].计算机应用研究,2005,(4):256-258

[13] 席晓鹏,糜宁芳,罗志伟,等.工程图中的模板识别和匹配方法[J].计算机应用研究,2003,(12):61-64

[14] 路通,席晓鹏,芮明,等.建筑工程图识别与理解——模型与算法[J].计算机研究与发展,2005,42(1):144-152

[15] 赵玮烨,张斌,吕兴寿.MER方法在工程图纸字符识别中的算法研究与应用[J].计算机应用研究,2007,24(9):290-291

西勘院总工程师康景文获评全国勘察设计行业科技创新带头人

中国勘察设计协会对“全国勘察设计行业科技创新带头人”开展评选工作,中国建筑西南勘察设计研究院有限公司总工程师康景文荣获“全国勘察设计行业科技创

新带头人”荣誉称号。

西勘院设计中心 供稿

石学荣(1990~),女,在读硕士研究生,研究领域为三维CAD及算量软件开发与应用;汪雷(1991~),女,在读硕士研究生,研究领域为三维CAD及算量软件开发与应用。

TU723.32

B

[定稿日期]2014-10-13

猜你喜欢
算量链表数组
JAVA稀疏矩阵算法
JAVA玩转数学之二维数组排序
基于二进制链表的粗糙集属性约简
跟麦咭学编程
BIM技术在工程造价算量软件中的应用
基于链表多分支路径树的云存储数据完整性验证机制
Excel数组公式在林业多条件求和中的应用
浅谈工程算量软件对工程造价的影响
寻找勾股数组的历程
BIM应用在电气专业算量及施工管理方面的优势