一种批量河道断面图的自动化绘制方法转让专利

申请号 : CN202311146369.9

文献号 : CN116910887B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曾子悦江磊王永强

申请人 : 长江水利委员会长江科学院长江勘测规划设计研究有限责任公司

摘要 :

本发明提供一种批量河道断面图的自动化绘制方法,包括:从河道地形图中提取断面数据,所述断面数据包括起点距离X和高程Y,对起点距离X进行缩小,对高程Y进行扩大,按照断面编号进行横向排列或竖向排列;计算起点距离X和高程Y的最大、最小值;基于计算的起点距离X和高程Y的最大、最小值构建局部坐标系并绘制断面线;基于计算的起点距离X和高程Y的最大、最小值绘制坐标轴和刻度线。本发明实现了批量断面图的自动化绘制,能快速地绘制多年份的大量断面图,缩短了工作时间、减少了工作任务量、极大地提高了工作效率;可以广泛用于河床演变分析、河流数值模拟及河工物理模型试验中批量断面图的绘制。

权利要求 :

1.一种批量河道断面图的自动化绘制方法,其特征在于,包括如下步骤:步骤一、从河道地形图中提取断面数据,所述断面数据包括起点距离X和高程Y,对起点距离X进行缩小,对高程Y进行扩大,按照断面编号进行横向排列或竖向排列;

步骤二、计算起点距离X和高程Y的最大、最小值;

步骤三、基于计算的起点距离X和高程Y的最大、最小值构建局部坐标系并绘制断面线;

步骤四、基于计算的起点距离X和高程Y的最大、最小值绘制坐标轴和刻度线;

步骤一中设定断面总共有N个,年份总共有M个,每个断面上的点数为NN,NN为断面和年份的函数,则X、Y为三维数组:;

式中X为从断面起点起算的累计距离,简称起点距离,单位为m;Y为断面上每个点的高程,单位为m;i为第i个断面;j为第j个年份;k为第i个断面、第j个年份断面上的第k个点;NN为每个断面上点的数量;

指定X的缩小比例因子为Rx,指定Y的扩大比例因子为Ry,则断面坐标数据转换为:;

式中X1为经过缩放后的起点距离;Y1为经过扩大后的高程;

若断面图横向排列,则对起点距离X进一步变换:;

倘若断面图竖向排列,则对高程Y进一步变换:;

式中X2为按照横向排列变换后的起点距离;△x为横向排列的两个断面之间的间距;Y2为按照竖向排列变换后的高程;△y为竖向排列的两个断面之间的间距;

步骤二计算起点距离X和高程Y的最大、最小值,具体包括:

1)横向排列

对于第i个断面,其X方向的最小值采用如下方法计算:;

其X方向的最大值采用如下方法计算:假定 ;

对年份M从1开始循环;

假设 ;

则 ;

直至循环结束;

对于第i个断面,其Y方向的最大、最小值采用如下方法计算:假定 ;

对年份M从1开始循环;

假设 ;

则 ;

假设 ;

则 ;

直至循环结束;

式中Xmin、Xmax分别为起点距离的最小、最大值;Ymin、Ymax分别为高程的最小、最大值;

const为任意假定的常数;

2)竖向排列

对于第i个断面而言,其X方向的最小值Xmin(i)为0、最大值通过如下方法计算:假定 ;

对年份M从1开始循环;

假设 ;

则 ;

直至循环结束;

对于第i个断面而言,其Y方向最大、最小值采用如下方法计算:假定 ;

对年份M从1开始循环;

假设 ;

则 ;

假设 ;

则 ;

直至循环结束;

式中Xmin、Xmax分别为起点距离的最小、最大值;Ymin、Ymax分别为高程的最小、最大值;

const为任意假定的常数。

2.如权利要求1所述的批量河道断面图的自动化绘制方法,其特征在于:步骤三基于计算的起点距离X和高程Y的最大、最小值构建局部坐标系并绘制断面线,具体包括:针对第i个断面,其局部坐标系的原点坐标为(Xmin(i)、Ymin(i)),所述原点坐标是后续绘制断面线和坐标轴的基准点,确定原点坐标后,利用Autocad自带的AddLightWeightPolyline函数绘制多段线,多个断面多个年份进行循环绘制:循环分为内外两个层次,内层循环为针对同一个断面,进行不同年份的循环绘制;外层循环为针对断面数量进行循环绘制,直至所有的断面、所有的年份均绘制完成;断面线绘制完成后,给断面线赋予不同的颜色或线型,以区分不同年份的断面线。

3.如权利要求2所述的批量河道断面图的自动化绘制方法,其特征在于:所述利用Autocad自带的AddLightWeightPolyline函数绘制多段线,具体包括:对于横向排列:

其中 ;

对于竖向排列:

其中 ;

式中X2、X为起点距离;Y、Y2为高程值;NN为断面上点的个数;i、j为计数器;N为断面数,M为年份数。

4.如权利要求1所述的批量河道断面图的自动化绘制方法,其特征在于:所述坐标轴包括横向的X轴、相应的刻度线和纵向的Y轴、相应的刻度线,步骤四基于计算的起点距离X和高程Y的最大、最小值绘制坐标轴和刻度线,具体包括:对于第i个断面,其X轴的起点和终点坐标分别为:;

利用Autocad自带的AddLine函数添加直线绘制X轴,设定按照100m间距绘制X轴的刻度线,则刻度线的数量MM为:;

刻度线的起点坐标为:

设定刻度线的长度为3,则刻度线的终点坐标为:;

利用Autocad自带的AddLine函数按照数量MM进行循环添加直线绘制X轴的刻度线;

给刻度线添加文字标注信息,规定标注均位于坐标轴外侧,设定文字标注距离坐标轴的距离为5,则文字标注的定位点坐标为:;

设定文字高度为3,文字内容为100的整数倍值,根据文字定位点坐标及文字内容利用Autocad自带的AddText函数循环添加文字标注;

对于第i个断面,其Y轴的起点和终点坐标分别为:;

利用Autocad自带的AddLine函数添加直线即可绘制Y轴;设定按照10m间距绘制Y轴的刻度线,则刻度线的数量TT为:;

刻度线的起点坐标为:

设定刻度线的长度为3,则刻度线的终点坐标为:;

利用Autocad自带的AddLine函数按照数量TT循环添加直线即可绘制Y轴的刻度线;

给刻度线添加文字标注信息,规定标注均位于坐标轴外侧,设定文字标注距离坐标轴的距离为5,则文字标注的定位点坐标为:;

设定文字高度为3,文字内容为:;

其中 为非负整数;

根据文字定位点坐标及文字内容利用Autocad自带的AddText函数循环添加文字标注;

式中Xmin、Xmax分别为起点距离的最小、最大值;Ymin、Ymax分别为高程的最小、最大值;MM为X轴刻度线的数量;TT为Y轴刻度线的数量;k、l为计数器。

说明书 :

一种批量河道断面图的自动化绘制方法

技术领域

[0001] 本发明涉及水利工程领域,具体是一种批量河道断面图的自动化绘制方法。

背景技术

[0002] 在河流泥沙运动的理论分析和工程实践领域,河床演变分析、数值模型计算及河工物理模型试验是模拟预测河道冲淤、河势变化及工程影响的重要研究方法,典型断面变化图是展示研究成果的重要媒介。河床演变分析中的典型断面变化图可以更精确、更细致地反映工程附近局部河道近期实际的冲淤变化情况。数学模型计算,尤其是泥沙数学模型计算,断面变化图是河床变形计算结果的重要表达形式。河工物理模型试验在前期的模型制作过程中,也需要根据实测地形图提取断面数据,然后按照比尺(平面比尺λL、垂向比尺λH)将断面进行缩放、绘制断面图并制作断面模版以达到在实验室模拟实际地形条件的目的;而且,试验结果表达过程中也需要用断面图来反映预测河床地形的变化过程。由此可见,根据断面数据绘制断面图是河床演变、数值模型计算及河工物理模型试验分析研究和成果表达的前提和基础,也是工程应用领域不可或缺的重要技术支撑。
[0003] 目前断面图一般通过EXCEL软件进行绘制,具体绘制方法为:1)将断面数据粘贴到EXCEL表格;2)插入“带直线和数据标记的散点图”或“带直线的散点图”,手动按照年份添加数据系列;(3)手动添加图例,调整数据系列的颜色和线型,保证不同年份之间断面线的区别度;(4)手动调整坐标轴的颜色、格式、字体等内容,形成最终的断面变化图。该种方法较为机械和原始,所有过程都需要手动处理,重复工作量较大,在只有几个断面、时间工期等要求不高的情况下尚可。在断面数量较多的情况下,由于工作量非常巨大、且需要很长的时间,导致研究或设计人员工作任务极其繁重,还会限制整个项目的工作周期。因此,需要研究批量断面图的自动化绘制方法,提高工作效率、保障项目进度。

发明内容

[0004] 针对现有技术存在的上述不足,本发明提供一种批量河道断面图的自动化绘制方法,可以实现批量断面图的自动化绘制,能快速地绘制多年份的大量断面图,缩短了工作时间、减少了工作任务量、极大地提高了工作效率。
[0005] 一种批量河道断面图的自动化绘制方法,包括如下步骤:
[0006] 步骤一、从河道地形图中提取断面数据,所述断面数据包括起点距离X和高程Y,对起点距离X进行缩小,对高程Y进行扩大,按照断面编号进行横向排列或竖向排列;
[0007] 步骤二、计算起点距离X和高程Y的最大、最小值;
[0008] 步骤三、基于计算的起点距离X和高程Y的最大、最小值构建局部坐标系并绘制断面线;
[0009] 步骤四、基于计算的起点距离X和高程Y的最大、最小值绘制坐标轴和刻度线。
[0010] 进一步的,步骤一中设定断面总共有N个,年份总共有M个,每个断面上的点数为NN,NN为断面和年份的函数,则X、Y为三维数组:
[0011] ;
[0012] 式中X为从断面起点起算的累计距离,简称起点距离,单位为m;Y为断面上每个点的高程,单位为m;i为第i个断面;j为第j个年份;k为第i个断面、第j个年份断面上的第k个点;NN为每个断面上点的数量;
[0013] 指定X的缩小比例因子为Rx,指定Y的扩大比例因子为Ry,则断面坐标数据转换为:
[0014] ;
[0015] 式中X1为经过缩放后的起点距离;Y1为经过扩大后的高程;Rx为起点距离的缩放因子;Ry为高程的扩大因子。
[0016] 进一步的,若断面图横向排列,则对起点距离X进一步变换:
[0017] ;
[0018] 倘若断面图竖向排列,则对高程Y进一步变换:
[0019] ;
[0020] 式中X2为按照横向排列变换后的起点距离;△x为横向排列的两个断面之间的间距;Y2为按照竖向排列变换后的高程;△y为竖向排列的两个断面之间的间距。
[0021] 进一步的,步骤二计算起点距离X和高程Y的最大、最小值,具体包括:
[0022] 1)横向排列
[0023] 对于第i个断面,其X方向的最小值采用如下方法计算:
[0024] ;
[0025] 其X方向的最大值采用如下方法计算:
[0026] 假定 ;
[0027] 对年份M从1开始循环;
[0028] 假设 ;
[0029] 则 ;
[0030] 直至循环结束;
[0031] 对于第i个断面,其Y方向的最大、最小值采用如下方法计算:
[0032] 假定 ;
[0033] 对年份M从1开始循环;
[0034] 假设 ;
[0035] 则 ;
[0036] 假设 ;
[0037] 则 ;
[0038] 直至循环结束。
[0039] 式中Xmin、Xmax分别为起点距离的最小、最大值;Ymin、Ymax分别为高程的最小、最大值;const为任意假定的常数;
[0040] 2)竖向排列
[0041] 对于第i个断面而言,其X方向的最小值Xmin(i)为0、最大值通过如下方法计算:
[0042] 假定 ;
[0043] 对年份M从1开始循环;
[0044] 假设 ;
[0045] 则 ;
[0046] 直至循环结束;
[0047] 对于第i个断面而言,其Y方向最大、最小值采用如下方法计算:
[0048] 假定 ;
[0049] 对年份M·从1开始循环;
[0050] 假设 ;
[0051] 则 ;
[0052] 假设 ;
[0053] 则 ;
[0054] 直至循环结束;
[0055] 式中Xmin、Xmax分别为起点距离的最小、最大值;Ymin、Ymax分别为高程的最小、最大值;const为任意假定的常数。
[0056] 进一步的,步骤三基于计算的起点距离X和高程Y的最大、最小值构建局部坐标系并绘制断面线,具体包括:针对第i个断面,其局部坐标系的原点坐标为(Xmin(i)、Ymin(i)),所述原点坐标是后续绘制断面线和坐标轴的基准点,确定原点坐标后,利用Autocad自带的AddLightWeightPolyline()函数绘制多段线,多个断面多个年份进行循环绘制:循环分为内外两个层次,内层循环为针对同一个断面,进行不同年份的循环绘制;外层循环为针对断面数量进行循环绘制,直至所有的断面、所有的年份均绘制完成;断面线绘制完成后,给断面线赋予不同的颜色或线型,以区分不同年份的断面线。
[0057] 进一步的,所述利用Autocad自带的AddLightWeightPolyline()函数绘制多段线,具体包括:
[0058] 对于横向排列:
[0059] ;
[0060] 其中 ;
[0061] 对于竖向排列:
[0062] ;
[0063] 其中 ;
[0064] 式中X2、X为起点距离;Y、Y2为高程值;NN为断面上点的个数;i、j为计数器;N为断面数,M为年份数
[0065] 进一步的,所述坐标轴包括横向的X轴、相应的刻度线和纵向的Y轴、相应的刻度线,步骤四基于计算的起点距离X和高程Y的最大、最小值绘制坐标轴和刻度线,具体包括:
[0066] 对于第i个断面,其X轴的起点和终点坐标分别为:
[0067]
[0068] 利用Autocad自带的AddLine()函数添加直线绘制X轴,设定按照100m间距绘制X轴的刻度线,则刻度线的数量MM为:
[0069]
[0070] 刻度线的起点坐标为:
[0071]
[0072] 设定刻度线的长度为3,则刻度线的终点坐标为:
[0073]
[0074] 利用Autocad自带的AddLine()函数按照数量MM进行循环添加直线绘制X轴的刻度线;
[0075] 给刻度线添加文字标注信息,规定标注均位于坐标轴外侧,设定文字标注距离坐标轴的距离为5,则文字标注的定位点坐标为:
[0076]
[0077] 设定文字高度为3,文字内容为100的整数倍值,根据文字定位点坐标及文字内容利用Autocad自带的AddText()循环添加文字标注;
[0078] 对于第i个断面,其Y轴的起点和终点坐标分别为:
[0079]
[0080] 利用Autocad自带的AddLine()函数添加直线即可绘制Y轴。设定按照10m间距绘制Y轴的刻度线,则刻度线的数量TT为:
[0081]
[0082] 刻度线的起点坐标为:
[0083]
[0084] 设定刻度线的长度为3,则刻度线的终点坐标为:
[0085]
[0086] 利用Autocad自带的AddLine()函数按照数量TT循环添加直线即可绘制Y轴的刻度线;
[0087] 给刻度线添加文字标注信息,规定标注均位于坐标轴外侧,设定文字标注距离坐标轴的距离为5,则文字标注的定位点坐标为:
[0088]
[0089] 设定文字高度为3,文字内容为:
[0090] ;
[0091] 其中 为非负整数;
[0092] 根据文字定位点坐标及文字内容利用Autocad自带的AddText()循环添加文字标注;
[0093] 式中Xmin、Xmax分别为起点距离的最小、最大值;Ymin、Ymax分别为高程的最小、最大值;MM为X轴刻度线的数量;TT为Y轴刻度线的数量;Rx为起点距离的缩放因子;Ry为高程的扩大因子;k、l为计数器。
[0094] 本发明相比于EXCEL绘制的断面图,本发明绘制的断面图为cad格式,后期的修改及与工程方案的叠加都比较方便,且cad断面图在于工程设计图的叠加方面具有天生的优势,这极大的给设计和研究人员提供了便利;另外本发明实现了批量断面图的自动化绘制,能快速地绘制多年份的大量断面图,缩短了工作时间、减少了工作任务量、极大地提高了工作效率;可以广泛用于河床演变分析、河流数值模拟及河工物理模型试验中批量断面图的绘制。

附图说明

[0095] 图1是河道标准断面变化图;
[0096] 图2是本发明实施例的断面数据格式图;
[0097] 图3是本发明批量河道断面图的自动化绘制方法其中一个实施例的流程图;
[0098] 图4是本发明实施例绘制的典型河道断面图。

具体实施方式

[0099] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0100] 河道标准断面变化图见图1所示,从图可以看出标准断面图主要由两部分组成,其一为断面线及图例,其二为坐标系统。断面变化图可以只有一个年份也可以有多个年份,坐标系统包括XY轴、XY刻度线及轴旁的文字标注等。因此,要实现断面图的批量绘制,需要解决两个问题,其一是批量绘制断面线及图例,其二是批量绘制对应的坐标系统。
[0101] 要实现所述批量河道断面图的自动绘图,需要设计方法并编写程序来实现,Autocad软件集二次开发功能和显示功能于一体,可以满足本发明编写程序批量绘制断面图的需求。因此,方法设计完成后,本发明实施例选择Autocad软件来编写程序,如图3所示,具体实现步骤如下:
[0102] (1)重构断面坐标数据:从河道地形图中提取断面数据,所述断面数据包括起点距离X和高程Y,对起点距离X进行缩小,对高程Y进行扩大,按照断面编号进行横向排列或竖向排列。
[0103] 具体的,从河道地形图中提取出来的断面数据由两列构成,第一列为从断面端点起算的累计距离,简称起点距离,用X表示;第二列为每个点的高程值,用Y表示,见图2所示。
[0104] 从图2可以看出,断面数可以有多个、年份数也可以有多个,假设断面总共有N个,年份总共有M个,每个断面上的点数为NN,NN为断面和年份的函数,则X、Y为三维数组:
[0105] ;
[0106] 式中X为从断面起点起算的累计距离,简称起点距离,单位为m;Y为断面上每个点的高程,单位为m;i为第i个断面;j为第j个年份;k为第i个断面、第j个年份断面上的第k个点;NN为每个断面上点的数量。天然河道断面起点距离X的从0m开始,最大可以超过10000m;高程Y范围一般从‑100m到100m,高差ΔY一般在100m以内,即起点距离X的值远大于高程Y的值,如果X和Y按照1:1的比例进行绘图,就会导致绘制的断面图非常扁平,既不美观也不便于分析。因此对于X而言,需要进行适当的缩小;对于Y而言,需要进行适当的扩大。指定X的缩小比例因子为Rx,指定Y的扩大比例因子为Ry,则断面坐标数据转换为:
[0107]
[0108] 式中X1为经过缩放后的起点距离;Y1为经过扩大后的高程;Rx为起点距离的缩放因子;Ry为高程的扩大因子;其余变量意义同前。由于原始断面数据起点距离X和高程Y的范围是一样的,CAD是按照坐标来确定断面位置的,若坐标范围一样,则断面位置也是一样的,这样绘制出来的所有断面都是叠在一起的。因此,为了保证最后绘制的断面有序排列,还需要对断面数据进一步变换,断面图可以按照断面编号横向排列,也可以按照断面编号竖向排列。倘若断面图横向排列,则对X进一步变换:
[0109]
[0110] 倘若断面图竖向排列,则对Y进一步变换:
[0111]
[0112] 式中X2为按照横向排列变换后的起点距离;△x为横向排列的两个断面之间的间距;Y2为按照竖向排列变换后的高程;△y为竖向排列的两个断面之间的间距。其余变量意义同前。
[0113] (2)计算起点距离X和高程Y的最大、最小值。
[0114] 起点距离X和高程Y的最大、最小值是构建局部坐标系、绘制断面线和坐标轴的基础,局部坐标系的原点应该定位在X和Y的最小值,而且坐标轴的长度则需要通过最大值减去最小值确定。因此需要通过数学方法计算出最大最小值。对于X而言,其为单调递增的数列,最小值为数列的第一个数,最大值为数列的最后一个数。由于不同年份断面长度不同,因此针对同一个断面只需在年份之间求最大值即可:
[0115] 1)横向排列
[0116] 对于第i个断面,其X方向的最小值采用如下方法计算:
[0117]
[0118] 其X方向的最大值采用如下方法计算:
[0119] 假定 ;
[0120] 对年份M从1开始循环;
[0121] 假设 ;·
[0122] 则 ;
[0123] 直至循环结束;
[0124] 对于第i个断面,其Y方向的最大、最小值采用如下方法计算:
[0125] 假定 ;
[0126] 对年份M从1开始循环;
[0127] 假设 ;
[0128] 则 ;
[0129] 假设 ;
[0130] 则 ;
[0131] 直至循环结束。
[0132] 式中Xmin、Xmax分别为起点距离的最小、最大值;Ymin、Ymax分别为高程的最小、最大值;const为任意假定的常数;其余变量意义同前。
[0133] 2)竖向排列
[0134] 对于第i个断面而言,其X方向的最小值Xmin(i)为0、最大值通过如下方法计算:
[0135] 假定 ;
[0136] 对年份M从1开始循环;
[0137] 假设 ;
[0138] 则 ;
[0139] 直至循环结束;
[0140] 对于第i个断面而言,其Y方向最大、最小值采用如下方法计算:
[0141] 假定 ;
[0142] 对年份M·从1开始循环;
[0143] 假设 ;
[0144] 则 ;
[0145] 假设 ;
[0146] 则 ;
[0147] 直至循环结束;
[0148] 式中Xmin、Xmax分别为起点距离的最小、最大值;Ymin、Ymax分别为高程的最小、最大值;const为任意假定的常数其余变量意义同前。
[0149] (3)基于步骤(2)计算的起点距离X和高程Y的最大、最小值构建局部坐标系并绘制断面线。
[0150] 要绘制每个断面的断面线及对应的坐标轴,需要针对每个断面建立局部坐标系,局部坐标系的建立以步骤(2)计算确定的X和Y方向的最大、最小值为基础,针对第i个断面,其局部坐标系的原点坐标为(Xmin(i)、Ymin(i)),此原点坐标是后续绘制断面线和坐标轴的基准点。
[0151] 确定原点坐标后,利用Autocad自带的AddLightWeightPolyline()函数绘制多段线,多个断面多个年份需要循环绘制。循环分为内外两个层次,内层循环为针对同一个断面,进行不同年份的循环绘制;外层循环为针对断面数量进行循环绘制,直至所有的断面、所有的年份均绘制完成。
[0152] 对于横向排列:
[0153]
[0154] 其中 ;
[0155] 对于竖向排列:
[0156] ;
[0157] 其中 ;
[0158] 式中X2、X为起点距离;Y、Y2为高程值;NN为断面上点的个数;i、j为计数器;N为断面数,M为年份数。
[0159] 断面线绘制完成后,给断面线赋予不同的颜色或线型,以区分不同年份的断面线。
[0160] (4)基于步骤(2)计算的起点距离X和高程Y的最大、最小值绘制坐标轴和刻度线。
[0161] 断面线绘制完成后,需要针对每个断面绘制坐标轴,以形成完整的断面图。坐标轴绘制依据是步骤(2)计算确定的起点距离X和高程Y最大、最小值,坐标轴包括横向的X轴、相应的刻度线和纵向的Y轴、相应的刻度线。
[0162] 根据步骤(2)计算结果,对于第i个断面,其X轴的起点和终点坐标分别为:
[0163]
[0164] 利用Autocad自带的AddLine()函数添加直线即可绘制X轴。设定按照100m间距绘制X轴的刻度线,则刻度线的数量MM为:
[0165]
[0166] 刻度线的起点坐标为:
[0167]
[0168] 设定刻度线的长度为3,则刻度线的终点坐标为:
[0169]
[0170] 利用Autocad自带的AddLine()函数按照数量MM进行循环添加直线即可绘制X轴的刻度线。下一步需要给刻度线添加文字标注信息,规定标注均位于坐标轴外侧,设定文字标注距离坐标轴的距离为5,则文字标注的定位点坐标为:
[0171]
[0172] 设定文字高度为3,文字内容为“0、100、200、300……”等100的整数倍值,根据文字定位点坐标及文字内容利用Autocad自带的AddText()循环添加文字标注即可。
[0173] 根据步骤(2)计算结果,对于第i个断面,其Y轴的起点和终点坐标分别为:
[0174]
[0175] 利用Autocad自带的AddLine()函数添加直线即可绘制Y轴。设定按照10m间距绘制Y轴的刻度线,则刻度线的数量TT为:
[0176]
[0177] 刻度线的起点坐标为:
[0178]
[0179] 设定刻度线的长度为3,则刻度线的终点坐标为:
[0180]
[0181] 利用Autocad自带的AddLine()函数按照数量TT循环添加直线即可绘制Y轴的刻度线。下一步需要给刻度线添加文字标注信息,规定标注均位于坐标轴外侧,设定文字标注距离坐标轴的距离为5,则文字标注的定位点坐标为:
[0182]
[0183] 设定文字高度为3,文字内容为:
[0184] ;
[0185] 其中 为非负整数;
[0186] 根据文字定位点坐标及文字内容利用Autocad自带的AddText()循环添加文字标注即可。
[0187] 式中Xmin、Xmax分别为起点距离的最小、最大值;Ymin、Ymax分别为高程的最小、最大值;MM为X轴刻度线的数量;TT为Y轴刻度线的数量;Rx为起点距离的缩放因子;Ry为高程的扩大因子;k、l为计数器;其余变量意义同前。
[0188] 图4是本发明实施例从绘制的几百个断面中选出的1个典型河道断面图作为示例。
[0189] 本发明具有如下优点:
[0190] (1)本发明基于VBA程序设计语言,VBA是面向对象的程序设计语言,可以进行复杂的运算,同时也可以将运算结果以图形的形式显示出来。相比于EXCEL绘制的断面图,本发明绘制的断面图为cad格式的。EXCEL断面图是位图,其后期的修改及与工程方案的叠加都很不方便;cad断面图是矢量图,而工程设计图大多也是cad图,因此cad断面图在于工程设计图的叠加方面具有天生的优势,这极大的给设计和研究人员提供了便利。
[0191] (2)本发明实现了批量断面图的自动化绘制,能快速地绘制多年份的大量断面图,缩短了工作时间、减少了工作任务量、极大地提高了工作效率。以10个年份、100个断面图的绘制为例,在断面数据都已经按格式准备好的前提下,如果采用EXCEL手动绘制一个断面需要的时间约为10min,则100个断面需要的总时间为1000min,等于16.7个小时。如果采用本发明的方法,100个断面需要的总时间可以控制在2min以内。
[0192] (3)可以广泛用于河床演变分析、河流数值模拟及河工物理模型试验中批量断面图的绘制。
[0193] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何属于本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。