APP下载

AutoCAD二次开发在桥梁检测中的应用

2012-12-22覃高杰黄福伟王靖波

重庆三峡学院学报 2012年3期
关键词:样条二次开发构件

覃高杰 黄福伟,2 王靖波

(1.重庆交通大学,重庆 400074;2.重庆交通科学研究设计院,重庆 400067)

1 前 言

随着我国交通事业的迅猛发展,桥梁公路里程不断增加,然而交通量亦迅猛增长,大量桥梁缺乏足够的监控养护措施,以致越来越多的桥梁因为各种原因发生结构性的损伤.不少桥梁因为缺乏检测和及时进行维修加固导致成为危桥,目前我国危桥数量约90 000多座,[1]因此桥梁检测艰巨重要,如何提高桥梁检测的质量与效率将是桥梁检测迫切需要解决的问题.桥梁检测中的外观检查是检测的基本项目,检测人员在检测时会在桥梁各部位上发现多种病害,记录人员通过简单文字描述、草图描述和照片拍摄后回到住宿地方进行报告的整理,病害的多少直接影响到检测人员编制报告所花费的工作量.手工进行AutoCAD病害图的绘制过于庞杂,需要花费大量的时间.因此,研究 AutoCAD的二次开发对于桥梁检测来说是有必要的,通过需要输入少量相关数据,使AutoCAD进行智能生成病害图,将会大大提高检测报告的编制效率.

2 编程语言vb.net对AutoCAD的二次开发

vb.net是一个非常出色的编程软件,能方便地对AutoCAD进行操作控制,因此本文采用vb.net语言对AutoCAD进行二次开发.笔者认为桥梁检测中AutoCAD二次开发主要有以下关键技术.

2.1 vb.net与AutoCAD的连接

AutoCAD软件提供了与各种编程语言相衔接的接口,因此编程语言 vb.net能够较为容易地引用,在vb.net中引用com中的AutoCAD 2004 Type Library(在此要查看安装的AutoCAD版本).接下来要在vb.net中对CAD的连接与调用,代码如下:

2.2 构件CAD图的生成

桥梁构件三维图形在桥梁检测报告中查看不方便,因此现桥梁检测报告中构件病害图多为构件展开图(二维平面图).由于桥梁构件众多且部分构件不规则,对于结构相对简单的构件(如展开图形为矩形、平行四边形、环形或它们的组合图形)则可进行构件尺寸输入而生成构件图.但当构件不规则时采用尺寸输入不现实,可通过导入预先手动画好的构件CAD图.

2.3 构件CAD图的定位

有了构件CAD图,需要vb.net语句来检查构件的最小x坐标、最小y坐标、最大x坐标和最大y坐标,如此接下来才能准确地定位构件病害在构件中的具体位置.通过循环查找每条线的坐标对比,判断出所求坐标.

2.4 构件新坐标系制定

构件最小x坐标xmin、最小y坐标ymin、最大x坐标xmax和最大y坐标ymax确定后,就可以重新确定该构件坐标系.新坐标系中原点为(xmin,ymin),x轴与y轴方向与原方向一致.

2.5 构件病害的定义

桥梁病害种类繁多,规范中并没用明确规定各种病害的准确描述方法,因此在此定义了几种典型病害的描述:(1)裂缝,CAD中采用样条曲线来描述;(2)渗水、破损,采用样条曲线绘制病害区域.构件病害的标示采用病害名称前两个字母标示.例:

2.6 构件病害的准确定位

构件病害的准确定位十分重要,这将决定了对病害描述的准确程度.构件病害分为区域型病害与单一的裂缝病害,裂缝病害与其他病害如下描述:

裂缝病害描述

裂缝采用红色样条曲线来描述,首先需要确定裂缝的中点(x0,y0),然后确定裂缝的长度l,还需要确定裂缝与水平面的夹角 θ,最后输入裂缝宽度 σ,由于裂缝的不规则性,所以绘制样条曲线时采用随机数对样条曲线进行拟合,如此可以得到逼真的裂缝描述图.

区域病害(渗水)描述

区域病害有很多种,如渗水、破损、麻面、坑槽等等,区域病害可采用病害首字母来区分各种病害,区域病害也采用样条曲线来描述,首先确定病害区域的中心点(x0,y0),然后确定病害长度 l与宽度b,还需要确定病害与水平面的夹角θ,最后采用样条曲线进行拟合,可以得到区域病害图.

程序中需要输入的病害变量值如下表所示:

区域病害图 病害类型 x0 y0 l b θ裂缝图 / x0 y0 l θ σ

2.7 构件病害图的生成

采用AcadApp.ActiveDocument.ModelSpace.Ad dSpline函数进行样条曲线的绘制,AutoCAD.ACA D_COLOR函数设置曲线的颜色,AcadApp.Active Document.ModelSpace.AddText函数来输入注释文字,如此可以完成构件病害的AutoCAD图描述,在此要注意:一是病害位置和长度不可超过构件大小;二是设置注释文字的时候文字大小要适当,否则将影响病害图效果;三是病害的长和宽都采用样条曲线来描述,控制点少则病害描述不理想,可以选取更多控制点,如此可以得到更加逼真的病害图.

2.8 构件病害图的查看

病害图生成后需要进行查看才能确定病害图效果,可以采用 AcadApp.ActiveDocument.SendCo mmand("_z" + vbCr + "_e" + vbCr)可以得到 Aut oCAD的缩放视角,如此可以清楚查看构件病害.

3 结 语

通过采用vb.net对AutoCAD进行的二次开发,可以方便地实现桥梁病害图的描述,对桥梁病害能有较准确的定位,大大简化了检测人员的画图工作,此外AutoCAD的二次开发也可以运用于隧道或者其他结构的检测,对于各种结构的病害检测出图也能大大加快效率.

[1]张劲泉.我国公路桥梁承载能力检测评定技术的现状与发展[J].公路交通科技,2006(S1):53-55.

[2]张帆.AutoCAD VBA 二次开发教程[M].北京:清华大学出版社,2006.

[3]公路桥涵养护规范(JTG H11-2004)[S].

猜你喜欢

样条二次开发构件
一元五次B样条拟插值研究
浅谈基于Revit平台的二次开发
浅谈Mastercam后处理器的二次开发
三次参数样条在机床高速高精加工中的应用
西门子Easy Screen对倒棱机床界面二次开发
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
基于样条函数的高精度电子秤设计
建筑构件
建筑构件
建筑构件