类似CASS for autoCAD的平基土石方三维计算工具基本完成

软件已提交我的资源中:https://download.csdn.net/download/mr_LuoWei2009/92845641,有兴趣的可以去下载试用

本软件采用python编写的一个类似cass for AutoCAD的程序,可以用于工程测绘数据对应的三维地形地貌图形显示,同时可以用于平基土石方挖填方工程量计算。

  • 操作指南

1.本软件可以对导入的地形图坐标数据(支持cass格式的dat坐标格式数据文件)进行三维地形图的显示,所绘制出来的三维地形图可以显示点、点间连线、三角形面、地形外边线的点和线,挖填边界线,计算结果中的三维实体(三棱锥、三棱柱等)。用户可以通过工具栏上的复选框来控制地形图想要显示的具体对象内容。

导入地形数据后,会自动将所导入的CASS格式的坐标点进行处理,并形成三维地形图在视图中显示出来,所导入的坐标点数据会在界面右侧的表格中显示(可以修改)。

2.界面右侧的表格中选择指定点,所选择的点会被放大显示,并根据需要在工具栏上选择要显示的对象内容。

3、本软件支持以下三种计算模式:

(1) 两期法计算: 即根据所要计算的平基场地的两次测绘数据(原貌和成型貌各测绘一次,原貌测绘数据有时为规划局或设计院提供),根据两次测绘数据,计算出对应平基挖填方工程量(类似于cass forAutoCAD中的两期法),在执行平基挖填方计算前,应分别加载成型貌地形数据和原貌地形数据,数据文件格式要求同CASS的测绘数据格式相同,dat数据文件格式为每一行为一个测绘点,每个测绘点由5列数据构成,数据间以逗号分隔,标识值可为空值,dat测绘文件中每行数据的表示方法:序号, 标识, x, y, z

注:CASS的测绘文件中xy值同CAD中的 xy坐标值是反向的,本软件计算只要原貌和成型貌测绘文件是同一种表达方式,不对xy坐标值是否调向作要求。

此方法对所测绘区域内部存在建筑物或其他不需要进行挖填方计算的区域时,因软件默认会把成型貌外围线之内的全部区域的挖填方一并计算出来,如要求不对这些内部的一些指定局部区域进行挖填方计算,在这种情况下的计算方法另详下面的相关说明。

共享版软件两期法计算有使用30次的限定,下载解压文件后,运行软件后最好不要再次解压覆盖,否则会造成30次限定使用次数失效。

(2)三角网法计算:将每一对三角网数据(即每沿XY投影方向的原貌三角形和成型貌三角形一一组对)进行修改编辑后,再根据当前全部组对的三角网进行挖填方计算,即所计算挖填方时不再依赖原貌和成型貌的边界区域范围,只依据当前有多少对(组)三角网,就计算多少组挖填方体积,此方法用于细化对平基土石方的计算,如可以抠除不该计算的三角网对(类似CASS的编辑三角网),也可以在此区域外增加三角网对,以满足动态调整三角网计算的需要。共享版软件三角网法计算有使用30次的限定。

(3) 方格网计算:用于平基完成区域为一固定高程的平基挖填方计算,这时只需要导入原貌测绘数据即可(类似于cass for autoCAD中的方格网法),计算时会提示录入成型貌的固定高程值。共享版软件对方格网计算没有使用次数的限定。

下图为采用data目录下的cass测绘示例数据文件:"02- 成型貌测试点526个点.dat "和" 02- 原貌测试点1550个点.dat",并采用"两期法"计算时,成型貌数据文件中有526个坐标点,原貌据文件中有1550个坐标点,计算时将会生成4079对三角网,每对三角网对应若干个挖方三棱锥或挖方三棱柱实体和填方三棱锥或填方三棱柱实体,所有的计算实体的体积之和即为所要计算区域的挖填方总工程量。本软件采用多线程计算(最大可使用100个多线程同时处理计算数据),计算速度要高于cass for AutoCad,所计算的地形图大小应没有限制,当然地形图越大,所要计算的时间就越长,对电脑内存等配置要求也就越高。

为保证计算结果准确,一般要求原始地貌坐标点对应的范围应不小于成型貌坐标点对应的范围。本软件计算是以成型貌外圈点作为计算区域的边界来组织计算的。

4.本软件支持将经计算后的三角网及三角网间的各种三棱锥和三棱柱进行局部三维实体观察,以了解对应的位置的挖填方三维实体组成。方法为:在计算完成后,主界面右侧"三角网数据"表格中选择任一行(每一行对应一组三角网),则会弹出一对话框,显示此组三角网对应的挖填方量和分解的挖方或填方的三棱锥和三棱柱组成情况,并在视图中以不同颜色显示出来。用户在观察这些计算实体的同时,允许打开原貌或成型貌的地形图一块合并显示,可以在三维视图中查看当前计算的三维实体在原地形图中的具体位置情况。

下面是一个一全填方三角网的计算结果三维图

下面是一个半挖半填的三角网计算结果三维图

5.本软件允许设置各种三维对象的显示颜色,计算线程数量等,你可以手工更改set.ini文件,或采用系统的设置功能:

6.如何将一测绘文件去除一些不需要计算的区域后得到平基挖填方工程量,你应按照下面的步骤来实现:

(1)先将测绘完成的成型貌cass坐标数据展点到cass for AutoCad中,找到不需要计算挖填方的区域范围的点,为方便记忆,可用复合线将这个区域上的点连接起来,接着删除除线上的点以外的其他全部点,再将剩余的这些点保存到一dat文件中,方法为:【工程应用】->【高程点生成数据文件】->【无编码高程点】,根据提示录入文件名,再输入图层名GCD回车即可。

(2)采用"两期法"或"方格网法"计算出全部三角网,这时也会计算出挖填方工程量,但此工程量会包含你计划不计算的区域,这时在"三角网数据"表格中,点击【导入不计算边界数据】按纽,这时系统会提示你选择一cass类型的dat文件,你选择第(1)步导出的dat文件。

(3)点击【查找三角网】按纽,系统会根据你设置的区域,在原先全部三角网中查找到你计划不计算的三角网并标记,这时你只需根据标记,逐行确认是否对此标记的三角网不进行计算,如确认不能计算,用右键进行删除。

(4)外理完成全部三角网表格数据后,右键保存三角网数据。

(5)选择导入【三角网数据】,将刚才保存的三角网数据导入系统,再执行【三角网法计算】,这时计算出来的平基挖填方工程量将不会包括你刚才进行了剔除区域内的挖填方量。

二、计算原理

1、本软件编码的计算原理如下:

(1)原始地貌所有点和成形完成地貌的所有测绘坐标点分别生成德洛内三角网备用。

(2)将所有原貌地形中的每一个坐标点沿XY平面投影到成型貌三角网的对应三角形平面上,计算出投影点在对应成型貌某一个三角形面上的坐标值(xy值不变,z值为成型貌三角形面上的Z高程值)。

(3)将全部成型貌的每一个坐标点沿XY平面投影到原貌地形的三角网上,计算出投影点在某一个原貌三角形面上的坐标值(xy值不变,z值为原貌三角形面上的Z高程值)。。

(4)原始地貌点和第(3)步生成的投影点将形成新的原貌坐标点集(新坐标点数约为原貌点数+成型貌点数-原貌测绘和成型貌测绘可能重合的点),以新的原貌坐标点集重新生成新的德洛内三角网,新的德海洛内三角网中每一个三角形和此三角形沿XY投影到成型貌三角网上的三角形就组成了一个由多个三棱锥(柱)构成计算实体,即新原貌三角网和新成型貌三角网的xy坐标相同,Z高程不相同的若干对三角型组成计算用三角网组。

(5)对第4步生成的每组(对)三角形之间分解成若干个三棱锥(柱)计算实体,对这些计算实体分别计算其体积并汇总,即可得到此对三角网对应的挖方和填方体积,所有三角网对的挖填方体积之和即为整个平基要计算的挖填方体积。

(6)计算时如果原貌三个坐标点Z高程均大于成型貌Z高程,则表示此三角网对为全挖方,反之是为全填方。如果原貌三个坐标点有一个或两个坐标点Z高程大于成型貌Z高程,另两个或一个点的Z高程小于成型貌Z高程,则表示此三角网对有部分挖方和部分填方,通过将此三角网对对应的空间分解成若干个挖方三棱锥和填方三棱锥,即可求出每个实体的挖方体积和填方体积,全部实体的挖方体积和填方体积之和即为此地形图的平基挖填方总量。

(7)本程序计算结果同cass for AutoCAD有少许出入,原因不详。根据编码期间的测试和对计算结果三维计算实体的观察,本软件所计算分解出的的全部三维实体完美的填充了所测绘的全部成型貌三角网和原貌三角网之间的全部空间,且没有溢出或空缺,理论上计算结果是准确可信的,对比CASS计算的三角网(只能在CAD中查看),发现对相同的测绘数据,CASS生成的三角网数量要多过本软件生成的三角网,但根据挖填方计算原理图,多生成的三角网仍应在最原始的成型貌和原貌三角网之间,只是将本软件拆解的三角网中的部分三角网又进一步拆分成更多的三角网和对应的计算实体,将最基本原始的三角网再过多的拆分,理论上对计算结果没有影响,只会加重计算量并可能导致计算出错。如在一个三角网的三角形面中间插入一个点,会将此一对三角网再次分解成3个三角网,此3个三角网的挖填方体积之和理论上就等于被拆分的一个三角网的挖填方体积,即拆分后每个三角网都会生成对应的三棱锥实体,但3个三角网生成的全部实体仍应包含在被拆分单个三角网的两个三角形面之内,填充在这两个三角形面中的实体体积和不会增加也不会减少,否则就会导致生成的计算实体同最原始的测绘数据发生了变化(即计算实体超出了最原始的成型貌和原貌地形对应的三角网空间之外,所计算的结果同测绘原始数据不符了)。

  1. 全挖全填计算模型图

如下图对应一组三角网,原貌三角形ABC均高于(或低于)成型貌三角形DEF,这时此三角网平基计算结果就是全挖方(或全填方),全挖方(或全填方)计算体积=三棱柱体积+三棱锥体

图1 成型貌三角网位于原貌三角网下面(或上面)

2.半填半挖计算模型图

如下图对应一组三角网,原貌三角形ABC有2点高于(或低于)成型貌三角形DEF,这时此三角网平基计算结果就是半填半挖

半填半挖的挖方(或填方)计算体积=三棱锥GHCH+三棱锥GCEF+三棱锥GCEG

半填半挖的填方(或挖方)计算体积=三棱锥DAHG

半填半挖(成型地貌有一个点Z低于原貌)(挖三棱柱,填四棱锥)计算简图

相关推荐
alwaysrun1 小时前
Python自动提取邮件订阅链接并解析
python·url·邮件·ai提取
何中应1 小时前
Conda安装&使用
python·conda·python3.11
无敌昊哥战神2 小时前
【LeetCode 37】解数独 (Sudoku Solver) —— 回溯法详解 (Python/C/C++)
c语言·c++·python·算法·leetcode
风流 少年2 小时前
Python Web框架:FastAPI
前端·python·fastapi
Qres8212 小时前
Rabrg/artificial-life test
python·模拟
财经资讯数据_灵砚智能2 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月1日
大数据·人工智能·python·信息可视化·自然语言处理
好奇龙猫2 小时前
[大学院ーpython-base learning3: python and recommendation system ]
开发语言·python
篮子里的玫瑰2 小时前
Python与网络爬虫——字典与集合
开发语言·python
skilllite作者3 小时前
Zed 1.0 编辑器深度评测与实战指南
开发语言·人工智能·windows·python·编辑器·agi