一直想写个系列教程,但是没有那么多时间整理资料,这次呢,先弄个小系列吧,还是和之前差不多的幕墙测试,我们分几节课,一步一步深入研究。
今天先开个小头儿,要弄的,就是下面这么个模型,我们先要把这个形体用 Dynamo 创建出来,之后我们再来一点点研究幕墙的事。
第一步,先思考下基本流程。
我们之前讲过类似的教程,都是先通过创建不同高度的轮廓,然后利用 loft 创建表皮,然后通过点放置幕墙嵌板族,就能达到基本要求。
第二步,开始创建各层断面。
(1)创建五个圆形,用滑块控制半径。
(2)利用 Geometry.Translate 调整圆形的高度。
(3)这里我们想让不同高度的圆,通过一个参数控制。
首先创建两个滑块,作为楼层数和层高。只需要几个数学运算,我们就能够得到关联的关系。
然后将楼层数和层高相乘,我们就得到了最顶部圆所在位置,和第一个圆一起输入给 Geometry.Translate,就得到了顶层圆形轮廓。
相同的,中间楼层,我们只要顶层的一半,就可以了,所以还是相同的,继续添加数学计算式,并用得到的结果,移动中间的圆形到指定位置。
同样的原理,我们对中间和顶部两个数求和,在取一半,就得到上半部分的中间高度,对中间高度取一半,得到下半部分的中建高度,如下图:
这样,我们就得到了一系列的圆。
第三步,创建内接多边形
将各层的圆形分别接入 Polygon.RegularPolygon 节点,默认五边形即可。
然后用 List Creat 将多边形放到一个列表里。
第四部,创建圆滑的五边形
现在我们得到的五边形,都是有棱有角的,我们希望得到的五边形是有圆角的,如下图:
(1)接下来我们利用 Curve.PointAtParameter 节点,将五边形等分,为了能够使五边形的端点变圆滑,我们等分的时候,利用列表,跳过五个角点。
这里要求输入的列表是 0~1 之间的列表,需要自己思考下,需要等分多少段,然后去掉起点 “0” 和终点“1”
(2)然后我们将列表转置,重新串联成竖向的曲线
(3)按照前面的方法,我们把新生成得曲线,重新等分,得到一系列的点
(4)接下来我们再将列表转置回去,重新串联成线
第五步:最后就可以利用 loft 来生成表面或者实体了
之后可以调整之前的参数,测试模型的变化了,可以摆出各种妖娆的造型哦:
好了,今天的教程就到这里了,我们先开个头,后面努力写成一个小的系列教程。