Dynamo将指定族沿Revit中的三维曲线放置

image_print阅读模式

【来源微信公众: Revit教程  原创:BIM二狗子】

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

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

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

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

 

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

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

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

 

选择过程如下

 

二、获取图元中的曲线

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

 

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

 

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

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

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

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

最后放出一个完成效果吧

0

评论0

请先
BIM技术在肇庆市高要区西围涌水环境综合治理九头岗净水站的应用,含PPT及模型等
BIM技术在肇庆市高要区西围涌水环境综合治理九头岗净水站的应用,含PPT及模型等
1分钟前 有人购买 去瞅瞅看
没有账号?注册  忘记密码?

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录网站