查看原文
其他

土方计算三连弹之——Grasshopper 编程实现土方平衡计算 丨 景观实用程序包发布

2017-09-27 兰亭 兰犀艺数


哈啰大家好我是兰亭君~

又是一周阳光明媚。

不过北京这两天都降温了,

出个门块被冻死。

还是提醒各位小伙伴多注意保暖哈~


言归正传,接着上一期帖子继续讲,

兰亭君之前在研究了CASS土方计算的基础上

扒了一些论文查了查计算的原理,

然后翻了一个GH版的土方计算方法,

并打包成运算器以后方便使用。


在这里就分享给大家,

希望可以多多促进交流。


再加一句,为了保持打包电池的完整性

兰亭君设置了密码,

防止大家不小心点进去做不必要的改动。


不过想要进一步研究的小伙伴

可以进入公众号回复:“ 土方 ” 以获得密码


这样就可以进一步改进算法思路,

最后记得联系兰亭君,发布你的新教程哦~




土方计算三连弹之——Grasshopper 编程实现土方平衡计算




  本文由 兰犀艺数 编写  

  转载请联系  

  1142060440@qq.com  

  尊重版权,侵权必究  



这次兰亭君不再公布具体计算过程,

只描述土方计算的逻辑。

有需要的小伙伴直接下载可以用,

不用弄太明白后台是怎么计算的。

所以呢,这期文章主要揭秘一下

人们常说的方格网土方计算是怎么回事。




  CASS标准方格网计算打包插件  



首先今天的主题,

介绍一下兰亭君费了半个月研究的

GH土方计算打包运算器。


第一部分为设计地形高程取点工具:



安装方法很简单,直接将 .ghuer 文件拖入GH面板即可。

和其他插件一样,会新建一个 Lt 的标签栏。

分别为以下电池:


分别可以方便得出不同地形的高程点。



01 原始地形取高程点运算器


这里注意到,原始高程点 / 原始等高线 /

原地形曲面 / 原地形网格

四者是并列关系,只需要输入其中之一。

也就是原始资料中有什么信息就输入对应的即可。


红线偏移距离为将高程点筛选范围

比红线的区域向外偏移一个距离,

保证高程点填满红线甚至溢出,

保证土方计算时的准确性。

不过这里建议输入今后方格网计算中

方格网的边长长度,也可以更大~



02 设计后自然土地高程点


求自然土地的高程点。

这里设计等高线与设计自然土地

两个输入端也是并列的,

只需输入其中一项信息即可,

后者是指自动在GH中帮我们取了等距断面线。

不过考虑到很多人设计地形只绘制等高线的情况,

在这里特地增加一个只需输入等高线的选项,

不过这里的等高线必须是有高程的。


等分线密度是控制等分等高线取点的密度,

可自行调整,不过不建议无限制调太多数量。

人工场地边缘线是指其他一切人工硬质场地的边缘线,

主要包括广场、建筑基地、道路、平台等。




03 人工硬质场地高程点。


这里需要把每个人工硬质场地的曲面建出来,

不过这对于很多在Rhino中做设计的小伙伴来说

根本不是事儿~


需要注意到的是,第二个端口为

场地边缘取点密度,

是为了用一圈场地边缘点箍住场地高程,

以保证在后期形成三角网的时候

使三角网地形不会变形误差太多,

类似于下图情况。



最后一个端口控制场地内随机取点密度,

单位为每平方米取点数。

至于输入多少,建议不用太多,

毕竟周围一圈边缘点已经定义了区域内网格高程,

不输入完全可以,

不过为了取点的均匀性,

象征性地取一些点。


按照常理来说施工图绘制过程中,

广场的高程不是一成不变的,

需要有约2%的坡度,

所以标准的施工图在场地内

也会分散地标注一些点的高程,

这里的随机散点与这个情况所呼应。



04 道路取点

只需输入所建立的道路曲面,

和道路边缘取点的密度即可。



05 红线内高程点筛选

同原始高程点一样,

这里P端汇聚所有以上电池的高程点后,

通过红线筛选区域内的

参与计算的高程点。


红线偏移距离也同样建议输入方格网边长。



最终的连接方式即为:



06 输出 .dat 高程点格式



直接拾取带高程的高程点即可,

下面一个输入端输入xyz轴数值

想要保留的小数点位数即可~

最终用panel运算器接出。

上篇文章兰亭君已经说明过 .dat格式是什么情况了~

这里就不在多介绍了哦。

不过需要说明的是,

用panel运算器可以直接保存文件。

右键panel,选择 Stream Contents导出数据。



在保存提示框中选择 .dat格式即可。



这样,即使使用CASS计算土方的时候,

也不用再在CASS中导出一次数据生成动态块啦~



CASS方格网计算方法


最后,兰亭君辛苦了半个月搞出来的

土方计算的打包运算器。

基本上来说...兰亭君是严格按照CASS方格网

也是传统最标准的方格网方法求的土方平衡。

具体怎么求法,兰亭君在今天第二篇文章中有介绍~


如果看过上一篇文章

CASS方格网计算结果的小伙伴

就可以比较明确地了解输入端分别什么意思。


首先第一组输入端为信息输入控制组:

分别输入项目红线 / 原始高程点 / 设计高程点

以及控制是否进行计算。

这里兰亭君建议将红线及高程点信息

全部输入运算器后再将开关调为True。


第二组控制方格网的运算器:

看过上一篇文章的小伙伴对土方计算结果

都会有一个直观的印象,就是方格网。

这组运算器就是控制计算方格网的大小,

以及方格网内插补点的密度。


这个事儿说来话长,

插补点是因为统计方格网内高程点的时候,

会遇到这样的情况:



如果方格网内没有高程点,

则算法会默认该网格高度为0

所以在方格网内插补 n×n 的点阵,

以方便统计方格网高程。



第三组控制填挖方计算结果的显示情况,

包括文字大小 / 行间距 / 小数位数 / 显示颜色。


第四组控制方格网节点处高程信息,

标准的显示结构是这样滴:

所此组信息就是调整这些数据的

显示大小 / 显示颜色 / 显示小数点位数


最后一组则控制左下角

汇总统计表格中的文字大小。

文字内容分别为:红线面积 / 总挖方量 / 总填方量。


所以

当我们调节好所有点参数后,

当然很多参数已经预设好了~

点击布尔开关为True,

就可以等待奇迹的出现~


不过计算完成后,

电池只会显示方格网 / 坐标系  / 施工零线。

如果想要得到计算的数值结果,

直接Bake运算器到Rhino空间即可。




  最后用两个案例来验证一下计算结果的准确性  


一个较为简单,地形没有太多复杂细节:

绿色为原地形,蓝色为设计地形。

计算耗时一分半钟。

计算结果如下:

几乎一样,误差在千分之二以内。


再来看看复杂的地形验证:

细节较多,地块面积较大。

蓝色为原地形,绿色为设计地形。

计算耗时两分十秒。

计算结果如下:


可以看见在填方结果上出入很小,

但是挖方结果相差较大,

不过有意思的是跟兰亭君用的

另一种算法的计算结果基本吻合,

至于什么算法请听下回分解。


这个...计算土方真真假假虚虚实实,就看各人啦~

原文链接插件包送给你们,

有兴趣一起研究的请单独联系兰亭君。

等待你的到来。




继续顺便做广告~

想学更多有意思的东西吗?

那一起跟着兰亭君 Rhino 你的景观吧~

点击图片进入详情页面


我们的目的不是单单教你一个软件操作,

而是聚起一群爱超越的景观伙伴,

组成新的高上大的 Rhino 社群。












兰犀艺数 | 做一个爱玩数字的设计小屋

微信ID: L-RhinoDesign




↙ 以上就是今天内容,案例文件及插件请戳  阅读原文

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存