论文部分内容阅读
[摘 要]现在的河道治理越来越讲究生态化,疏浚后的断面是符合河道流势和兼顾生态的天然断面,这就给绘制横断面图和进行土石方工程量计算带来了坚巨而繁重的工作,过去的方法是用CAD人工绘制横断面图,然后用查询面积功能查询断面积、用Excel计算土石方量,但随着工作量加大,这种方法越来越力不从心。VB与CAD连接编写实用程序,大大提高了绘图效率,减少了河道疏浚工程土石方开挖与回填量的计算工作量,并提高了计算精度。本文对运用VB绘制河道横断面图和进行土石方工程量计算的过程和方法做一介绍。
[关键词]河道疏浚;横断面图;土石方工程量;VB与CAD
中图分类号:TU198.2 文献标识码:A 文章编号:1009-914X(2014)18-0317-02
1 资料准备
主要准備的资料一是施工图设计给出的设计河道纵横断面图,二是开工前和竣工后断面测量资料。
1.1 开工前和竣工后断面测量
施工进场交桩后,对河道纵横断面进行全面细致的测量,实测横断面包括设计桩号和加桩桩号的断面,横断面测量前还要在每个断面的河道左右岸设置标记桩,标记桩位置应在设计边界点外一定距离,确定好标记桩后实测该桩的坐标,以免竣工时标记桩遗失。竣工后断面测量仍循开工前设置的桩号,横断面测量在河道左右岸标记桩范围内进行。
纵横断面测量时,注意实测图与设计图要进行对比复核,确保数据准确无误。测量工具采用GPS或全站仪。
1.2 断面测量资料整编
根据程序需要,实测的横断面数据须写成txt文件,一般GPS或全站仪都能输出该数据文件,只需稍作修改即可用。该文件为顺序文件,均按下列顺序编写:
n为断面点个数,K+M为桩号名称,-xi为河道左岸横坐标,xi为河道右岸横坐标,hi为高程。并以桩号命名文件。
2 编写调试VB程序
2.1 计算方法与步骤
用CAD绘制横断面图比手工绘图快了很多,但随着工作量加大,人工绘制横断面图觉得力不从心,后来尝试运用CAD自带的VBA编写程序自动绘图非常简便,而利用VB与CAD的接口连接,编写自动绘图程序, 比CAD自带的VBA更加灵活好用,更易方便使用。实测和设计断面同时绘制在同一图中,输入断面数据的同时输入绘图比例,设置线型图层和上下左右边距,绘制实测和设计断面采用同一高程基点,实测和设计断面图的绘制通过程序中断面切换实现。本程序引用中望CAD实现。
土石方量计算方法比较简单,但编制程序却比较麻烦。主要工作量是计算每个横断面开挖和回填断面积,过去的一般做法是先在CAD绘制出横断面图然后用查询面积功能查询,这种方法用起来比较简单,但工作量太大,而且计算误差距大。我们的做法是利用实测断面和设计断面的数据资料(txt顺序文件)用数学解析法计算出开挖回填断面积。
由于给出的实测断面和设计断面的横坐标不尽相同,首先将横坐标按自小到大的顺序进行排序(实测断面和设计断面的横坐标放在一个数集内),并按此顺序一一计算相应实测断面和设计断面的纵坐标,缺少的按直线内插法计算补充,并计算出实测断面和设计断面的线的交点,再计算设计断面与实测断面的纵坐标差,若为正为回填,负则为开挖,最后计算开挖回填的面积并累计,求出该断面的开挖回填的总面积。开挖回填土石方量(体积)采用相邻两断面面积平均乘以两断面间距得到相邻两断面间土石方量,累加后计算出总土石方量,详见图1和计算公式:
Sj=∑(y1i-y2i)×dx(i=1 to n)
V=0.5 ×∑(Sj+Sj-1) ×dL(i=1 to N)
式中:Sj——第j横断面开挖回填总面积,开挖为负,回填为正(m2)
V——断面1至N间开挖回填总方量(m3)
2.3 窗体设计
打开VB6.0,新建窗体Form1,Caption为“横断面设计及工程量计算”。设置窗体控件,首先绘制两组设置参数的Label、text控件对,一组是绘图参数,另一组是计算工程量参数,两组共15对;断面切换添加combo控件;工具箱未有的控件,单击“工程”按下列顺序添加,单击“工程”-“部件”, 弹出对话框,选Microsoft CommonDialog Control 6.0和Microsoft FlexGrid Control 6.0打勾,单击“确定”。在窗体上各添加一个CommonDialog1和MSFlexGrid1控件,并设置其属性,在MSFlexGrid1表中添加一Text文本框。然后单击“工具”,打开菜单编辑器编辑设置菜单。
2.3 连接ZWCAD接口
首先安装ZwCAD 2008,单击Form1窗体的“工程”,在下拉选项菜点击“引用”, 弹出对话框,选择ZwCAD 2008 0bject Library 和Microsoft Excel 11.0 0bject Library(用于导出Excel表)打勾,注意优先次序,ZwCAD优先于Excel。单击“确定”,引用成功。
打开“工程”,添加标准模块Module1,编写以下代码:
2.3.1 声明
Dim ZwCAD As ZwcadApplication
2.3.2 连接子过程
Public Sub GetZWCAD()
If Not ZwCAD Is Nothing Then Exit Sub
On Error Resume Next
Set ZwCAD = GetObject(, "ZWCAD.Application")
If Err.Number <> 0 Then Err.Clear
Set ZwCAD = CreateObject("ZWCAD.application")
If Err.Number <> 0 Then
Err.Clear
Exit Sub
End If
ZwCAD.Visible = True
End If
If Err.Number <> 0 Then Err.Clear
On Error GoTo 0
End Sub
2.4 数据
数据可在MSFlexGrid表中直接输入。MSFlexGrid1控件与一Text控件绑定,通过执行一段代码可在MSFlexGrid表中输入内容,并保存于txt顺序文件内。数据亦可直接在txt文本内输入,格式见1.2。
2.5 绘制横断面图
主要包括设置线型图层、绘制虚点方格、绘制坐标纵横轴、绘制横断面图折线等程序,代码参照ZWCAD二次开发VBA的代码,注意在绘制各种图形和填充时须将VBA代码“ThisDocument”一律替换成“ZwCAD.ActiveDocument”,这样才能在VB下运行。
Private Sub XianZhuangT_Click()
GetZWCAD
……
End Sub
2.6 开挖回填断面积计算
单击“计算开挖回填方量”的子菜单“打开表”, MSFlexGrid表显示计算土石方量空表,在计算工程量输入栏内输入实测和设计断面数据名Nay及Nas,并输入桩号序号,单击“计算断面开挖回填面积”,即可在MSFlexGrid表的相应序号行输出结果。
3 结束语
VB的运用大大提高了绘图效率,减少了河道疏浚工程土石方开挖与回填量的计算工作量,并提高了计算精度。这不仅对设计单位有益,对施工企业的工程技术人员也是很好的帮助,它可以帮助他们在工程初期通过实测现状与设计断面绘图计算,核算工程量清单中的土石方量,并作为制定施工方案的依据;在工程竣工前,由于期间可能的设计变更,使设计断面有所变化,因此通过实测完工与施工前实测现状绘图计算,可绘制出竣工图和土石方实际工程量,为工程决算提供依据;基于同样的原因,它也为建设方委托的工程审计机构全程审计提供了方便快捷的工具。
参考文献
《ZWCAD開发人员帮助》.
[关键词]河道疏浚;横断面图;土石方工程量;VB与CAD
中图分类号:TU198.2 文献标识码:A 文章编号:1009-914X(2014)18-0317-02
1 资料准备
主要准備的资料一是施工图设计给出的设计河道纵横断面图,二是开工前和竣工后断面测量资料。
1.1 开工前和竣工后断面测量
施工进场交桩后,对河道纵横断面进行全面细致的测量,实测横断面包括设计桩号和加桩桩号的断面,横断面测量前还要在每个断面的河道左右岸设置标记桩,标记桩位置应在设计边界点外一定距离,确定好标记桩后实测该桩的坐标,以免竣工时标记桩遗失。竣工后断面测量仍循开工前设置的桩号,横断面测量在河道左右岸标记桩范围内进行。
纵横断面测量时,注意实测图与设计图要进行对比复核,确保数据准确无误。测量工具采用GPS或全站仪。
1.2 断面测量资料整编
根据程序需要,实测的横断面数据须写成txt文件,一般GPS或全站仪都能输出该数据文件,只需稍作修改即可用。该文件为顺序文件,均按下列顺序编写:
n为断面点个数,K+M为桩号名称,-xi为河道左岸横坐标,xi为河道右岸横坐标,hi为高程。并以桩号命名文件。
2 编写调试VB程序
2.1 计算方法与步骤
用CAD绘制横断面图比手工绘图快了很多,但随着工作量加大,人工绘制横断面图觉得力不从心,后来尝试运用CAD自带的VBA编写程序自动绘图非常简便,而利用VB与CAD的接口连接,编写自动绘图程序, 比CAD自带的VBA更加灵活好用,更易方便使用。实测和设计断面同时绘制在同一图中,输入断面数据的同时输入绘图比例,设置线型图层和上下左右边距,绘制实测和设计断面采用同一高程基点,实测和设计断面图的绘制通过程序中断面切换实现。本程序引用中望CAD实现。
土石方量计算方法比较简单,但编制程序却比较麻烦。主要工作量是计算每个横断面开挖和回填断面积,过去的一般做法是先在CAD绘制出横断面图然后用查询面积功能查询,这种方法用起来比较简单,但工作量太大,而且计算误差距大。我们的做法是利用实测断面和设计断面的数据资料(txt顺序文件)用数学解析法计算出开挖回填断面积。
由于给出的实测断面和设计断面的横坐标不尽相同,首先将横坐标按自小到大的顺序进行排序(实测断面和设计断面的横坐标放在一个数集内),并按此顺序一一计算相应实测断面和设计断面的纵坐标,缺少的按直线内插法计算补充,并计算出实测断面和设计断面的线的交点,再计算设计断面与实测断面的纵坐标差,若为正为回填,负则为开挖,最后计算开挖回填的面积并累计,求出该断面的开挖回填的总面积。开挖回填土石方量(体积)采用相邻两断面面积平均乘以两断面间距得到相邻两断面间土石方量,累加后计算出总土石方量,详见图1和计算公式:
Sj=∑(y1i-y2i)×dx(i=1 to n)
V=0.5 ×∑(Sj+Sj-1) ×dL(i=1 to N)
式中:Sj——第j横断面开挖回填总面积,开挖为负,回填为正(m2)
V——断面1至N间开挖回填总方量(m3)
2.3 窗体设计
打开VB6.0,新建窗体Form1,Caption为“横断面设计及工程量计算”。设置窗体控件,首先绘制两组设置参数的Label、text控件对,一组是绘图参数,另一组是计算工程量参数,两组共15对;断面切换添加combo控件;工具箱未有的控件,单击“工程”按下列顺序添加,单击“工程”-“部件”, 弹出对话框,选Microsoft CommonDialog Control 6.0和Microsoft FlexGrid Control 6.0打勾,单击“确定”。在窗体上各添加一个CommonDialog1和MSFlexGrid1控件,并设置其属性,在MSFlexGrid1表中添加一Text文本框。然后单击“工具”,打开菜单编辑器编辑设置菜单。
2.3 连接ZWCAD接口
首先安装ZwCAD 2008,单击Form1窗体的“工程”,在下拉选项菜点击“引用”, 弹出对话框,选择ZwCAD 2008 0bject Library 和Microsoft Excel 11.0 0bject Library(用于导出Excel表)打勾,注意优先次序,ZwCAD优先于Excel。单击“确定”,引用成功。
打开“工程”,添加标准模块Module1,编写以下代码:
2.3.1 声明
Dim ZwCAD As ZwcadApplication
2.3.2 连接子过程
Public Sub GetZWCAD()
If Not ZwCAD Is Nothing Then Exit Sub
On Error Resume Next
Set ZwCAD = GetObject(, "ZWCAD.Application")
If Err.Number <> 0 Then Err.Clear
Set ZwCAD = CreateObject("ZWCAD.application")
If Err.Number <> 0 Then
Err.Clear
Exit Sub
End If
ZwCAD.Visible = True
End If
If Err.Number <> 0 Then Err.Clear
On Error GoTo 0
End Sub
2.4 数据
数据可在MSFlexGrid表中直接输入。MSFlexGrid1控件与一Text控件绑定,通过执行一段代码可在MSFlexGrid表中输入内容,并保存于txt顺序文件内。数据亦可直接在txt文本内输入,格式见1.2。
2.5 绘制横断面图
主要包括设置线型图层、绘制虚点方格、绘制坐标纵横轴、绘制横断面图折线等程序,代码参照ZWCAD二次开发VBA的代码,注意在绘制各种图形和填充时须将VBA代码“ThisDocument”一律替换成“ZwCAD.ActiveDocument”,这样才能在VB下运行。
Private Sub XianZhuangT_Click()
GetZWCAD
……
End Sub
2.6 开挖回填断面积计算
单击“计算开挖回填方量”的子菜单“打开表”, MSFlexGrid表显示计算土石方量空表,在计算工程量输入栏内输入实测和设计断面数据名Nay及Nas,并输入桩号序号,单击“计算断面开挖回填面积”,即可在MSFlexGrid表的相应序号行输出结果。
3 结束语
VB的运用大大提高了绘图效率,减少了河道疏浚工程土石方开挖与回填量的计算工作量,并提高了计算精度。这不仅对设计单位有益,对施工企业的工程技术人员也是很好的帮助,它可以帮助他们在工程初期通过实测现状与设计断面绘图计算,核算工程量清单中的土石方量,并作为制定施工方案的依据;在工程竣工前,由于期间可能的设计变更,使设计断面有所变化,因此通过实测完工与施工前实测现状绘图计算,可绘制出竣工图和土石方实际工程量,为工程决算提供依据;基于同样的原因,它也为建设方委托的工程审计机构全程审计提供了方便快捷的工具。
参考文献
《ZWCAD開发人员帮助》.