找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[资源分享] Revit通过dynamo给房间按顺序命名

[复制链接]

5280

主题

5397

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
18002
11420 BIM二狗子 发表于 2019-12-20 13:57:46
目的:通过绘制的多段线按照多段线穿过的房间顺序给房间命名,房间名称来源excel表格中的房间名称。先看效果

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

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

知识点:dynamo中点、坐标、房间、列表、列表排序、交点等

前言:之前也有其他人写过dynamo,这个可能思路不太一样,过程中出现过多次错误,经过修改调试现在基本可以完美命名编号了。

教程如下:

前期需要对项目中的房间做好标记,并沿着你的你要标记的房间顺序画一条多段线,原理是多段线通过房间和房间区域中我们要绘制的图案相交,通过交点判断顺序,排序后加载excel中的数据给房间命名。

首先我们用【SelectModel Element】节点选择多段线,用【Element.Curves】节点识别选择好的多段线。

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

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


用【Categories】节点选择房间节点,用【AllElements of Category】节点把所有房间类型图元都选择,用【Element.Solids】节点获取房间所在的图元。

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

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


用【Solid.Centroid】节点获得每个房间几何体的中心坐标,用【Point.X】和【Point.Y】节点分离出来中心坐标的X坐标和Y坐标,这样就让坐标落在多段线所在的平面上了,再把获得的新坐标组合起来。

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

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


我们用新获得的坐标为圆心画圆,圆会和我们之前绘制的多段线有交点,所以我们之前在绘制多段线的时候尽量要通过房间的中心。绘制圆用【Circle.ByCenterPointRadiusNormal】节点,我们先设置半径为1000看效果。

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

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


运行效果如下,每个圆和曲线都产生了交点

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

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


接下来我们用【Geometry.IntersectAll】节点获得交点(获取交点的时候连缀改成叉集),但是交点一般都会有两个,所以我们取每个交点组中的第一组数据即可。过程中要用【List.Flatten】节点将数据维度降低一级。用【List.FirstItem】节点获取交点中的第一个交点。

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

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


接下来我们要通过交点处到曲线起点处区间的弧长,判断交点在曲线上所处的次序,才能进行后面的排序。

通过【Curve.ParameterAtPoint】节点和【Curve.SegmentLengthAtParameter】节点获得交点处曲线的弧长,并将列表拍平。

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

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


通过【List.Sort】节点将列表从弧长由短到长进行排序

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

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


再通过【IndexOf】节点和【List.Map】节点获得排序后的列表数据在排序前列表中的位置

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

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


通过【List.GetItemAtIndex】节点将之前房间列表按照获得的list.map中的数据排序

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

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


这部分告一段落,我们在Excel中获取原来设置好的房间数据,这个我在之前的相关dynamo的教程中有提及,这里就直接放节点了。

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

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


最后一步,通过【Room.SetName】节点将整理好的excel数据给整理好的房间就大功告成了!

这仅仅是一个案例,大家可以通过自己的学习和思考,并将这样的办法应用在其他项目上。
Revit通过dynamo给房间按顺序命名.dyn (19.66 KB, 下载次数: 0, 售价: 30 钻石)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表