这两天收到粉丝私信,问是否通过dynamo制作Revit项目的爆炸图, 简单分析一下。这个过程还是比较简单的。
思路如下:
我们用27个立方体来作为研究对象,注意:这里尽量让每个图元的几何中心就是坐标原点,要不然后面定位会出现问题。
爆炸图其实就是让这27个物体以中心为原点,向四周发散的过程,那么我们下面的思路就确定了,首先找到各个构件的中心,然后通过整个物体的中心和他们的中心找到由中心指向各个小构建的向量。然后通过向量缩放让小构建的中心向四周发散再更新小构建的位置即可生成爆炸图效果。
首先使用【Select Model Elements】节点来选个多个图元
通过【Element.GetLocation】节点获取现有图元的位置。
然后通过列表选择的方法选择一个我们认为的中心图元,如果是大家可以很明显就能看出来的中心图元,可以通过直接在Revit项目中选,这里我们通过蒙的方法,来蒙一个我们认为的中心图元坐标。
通过【Vector.ByTwoPoints】节点将中心图元的坐标和小构件的坐标组成向量,注意这里要选连缀。
在通过向量缩放,我们把现在的坐标缩放两倍,那么每个点就会有一个远离中心坐标两倍的距离。这里用【Vector.Scale】节点。
然后把原来构件的点通过这个新的向量移到新的位置,用【Point.Add】节点,用这个节点之前应该将之前的数据列表拍平。
最后一步,我们通过【Element.SetLocation】节点更新之前图元的位置。
看效果
过程和原理都比较简单,大家可以尝试自己做一下和应用在其他项目中,工程文件目前仅供会员用户可下载,谢谢理解!
文章来自互联网,最终解释权归原作者所有,如有侵权请及时联系站长删除