APP下载

运用ACAD VBA 语言设计批量绘制隧道横断面软件

2010-08-06王建国吴美容

铁道勘察 2010年4期
关键词:主程序横断面圆弧

王建国 吴美容

(1.中煤国际工程集团南京设计研究院,江苏南京 210031;2.江苏兰德数码科技有限公司,江苏南京 210007)

作者曾经参加过三个水电站工程的地下隧道测绘工作。隧道横断面检测主要是用于开挖形体的质量控制以及作为工程计量的依据。根据国家及行业规范规定,隧道断面间距直线段为5 m,曲线段为3 m,遇到结构变化或特殊部位应当适当加测断面。由此可见,断面检测的频率还是很高的。如果采取手工绘图将会出现很多的重复性劳动,因此如何借助计算机软件实现批量自动绘制横断面图就显得很有意义,这将会极大的提高工作效率。文献[1][2]对该方面进行了阐述。根据作者编写的程序对这方面进行探讨,并配带相关代码。为叙述方便在此以比较常见的城门洞形为例进行说明。

1 编程思路

1.1 建立原始数据

原始数据格式如下:

说明:“Begin”是断面的开始,5代表桩号,1.5代表偏距(左负右正),2 755.358代表高程。外业测量要求顺着一个方向沿断面采集数据。具体代码:Set shijiduanmianxian=ThisDrawing.ModelSpace.AddLine(StartPoint,EndPoint),可见如果不沿断面顺着一个方向采集数据,内业成图将出现折线情况。

1.2 建立主程序DuanMianByFile()读取原始数据

具体代码:

如图1所示。

图1 断面数据文件

主程序思路:主程序遇到“Begin”开始读取数据直到遇到下一个”Begin”或者文件末结束读取本桩号断面数据,并调用子程序HuiTu(),然后主程序再读取原始数据中的下一个断面数据并调用子程序HuiTu(),如此反复循环直到程序读取到原始数据末完成所有断面图的绘制。主程序实际上就是运用了双层循环,运用循环程序计算机代替手工进行绘图。具体代码:

1.3 建立子程序HuiTu()

子程序主要是绘制每一个断面,包括:设计断面、实际断面、网格线、标尺、桩号、插入图框、超欠挖标注、超欠挖面积标注等(如图2所示)。限于篇幅,在此仅介绍超欠挖以及超欠挖面积设计思路。

图2 绘断面图

超欠挖设计思路:如果实际高程大于起拱高程,则判断点位位于圆弧段,以点位到圆弧中心的距离与圆弧半径的大小判断超欠挖值,大于圆弧半径超挖,小于圆弧半径则欠挖。如果实际高程小于起拱高程即意味着点位在两侧墙之间,程序根据点之偏距判断点较接于左侧墙还是右侧墙,通过偏距大小判断超欠挖值。

超欠挖面积设计思路:将设计断面与实际断面分别构成面域。超挖面积 =实际开挖面积与设计开挖面积的差集,欠挖面积 =设计开挖面积与实际开挖面积的差集,实际完成设计开挖面积 =实际开挖面积与设计开挖面积的交集。具体代码:

2 工程实例

图3为小姓水电站1号隧道成图结果。

图3 小姓水电站1号隧道断面绘制

3 结论

程序运用 VBA语言编写,在Win XP系统CAD2004平台下运行成功。具体运用时可将宏代码添加到自定义菜单下面运用十分方便,具体代码为:^C^C_-vbarun"d:/rjb/hdm/gongchengcad.dvb!HuiDuanMia.DuanMianByFile"。

本文以城门洞形为列进行叙述,实际工作中还会遇到马蹄形、多圆心形、矩形、圆形等断面形式,其实都是直线段与圆弧的组合,工作中只要根据设计几何参数作相应修改即可。

本程序算法思路同样适用于设计编制纵断面图绘制软件,作者曾经将其运用于绘制安徽宿州邹庄煤矿的输变电线路纵断面图。

程序通过建立与EXCEL通讯的方法将开挖面积输出到指定EXCEL表格中,从而达到面积统计的要求。运用AddTable()直接在CAD里面插入表格也是可行的方法。

行业软件CASS工程应用菜单里面虽然也设计有批量绘制横断面的功能,其实质也是在每一个里程的剖面线上获取等间隔点的偏距与高程,从而生成横断面文件,最后绘制横断面图。但是其没有设计直接根据横断面文件生成横断面图的菜单。因此,测绘同行在不知道二次开发的情况下很多都是只能在CAD平台上重复性的手工绘图,效率较低。该程序经过西龙池水电站、小姓水电站、官地水电站工程隧道测量实践,证明其正确、实用,极大的提高了内业成图的作业效率,得到了测绘同行的好评。

[1]吴彬,等.应用ObjectARX开发通用隧洞断面绘制软件[J].城市勘测,2008(2)

[2]佟士懋,邢芳芳,夏齐霄.AutoCAD ActiveX/VBA二次开发技术基础及应用实例[M].北京:国防工业出版社,2006

[3]张宏,温永宁,刘爱利,等.地理信息系统算法基础[M].北京:科学出版社,2006

猜你喜欢

主程序横断面圆弧
浅析圆弧段高大模板支撑体系设计与应用
自动升级程序在船舶监测系统中的应用
外圆弧面铣削刀具
浅谈数控铣削技术代码程序的嵌套方式研究
电控冰箱软件模块化设计
市政道路横断面设计要点分析
六圆弧齿廓螺旋齿轮及其啮合特性
时光倒流 换回PotPlayer老图标
广州市健康体检人群种植修复情况的横断面研究
2014年某院医院感染横断面调查