怎样设置rotacast插件_鞋类丨3D打印设计中Grasshopper的应用——用插件Pufferfish生成网格...

1e257463d979bfc2c1f4904b4952018e.png57585259381a8f0a63dbdc77f708f0e0.png09a55a0d84d883ae661c469e2f4e9764.png

(详情请戳上面图片链接↑↑↑) 之前我们学习了怎么做方方正正的网格,但现实的产品总是奇形怪状的,怎么能在这些形体中生成网格呢? 其实总体思路是一样的,我们也是要在形体之中生成单元格,然后把结构线对应到单元格里,并阵列出整个网格。 生成单元格有两种方式:
  1. 像素式阵列。这种方式有点像乐高,就是把一个形体里堆满方框:
3cfdbd94363d1b0d6f256b62d573311b.png
这种方式的优势就是,简单粗暴,任何造型都能搞定。缺点就是...缺少变化,实际使用的情况并不多,这里也不重点介绍了。 2. 曲面间生成网格。这种做法更加常用,主要原理就是将Nurbs曲面按UV方向进行细分,从而在曲面上划分出方格,然后再把两个曲面对应的方格连成一个单元格。
3750a352c3d22be8774cfede6a2eb969.png Nurbs曲面通常是由四条线组成的,将Nurbs的四边细分,就能形成方格
由于方格在曲面上,生成的单元格就不可能是那么工整,所以生成的单元格就不是标准的立方体,而是由6个空间四边形组成的一个扭曲的方块(twisted box)。这些方块虽然扭曲,但阵列出来后,8个顶点和6个面还是重合的,因此填入几何体后,依然可以保证是三维连续的。
c8638d3fa10cfb52687e69336c36baf0.png
理论上,生成twisted box(以下简称TB)完全可以用GH自带的电池完成,GH中有TB的电池,只要接入8个顶点,就能生成一个TB了。
bddc9d2edb37daab84cb452697aa23ff.png twisted box在Transform下的Morph里
但如果纯粹用GH自己做,想想就有点头大…为了偷懒,还是推荐两个插件:一个是Crystallon。这是一个专门为3D打印而设计的GH插件,基本满足了3D打印中结构线生成的各种需求。而且这个插件里的电池完全是用GH自身的电池打包而成的,双击点开可以看到每个电池是怎么写的,是一个用于学习的好材料。 Crystallon www.food4rhino.come3ba53f5724b4e7b536cb270954b7a94.png 感兴趣的朋友可以从food4rhino上下载,这个插件的说明文件写得也十分详细,有基础的看看就会用了。
6a4c7f0418caef17b32c79553d3482d3.png 双击Crystallon的电池,就能看到这个电池是怎么写出来的
相对而言,个人还是更推荐pufferfish(以下简称Pf),这个插件在生成TB的方法上和Crystallon差别不大,但个人更推荐Pf的原因是...算的快(这在GH中是绝对刚需)
dc8a37ab53cfd0c98b2f52b7ae391571.png 生成同样的网格,Crystllon和Pf的用时差距还是很夸张的
从food4rhino上可以下载Pf Pufferfish www.food4rhino.com211083f8ce9b5a7e04692a827bcc490f.png 安装方法都一样,可以参考前面的文章 李溪:产品设计中的Grasshopper应用——网格结构生成插件 Dendro(1) zhuanlan.zhihu.com91507d7cc80d00e2d34c6ddc15a7eecb.png 安装成功后可以看到,Pf的电池还是相当多的,不过不用担心,在这个案例中,我们只用到TB相关的几个功能,剩下的后面有机会再探索吧
441ba30973c17c43ea005028466a6032.png 这么些电池看着就强大
Pf生成TB的电池在twisted box这一栏里,先介绍比较简单的,沿曲线生成TB(twisted box curve)
2c5161070d02df5a05ac324fc841bd6e.png twisted box curve在Pf里的twisted box下
这个电池的输入端很多,但理解起来并不复杂。直接看这个电池图
865308dbad524cebaf6a6af7284deef2.png
这个电池的功能就是沿着曲线生成一串TB,输入端里的C就是曲线,X和Y就是TB截面的长宽,这里要注意,接入的是一个范围,也可以理解为截面四个顶点相对曲线的坐标,按图中的电池连接,截面的中心就会位于曲线上;而如果直接接一个数n进去,范围就会默认为0-n,截面的左下角端点就会落在曲线上。
7097e9d4123e2d27910462f052f97d70.png
t就是分段的位置,也就是决定了TB的数量,但这里需要先接入一个Range,再接一个分段数把0-1的范围分段,直接接数字会报错。
f99d471a8ce76edce703d5f8a955b617.png
这里简单讲一下t这个参数,跟曲线相关的电池很多都有t这个参数。我们知道曲线实际上是由无数的点组成的,而t值就是表明这些点在曲线上的位置。
fa32d65b4086bd93f69c0cda10068096.png 用Evaluate Curve电池可以通过t值定位曲线上的点
在上图中可以看到,当t值为0时,点在曲线一端(起点),而当t值超出一定范围之后,点就飞出曲线了,但这个范围是多少,每个曲线又都不一样,这样控制起来就会很麻烦,所以,在GH中,通常会把这个范围定到0-1之间,这样无论从统一还是运算的角度都很方便。具体做法就是点击曲线的右键,选择Reparameterize(电池上会出现一个符号,这个功能仅对于曲线数据才会出现)就可以把曲线的t值范围定义到0-1之间,这时拖动滑块,0时为起点,而到1时就是终点了。
c2e77cfa0ef118c1a98d08dd00d1cc7d.png
这里需要注意,曲线的曲率对于t值的大小有影响,所以t值并不是均匀分布的,只要不是在纯直线上,等分t值输出的点并不是等分点,这个需要注意。
3dd454331b5fbfd33e77d736a21af2ed.png 等差的t值输出的点也不是距离相等的等分点
很多跟曲线相关的电池都有t值,有些电池可以输出t值,这样就可以轻松定位曲线上的点了
5a0afc39643901b610b4f1f1dd9f758c.png 很多曲线相关的电池都有t值
明白了这点,下面的w端就好理解了,这里需要接一个布尔值,默认是false,TB的长度是等分的,而设置为Ture时,TB的等分长度就会完全对应到t的位置上,长度会根据曲率的变化有所不同。
839ed1b6725df70117c12f9a23fdffde.png
最后两个R1、R2就是旋转,对应的是角度(0-360),R1是围绕TB截面的中心旋转,R2是围绕曲线旋转,如果两者重合,转起来就没啥区别。
23704f2c469655fbc324bbdfaa8181eb.png
有了TB,接下来就把单元结构对应进去就行了,这里用到的电池是Morph to Twisted Box,连接方法如下:
d23dbff6af949eeca65f97ec7502909f.png Morph to Twisted Box电池在Pufferfish下的Transform里
G就是要接入的几何体,这里有个地方要注意,那就是如果接入的几何体不止一个,需要graft一下,不然会报错;R就是单元格范围,用之前用过的Bounding Box就可以了(如果有多个几何体,记得改成Union Box),TB就接入之前生成的Twisted Box,然后就能输出结构线了。
4bbb918b942ea5ff284c7989a3c8347d.png 连上dendro,一个拧麻花手环诞生了
再看沿一个曲面生成TB的Twisted Box Surface,在S端接入一个曲面,T端设置TB的厚度,uvw设置数量,就能以一个曲面为基础生成TB,可以用这个功能在曲面表面生成一些纹理。连接方法如下:
4cc04975bb2477281e7b661dac5f9c21.png 把w变成1,就能做一些纹理了
掌握这个之后,我们再看看曲面间生成网格的 Twisted Box Two Sufaces。这个电池的输入端S变成了A和B,也就是接入上下两个曲面,其他参数跟但曲面一样,直接上电池图。
b50cd6726cd849acf34fb91687425ff0.png
最后再看多个曲面间生成TB的功能(Twisted Boxes Though Surfaces),连接方法类似,只是S端接入一组曲面就可以了,选择曲面的时候注意顺序,依次选择,不要跳着选。用多个曲面就可以对侧面的形态进行塑造了。
a0fa42f9b63e2c6abadf987f8a1cff4b.png
用曲面生成TB有两个问题需要注意。 第一个问题就是,在画曲面的时候一定要注意上下两个曲面uv边线的法线方向是一致的,如果不一致,生成的TB就会产生扭曲。
c963b3b5ca7ccc7952f273fe2ccfafae.png 左边上下曲面边线的法线方向相反,造成uv对应出现问题,生成的TB就是拧着的
这个问题还是挺烦人的,在GH中,法线方向很容易被忽视,因为没法直接看到,这就造成看起来一样的曲面生成的TB莫名其妙就扭在一起了,如果出现这种情况,十有八九是曲面边线的法线方向出问题了。 第二个问题就是,如果用修剪过的曲面生成网格,TB并不会沿着修剪过的边缘生成,而是按照修剪前的曲面生成。原因就是TB是基于曲面的uv结构生成的,而Rhino里的修剪只是把“剪掉”的那部分隐藏了而已,实际曲面的uv结构并没有被改变,所以,要想做特定形状的曲面,必须变成标准的4边线曲面才可以。
b3ed672479fd11bf14b4500870314da8.png 左边是剪切的面,但TB还是基于修剪前的uv生成的,右边则把轮廓线拆成四条边线,然后用sweep生成
当然这样生成的曲面会带来另一个问题,那就是断点那里的TB会比较扭曲,生成的网格结构会不太均匀。
290af5a009f52bdfc1081a592760972f.png 如果不做处理,在接缝处的TB就变形得比较厉害,从而造成最终造型不够均匀
从曲面的uv线上也可以看出,有些方格看起来不是那么方,这样分出来的TB一定也是变形的
fc916d33c0bc7714002bb26a48515964.png 在边角上的位置,uv变形过于严重,势必会影响最终造型
这个问题在下一篇再讲如何去优化面上的网格,从而得出相对均匀的TB分布。
bab303a217d1810308c8c7ad4992946c.png

相关课程

↓↓↓

教程丨入门案例!零基础就能学会的拖鞋建模详细教程

教程丨3D建模【透明水杯】制作,20分钟详细教程

想学以上3D建模及渲染效果请戳下方链接报名

↓↓↓

鞋类3D建模与参数化设计线上工作坊限额报名!

其他3D建模效果图赏析↓↓↓

鞋设丨用3D设计球鞋有多酷?

鞋设丨掌握这些,年薪高达几十万!

鞋设丨你离30万大奖只差一组3D建模

鞋设丨细节感十足的3D建模,未来趋势!

鞋设丨当鞋遇上“水冷装置”,会碰撞出怎样的火花?

鞋设丨Rhino运动鞋建模的90个角度是怎样形成的?

博理科技介绍

↓↓↓

博理科技 x 三基设学院联合推出行业首个鞋类3D建模课程

更多课程请戳↓↓↓

73578adf8afcaf2211361f01069650f1.png1548c3fe26ab616a86949e352393d886.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值