我们平时用Rhino做幕墙项目的时候经常会遇见断线的问题,有断线的问题就要把线段连接起来,可以一般建筑幕墙优化要处理的线段时候太多,如果是一条条处理的话,肯定是费时费力的,而且效果可能也不太好,这时借助Grasshopper的算法不失为更好的方法了,今天Link带个大家一个简单的算法来应对建筑幕墙优化会遇到的这个问题。
如果大家感兴趣的话,可以在下方留言,Link以后会经常更新关于建筑幕墙优化方面的问题。
如上图有6条线,他们的顺序不是按规律排序的,而且他的绘制方向也各不相同,他们的方向有些向上,有些向下,这样如果要直接连接曲线的话,它们必然是混乱的。
看下图直接连接的结果,我们可以看到用GrAsshopper连接命令,它们按照混乱的顺序连接成曲线。
我们如果要得到一条规则的曲线,就要解决以下几个问题:
- 按规则排序曲线的顺序
- 统一曲线的方向
我们先来解决第一个问题
按规则排序曲线的顺序
在Grasshopper中要排序曲线,说白了就是排列点,排列点一般使用“按曲线排列点顺序”运算器,这个运算可以在犀牛绘制一条曲线穿过点,然后Grasshopper获取这条曲线后,就能按照点到线的距离来排序点顺序。
绘制的曲线,这条曲线不用太精确。
获取线段的起点和端点,输入到“沿着曲线排列点顺序”运算器(Sort Along Curve)
接着把输出的点在按2个一组的数据分开,每组两个点的数据连接成多段线
这时候生成的线段应该是按照顺序排列的了,最后把数据拍平连接即可
我们在来看看最终的结果,我们可以看到线段是要顺序连接的,下图的结果要注意把【L端口】的参数改为【FALSE】,这样曲线就是开放曲线,而不是闭合曲线
我们再来看看完整的数据逻辑,大家如果对Grasshopper还有什么问题的话,可以在下面的评论区提问的。
这个电池的逻辑是什么?有大神么求助