首页/技术分享

Revit利用dynamo两点放置分割装饰条

发布于:2019-12-20 16:27:14
6699人 分享

Revit利用dynamo两点放置分割装饰条

有朋友做了一个建筑模型,模型外饰分隔条是用模型线画的,在渲染的时候无法渲染出来线。模型线没有体积,也就是说,模型线不是实体,所以无法渲染。所以必须将模型线转化为有宽度的实体,才能将其渲染出来。

1+.jpg

通过分析可以发现他这些模型线都是独立的线条了,所以只要将新做成的实体按照现有模型线的方式排布上去即可,方法有很多种,我们这里讲的是用两点自适应族配合dynamo快速放置分隔条。主要内容有两部分,一部分是两点自适应族的制作,另一部分是通过dynamo将这些族按照模型线的方式放置在模型上。

首先讲两点自适应分隔条的制作方法

1.新建族,选择【自适应公制常规模型】族样板

1..jpg

2.在立面上创建一个两个点的样条曲线,并将两个点设置成“使自适应”

2..gif

3.再在另一个对应的立面上创建分隔条的轮廓,并利用样条曲线和轮廓创建实体,我们可以看到,实体的形状已经可以随着两个端点的移动而改变了。

3...gif

其实现在做的这个族已经可以布置在分割线上了,只是要一根一根的布置,效率非常不高。

4..gif

但是这里我们发现了一个问题,分隔条是垂直插在墙面的,而不是我们预期的扁平面在墙面的。所以我们可以将轮廓转90度,这个大家根据自己的实际需求旋转就行。

5..jpg

手动摆放一个测试。已经没有问题了。

6..jpg

接下来我们写dynamo节点

还是通过两点来放置这个分隔条的族,还是我常用的两点放置的办法,之前绘制建议隧道的时候用的就是这个办法,其实原理很简单,就是中间会有一些用到的节点。

1.选择模型中的模型线

这里我们用到的节点是【SelectModel Elements】节点。

7.gif

但是这样选出来会有很多其他的图元,我们需要将其他的图元过滤掉,只剩ModelCurve这图元就行了。

2.过滤筛选模型线,通过【String.Contains】节点是否含有ModelCurve字符,再用【List.FilterByBoolMask】节点筛选即可。

8.jpg

3.读取模型线中的曲线,并获取每条模型线的起点和终点。用【Element.Curves】节点获取过滤后模型线中的线段,然后通过【Curve.StartPoint】和【Curve.EndPoint】节点获取线段的起点和终点。

9.jpg

并将这些起点和终点一一组合,形成(起点,终点)这样的模式,并通过【List.Join】和【List.Combine】节点实现这个过程。

10.jpg

4.将新建的基于两点的族通过现在点的列表放置即可。

通过【AdaptiveComponent.ByPoints】节点可将预先做好的族按照坐标放置,之前的章节讲过,这里不加赘述。

11.jpg

效果如下:

12.jpg

13.jpg

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

转载请注明来源本文地址:https://www.tuituisoft/blog/3721.html

上一篇:

Revit通过dynamo给房间按顺序命名

下一篇:

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