网架结构三维建模方法的研究

2016-07-12 07:50张维锦李至平华东交通大学土木建筑学院江西南昌330013
华东交通大学学报 2016年3期
关键词:链表数组字符

张维锦,李至平(华东交通大学土木建筑学院,江西 南昌330013)



网架结构三维建模方法的研究

张维锦,李至平
(华东交通大学土木建筑学院,江西南昌330013)

摘要:由于传统的二维CAD图纸表达建筑信息不够直观,尤其是当结构为网架结构时,由于结构的复杂性,需要采用大量的网架剖面图才能清楚表达结构信息。本文针对该方法的不足,提出一种新的网架结构三维建模的方法,通过提取二维剖面图中的节点坐标信息、杆件节点编号以及杆件截面尺寸信息等,将二维的剖面施工图纸转化为真实的三维模型。实验结果表明,采用该方法能更快速的建出网架三维模型,并且通过模型能更直接的表达网架结构信息。

关键词:表格;坐标;字符;链表;数组

联合国全球地理信息管理德清论坛部分采用了飘带式网架结构,图1为论坛的效果图,中间部分是飘带式网架。设计院给出了网架结构三维模型及剖面图,图2所示为网架的三维模型,其中杆件只是普通的CAD线段,没有截面尺寸信息以及连接件的信息,而这些信息通过图以及表格的形式存放在图纸中,由于网架结构非常复杂,设计院将网架结构按x方向、y方向以及z方向进行剖切,形成了60多张CAD剖面施工图纸。

图1 论坛效果图Fig. 1 Grid effect diagram

图2 网架CAD三维模型Fig. 2 Grid CAD 3D model

CAD图纸文件格式有DWG、DWS、DWT、DXF等,其中DXF(data exchange format)是CAD软件生成的数据交换文件,可以从DXF格式的施工图纸提取储存在文件中的各类参数。

针对提取DXF文件数据有一些相关研究:谭超,张群会根据DXF格式文件的数据结构特点提出基于AutoCAD的DXF格式文件读写的方法[1];张成才,孙喜梅等分析了DXF文件数据转换接口,并提出了Auto-CAD的DXF文件格式及其转换接口的研究[2];张维锦,汪雷通过分析暗柱构件的特点提出了识别暗柱方法[3];梁海涛,马军林,等提出DXF模型的数据读取方法[4]。对于DXF文件中表格的提取相关研究:石学荣,汪雷提出了识别GS柱表和PKPM柱表的方法[5];刘英,尚文利提出了智能识别工程图中明细表标题栏线框的方法[6];刘冰,江早提出了表格文件图像逻辑结构提取方法[7];谢亮提出了表格识别预处理技术与表格字符提取算法[8]。

由于网架剖面施工图纸过多,导致不能直接表达网架结构。针对该问题,提出了一套关于提取网架剖面图纸中节点坐标信息、杆件节点编号以及杆件截面尺寸信息的方法,将二维的剖面施工图纸转化为真实的三维模型,直接的表达了网架结构信息。

1 提取网架剖面施工图纸信息

在所给的网架剖面结构施工图中,设计者用2张表:网架节点坐标表,杆件截面尺寸表;2个剖面:杆件节点编号、杆件截面尺寸,来表达网架结构信息。通过杆件节点编号图得到杆件节点的编号,由网架节点坐标表得到三维坐标,通过杆件截面尺寸的剖面图得到杆件的截面。表1为施工图纸中的网架节点坐标表,表2为杆件截面尺寸表。网架节点坐标表总共有4列,分别是节点编号、节点x坐标、节点y坐标以及节点z坐标,杆件截面表总共2列,分别为编号以及截面尺寸。如图3所示为某个剖面的网架节点编号,该剖面图用CAD线段表示杆件,杆件端点的编号在线段端点附近处,这个剖面对应的杆件截面尺寸编号如图4所示,同样杆件也是用CAD线段表示,杆件的编号在线段的正上方。

表1 网架节点坐标表Tab.1 Grid node coordinate

表2 杆件截面尺寸表Tab.2 Bar section size

图3杆件节点编号Fig. 3 Bar node number

图4 杆件截面编号Fig. 4 Bar section size member

通过分析发现,上述2张表及2幅图都是以线段和文字构成的,要建立三维的实体网架结构模型,首先提取剖面施工图中线段端点坐标、字符坐标、字符文本信息等,可以将网架剖面施工图纸保存为DXF格式,获得DXF文件中的参数。

DXF格式是AutoCAD一种开放的矢量数据格式,如表3所示为DXF文件中一条直线的代码:直线的起点坐标x,y,z表示为10,20,30;直线的终点坐标x,y,z表示为11,21,31;x,y,z方向的分量表示为210,220,230;代码39表示直线的厚度。DXF文件中的字符信息通过字符的子类数据标记,图层,坐标,高度,文字信息等参数储存如表4所示。只需要将DWG格式的施工图纸保存为DXF格式,通过提取DXF文件中储存的线段以及字符的信息参数,就能得到施工图纸中线段和文字的信息。

表3 DXF文件中直线储存的代码Tab.3 Code for line storage in DXF file

表4 DXF文件中字符储存的代码Tab.4 Code for character storage in DXF file

2 网架三维建模

网架结构是由多根杆件按照一定的网格形式通过节点连结而成的空间结构,设计者通过60多张CAD剖面施工图来表达该网架,通过分析网架结构剖面施工图可知,网架结构由连接节点及不同尺寸的杆件组成的,所以可以把网架三维建模分为2部分,第1部分为网架连接点的三维建模,第2部分为网架杆件的三维建模,只需要将这2两部分实现,即可以实现空间网架结构的三维建模。

2.1 网架连接点的三维建模

网架连接点的三维坐标通过“网架节点坐标表”表达,所以要对“网架节点坐标表”的内容进行提取,首先把施工图纸的格式转成DXF格式,通过分析表格的结构特点提取表格信息,框选所要提取的表格,把选框中的表格线段保存在链表LineList中,同时把字符保存在链表BzList中,表格的线段有单段直线也可能有多段线(几条线段构成的一条连续线条),若为多段线则分解为单段线。然后根据链表LineList中储存的直线端点坐标信息,找到选框中的表格线段交点最小值x1,y1和最大值x2,y2,并将x坐标按从小到大存放在x[i]数组中,数组中的个数则为表格的列数,同样将y坐标按从小到大存放在y[i]数组中,数组中的个数则为表格的行数。通过判断y[i]数组个数得到所需要提取的文字行数,然后从y[0]行进行字符提取,将每一行当做一个字符串存放在数组m_z[i]中保存,提取的字符串中第一个字符为节点编号,而后分别为x,y,z坐标。这样一来就能快速得到杆件节点编号对应的三维坐标,施工单位投标报价时,网架连接点的半径按杆件截面半径的1.5倍估算,通过加入网架节点的半径就能建立三维的“球节点”。

2.2 网架杆件的三维建模

2.2.1 提取杆件端点坐标

要实现三维的实体网架杆件建模,首先要得到杆件两端点三维坐标及截面,连接点的坐标就是杆件两端点的坐标。而杆件端点坐标通过“杆件节点编号剖面图”和“节点坐标表”共同表达,通过剖面图可以获取杆件端点编号,再根据坐标表就能找到杆件端点编号对应的三维坐标。

但是杆件端点编号表示在杆件端点附近处,所以需要将编号与杆件端点进行对应。通过分析剖面图可知,编号对应的杆件端点在线段交点最近处,可以根据编号字符坐标距离线段交点的远近去确定对应关系,框选该剖面图,对该剖面图中的线段信息进行提取,找到框选中线段的交点,通过交点找到离交点最近的字符,并将交点的坐标赋值予该编号字符。

这样一来就实现了编号与杆件端点对应,提取完成后将编号和线段变成虚线表示已经提取,如果网架节点编号剖面图中出现编号重叠、缺失等问题,需要先对剖面图中的字符进行移动、添加等方法进行处理,处理后再进行上述步骤进行提取。

2.2.2 提取杆件截面尺寸

在网架剖面图中,设计者用杆件截面尺寸表以及杆件编号图共同表达杆件截尺寸面信息,在杆件编号图中杆件尺寸用杆件编号来表示,而杆件编号对应的尺寸在杆件尺寸信息表中,所以需要将杆件编号替换成截面尺寸。

在替换信息前,先提取网架杆件尺寸信息表,过程原理与提取网架节点坐标表相同,提取完后通过框选杆件截面尺寸编号图的方式,将选框中的编号字符替换为表中对应的尺寸字符,替换后字符的坐标不变,只是将文本内容进行替换。

通过分析替换后的杆件编号图可知,字符坐标点到线段垂直距离小的为该杆件的截面尺寸,所以在提取杆件尺寸信息时,可以通过字符坐标离线段的远近判断是否为该杆件的截面尺寸,通过该判断就可以得到杆件对应的截面尺寸。

在替换后的杆件截面尺寸剖面图中,如果出现字符缺失、重叠等问题,需对剖面图中的字符进行添加、移动等方法进行处理,处理后再进行上述步骤进行替换。

2.2.3 生成三维杆件

要完成杆件三维建模,需要有杆件尺寸和杆件端点坐标信息,通过前两步方法得到处理后的杆件节点编号图以及杆件截面尺寸图,将2个处理过后的剖面图拼接,这样在同一个杆件剖面图上就同时拥有了杆件节点坐标信息和杆件截面尺寸信息。

框选拼接后的剖面图,对选框中的CAD线段提取数据,通过线段两端点处的编号得到杆件端点对应的坐标,再通过提取线段上方的尺寸字符得到杆件的截面尺寸信息,有了这些数据就能实现这片网架的三维建模,提取生成三维杆件后自动删除CAD线段。

如果由于字符重叠、缺失等问题,导致个别杆件没提取成功,则CAD线段保留,此时我们可以单独对这根杆件进行建模,通过手工输入杆件的起点编号、终点编号以及杆件截面尺寸,就可以解决个别杆件无法生成的问题。

由于设计者用了60多个剖面图对网架结构进行表达,实现了1个网架剖面的三维建模后,我们只需要按同样的方法,对其它网架剖面图进行上述步骤的处理,最终就能生成真实的三维网架结构模型。

3 试验结果

将该方法编写成计算机算法,通过VC++6.0进行编译,并在维锦真三维软件平台上对该算法进行调试。

把图纸导入到维锦真三维软件平台上,对图纸中的节点坐标进行提取,框选网架节点坐标表,点击转成三维球节点坐标按钮,软件根据坐标及半径绘制出三维的球节点。

对网架杆件两端的编号进行提取,框选杆件节点编号图如图3所示,提取后网架剖面图中的CAD线段以及字符变成虚线,离交点处最近的字符移动到交点处如图5所示。

对网架的杆件尺寸编号图如图4所示进行替换,框选杆件截面尺寸表,点击赋值命令后,再框选截面尺寸编号图,这样就能将杆件编号与杆件截面尺寸表中对应的尺寸进行替换,如图6所示为替换后的杆件截面编号。

图5 提取后的杆节点编号Fig.5 Bar node number after extracting

图6 替换后的杆件截面编号Fig. 6 Bar section size information after being replaced

将提取后的杆截节点编号图与杆截面尺寸信息图进行拼接,再对网架二维剖面图进行三维生成,框选拼接后的剖面图,最终得到这片三维实体网架如图7所示,最后对每个网架剖面进行重复操作,最终形成三维的空间网架如图8所示。

图7 一片三维网架Fig.7 A piece of 3D grid

图8 实际三维网架Fig.8 Actual 3D grid

4 结论

本文通过对飘带式网架结构CAD图纸特点分析,提出了建立真实的三维飘带式网架结构模型,通过试验得到以下结论:

1)通过该方法建模后能得到三维实体的网架结构模型;

2)建立的三维模型能够更直接的表达网架结构信息,避免了用多张剖面图纸去表达;

3)加快了网架结构三维建模速度,提高了三维建模工作效率。

参考文献:

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

[2]张成才,孙喜梅,朱陶业. AutoCAD的DXF文件格式及其转换接口研究[J].微型电脑应用,2001,17(8):54-55.

[3]张维锦,汪雷.结构施工图中暗柱识别算法研究[J].华东交通大学学报,2015,32(2):117-122.

[4]梁海涛,马军林.基于DXF模型的数据读取与分析方法[J].空军工程大学学报,2007,8(2):46-48.

[5]石学荣,汪雷. GS柱表和PKPM柱表的识别方法研究[J].四川建筑,2015(2):281-283

[6]刘英,尚文利,张嘉易.工程图中明细表标题栏线框图形的智能识别[J].计算机工程,2011,37(9):207-209.

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

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

(责任编辑 姜红贵)

Research on 3D Modeling of Grid Structure

Zhang Weijin,Li Zhiping
(School of Civil Engineering and Architecture, East China Jiaotong University, Nanchang 330013, China)

Abstract:Because the traditional 2D CAD drawings can not express the construction information intuitively, especially when the structure is a grid structure a large number of sectional drawings are needed to express the structural information. In this paper, a new 3D modeling method of the grid structure is proposed in response to the problem of traditional approach. The 3D model is transformed into a real 3D model by extracting the node coordinates, the node number and the section size information of the bar. Experimental results show that the proposed method can be used to build a 3D model more quickly and the information of the grid structure can be expressed more directly through the model.

Key words:table; coordinate; character; list; array

中图分类号:TU398

文献标志码:A

文章编号:1005-0523(2016)03-094-06

收稿日期:2015-11-27

作者简介:张维锦(1962—),男,副教授,研究领域为三维CAD及算量软件开发与应用。

猜你喜欢
链表数组字符
JAVA稀疏矩阵算法
JAVA玩转数学之二维数组排序
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
基于二进制链表的粗糙集属性约简
HBM电子称与西门子S7-200系列PLC自由口通讯
跟麦咭学编程
更高效用好 Excel的数组公式
基于MTF规则的非阻塞自组织链表