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

下载app免费领取会员

NULL

5cdd2dc095060.jpg

Dynamo将指定族沿revit三位曲线放置

发布于:2019-12-20 16:34:52
首页/技术分享/Revit
收藏
11159

网友投稿

更多

在Revit制作模型的过程中,我们通常会做一些族文件的排布放置,如果放置点少的话是没有问题的,但是如果放置点的量级增大到百级以上,这个排布过程就很枯燥了,如果在这个过程中能找到排布路线,接下来的事情就很简单了。    

本次举例场景预设为:

1.某个族要沿着一条三维曲线排布

2.族的方向要和族放置点曲线切线方向一致。

如下曲线即为路径曲线,为三维曲线。

 1.jpg

要把某个族沿着此三维曲线放置的话,那需要什么样的操作才能达到预期的效果呢?

一、在Dynamo中获取该曲线,因为预设的这条曲线是以概念体量的形式载入到Revit项目中的,所以我们先应该获取该族模型。

在Dynamo中找到【Select Model Element】节点,此节点的作用就是在Revit项目中读取选择的图元。

 2.jpg

选择过程如下

 4.jpg

二、获取图元中的曲线

既然我们把目标曲线模型都选择出来了,就应该获取模型中的曲线,用【Element.Curves】节点即可。

 4.jpg

此时曲线已经现在在Dynamo界面中了,接下来就是思考该怎么将族文件放置在这条曲线上了。将族文件放置在曲线上,其实就是找到曲线上特定的点,将族文件放置在这些点上,也就同理放在曲线上了,这时我们需要按照一定的规律来寻找曲线上的点了,这里举例为按照等弧长的距离放置族文件。首先要做的就是要等分曲线。那么此时我们用到的节点是【Curve.PointsAtChordLengthFromPoint】

 5.jpg

执行完这一步点的获取就已经完成了,起始点这里就不做解释了,感兴趣的小伙伴可以研究一下起始点(起始点不设置的话会默认从曲线端点开始布点,而设置了起始点的话会在起始点开始布点)

下来的工作就是将指定的族文件放置在曲线上的这些点上了,首先我们要想办法在dynamo中读取出Revit项目文件中的族,这时就要用到【Family Types】这个节点了。选取我们需要摆放的族文件。读取出族文件后需要将读取到的族按照点来放置,所以要用到【FamilyInstance.ByPoint】这个节点。然后把这个节点连接起来。

 6.jpg

这时的族文件就已经在Revit项目中放置进去了。

7.jpg

但是现在有一个问题,就是族文件并没有按照轨道点切线方向摆放,而是统一都是原始族的样子摆放。我们这时就要调整模型的欧拉角了,此时用到【FamilyInstance.SetRotation】节点。这块主要注意角度的设置,角度需要设置为放置点出切线和Y轴或者X轴线的夹角,所以此处我们需要获取切线,用到【Curve.TangentAtParameter】,这个节点呢需要输入曲线和曲线特定点处的参数,所以我们又要找到曲线特定点处的参数,用【Curve.ParameterAtPoint】节点,再创建一个Y轴方向的向量,通过切向量个Y轴方向的向量就能得出角度了,这时就能调整模型的欧拉角了。成果详图如下:大家可以按照图片所示的节点操作。

8.jpg

最后放出一个完成效果吧

9.gif

来源:微信公众号: Revit教程-原创:BIMer

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

未标题-1.jpg

上一篇:Revit利用dynamo两点放置分割装饰条

下一篇:Revit中两种旋转楼梯的对比

60acb4e0ef112.png