Ellagu 发表于 2020-2-23 11:16:43

grasshopper运用丨自动识别CAD信息生成三维地形与建筑园林景观体量|园林景观建筑园林景观规划

1
前期概括
在实际设计项目中甲方爸爸提供给景观建筑师的前期CAD测绘图中往往都是以园林景观建筑规划设计下这样的

这样的

或者这样的

并且刚好他们都有着相同点
第一:图层混乱(小编已经无力吐槽)
第二:信息混乱(有些有层数,有些没有,有些多个层数值)
第三:干扰的无效信息过多
总之,能有多乱有多乱
如果基地范围较小,建筑设计数量不多,地块又都是平地,那基地建模基本没难度了
但是一旦范围过大,比如城市规划设计的上万平,建筑设计数量极其庞大,地形又都是山地,那.....保重

2
思路简介
建模的设计方法对策有很多种,本文只简单介绍运用grasshopper如何解决此类问题,望轻喷
一、基地模型的建立:通过CAD标高文字生成地形
1.rhino中识别并筛选出标高文字(通过grasshopper相关插件horster、human、seg、或者自带的编程语言C#、python等都可识别)
2.将识别后的标高文字转换为设计空间中三维的点
3.通过三维的点生成三维地形
二、建筑设计体量模型的生成
1.识别并筛选出为建筑设计轮廓的曲线
2.判断建筑设计轮廓线与内部层数文字的包含与被包含的逻辑关系
3.将建筑设计轮廓推拉出内部选定的相符合的层数高度
三、将建筑设计体量放置于三维地形表面
1.判断建筑设计体量的底平面与三维地形的距离
2.将建筑设计体量移动相应的距离至地形表面
3
一、基地模型的建立:通过CAD标高文字生成地形
读取报告文字(用的为horster中的read text objects)

输出端一个为所在文字的设计空间坐标(XYZ,所有Z均为0,能够也能够知道为二维的CAD,没有高度),一个为显示的值(即点的Z值)
因为汉字(砼等)、层数(3等)信息也被读取,所以园林景观建筑规划设计景观建筑师需要进行简单的筛选

然后将信息转换为设计空间的三维的点

最后通过delaunay mesh将三维的点生成三维地形

最后将其bake至rhino中即可
二、建筑设计体量模型的生成
先SelClosedCrv识别出封闭的建筑设计轮廓曲线(有些为道路设计,或标志等)
如果建筑设计轮廓也未闭合则需选出开放曲线,判断起点终点再进行连接join即可

再筛选掉规划面积较小的封闭曲线(明显不是建筑设计体量的)

然后简单筛选出层数信息便于后面匹配建筑设计轮廓

判断文字与曲线(建筑设计轮廓)的包含关系(关键)

point in curves 一个输出为包含关系(0表示没有曲线包含该文字,1表示在线上,2表示包含),一个为表示第几根曲线包含,例如:第一个表示被第92根曲线包含
找出每一根建筑设计轮廓线所对应的包含文字(及建筑设计层数)关系

最后输出表示前面四根曲线没有包含任何文字,第五根曲线内部包含层数为3和4,以园林景观建筑规划设计此类推(注在rhino6.0后的版本,其中set中的电池在输入端需要连接panel才有用,算是个bug吧)
景观建筑师将没有内部层数的建筑设计轮廓赋予一个层数,比如1层(景观建筑师要保证每个建筑设计轮廓最后推拉的高度有且只有一个)

对于包含多个层数的建筑设计轮廓景观建筑师选择取第二大的数值(最大的数值多为屋顶楼梯间的高度)

在grasshopper中0为第一个,-1为最后一个,-2为倒数第二个
最后只需要将对应的建筑设计轮廓推拉出相应的高度即可(层数*层高)在此设计单位为米,设层高为3米

到此建筑设计体量就批量生成了,不论是100个体量还是10000个都是一起生成的
三、将建筑设计体量放置于三维地形表面

由于原CAD曲线(建筑设计轮廓线)方向存在差异,无法直接通过listitem找出体量的底平面,对于此类情况景观建筑师能够通过判断体量每个面的中心点的Z轴坐标从而找出底平面

计算出底平面中心点到三维地形的正投影距离长度

最后向下移动相对应的长度即可
若有道路设计曲线,最后亦可把道路设计曲线在rhino中投影至三维地形

1541776633400742.png
4
源文件及grasshopper脚本课程文件下载:
链接:https://pan.baidu.com/s/1wfbj2Ur9DhMlIPsSWVrcsA
提取码:jtxh
页: [1]
查看完整版本: grasshopper运用丨自动识别CAD信息生成三维地形与建筑园林景观体量|园林景观建筑园林景观规划