基于CASS软件的断面绘制辅助程序开发
2022-05-27马文帮于先军许艳超
马文帮 于先军 祁 玲 许艳超 于 超
(1.宿迁市水务勘测设计研究有限公司 宿迁 223800 2.宿迁市防汛物资储备管理中心 宿迁 223800)
1 引言
在水利工程领域,不论是河道治理、沟渠疏浚还是水工建筑物的新建都需要进行断面测量。目前,主流的地形图、断面图绘制软件是南方测绘公司的CASS7.1,断面制图功能在水利工程测量制图方面亦得到广泛应用。本文结合工作实践,发现CASS7.1软件在断面制图方面有些功能不够完善,存在可改进的空间。
2 软件绘制断面图的方法流程
在CASS 中绘制横断面图,首先需要制作里程文件,再由里程文件生成断面图。制作里程文件有几种方式:复合线生成、断面线生成、等高线生成、三角网生成、坐标文件生成。主要的过程包括以下10 个步骤:
(1)展绘测点号和高程点(执行“绘图处理”—“展野外测点点号”和“展高程点”命令);
(2)绘制纵断面线(执行“多段线”命令);
(3)横断面生成(执行“工程应用”—“生成里程文件”—“由纵断面生成”—“新建”命令)(注:横断面与纵断面线垂直相交);
(4)“初始里程文件”生成(执行“工程应用”—“生成里程文件”—“由纵断面生成”—“生成”命令);
(5)移动高程点(手动将横断面沿线离散的高程点逐个垂直移动到横断面线上,因为实测点位和设计的横断面位置不可能完全吻合);
(6)修改高程点属性(执行“绘图处理”—“高程点处理”—“根据注记修改高程”命令);
(7)顺序连接横断面上的各高程点(执行“多段线”命令,多段线的起点就是横断面的起点,通过手工逐个连接高程点,将高程点变成多段线的节点);
(8)横断面里程文件逐条生成(执行“工程应用”—“生成里程文件”—“由复合线生成”—“普通断面”命令);
(9)“最终里程文件”生成(对“初始里程文件”进行编辑,只保留里程桩号,用新生成的横断面里程数据替换“初始里程文件”中的横断面里程数据);
(10)批量横断面图绘制(执行“工程应用”—“绘断面图”—“根据里程文件”命令)。
3 软件断面图功能的不足之处
水利设计对河道治理、沟渠开挖、疏浚,通常要求勘测的断面间距为100~200m。在河道、沟渠长度从几百米到几公里甚至几十公里的情况下,尤其是河道较宽的情况下,断面图的绘制工作量通常都很繁重。上述步骤(5)已经说明,由于实测的高程点与设计的横断面位置不可能完全吻合,需要人工手动将离散的高程点逐个垂直移动到设计的横断面上。这个过程需要花费大量的时间,加重了测量内业工作。上述步骤(7)中,需要用多段线手动顺序连接横断面上的高程点,将高程点变成多段线的节点,这个步骤的工作量也很大。
针对上述步骤(5)和步骤(7)存在的不足之处,本人用Visual Basic 6.0 编程语言(简称VB6.0)软件,依托AutoCAD 2006 平台,通过算法优化,开发了一个可执行程序“断面助手V1.0”,用于弥补CASS 软件的不足。
4 程序开发
4.1 该程序的主要功能
该程序主要包含两个功能:(1)高程点自动垂直移动到断面线上;(2)选择段面线上的高程点,指定起点到终点的方向,高程点自动变成节点,同时推算出各节点至起点的距离。
4.2 功能1 的实现过程
4.2.1 算法思路
首先选择目标断面线,然后选择需要移动的目标高程点,程序自动计算高程点到断面线的垂直距离和垂足的平面坐标,并将高成点移动到垂足位置。
4.2.2 程序关键代码
4.3 功能2 的实现过程
4.3.1 算法思路
批量选择断面线上的高程点,确定横断面的起止点方向,执行程序,高程点变成节点。程序根据指定的的横断面起点,依次计算出各节点到起点的距离。
4.3.2 程序关键代码(以横断面从东到西方向为例)
5 结论
本文提出了CASS7.1 软件在断面绘图方面存在的不足之处。运用VB6.0 程序语言,开发了简单实用的程序,辅助CASS 断面制图。该程序实现了批量移点代替手工移点,高程点秒变节点批量实现,并同时确定节点到起点的距离,后续可直接生成断面文件。程序极大地方便了断面图绘制,提高了测绘内业效率,节省了人力物力■