QuadRemesh 参数详解
QuadRemesh 是 Rhino 7 新增的功能,在之前 Rhino 7 还是 WIP 版(正在开发中的测试版)时就做过很多详细介绍,您可以点击这里阅读之前的介绍文章。本篇主要介绍 Grasshopper 中 QuadRemesh 组件的用法。
QuadRemesh 是一个自动重新计算 mesh 结构的工具,他的特点是可以在基本保持原始形状不变的情况下重新生成合理的方形单元的 mesh 结构。简单讲就是行业里说的重新拓扑结构,但这里拓扑的是物体表面的网格结构。
QuadRemesh 生成的拓扑结构特性是目前行业里同类软件中最好的,绝对的第一名!甚至一部分使用人工做出来的可能都不一定比它好!很多时候 QuadRemesh 算出来的拓扑结构真的是让人惊叹!例如下图这个通过体素算法生成的多孔结构模型,如果是将其表面结构重建成三角面倒是有很多方法,但是如果需要重整成结构合理整齐的四边 mesh 那就比较难了:因为它的形状不规则且没有规律可循,之前的办法只能人工来做,是一个工作量巨大的体力活。但使用 QuadRemesh 进行非常简单的设置即可得到非常理想合理的方形网格面分布效果。
像上面这种形状随意且复杂的结构很适合使用 QuadRemesh 处理。但更多的实际设计项目中遇到的造型都是比较规则和干净的曲面形态,反而对表面拓扑结构有更高的设计要求。例如单元分布要更加整齐和尺寸均匀,线条走向流畅好看等等,那这种情况下使用 QuadRemesh 是否能满足需要呢?我们将对一系列的设计造型做一些实际测试,同时也让大家更清楚的了解 QuadRemesh 里的参数的具体作用。
以下是 Rhino 7 的 QuadRemesh 参数设置面板以及 Grasshopper 中 QuadRemesh 的参数设置组件。我们用数字把参数做了对应,方便大家对照使用,同时也在下面的测试中介绍参数的作用。
注意:Rhino 7 里的 QuadRemesh 组件的参数跟 Grasshopper 中的并不完全一样,具体请仔细看下面的编号对照和说明。
1 Tc (目标面数):这是最主要的设置参数,即希望转换出来的方形 mesh 的面数。这里需要注意两点:
Rhino 7 中可以设置目标面数或者单元尺寸,但 GH 中只能设置目标面数。
目标面数只是一个预期值,实际计算出的结果会有一定的偏差。
目标面数是影响整体效果最明显的一个参数,如下图中所示目标面数越多,模型也自然越精确,细节越多。这里请注意一个细节:如果没有调节其他参数的默认情况下,每个方形面的尺寸是比较接近的,并且都类似方形,整体分布最为均匀。
2 As (自适应尺寸) [0~100之间的数值]
3 Ac (高曲率适应) [开关]
这两个设置参数放在一起介绍,它们的作用如下:控制模型表面的单元有一定的尺寸变化,让更多单元靠近曲率较大的位置,使得表面结构与形状吻合度更好。
2 As是一个强度值:如果为 0 就是没有效果,因此单元就会分布得比较均匀且接近方块形状。如果 100 就是最强的影响效果,值越大在模型曲率大的位置会“拉过来”更多的单元,因此单元会被“挤压”变成细长的,而平缓的地方单元会被拉大因此网格结构更加稀疏。
如果 3 Ac 是关闭的,总体的单元数基本保持不变,就好像一块布往不同的区域拉伸后总体的格子数并不会变化。
如果 3 Ac 是开启的,整体网格密度会加大,面数会变多。由此来弥补某些区域网格稀疏后可能造成的表面不够光滑问题。
结论:适当的增加 As 的值,网格的“走向”会更符合模型的形状,因此看起来走向更加合理。如下图中所示 As 值越来越大同时保持 Ac 开启,更多密集的网格会出现在转角处,且整体网格数量会增加。
如果设计要求更加注重单元的尺寸统一和分布比较均匀的情况,请保持 2 As 的值为 0 即可。
6 对称轴:对于一些有对称性质的形状来说,可以开启对称功能来确保网格结构尽可能对称。这里需要注意几点:
在 Rhino 7 中可以同时勾选开启几个方向的轴获得对称的网格分布。
GH 中目前只能选择其中一个对称轴。0:不开启对称 1:X轴对称 2:Y轴对称 3:Z轴对称(实测 3 是 X,Y 同时对称,因此 Z 轴对称缺失了,这应该是一个 Bug)。
无需将模型放在原点处即可实现对称效果,只要模型实际的对称轴向与设置的方向一致即可。
4 He:检测网格硬边
5 Se:Brep 硬边
对于形体上有硬边(crease)的情况,请启用选项 4He 或5Se.这里也需要注意:
Rhino 7 中只有选项 5 Se 没有选项 4 He.
GH 中因为只能输入 Mesh 物件,因此只有选项 4He 是有用的,选项 5 Se 是没有任何效果的(这可能是因为 GH 中工具还没有来得及更新引起的 Bug)。
7 Gc:线引导方式
对于一些形状比较不规则的情况,如果默认的拓扑划分中分叉点的位置不够理想,用户可以手工在模型上画一些线进行引导,实际效果也是非常明显的。
7 Gc 的选项名称含义比较模糊,实际测试效果如下:
0 是近似引导,引导线可以不用贴合在模型表面。
1 是比较严格的引导,建议使用的引导线贴合在形体表面效果较好,但引导后的网格并不会严格通过引导线。
2 是最严格的引导,同样建议使用的引导线贴合在形体表面,实际框架会尽可能地贴合住引导线,因此网格走向与线的吻合度最高。
8 引导线:引导线输入口
如下图中所示,我们把画好的线投影到模型上做引导(红线),使用引导方式 2 可以得到吻合度很高的网格分布结果。当然了并不是任意设置的引导线都可以得到理想的效果,这需用户实际的调整和测试,多数情况下可操作性和效果还是挺不错的。
整体结论:总体来看对于设计中常见的造型来说,配合 QuadRemesh 加上参数调整通常都可以得到不错的网格分布效果,如果后期可以再配合 Kangaroo 做一定优化便可以得到更加整齐和统一的单元分布。特别适合在设计期间快速生成并评估注重的表面分布效果,可以节省很多人力和时间。
文件下载:本文中用到的部分测试文件请至 Rhino 原厂微信公众号 [ Rhino3D ] 中回复 Quadremesh 即可下载配合学习。