Revit利用dynamo两点放置分割装饰条
有朋友做了一个建筑模型,模型外饰分隔条是用模型线画的,在渲染的时候无法渲染出来线。模型线没有体积,也就是说,模型线不是实体,所以无法渲染。所以必须将模型线转化为有宽度的实体,才能将其渲染出来。
通过分析可以发现他这些模型线都是独立的线条了,所以只要将新做成的实体按照现有模型线的方式排布上去即可,方法有很多种,我们这里讲的是用两点自适应族配合dynamo快速放置分隔条。主要内容有两部分,一部分是两点自适应族的制作,另一部分是通过dynamo将这些族按照模型线的方式放置在模型上。
首先讲两点自适应分隔条的制作方法
1.新建族,选择【自适应公制常规模型】族样板
2.在立面上创建一个两个点的样条曲线,并将两个点设置成“使自适应”
3.再在另一个对应的立面上创建分隔条的轮廓,并利用样条曲线和轮廓创建实体,我们可以看到,实体的形状已经可以随着两个端点的移动而改变了。
其实现在做的这个族已经可以布置在分割线上了,只是要一根一根的布置,效率非常不高。
但是这里我们发现了一个问题,分隔条是垂直插在墙面的,而不是我们预期的扁平面在墙面的。所以我们可以将轮廓转90度,这个大家根据自己的实际需求旋转就行。
手动摆放一个测试。已经没有问题了。
接下来我们写dynamo节点
还是通过两点来放置这个分隔条的族,还是我常用的两点放置的办法,之前绘制建议隧道的时候用的就是这个办法,其实原理很简单,就是中间会有一些用到的节点。
1.选择模型中的模型线
这里我们用到的节点是【SelectModel Elements】节点。
但是这样选出来会有很多其他的图元,我们需要将其他的图元过滤掉,只剩ModelCurve这图元就行了。
2.过滤筛选模型线,通过【String.Contains】节点是否含有ModelCurve字符,再用【List.FilterByBoolMask】节点筛选即可。
3.读取模型线中的曲线,并获取每条模型线的起点和终点。用【Element.Curves】节点获取过滤后模型线中的线段,然后通过【Curve.StartPoint】和【Curve.EndPoint】节点获取线段的起点和终点。
并将这些起点和终点一一组合,形成(起点,终点)这样的模式,并通过【List.Join】和【List.Combine】节点实现这个过程。
4.将新建的基于两点的族通过现在点的列表放置即可。
通过【AdaptiveComponent.ByPoints】节点可将预先做好的族按照坐标放置,之前的章节讲过,这里不加赘述。
效果如下:
来源:微信公众: Revit教程-原创:BIM二狗子
转载请注明来源本文地址:https://www.tuituisoft/blog/3721.html