随着现在3D打印技术越来越完善,不少产品开始利用3D打印的技术制作一些复杂的晶格纹理,一方面是让产品极具几何美感以及科幻感,另一方面也因为3D打印材料的特性,产品会具有轻盈、富有弹性等特点。所以我们会发现有些概念运动鞋就会使用到这种3D打印的晶格纹理。这样的晶格纹理看起来很复杂,让人感觉无从下手。但其实只要学会了分析基本单元形,就能有效地化繁为简。
在上一篇文章 《在Rhino和GH中如何制作衰减流动》中我们简单地聊过单元形的提取,这次的案例也不例外,只不过单元形从平面的变成的三维的,或者说在一个立方体单元内的。如下图,如果我们以这种六根线的放射状形状为单元(一个立方体为一个单元),通过阵列后再通过SUBD生成多通管就能得到复杂的晶格纹理。
而鞋垫上的晶格则可以理解为在两个鞋面(曲面)之间生成若干个立方体单元,再把这种单元形(比如这里的放射状形状单元)对应到立方体单元上。 而要在曲面之间生成若干个立方体单元,可以使用Pufferfish插件,大家可以在文末查看领取插件的方式。
01、我们先在Rhino中简单做好鞋垫的两个曲面,这里是通过挤出然后修剪出鞋垫的轮廓。
02、接下来把曲面拾取进GH中,在Pufferfish的插件(绿色河豚图标)中的Twisted Box栏下找到 Twisted Box Consecutive Surfaces或者 Twisted Box Two Surfaces电池组件。
这里以Twisted Box Consecutive Surfaces为例,把曲面连接到电池组件的S端口,会发现生成的立方体单元 (Twisted Box后文中将简称为TB)超出了鞋垫曲面的边界。
这是因为TB是根据曲面的UV生成的,而我们输入进GH的是两个修剪的曲面,其UV分布仍然是修剪前的四边形。
03、为了解决这个问题(让TB贴合曲面边界),我们可以用网格曲面重新拟合原来的曲面。这一步可以在Rhino中完成,也可以在GH中完成。本文将在GH中完成这部分的操作。
首先,提取出曲面的边界线,以及曲面复原修剪后的四个角落点。把角落点拉回到曲面边界线上,对边界线进行分割,得到4根曲线。


04、接下来为了网格曲面可以更加贴合原曲面,可以进一步提取原曲面上的中心线。接下来我们把得到的曲线分为两组,分别代表U向曲线与V向曲线。
然后利用网格生面的电池组件,分别输入U、V两组线条,生成拟合的网格曲面。这一步的目的是得到完整的未修剪的曲面造型。最后把整个生面逻辑同步复制给另一个鞋垫曲面即可。生成后的网格曲面效果如图:
05、此时再次接入Twisted Box Consecutive Surfaces电池组件,就会发现TB能很好地贴合曲面边界了。另外我们可以通过这个电池组件的U、V、W端分别控制各个方向上的TB数目。
06、接下来就是单元形的制作了,记住单元形需要在一个正方体内制作,本案例中制作了四种常见的晶格单元形,大家可以在文末领取文件,也可以自行制作。
只要确保单元形阵列后能很好地连接起来即可。把单元形拾取进GH连接至MultiPipe电池组件(Rhino7新增工具)即可生成SubD圆管。
07、接下来求出单元形的边界Box(Bounding Box)并群组这些单元形线段。然后利用Box Morph电池组件,把单元形一一对应到鞋垫曲面的TB上。
此时只需控制U、V、W端,把曲面的TB数量增多,即可得到一系列的单元形线段了,把线段解组后生成SubD圆管,就能得到鞋垫的晶格。
08、此时如果放大观察,会发现有孤立的线段(没有与其它线段相接)生成的SubD圆管。这是网格曲面的四个角点导致的。要处理也很简单,可以把线段烘焙至Rhino手动剔除掉,也可以在GH中剔除掉。
先提取出曲面的角点,根据线段到角点的距离来挑选,距离等于0的线段便是角点出的孤立线段了。剔除完后再次生成SubD圆管即可。
09、这时鞋垫晶格的制作流程已经完成啦!可以尝试替换不同的晶格单元形(上文提到的这四种,或者自制),来得到不一样的鞋垫晶格纹理,下面是不同的单元形得到的效果。
可以发现,其实只要学会了单元形的分析,制作这样看似复杂的晶格纹理其实也是不难的,大家快来尝试制作一下不同的单元形,以及不同的曲面来得到这种看着非常牛逼的晶格吧!
10、最后奉上完整的GH电池图:
