发明内容
本发明的目的在于提供一种基于AutoCAD的堤防绘图方法,以降低在堤防设计中人工参与的工作量,提高堤防设计效率。
为实现以上目的,本发明采用一种基于AutoCAD的堤防绘图方法,预先在AutoCAD软件中导入第一平面图和第一横断面图,第一平面图和第一横断面图均经测量得到,包括:
获取包含桩号和堤顶高程信息的第一数据文件;
在第一平面图中,根据桩号文字外包框搜索该第一平面图中的基点;
在所述第一平面图中,进行求交运算以获取桩号线与该第一平面图中已有线型之间的交点;
计算所述交点与所述基点之间的距离,并将该距离信息作为第一列距离信息打印为第二数据文件中;
根据第二数据文件,将所述第一平面图中已有线型在第一横断面图中标注出来,得到线型位置标注数据;
根据所述第一数据文件和线型位置标注数据,设计第二横断面图。
优选地,所述在第一平面图中,根据桩号文字外包框搜索该第一平面图中的基点,包括:
选择所述第一平面图中所有的桩号文字,并以桩号文字外包框的四个角点为基准点,在设定范围内搜索所述第一平面图中的桩号线;
以桩号线的两个端点栏选搜索所述第一平面图中的基点。
优选地,所述第一平面图中已有线型包括河道线、现状堤防线、水域线以及房屋线;所述根据所述第一数据文件和线型位置标注数据,设计第二横断面图,包括:
根据所述第一数据文件和线型位置标注数据,在所述现状堤防线上搜索缓于指定坡度的拐点;
根据拐点,在所述第一横断面图中标注出河道线、现状堤防线、水域线以及房屋线的位置,得到线型属性标注数据;
根据所述线型属性标注数据,设计所述第二横断面图。
优选地,在所述根据所述第一数据文件和线型位置标注数据,设计第二横断面图之后,还包括:
利用所述第二横断面图,计算出第二横断面图中各线型的顶点到设定起点的距离,并将该距离信息作为第二类距离信息打印为第三数据文件;
将所述第一平面图中的基点按桩号顺序连接成线段,作为基准线;
将基准线向桩号线负方向偏移设定距离,以与桩号线相交;
在所述在第一平面图中,根据桩号文字外包框搜索该第一平面图中的基点;
根据所述第三数据文件中第二类距离信息中距离值的正负,分别沿桩号线向正方向或负方向打印定位点,并将第二类距离信息中距离值的绝对值作为该定位点与所述基点的距离;
将所述定位点按桩号顺序连接,得到河道堤顶线、河道堤脚线以及填塘线,设计得到第二平面图。
优选地,在所述将所述定位点按桩号顺序连接,得到河道堤顶线、河道堤脚线以及填塘线之后还包括:
绘制一条参考平滑线,并利用平面图仿线技术,使所述河道堤顶线、河道堤脚线以及填塘线模仿参考平滑线模仿该参考平滑线,得到平滑的河道堤顶线、河道堤脚线以及填塘线。
优选地,还包括:
计算所述设计堤防线与所述现状堤防线之间的所有交点,作为第一类交点;
在第一类交点中按照设定的方向,截取每相邻两个交点之间的所述设计堤防线和所述现状堤防线;
将截取得到的所述设计堤防线的顶点和所述现状堤防线的顶点所包围的封闭区域确定为挖方面积或填方面积。
优选地,还包括:
计算所述填塘线与所述现状堤防线之间的所有交点,作为第二类交点;
计算所述填塘线与所述设计堤防线之间的所有交点,作为第三类交点;
在第二类交点中按照设定的方向,截取每相邻两个交点之间的所述填塘线和所述现状堤防线;
在第三类交点中按照设定的方向,截取每相邻两个交点之间的所述填塘线和所述设计堤防线;
将截取得到的所述设计堤防线的顶点、所述现状堤防线的顶点以及所述填塘线的顶点所包围的封闭区域确定为填塘面积。
优选地,还包括:
在所述第一类交点中,将截取每相邻两个交点之间的所述现状堤防线的顶点之间的距离相加,作为清基长度。
优选地,还包括:
在所述现状堤防线上标记清淤界限、现状堤脚点;
计算清淤界限与设计堤脚点之间的距离,作为清淤长度;
计算现状堤脚点与设计堤脚点之间的距离,作为永久占地;
计算设计堤脚点与所述填塘线的交点和设计堤脚点与现状堤脚点的交点的距离,作为临时占地。
优选地,还包括:
在所述第二横断面图中,对堤顶现状进行统计,堤顶现状包括欠高统计、现状堤防线堤顶宽统计、现状堤防线坡度统计。
与现有技术相比,本发明存在以下技术效果:本发明横断面自动设计过程中采用了智能的搜索技术,即通过桩号文字搜索桩号线,再通过桩号线搜索基点,使这些数据能够一一对应起来;并通过已知的堤顶基河道的标注为基础自动生成设计堤防线及填塘线,解决了横断面图绘图等工作耗时较长、大量重复性劳动的问题,提高了堤防绘图效率和准确性。
具体实施方式
为了更进一步说明本发明的特征,请参阅以下有关本发明的详细说明与附图。所附图仅供参考与说明之用,并非用来对本发明的保护范围加以限制。
如图1至图2所示,本实施例公开了一种基于AutoCAD的堤防绘图方法,预先在AutoCAD软件中导入第一平面图和第一横断面图,第一平面图和第一横断面图均经测量得到,包括如下步骤S11至S16:
S11、获取包含桩号和堤顶高程信息的第一数据文件;
S12、在第一平面图中,根据桩号文字外包框搜索该第一平面图中的基点;
S13、在所述第一平面图中,进行求交运算以获取桩号线与该第一平面图中已有线型之间的交点;
需要说明的是,第一平面图中已有线型包括河道线、现状堤防线、水域线以及房屋线;通过求交运算获取桩号线与河道线的交点、桩号线与现状堤防线的交点、桩号线与水域线的交点以及桩号线与房屋线的交点。
S14、计算所述交点与所述基点之间的距离,并将该距离信息作为第一列距离信息打印为第二数据文件中;
需要说明的是,该距离信息通过获得横断面图中特征点到基点的距离乘以比例换算参数获得。
S15、根据第二数据文件,将所述第一平面图中已有线型在第一横断面图中标注出来,得到线型位置标注数据;
其中,线性位置标注数据包括河道线标注、现状堤防线标注、水域线标注、房屋线标注等。
S16、根据所述第一数据文件和线型位置标注数据,设计第二横断面图。
需要说明的是,第一平面图和第一横断面图均为外业工作人员通过户外测量获得;本实施例横断面自动设计过程中通过桩号文字搜索桩号线,再通过桩号线搜索基点,使这些数据能够一一对应起来;并通过已知的堤顶基河道的标注为基础自动生成设计堤防线及填塘线,解决了横断面图绘图等工作耗时较长、大量重复性劳动的问题,提高了堤防绘图效率和准确性。
优选地,上述步骤S12:在第一平面图中,根据桩号文字外包框搜索该第一平面图中的基点,包括如下步骤S121至S122:
S121、选择所述第一平面图中所有的桩号文字,并以桩号文字外包框的四个角点为基准点,在设定范围内搜索所述第一平面图中的桩号线;
需要说明的是,由于桩号文字外框与桩号线距离较近,因此以桩号文字外框的四个角点为基准点,在设定的范围内(可取值为5)搜索即可快速准确的搜索到桩号线。
S122、以桩号线的两个端点栏选搜索所述第一平面图中的基点。
优选地,上述步骤S16:根据所述第一数据文件和线型位置标注数据,设计第二横断面图,包括如下步骤S161至S163:
S161、根据所述第一数据文件和线型位置标注数据,在所述现状堤防线上搜索缓于指定坡度的点作为拐点;
其中:由于在设计第二横断面图中已经标注出堤顶与河道的位置,搜索堤顶与河道之间陡于和缓于某个坡度值的点(如该坡度值可取为2.5或者3.0),并且使设计堤防线与现状堤防线临水侧的交点在堤顶点之后,由于这样的点存在多个,本实施例选取离临水侧堤顶点最远的点作为该拐点。
S162、根据拐点和所述第一数据文件,在所述第一横断面图中标注出河道线、现状堤防线、水域线以及房屋线的位置,得到线型属性标注数据;
其中,线型属性标注数据包括河道线、现状堤防线、水域线以及房屋线的位置等数据标注。
S163、根据所述线型属性标注数据,设计所述第二横断面图。
具体地,由于拐点已求得,在根据已知的设计堤防线的临背水侧坡度以及堤防高程,绘制出设计堤防线,根据河道线标注、现状堤防线标注、水域线标注、房屋线标注以及填塘宽度绘制填塘线。
优选地,如图3所示,本实施例中在设计出第二横断面后,再进行平面图设计,具体包括如下步骤S21至S26:
S21、利用所述第二横断面图,计算出第二横断面图中各线型的顶点到设定起点的距离,并将该距离信息作为第二类距离信息打印为第三数据文件;
S22、将所述第一平面图中的基点,按桩号顺序连接成线段,作为基准线;
S23、将基准线向桩号线负方向偏移设定距离,以与桩号线相交;
其中:由于桩号线仅是一条线,没有正负之分,所以该步骤的通过规定一个负方向,当第二距离信息为负,则在交点的方向打印一个点,反之第二距离信息为正,则在交点相反的方向打印一个点,一般偏移1即可。
S24、在所述在第一平面图中,根据桩号文字外包框搜索该第一平面图中的基点;
需要说明的是,本实施例中根据桩号文字外包框搜索该第一平面图中的基点过程与上述实施例公开过程相同。
S25、根据所述第三数据文件中第二类距离信息中距离值的正负,分别沿桩号线向正方向或负方向打印定位点,并将第二类距离信息中距离值的绝对值作为该定位点与所述基点的距离;
其中:若当前第二类距离信息中距离值为负数,则沿着桩号线的负方向打印一个定位点,该定位点离基点的距离为该距离值的绝对值。
若当前第二类距离信息中距离值为正数,则沿着桩号线的正方向打印一个定位点,该定位点离基点的距离为该距离值。
S26、将所述定位点按桩号顺序连接,得到河道堤顶线、河道堤脚线以及填塘线,设计得到第二平面图。
需要说明的是,可将定位点按照桩号从大到小的顺序或者从小到大的顺序进行连接,即可得到河道堤顶线、河道堤脚线以及填塘线。本实施例中第一数据文件、第二数据文件以及第三数据文件均为csv格式文件。
较为优选地,上述步骤S26中得到的河道堤顶线、河道堤脚线以及填塘线均为折线,本实施例中采用平面图仿线技术,将河道堤顶线、河道堤脚线以及填塘线调整为平滑线,包括如下步骤:
需要先手动调整好一条线(譬如临水侧堤顶线),使该线变得平顺,然后通过平面图仿线功能即可使所有折线通过模仿临水侧堤顶线的线型变得平顺。
其中:通过相邻两条桩号线和河道堤顶线、河道堤脚线以及填塘线和相邻两条桩号线与参考平滑线的交点之间的距离进行线性插值得到距离,通过平滑线上任意一点的相邻两段线的角平分线作为方向,得到新的平滑的河道堤顶线、河道堤脚线以及填塘线,作用是使原来的折线变成一条平滑的设计平面线。
优选地,如图4所示,本实施例在横断面图设计完成后,即可依据设计好的横断面图计算堤防工程量,堤防工程量的计算包括以下内容:挖方量计算、填方量计算、填塘方量计算、清基计算、临水侧护坡计算、背水侧护坡计算、临时占地计算、永久占地计算、清淤计算。包括如下步骤:
S31、计算挖方面积或者填方面积:
计算所述设计堤防线与所述现状堤防线之间的所有交点,作为第一类交点;在第一类交点中按照设定的方向比如从左至右,截取每相邻两个交点之间的所述设计堤防线和所述现状堤防线;将截取得到的所述设计堤防线的顶点和所述现状堤防线的顶点所包围的封闭区域确定为挖方面积或填方面积。
S32、计算填塘面积:
计算所述填塘线与所述现状堤防线之间的所有交点,作为第二类交点;
计算所述填塘线与所述设计堤防线之间的所有交点,作为第三类交点;
在第二类交点中按照设定的方向比如从左至右,截取每相邻两个交点之间的所述填塘线和所述现状堤防线;
在第三类交点中按照设定的方向比如从左至右,截取每相邻两个交点之间的所述填塘线和所述设计堤防线;
将截取得到的所述设计堤防线的顶点、所述现状堤防线的顶点以及所述填塘线的顶点所包围的封闭区域确定为填塘面积。
S33、计算清基长度:
在第二横断面中,将每两个交点截取到的现状堤防线上的各个顶点之间的距离相加即可得到清基长度。
S34、堤顶点到堤脚点的距离即为临水侧护坡长度和背水侧护坡长度。
S35、计算清淤长度:
首先在现状堤防线上标记出清淤界限、现状堤脚点,清淤界限与设计堤脚点之间的距离即为清淤长度。
S36、计算永久占地:现状堤脚点与设计堤脚点的距离即为永久占地。
S37、计算临时占地:设计堤脚点与填塘线和现状堤防线的交点之间的距离即为临时占地。
需要说明的是,本方案中工程量可批量自动化计算,而现有技术一般通过手工测量得到工程量的各个分项。在计算出上述堤防工程量,将各项工程量打印到一个csv文件中,获得计算成果,后续只需要放到Excel表格中计算工程量总量即可。
优选地,如图5所示,实施例在横断面图设计完成后,即可依据设计好的横断面图进行堤防现状自动统计,堤防现状自动统计包括以下内容:欠高统计、现状堤顶宽统计、现状坡度统计。包括如下步骤:
S41、计算现状堤顶宽度:
由于设计好的第二横断面中已经把现状堤顶的位置标注在横断面图中;两个堤顶之间的距离即为现状堤顶宽度,两个堤顶之间的距离通过对两个堤顶点求差再乘以水平比例换算参数得到。
S42、计算欠高:
两个堤顶截取现状堤防线获得的顶点最高点到设计堤顶的距离即得到欠高,再将距离再乘以铅直比例换算参数。
S43、计算现状坡度:
拐点和临水侧堤顶之间的坡度即为现状坡度,其中:拐点和临水侧堤顶水平距离与水平比例换算参数之积除以拐点和临水侧堤顶铅直距离与铅直比例换算参数之积。
需要说明的是,与现有技术通过手工测量得到工程量的各个分项相比,本方案中工程量的计算能够批量自动化计算,以计算得到工程量,用于给项目的工程概算提供资料;在堤防现状统计过程中,通过从平面图中把堤顶、拐点的位置信息反映到第二横断面图中,然后根据这些信息进行堤防现状统计,实现批量自动化计算。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。