芝加哥林肯公园的蜂窝桥(Honeycomb Bridge)是很多恋人、网红的打卡处之一,看似奇特但又很理性的造型非常吸引眼球。作为一只建筑汪遇到好看的设计总会绞尽脑汁的想别人是怎么设计出来的,还要刨根问底的去猜测设计背后的灵感和逻辑是什么。这个项目应该是用参数化方法设计的,并生成了每个构件模型的信息,在工厂加工预制,然后现场安装。蜂窝桥主要分为构架和泡体两个部分,二者之间具有关联性,如果构架改变,泡体需要随之改变才能完美的镶嵌在一起。
注:小编在文末准备了生成蜂窝桥项目的Rhino和Grasshopper原文件链接,.gh文件做了详细的分组和标注;如果你对该项目感兴趣或者对软件还不是很熟悉可以下载原文件对照文章阅读
step 01: 用Rhino画一个拱桥形式的面,拾取到Grasshopper中。
step 02: 用Plan surface 将曲面展开到平面。
step 03: 用isotrim 将曲面细分为条形曲面,条形曲面的宽度等于1/2单元格宽度;并用Dispatch将条形曲面间隔分为两组。
step 04: 如果把单元格一边的框架连接起来看,在平面上很像数学中的sin函数曲线;选取一组条形曲面等距细分其长边,细分的长度为“sin曲线”的四分之一周期。
step 05: 用Dispatch将相邻的的点间隔筛选出来,这样可以在条形曲面两边线之间获得"sin曲线"。
step 06: 框架是有厚度,所以需要在最开始预留出厚度的空间,这样才能保证和另一组框架贴合。要保证“sin曲线”波峰波谷始终在长条曲面内,采用offset的方法是不可行的,因此将长边上细分的点相向移动1/2框架厚度的距离。
step 07: 用Weave将两侧点交叉组合在一起,然后用Interpolate将点串联,Tangent Start 和Tangent End 连接与曲线波峰波谷相切方向的向量。
step 08: 将生成的曲线向两侧偏移1/2框架厚度的距离,用line连接偏移后曲线的端点并sweep成曲面。
step 09: 用Extrude挤出框架构件的宽度。
step 10: 同理生成另一组框架的结构部分。
构架在平面的模型已经完成;我的思路是先在展开的平面上制作模型的单元格,然后投射到曲面上;因此也需要生成单元格的泡体部分。
step 12: 将两两相邻的曲线loft形成面,两根曲线之间形成的是一个面,因此我们需要找到一组两根曲线波谷相交位置的点,用Flip Matrix调转点数组的方向连线并延长,使用线将曲面分割成单独的水滴状曲面。
step 13: 因为只生成完整单元格内的泡体,所以我们需要筛选掉不完整的曲面。如果通过数组的序列号筛选,会导致如果调整单元格的数量和尺度时出现Bug,所以我选择了通过使用面积来筛选。对筛选前的面积分析可以发现:同一组的曲面面积具较小的差异,但是不完整的曲面面积一定是小于完整曲面面积的80%;使用python以此作为筛选规则,result返回True、False;然后用Cull Pattern筛选出完整曲面。
step 14: 用Brep Edgss 取得曲面的两条长边线 。
step 15: 连接前边细分的点,获得曲面的对称轴线 。
step 17: 将曲面的对称轴线细分获得连续的点。
step 18: 用Graph Mapper将点向上移动成一个弧形,这样每个水滴曲面对应三根曲线可以loft成一个泡状的曲面。
step 19: 在loft之前需要先筛选出一组曲线bake出来,观察三根曲线的方向是否一致,如果不一致需要用Flip Curve调转曲线方向。
step 20: loft出第一组单元格泡体。
step 21: 将第一组泡体绕原始曲面中心旋转180度。
step 22: 删掉旋转后泡体的第一组,并向左移动条形曲面宽度的距离。
step 23: 至此得到平面上的框架和泡体部分,最后使用Surface Morph将模型映射到原拱形曲面上。
使用Grasshopper参数化建模需要先有清晰的生成思路,然后不断地实现一个个小目标,并确保数据传递的连续性。如蜂窝桥案例的主要思路是:将拱形曲面展开到平面,然后在平面上生成单元格构架和泡体,然后将模型映射回拱形曲面。接下来,在展开曲面细分得到的数据和曲面中通过对点、线、面、体的绘制和筛选,一步步搭建出蜂窝桥在平面空间的模型,最后映射到拱形曲面。参数化建模不仅能精确的建出复杂模型,更能高效调整模型和更改方案。并且同一个.gh程序包可以反复使用,极大的提高了建模质量和工作效率!
注:文章中部分图片来源于网络,如有侵权请联系作者立删。文章中建模方法和理论逻辑仅供参考。
福利获取:
文章中提到的案例程序和文件可以在公众号回复 "HB " 免费获得
欢迎关注CrossSpace
▎往期精选: