在 Revit 中绘图时,需要连接和切割许多组件。您可以使用连接或剪切命令。但是,如果您手动操作许多组件,这将是一个可怕的工作量。在这个问题中,使用了墙壁连接。比如介绍如何自动识别我们需要连接的图元,没错,我们使用的工具还是Dynamo
实现这个功能的关键思想有两点,一是墙体识别,二是另一种是调用Revit连接顺序。
首先,构建一个程序,智能识别需要连接的元素。
重点分析:
1.实际上,在选择了所有墙壁之后,对我们需要连接的墙壁进行过滤和分类。
2、智能识别的思路是我们先判断所有选中的墙的位置,关键节点是dynamo自带的Element.GetLocation(这里简单介绍一下这个节点,其中一个节点不能识别网格的位置,参考平面,输出是我们自己建的族的特定点位置,墙体识别的结果是一条直线)。之后,我们得到墙壁位置线的向量,并旋转这个向量。
3、判断墙下的垂直线是否相交,你可能会说要重复计算。这个问题稍后会处理。二、截图中的文字意思是我们实际做装修工程时需要连接的墙可能大于两层,两层以上的程序会自动连接。
二、构建一个程序,智能识别需要连接的基元
组成组墙的连接处理使用发条节点包的Element.Geometry。当然,我们可以将需要连接的墙展开,然后调用revit的连接GeometryUtils.Geometry。
以上代码来自clockwork节点包。