注:虽然本次教程的意义不大,但是算是给大家提供一种思路吧!
在学习Dynamo的过程中,有个做DNA双螺旋结构的教程,利用几个数学公式就能生成,于是就在思考,直接用Revit体量,怎么能做个参数化的双螺旋结构呢?
image思考过后,我选择了基于公制幕墙的填充图案,和上一次的钢架差不多,只是用法略有不同,好了,我们一步一步的说明。
第一步,我们新建一个体量族,创建一个半圆参照线,作为双螺旋结构的参照线,然后在曲线两端,创建参照圆,分别选择曲线两端的参照平面,作为创建轮廓的参照平面,并给圆的半径添加参数,设为R1.
image然后同时选择两个圆形轮廓和曲线,生成实体模型。然后选择实体,进行表面分割,如图:
image image由于两端的圆形表面分割我们用不到,直接删掉就可以了。
由于Revit软件的算法问题,我们生成的网格,将圆柱分成了两半,所以我们在做族的时候,要根据两个对称的一半来创建。
这个时候,需要我们思考一下,要如何创建双螺旋结构,我们假设将幕墙网格展开成平面,就很容易想明白,需要对UV网格进行旋转,经过测试,实际只需要旋转V网格就行。
于是我们对V网格的旋转角度添加角度参数,同时将网格数量添加参数。
接下来的过程,就是如何找到这个旋转角度,我们需要通过添加辅助参数,进行数学计算,图下图:
备注:由于我们是用半个圆柱展开的,所以,周长和高,都是半径乘以π即可,然后就可以用反三角函数求出角度。其中我们对V进行减一,得出V1主要是来确定网格拆分的段数。然后我们就得到了一个双螺旋结构的曲线。如下图:
image第二部就是把这个曲线变成实体。
我们新建一个公制幕墙填充图案族,将网格形式调整为三角形(扁平)。
然后在第二点创建一个参照点,并创建一个圆形,然后再相同位置再创建一个参照点,并抬高(同时添加高度参数),然后在相应位置也创建一个圆,两个圆添加相同的半径参数。
image然后选择两个圆创建实体(作为双螺旋结构两条曲线中的连接线),并移动自适应点2,测试圆柱是否随自适应点移动。
image接下来,我们创建一条通过三个自适应点的样条曲线,作为双螺旋结构的外旋转曲线,同样分别选择曲线的两端参照面,创建圆形轮廓,并为半径添加参数。如下图:(注:这里需要将圆形半径调整到500以下,不然创建实体过程中容易出问题)
image之后将这个族载入到我们之前创建的半圆形族里,到族浏览器,找到我们刚创建好的族,右键创建实例,并按照顺序,在最初我们创建的半圆上,放置幕墙嵌板族。
这里我们需要先显示幕墙网格的节点,需要选中幕墙网格,在表面表示选项卡里,点击更多,勾选节点选项即可,如下图:
image然后选择三个节点,依次点击,放置族,完成后,点击阵列按钮(此时的作用是重复),将族布置到整片网格,效果如下图:
image另一半网格,进行相同的操作,最后就得到了我们想要的双螺旋结构,如下图:
image但是中间部分并没有完美连接,这个时候我们选中实例族,将H参数关联到曲线两端的圆形半径R1,之后就得到了完美的双螺旋结构,如下图:
image之后可以调整参数对族进行测试,还是比较完美的实现参数化了,小庆祝一下!
作为自己学习笔记分享的一种方式,希望对有需要的人有帮助,就可以了~~
网友评论