吸引器点非常适合试验几何图案。它们可用于根据对象的距离创建这些对象的渐变。
此工作流将指导您如何操作:
创建、管理和编辑列表。
在三维预览中,使用直接操纵移动点。
更改执行模式。
在本练习中,我们要创建一个圆(“目标”),其中半径输入由距邻近点的距离定义(“关系”)。
定义基于距离关系的点通常称为“吸引器”。 此处,将使用距吸引器点的距离来指定圆应该有多大。
单击下面的链接下载示例文件。
可以在附录中找到示例文件的完整列表。
现在,我们已经绘制了“目标”和“关系”,可以开始创建图形。我们需要节点来表示 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”。
The following list can be used to locate concepts introduced in the sample workflows.
练习列表 | 练习中介绍的关键概念 | 链接到后面章节的进一步阅读 |
---|---|---|
suggested exercise
创建参数化花瓶是开始学习 Dynamo 的最佳方法。
此工作流将指导您如何操作:
使用数字滑块控制设计中的变量。
使用节点创建和修改几何图元。
实时显示设计结果。
在跳转到 Dynamo 之前,让我们先从概念上设计花瓶。
假定我们要设计一个粘土花瓶,并考虑陶艺家所用的制造实践。陶艺家通常使用陶轮来制作圆柱形花瓶。然后,通过对花瓶的不同高度施加压力,他们可以改变花瓶的形状并创造出不同的设计。
我们将使用类似的方法来定义花瓶。我们将创建 4 个不同高度和半径的圆,然后通过放样这些圆来创建一个曲面。
单击下面的链接下载示例文件。
可以在附录中找到示例文件的完整列表。
我们需要节点来表示 Dynamo 将执行的操作序列。由于我们知道要创建一个圆,因此我们先找到一个执行该操作的节点。使用 “搜索”字段 或浏览 “库”,以找到 “Circle.ByCenterPointRadius” 节点并将其添加到工作空间
搜索 >“圆...”
选择 >“ByCenterPointRadius”
节点将显示在工作空间中
让我们进一步了解一下此节点。在左侧,有节点的输入(“centerPoint”和“radius”);在右侧,有节点的输出(圆)。请注意,输出有浅蓝色线。这意味着输入有默认值。要获取有关输入的详细信息,请将光标悬停在输入名称上。“radius” 输入需要双精度输入,默认值为“1”。
我们将保留 “centerPoint” 的默认值,但会添加 “Number Slider” 以控制半径。正如我们使用 “Circle.ByCenterPointRadius” 节点所做的那样,使用库搜索 “Number Slider” 并将其添加到图形中。
该节点与我们之前的节点稍有不同,因为它包含一个滑块。可以使用该界面更改滑块的输出值。
可以使用节点左侧的下拉按钮配置滑块。我们将滑块限制为最大值“15”。
我们将它放置在 “Circle.ByCenterPointRadius” 节点的左侧,然后通过选择 “Number Slider” 输出并将其连接到“Radius”输入来连接两个节点。
我们还通过双击节点的名称将“Number Slider”名称更改为“Top Radius”。
我们继续向逻辑中添加一些节点和连接来定义花瓶。
我们将这些节点复制 4 次,以便这些圆定义曲面,更改“Number Slider”的名称,如下所示。
圆由圆心和半径创建
我们的花瓶缺少一个关键参数,即花瓶的高度。为了控制花瓶的高度,我们创建了另一个数字滑块。我们还添加了 “Code Block” 节点。代码块有助于将个性化代码段添加到我们的工作流中。我们将使用代码块将高度滑块乘以不同的因子,以便可以沿花瓶高度放置圆。
然后,我们使用 “Geometry.Translate” 节点在所需高度放置圆。由于我们要沿花瓶分布圆,因此我们使用代码块将高度参数乘以一个因子。
2.圆在 Z 轴上由变量平移(移动)。
为了使用 “Surface.ByLoft” 节点创建曲面,我们需要将所有平移的圆合并到一个列表中。我们使用 “List.Create” 将所有圆合并到一个列表中,最后将此列表输出到 “Surface.ByLoft” 节点以查看结果。
我们还要关闭其他节点中的预览,以仅显示“Surface.ByLoft”显示。
3.通过放样平移的圆来创建曲面。
我们的工作流已准备就绪!现在,我们可以使用在脚本中定义的 “数字滑块” 创建不同的花瓶设计。
参数化花瓶
在库中搜索节点
使用节点和导线
创建曲线和曲面
使用代码块
吸引器点
创建管理和编辑列表
更改预览模式
更改执行模式
本部分包含简单的工作流,可帮助您开始使用 Dynamo。