BIM建筑网
更专业的BIM技术学习网站!


BIM问答|Grasshopper如何快速生成地形?点进来告诉你!

VIP免费下载全站资源
VIP优惠来袭,免费下载全站资料和课程,技术问题可以随时提问;
查看VIP会员

本文源自公众号:ACND STUDIOS

简述

根据CAD高程点及高程信息在Grasshopper中快速生成地形模型。

所需文件:CAD地形文件

所需软件:Rhino, Grasshopper

( 插件:Human, Weaverbird,Meshtools,Meshedit 可自行前往Food4Rhino网站或者插件官网下载 )

1.前期整理

BIM问答|Grasshopper如何快速生成地形?点进来告诉你!

Step1:

将CAD地形文件拖入Rhino中,(注:如果无法导入或者信息缺失,请转低版本CAD或者天正转T3进入Rhino)在此我们只需要高程点和高程数据(text),所以我们将其数字和点选取分别利用group命令成组,个人建议将这两组物件拷入另外一个Rhino文件,以免之后拾取text出现冲突。注意检查一个高程信息对应一个高程点,有些信息不完善的CAD图纸可能会出现信息不匹配或者有重复信息的问题。检测重复物件可以用犀牛命令:SelDup , 快速拾取文字和点分别可用:Selpt和Seltext,如果有分图层则可按图层选取:selLayer .

BIM问答|Grasshopper如何快速生成地形?点进来告诉你!

2.制作部分

2.1 拾取

BIM问答|Grasshopper如何快速生成地形?点进来告诉你!

Step2.1:

由于我的CAD高程点形成是个圆形状,所以我们需要把所有的圆形曲线拾取到Grasshopper里,并且求出其圆心。(注:一般来说CAD里会把高程点或者数字打成组块,抓紧GH之前记住要把组块explode)

BIM问答|Grasshopper如何快速生成地形?点进来告诉你!

Step2.1:

利用Human插件中的Dynamic Geometry Pipeline拾取犀牛中的text文件进入GH,这个电池可以根据图层名称,物件类型及物件名称拾取犀牛内的物件进入GH。我们这里利用拾取类别这一项。拾取进来之后发现输出的Geometry是没有任何数据的text,从而我们需要利用Text Object Info将其解析,该电池会输出text的平面,内容,大小等。

2.2 高程点的匹配

BIM问答|Grasshopper如何快速生成地形?点进来告诉你!

Step2.2:

细心的朋友应该可以发现,在上一步拾取圆圈和text的时候并没有什么顺序可言,就是 “一把抓" ,这样盲目的去用点对应数据move是不能够匹配的。所以我们在此用closest point运算器去求得每个圆圈中心点附近离它自身最近的text。对于此运算器的理解对于小白来说可能得停顿半分钟,圆圈的中心点得Graft升组,让每个点都放到一个单独的袋子和下面text的平面点进行运算,这样就确保每个点都到下面的大袋子里找到一个合适自己的最近点。 如果上下两个数据列表都是大袋子,那就没办法确保每个点能和下边的大袋子每个数据都过一遍。

BIM问答|Grasshopper如何快速生成地形?点进来告诉你!

Step2.2:

通过Closest Point运算器我们就可以得出,圆圈中心点在下边大袋子里找到自己最近点的序号(CP Index) . 那就可以利用这些序号去一一从下边大袋子里抽取text,最后别忘了flatten还是让它们一起在一个大袋子里玩耍吧。(注意这里list item的输入端list是text而不是一开始的plane了,因为plane的排序和text的排序是一毛一样的,而我们需要的最终结果也是text,这一步其实可以统称为将text顺着圆圈中心点重新排序)

BIM问答|Grasshopper如何快速生成地形?点进来告诉你!

Step2.2:

如果对结果不放心,可以进行检验,利用List Item对点进行随机抽取,然后鼠标中键点击List Item运算器Zoom缩放一下,可以看到对应的数据是否和我们再大袋子的数据是匹配的。

2.3 成面

BIM问答|Grasshopper如何快速生成地形?点进来告诉你!

Step2.3:

利用Move结合Z轴向量将高程点依据高程信息抬高。

BIM问答|Grasshopper如何快速生成地形?点进来告诉你!

Step2.3:

用Delaunay Mesh将点生成面,如果觉得面过于尖锐可以利用Weaverbird插件的Subdivision将其柔化。

3.细节调整

3.1 等高线

BIM问答|Grasshopper如何快速生成地形?点进来告诉你!

Step3.1:

和犀牛内的Contour命令一样,要想Contour首先得有起始点。首先给上一步建立好的地形用Boundingbox 套上一层外接BOX,然后把BOX炸开求得每个面的中心点,再将中心点拆解成X,Y,Z坐标。通过Sort List 将Z坐标排序,Value端接入一开始的面积中心点,这样面积中心点就会跟着Z坐标的大小一样由小到大排序。所以List Item从ValueA抽取出来的第一个点就是最低点。

BIM问答|Grasshopper如何快速生成地形?点进来告诉你!

Step3.1:

利用contour将面按照自己设定的高程分割生成等高线,以便于观察坡度大小。

3.2 着色

BIM问答|Grasshopper如何快速生成地形?点进来告诉你!

Step3.2:

将之前subudivison的结果炸开可以用Face Boundaries查看细分mesh。

BIM问答|Grasshopper如何快速生成地形?点进来告诉你!

Step3.2:

利用mesh面的面积中心点的Z轴坐标进行渐变着色,从而分析整个高程地块的高度分布情况。

微信公众号:xuebim
关注建筑行业BIM发展、研究建筑新技术,汇集建筑前沿信息!
← 微信扫一扫,关注我们+
赞(0) 打赏
BIM建筑网 » BIM问答|Grasshopper如何快速生成地形?点进来告诉你!
100套内部BIM资料,限时领!
付费搞来的,大家都在学!
领取资料 AI解答

评论 抢沙发

评论前必须登录!

 

BIM建筑网,更专业的BIM技术学习网站!

关注建筑新动态,分享建筑新技术

联系我们关于BIM建筑网

觉得文章有用就打赏一下小编吧

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

扫码登录

微信「关注」,快捷登录
扫码关注后会自动登录
注册登录代表您已同意《用户许可协议》
账号登录 | 其他登录

|登录

找回密码

|账号登录注册