下载app免费领取会员
我们在展示模型时,如果只是三维展示,虽然直观但感觉还不够丰富,如果能够将不同颜色赋予不同的构件,那么会增加我们的丰富度,比如下图:
上面展示的楼板板厚分布图,不同的板厚所在不同的位置,是不是一目了然呢。
这次就来介绍用如何用Dynamo给不同板厚的楼板上色。
给构件的上色的节点叫做“Element.OverrideColorInView”(在活动视图中覆盖图元的颜色);
路径为:“Reivt”-“Elements”-“Element”-“Element.OverrideColorInView”;
当然也可以直接在搜索栏内输入相关节点即可。
节点“Element.OverrideColorInView”比较简单,就二个输入端口,一个是图元,另外一个是要应用的颜色,如果我们直接相连,那么就对所有的楼板进行了上色,如图:
这当然不符要求,我们需要将不同的板厚过滤出来,并对其赋予各自的颜色。那么,如何实现呢?
首先就是需要获取模型中各个楼板类型的厚度,我们知道,楼板的厚度为类型参数,用以来节点可以得到:
获得板厚参数后,我们需要对其分组,不同楼板厚度的楼板分成一组,我们用“List.GroupByKey”节点来实现,如下图:
从中可以得知项目中存在五种板厚的楼板类型,子列表0 list包含0-4共5个不同类型楼板集合,子列表1 list包含的项目中存在哪些板厚,也就是nique keys的数值。
它的排列从300-180-200-250-100数值大小不同,所用用“List.Sort”节点对其从小到大进行排序,如图:
然后将这里的板厚值和项目楼板总数量值做判断比较,看是否在总数值节点内,如果在我们就全部提取出来给他们着色,如果不在就过滤掉;从100开始直到300结束,如下图:
最后将所有的节点连接,点击运行,即可看到项目内已经成功将颜色赋予不同板厚的楼板:
PS:
此节点比较长,附上全部节点高清图。
本文版权归腿腿教学网及原创作者所有,未经授权,谢绝转载。