吸引器点非常适合试验几何图案。它们可用于根据对象的距离创建这些对象的渐变。
此工作流将指导您如何操作:
创建、管理和编辑列表。
在三维预览中,使用直接操纵移动点。
更改执行模式。
在本练习中,我们要创建一个圆(“目标”),其中半径输入由距邻近点的距离定义(“关系”)。
定义基于距离关系的点通常称为“吸引器”。 此处,将使用距吸引器点的距离来指定圆应该有多大。
单击下面的链接下载示例文件。
可以在附录中找到示例文件的完整列表。
现在,我们已经绘制了“目标”和“关系”,可以开始创建图形。我们需要节点来表示 Dynamo 将执行的操作序列。首先,我们添加以下节点:“Number”、“Number Slider”、“Point.ByCoordinates”、“Geometry.DistanceTo”、“Circle.ByCenterPointRadius”。
“输入”>“基本”>“Number”
“输入”>“基本”>“Number Slider”
“几何图形”>“点”>“点”>“By Coordinates(x,y,z)”
“几何图形”>“修改器”>“几何图形”>“DistanceTo”
“几何图形”>“曲线”>“圆”>“ByCenterPointRadius”
现在,我们有几个节点,我们需要将节点端口用线连接起来。这些连接将定义数据流。
“Number” 连接到 “Point.ByCoordinates”
“Number Sliders” 连接到 “Point.ByCoordinates”
“Point.ByCoordinates” (2) 连接到 “DistanceTo”
“Point.ByCoordinates” 和 “DistanceTo” 连接到 “Circle.ByCenterPointRadius”
在完成定义程序流后,我们只需告知 Dynamo 执行它即可。在执行程序(“自动”或在“手动”模式下单击“运行”)后,数据将流经这些线,并且我们应该可以在三维预览中看到结果。
(单击“运行”)- 如果“执行栏”处于“手动”模式,则需要单击“运行”才能执行图形
节点预览 - 将鼠标光标悬停在节点右下角的框上会弹出结果
三维预览 - 如果有节点创建几何图形,我们将在三维预览中看到它。
创建节点上的输出几何图形。
如果程序正常运行,我们应该会在三维预览中看到一个穿过吸引器点的圆。这很棒,但我们可能想要添加更多详细信息或更多控件。我们将调整对圆节点的输入,以便可以校准对半径的影响。将另一个 “Number Slider” 添加到工作空间,然后双击工作空间的空白区域以添加 “Code Block” 节点。编辑“Code Block”中的字段,以便指定 X/Y
。
Code Block
“DistanceTo” 和 “Number Slider” 连接到 “Code Block”
“Code Block” 连接到 “Circle.ByCenterPointRadius”
简单开始后增加复杂性是循序渐进开发程序的有效方法。在一个圆正常工作后,让我们将程序的强大功能应用于多个圆。如果我们使用点栅格(而不是一个中心点)并适应结果数据结构中的变化,那么程序现在将创建多个圆 - 每个圆的唯一半径值由距吸引器点的校准距离进行定义。
添加 “Number Sequence” 节点并替换 “Point.ByCoordinates” 的输入 - 在“Point.ByCoordinates”上单击鼠标右键,然后依次选择“连缀”>“叉积”
在“Point.ByCoordinates”后添加 “Flatten” 节点。要完全展平列表,请将
amt
输入保留为默认值-1
三维预览将使用圆栅格进行更新
有时,数字操作并不是正确的方法。现在,可以在后台三维预览中导航时手动推拉点几何图形。我们还可以控制由点构建的其他几何图形。例如,“Sphere.ByCenterPointRadius” 也可以直接操纵。我们可以使用 “Point.ByCoordinates”,通过一系列 X、Y 和 Z 控制点的位置。但是,使用“直接操纵”方法,可以通过在 “三维预览导航” 模式下手动移动点来更新滑块的值。这提供了一种更直观的方法,来控制一组用于标识点位置的离散值。
要使用 “直接操纵”,请选择要移动的点面板 - 箭头将显示在选定点上。
切换到 “三维预览导航” 模式。
将光标悬停在点上,X、Y 和 Z 轴将显示。
单击并拖动彩色箭头以移动相应的轴,“Number Slider” 值将使用手动移动的点实时更新。
请注意,在 “直接操纵” 之前,仅有一个滑块连接到 “Point.ByCoordinates” 组件。当我们在 X 方向上手动移动点时,Dynamo 将自动为 X 输入生成新的 “Number Slider”。