[分享]Dynamo将指定族沿revit三位曲线放置

发表于2020-05-20     624人浏览     3人跟帖     总热度:447  


   在Revit制作模型的过程中,我们通常会做一些族文件的排布放置,如果放置点少的话是没有问题的,但是如果放置点的量级增大到百级以上,这个排布过程就很枯燥了,如果在这个过程中能找到排布路线,接下来的事情就很简单了。    本次举例场景预设为:
    1.某个族要沿着一条三维曲线排布
    2.族的方向要和族放置点曲线切线方向一致。
  如下曲线即为路径曲线,为三维曲线。
Dynamo将指定族沿revit三位曲线放置_1 
要把某个族沿着此三维曲线放置的话,那需要什么样的操作才能达到预期的效果呢?
一、在Dynamo中获取该曲线,因为预设的这条曲线是以概念体量的形式载入到Revit项目中的,所以我们先应该获取该族模型。
在Dynamo中找到【Select Model Element】节点,此节点的作用就是在Revit项目中读取选择的图元。
Dynamo将指定族沿revit三位曲线放置_2 
选择过程如下
Dynamo将指定族沿revit三位曲线放置_3 
二、获取图元中的曲线
    既然我们把目标曲线模型都选择出来了,就应该获取模型中的曲线,用【Element.Curves】节点即可。
Dynamo将指定族沿revit三位曲线放置_4 
    此时曲线已经现在在Dynamo界面中了,接下来就是思考该怎么将族文件放置在这条曲线上了。将族文件放置在曲线上,其实就是找到曲线上特定的点,将族文件放置在这些点上,也就同理放在曲线上了,这时我们需要按照一定的规律来寻找曲线上的点了,这里举例为按照等弧长的距离放置族文件。首先要做的就是要等分曲线。那么此时我们用到的节点是【Curve.PointsAtChordLengthFromPoint】
Dynamo将指定族沿revit三位曲线放置_5 
    执行完这一步点的获取就已经完成了,起始点这里就不做解释了,感兴趣的小伙伴可以研究一下起始点(起始点不设置的话会默认从曲线端点开始布点,而设置了起始点的话会在起始点开始布点)
    下来的工作就是将指定的族文件放置在曲线上的这些点上了,首先我们要想办法在dynamo中读取出Revit项目文件中的族,这时就要用到【Family Types】这个节点了。选取我们需要摆放的族文件。读取出族文件后需要将读取到的族按照点来放置,所以要用到【FamilyInstance.ByPoint】这个节点。然后把这个节点连接起来。Dynamo将指定族沿revit三位曲线放置_6 
    这时的族文件就已经在Revit项目中放置进去了。

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

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

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

最后放出一个完成效果吧
Dynamo将指定族沿revit三位曲线放置_9 

来源:Revit教程

仅作分享交流

扫码加入筑龙学社  ·  BIM微信群 为您优选精品资料,扫码免费领取
分享至

分享到微信朋友圈 ×

打开微信"扫一扫",扫描上方二维码
请点击右上角按钮 ,选择 

 发表于2020-05-20   |  只看该作者      

2

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

 发表于2021-05-19   |  只看该作者       筑龙币+10

3

后面的节点是些什么?怎么连接?图看不清哦

 发表于2021-10-19   |  只看该作者       筑龙币+10

4

大佬,请问最后的步骤可以再详细点吗?图片有点模糊,谢谢大佬!


山川志

北京 门头沟区 | 工程造价

15 关注

999+ 粉丝

999+ 发帖

999+ 荣誉分

以专业赢得尊重

猜你爱看

添加简介及二维码

简介

还可输入70字

二维码(建议尺寸80*80)

发站内信息

还可输入140字
恭喜您已成功认证筑龙E会员 点击“下载附件”即可
分享
入群
扫码入群
马上领取免费资料包
2/20