任续超,姚 睿
(陕西能源职业技术学院,陕西 咸阳 712000)
目前,实际工程中经常会涉及到很多土石方量的计算,通常工程上采用断面法计算土石方量,尤其是在大面积土石方填挖工程中,需要定期反复地对填挖方区域进行测量并计算填挖方量[1],用于工程量的统计和阶段性资金核算。采用断面法核算土石方量首先需要确定断面面积和断面间距,断面法计算土石方量中断面为原始地面线与实测地面线构成的封闭多边形,通常原始地面线是根据提取原始地形图上断面截线与等高线交点的坐标高程数据绘制,由于工程的持续性施工,土石方量随工程的进展持续变化,实测地面线也在不断变化,因此,实测地面线的获取需要定期对实地地形特征点进行测量。断面法计算土方量根据工程区域的大体形状要确定各断面之间的间距以保证土方量计算的准确性,面积较大工程中断面数量也较多,通过外业采集数据绘制各断面图形往往工作量非常大,也十分繁琐,容易出现错误,因此,非常有必要开发一个针对实际工程需要快速提取AutoCAD地形图中交点坐标高程数据,并在AutoCAD软件中自动生成断面的程序,以此提高工程作业中利用断面法进行土方量核算的效率和准确性。
实际工程中采用断面法进行土石方量核算时,各断面分布都具有一定的规律性,图1为某实际项目中某填方工程区域的断面分布图,其中各断面分布位置为外围界限特征拐点的连线且平行分布。
图1 工程断面分布图
若以传统的断面线绘制方法绘制原始地面线,需要逐点提取交点坐标高程数据,再利用计算器根据坐标反算出各点至首点的距离和高差,再根据计算出的数据在AutoCAD中绘制转折点,最后连接转折点形成断面地面线,该方法存在的问题是过程性工序繁多,工作量很大,需要大量的时间且容易出错。图2为以传统方法绘制断面图的过程图。
图2 传统方法绘制断面过程图
实测地面线与原始地面线绘制方法相同,区别在于获取原始数据的途径不同,绘制一个完整断面需要将原始地面剖线和实测地面线分别会合之后,最后以一个同名点为基准点确定实测地面线起始位置,与原始地面线进行结合形成断面剖面。图3为某一断面的绘制成果图。
图3 断面剖面示意图
断面法计算土石方量时根据绘制的各断面剖面确定出土石方工程范围内各断面的面积,利用公式(1)和公式(2)计算出土石方量。
式中:S为各断面的截面面积,K为各断面的桩号,V为土石方量。
由上述研究可知,断面的绘制处理工作量极大,由于其工序上存在着明显的程序化和重复性流程,因此,在成图环节通过对AutoCAD程序进行二次开发实现快速成图,缩小断面成图时间,提高工作效率和准确性。
鉴于传统绘制断面的复杂性,为了提高断面法计算土方量的工作效率,本研究以Visual C#语言开发能够快速提取交点坐标并生成断面图的程序,其中程序设计的核心点在于将AutoCAD地形图中的交点坐标高程数据快速提取出来[2],利用程序批量进行计算得到绘制断面线所需的高差和距离数据,并自动在AutoCAD中生成断面线,程序设计流程如图4所示。
图4 程序设计流程图
程序功能主要分为两大模块,一个模块为以图形生成图形,另一个模块是以数据生成图形。程序界面如图5所示。
图5 程序界面图
程序主要功能可以实现在AutoCAD中快速提取特征点的坐标高程数据,并自动生成断面截线图,总体分两步实现原始地面线和实测地面线的生成,再根据基准点高差值对两条地面线进行组合,实现断面的快速绘制[3-4]。
第一种为根据图形提取数据生成图形,核心步骤为交点坐标高程数据的拾取,拾取的点必须为断面截线与等高线的交点,否则所采集的点只有坐标没有高程数据,程序会提示数据有误,拾取交点的顺序必须依次进行不能间断,且所有断面的拾取方向需保持一致,这是本程序实现的关键点以及程序编写的难点,程序会根据拾取的交点数据默认以首点为基准点计算后续各点与首点的偏距和高差,并显示在程序页面中,以备核对。第二种为根据编辑好的数据文件直接生成图形,打开格式数据文件,程序会自动判断文件中数据是否合法并统计坐标个数,依次点击计算距离、计算高差、指定基点输出实测地面线按钮,跳转至AutoCAD页面后选择成图基点就会生成断面。最后根据程序提示的基准点高差结合两条地面线形成断面,基准点高差默认为两条线的首点高差值,程序设计了清除数据按钮,待生成一个断面后,点击清除数据按钮初始化程序,可以快速地进行下一个新的断面图的生成。
为验证程序的正确性,以图1所示工程为算例,按从下向上的顺序提取第一条截线与各等高线的交点数据,拾取的坐标数据会自动记录在坐标数据文本框中,并显示拾取交点的个数,点击计算距离和计算高差后显示计算后的数据,根据坐标反算对比,证明距离和高差数据计算正确,如图6所示。
图6 程序计算实例图
利用程序分别绘制各断面线,以本程序绘制图1所示的9条断面线大约只需要5 min,9条线所拾取的交点总数为74个,绘制一条线所需时间主要与每条线的交点个数有关,提取一个点的时间大约为4 s,按一条线为7个点,加上其他时间绘制一条断面线的时间大致为33 s左右。若按照传统方法分别绘制图1所示的9条断面线,所消耗时间主要分为提取坐标过程、计算过程、图形绘制过程,不考虑其他因素大约需要2.5 h,相比而言,利用该程序绘制断面线可以将工作效率提高近30倍,由此可以体现出本程序的优越性,实现了将大量重复复杂工作简化的目的,对土石方工程而言具有非常实用的价值[5]。
本研究针对实际土石方工程中断面法计算方量方法的复杂性和重复性,基于AutoCAD平台并利用Visual C#语言设计实现了可以智能提取AutoCAD地形图中截线与等高线交点的坐标数据,并能够快速绘制出断面线的界面化程序,通过与传统断面线绘制方法进行对比得出,一方面本程序可以将断面线的绘制效率提高近30倍,节省了工程核算的时间,提高了工作效率和准确性,降低了工程的成本,证明了开发该程序对实际工程的可行性和必要性;另一方面本程序能够适用于各种以断面法计算土方量的工程,不受地形限制,从而体现了以计算机开发程序结合相关工程软件解决实际工程问题的优越性。