> For the complete documentation index, see [llms.txt](https://primer2.dynamobim.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://primer2.dynamobim.org/zh-cn/10_sample_workflow/10-1_getting-started-workflows/1-parametric-vase.md).

# 参数化花瓶

创建参数化花瓶是开始学习 Dynamo 的最佳方法。

此工作流将指导您如何操作：

* 使用数字滑块控制设计中的变量。
* 使用节点创建和修改几何图元。
* 实时显示设计结果。

![](/files/vNU5rhmKSrzoTM9qVkhh)

## 定义目标

在跳转到 Dynamo 之前，让我们先从概念上设计花瓶。

假定我们要设计一个粘土花瓶，并考虑陶艺家所用的制造实践。陶艺家通常使用陶轮来制作圆柱形花瓶。然后，通过对花瓶的不同高度施加压力，他们可以改变花瓶的形状并创造出不同的设计。

我们将使用类似的方法来定义花瓶。我们将创建 4 个不同高度和半径的圆，然后通过放样这些圆来创建一个曲面。

![](/files/AvzPdQwZu9uylbv7Ttlw)

## 快速入门

> 单击下面的链接下载示例文件。
>
> 可以在附录中找到示例文件的完整列表。

我们需要节点来表示 Dynamo 将执行的操作序列。由于我们知道要创建一个圆，因此我们先找到一个执行该操作的节点。使用 **“搜索”字段** 或浏览 **“库”**，以找到 **“Circle.ByCenterPointRadius”** 节点并将其添加到工作空间

![](/files/9yYGao20xNpWZkMzpR1v)

> 1. 搜索 >“圆...”
> 2. 选择 >“ByCenterPointRadius”
> 3. 节点将显示在工作空间中

让我们进一步了解一下此节点。在左侧，有节点的输入（*“centerPoint”和“radius”*）；在右侧，有节点的输出（圆）。请注意，输出有浅蓝色线。这意味着输入有默认值。要获取有关输入的详细信息，请将光标悬停在输入名称上。*“radius”* 输入需要双精度输入，默认值为“1”。

![](/files/pDcD8HKoq2ki7doX3F2b)

我们将保留 *“centerPoint”* 的默认值，但会添加 **“Number Slider”** 以控制半径。正如我们使用 **“Circle.ByCenterPointRadius”** 节点所做的那样，使用库搜索 **“Number Slider”** 并将其添加到图形中。

该节点与我们之前的节点稍有不同，因为它包含一个滑块。可以使用该界面更改滑块的输出值。

![](/files/9vwg4JsuNRLA13bQziOU)

可以使用节点左侧的下拉按钮配置滑块。我们将滑块限制为最大值“15”。

![](/files/kBubuYTiY2Jj1hsTNfo5)

我们将它放置在 **“Circle.ByCenterPointRadius”** 节点的左侧，然后通过选择 **“Number Slider”** 输出并将其连接到“Radius”输入来连接两个节点。

![](/files/isLbaG5IwmVjN6OvHmZL)

我们还通过双击节点的名称将“Number Slider”名称更改为“Top Radius”。

![](/files/csQkzwm2PH1UU0Opwxqt)

## 后续步骤

我们继续向逻辑中添加一些节点和连接来定义花瓶。

### 创建不同半径的圆

我们将这些节点复制 4 次，以便这些圆定义曲面，更改“Number Slider”的名称，如下所示。

![](/files/8a4uWODcIXCGhPP2pDlv)

> 1. 圆由圆心和半径创建

### 沿花瓶高度移动圆

我们的花瓶缺少一个关键参数，即花瓶的高度。为了控制花瓶的高度，我们创建了另一个数字滑块。我们还添加了 **“Code Block”** 节点。代码块有助于将个性化代码段添加到我们的工作流中。我们将使用代码块将高度滑块乘以不同的因子，以便可以沿花瓶高度放置圆。

![](/files/xa3AoBRsRQdCr9TSukAL)

然后，我们使用 **“Geometry.Translate”** 节点在所需高度放置圆。由于我们要沿花瓶分布圆，因此我们使用代码块将高度参数乘以一个因子。

![](/files/Xlg1wvOZED64aonJ7GNl)

> 2.圆在 Z 轴上由变量平移（移动）。

### 创建曲面

为了使用 **“Surface.ByLoft”** 节点创建曲面，我们需要将所有平移的圆合并到一个列表中。我们使用 **“List.Create”** 将所有圆合并到一个列表中，最后将此列表输出到 **“Surface.ByLoft”** 节点以查看结果。

我们还要关闭其他节点中的预览，以仅显示“Surface.ByLoft”显示。

![](/files/ueK8QPJsPGsBt2c9s58p)

> 3.通过放样平移的圆来创建曲面。

## 结果

我们的工作流已准备就绪！现在，我们可以使用在脚本中定义的 **“数字滑块”** 创建不同的花瓶设计。

![](/files/vNU5rhmKSrzoTM9qVkhh)

![](/files/ldlv7Ry6opLm2tWAHkWA)
