选择和分组连接输入图元

了解如何使用结构数据、分组和排列节点,来选择和分组 Dynamo 连接输入图元。

注: 当选择用于放置 Dynamo 的钢连接的钢框架图元时,选择节点将输出框架图元的列表,而不论图元的选定端点为何。

结构数据节点

Dynamo 钢连接脚本中的第一个 Dynamo 节点是 Model.GetStructureData。此节点没有输入。基于当前选择,Dynamo 节点的输出是一列数据结构图元(梁和柱)。在该示例中,输出内容为:[B1, B2, B3, B4]。

注: 在 Dynamo 中创建或编辑脚本时,如果使用 Model.GetStructureData 节点,则针对每次选择更改,都需要删除节点并重新添加它以刷新结构数据图元的列表。如果使用 Input.SelectStructureData 节点,不建议保存含有选择内容的 Dynamo 脚本。


成组节点

脚本中的第二个 Dynamo 节点是 ConnectionNode.FromStructure。该节点将结构数据图元的列表用作输入。Dynamo 节点的输出是使用成组算法确定的连接节点的列表。连接只可以放置在连接节点上。在此示例中,选择图元 B1、B2、B3、B4 将导致输出内容是包含 [B1, B2, B3, B4] 的连接节点,每个结构数据图元都具有分区的端点类型。



排列节点

下一个要添加到脚本的 Dynamo 节点是 ConnectionNode.SubNodesOfSize。该节点将成组节点创建的连接节点列表和所需的分区数量用作输入。

在此示例中,连接框隅撑(栓接,使用拱腰)将两个结构数据图元用作输入,因此需要有两个或更多分区的连接节点。该 Dynamo 节点的输出是连接子节点的列表(即连接节点列表的列表)。连接子节点为连接节点中结构数据图元的排列,需要 noOfZones 次(在我们的示例中为 2 次)。



注: 对于某些脚本(例如顶点拱腰或其他对称连接),由于此 Dynamo 节点生成的排列,该算法将 [Beam1, Beam2] 和 [Beam 2, Beam1] 连接子节点都标识为有效情况。因此,脚本会在第一个连接子节点上添加连接,以便将第二个标识的子节点添加到“现有”输出(导致放置连接到的 Dynamo 节点具有作为输出的连接节点多于接收的输入)。要解决这一问题,请使用“ConnectionNode.RemoveDuplicates”来删除重复的连接子节点(包含相同图元的连接节点)。有关如何使用此 Dynamo 节点的详细信息,请参见顶点拱腰示例脚本。
在此示例中,输入内容是包含 [B1, B2, B3, B4] 的连接节点和数字 2。输出内容将为两个结构数据图元的所有子节点的连接节点:
输入 输出

[B1, B2, B3, B4]

2



以下是在此四个图元的连接节点中放置两个图元的连接的所有可能方式。

下一步:过滤连接输入图元