完善主体资料,免费赠送VIP会员!
* 主体类型
* 企业名称
* 信用代码
* 所在行业
* 企业规模
* 所在职位
* 姓名
* 所在行业
* 学历
* 工作性质
请先选择行业
您还可以选择以下福利:
行业福利,领完即止!

下载app免费领取会员

NULL

ad.jpg

Dynamo模拟实际建筑外装饰幕墙设计(上)

发布于:2019-03-06 15:01:58
首页/技术分享/Dynamo
收藏
8531

来福

更多

说到参数化建模,常常用于表达复杂的设计,在这个过程中,我们选择工具的时候一般想到的都是大家所熟知的Rhino+Grasshopper。但是Revit+Dynamo同样也能做出一些比较复杂的效果,接下来就通过一个实例来模拟实际建筑外装饰幕墙设计。

1、选取参考曲线并复制至各标高处

1.1 先通过节点“Select Model Element”选择参考线,再通过节点“Categories”和节点“All Elements of Category”选中所有属于指定族类别的图元。

1.2 参数element表示拾取的曲线,参数level表示选取的标高。我们现在在第一行获取element的曲线图元,在第二行获取各个标高的数值并且从小到大排序。在第三行将获取曲线图元向上移动复制,即在每个标高位置都复制一次曲线图元。在第四行将复制后的列表铺平。

2、造型缩放数值参数控制

2.1 首先将缩放的比例定义在区间[0.74,1.18]之间,然后通过节点“Math.RemapRange”将所有标高的列表保持分布率不变在区间[0.74,1.18]内重新分布。

2.2 然后通过节点“List.DiagonalLeft”获取子列表宽度为3,从右上角至左下角提取列表的数据。

2.3 最后转置变为我们需要的列表。这样做的目的在于将缩放系数分为三个部分。

2.4 第四行至第七行的含义是控制三个部分的缩放系数。其中item0和item2反转的原因是想让缩放后变为S形。正常情况下,缩放系数为从小到大排列,反转第一个和第三个列表之后,缩放系数为从小到大,再从大到小,再从小到大,最后从大到小。

3、标高曲线轮廓缩放

3.1 在这个Code Block中,list端外接第二步中获取的缩放系数列表“ list = Flatten({item0, item1, item2})”,mask端通过节点“Object.IsNull”外接第二步中获取的缩放系数列表“ list = Flatten({item0, item1, item2})”,geo端外接第一步中铺平后的列表“Flatten(geo)”。

3.2 首先第一行通过节点“List.FilterByBoolMask”判断缩放系数的列表中是否存在空值。

3.3 第二行和第三行确定X方向与Y方向的缩放系数,Y方向的缩放系数需要反转是因为要在X和Y两个方向交叉缩放。

3.4 第四行运用确定的缩放系数执行缩放。

4、创建幕墙嵌板定位点

4.1 每个标高的轮廓确定以后,就得确定轮廓线上的嵌板定位点。输入端cur外接上一步缩放后的曲线“ geometry = geo.Scale(x, y, 1)”,输入端d表示嵌板的宽度。定位点的确定公式是将整个轮廓线的长度除以指定的嵌板宽度,然后对结果进行向上取整。

4.2 然后我们需要两个点的列表,pts1表示所有曲线轮廓的起点,pts2表示所有曲线的均分点。

4.3 在第五行将轮廓线的起点依次添加进每层曲线的均分点中,相当于从起始点开始到终点然后又回到一次起点。例如,图中从0开始至3,然后又以0结尾,即{0, 1, 2, 3, 0}。

5、嵌板边线的创建与定位点清单排序

5.1 输入端pts接入上一步“List.AddItemToEnd(pts1@-1<1>, pts2@-2<1>)”的结果。

5.2 原本的pts列表中的点为同一标高的点,经过转置以后就得到竖直方向点的列表,目的在从上往下形成多重曲线。该曲线的目的在于检查我们上一步是否有错位的情况。

5.3 由于嵌板在布置的时候,列表最后一个点会接回第一个点,所以在第三行用节点“List.FirstItem”先将第一个点提取出来,然后在用节点“List.AddItemToEnd”将第一个点添加列表。

本文版权归腿腿教学网及原创作者所有,未经授权,谢绝转载。

未标题-1.jpg

上一篇:Revit快速创建风管布局!

下一篇:Dynamo模拟实际建筑外装饰幕墙设计(下)