Renumber Doors by Rooms (also from linked model)

将房间号导入门中

通常来说,方案中的门编号应该与房间编号有关。我做了一个Dynamo脚本,方便将房间编号也导入门中。当然,也考虑到了房间存在于链接模型中的情况。

考虑到我有大量的门和房间并不在同一个模型中,而只是互为链接模型的关系,我就不打算调用Revit API 中的 ToRoom,而是用更普适的方法,通过几何关系来找到与门有关系的房间。

Dynamo script:

基本原理是,我们提取门的基准点,然后按门的方向将基准点做一个适当的offset,之后再通过判断这个点在某个房间里,从而提取出这个房间的编号赋予门。

当然,在这个脚本中也有一些其它考虑到的因素。比如,方案中可能有无效的房间(未放置的房间或者在设计选项中的房间),也有可能有无效的门(我这里将Tür-Öffnung 这个族排除在外了),甚至有一些门的方向需要调转(例如一些管道井的门,虽然对外开,但须导入井的编号)。这些情况都分别在脚本中有所照顾。

当然,这个脚本也可以完全只用 Revit API 来完成,但作为练习我尽量只用Dynamo的节点来做。这也就不可避免地用到了其他开发者的自定义节点。


发表评论

邮箱地址不会被公开。 必填项已用*标注