> 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/3_user_interface/2-library.md).

# 库

该库中包含所有已加载的节点，包括安装时附带的 10 个默认类别节点以及任何额外加载的自定义节点或软件包。该库中的节点在库、类别和子类别（如果适用）中按层次进行组织。

![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-19bc49f16ea2e8b3d088d13e8db2badedeebd41d%2Flibrary-library-ui.png?alt=media)

* 基本节点：默认安装时随附。
* 自定义节点：将常用例程或特殊图形存储为自定义节点。还可以与社区共享自定义节点
* 软件包管理器中的节点：已发布自定义节点的集合。

我们将浏览[节点层次结构](#library-hierarchy-for-categories)类别、介绍如何[从库中快速搜索](#search-by-hierarchy)，以及了解其中一些[常用节点](#frequently-used-nodes)。

### 类别的库层次结构

浏览这些类别是了解我们可以向“工作空间”添加的内容层次的最快方法，也是查找之前尚未使用的新节点的最佳方式。

通过单击菜单展开每个类别及其子类别来浏览库

{% hint style="info" %}
“几何图形”是开始探索的最佳菜单，因为它们包含最多数量的节点。
{% endhint %}

![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-9a46b13b1d449d76b3e66f164fa06482159ca3a2%2Flibrary-modified-and-resize-library-categories.jpg?alt=media)

> 1. 库
> 2. 种类
> 3. 子类别
> 4. 节点

这些选项会根据节点是 **“创建”** 数据、执行 **“操作”** 还是 **“查询”** 数据，来对同一子类别中的节点进一步分类。

* ![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-7535d7eb2d637f545ef595713756c730de0adc28%2Fuser-interface-create.jpg?alt=media) **创建**：从头开始创建或构造几何图形。例如，圆。
* ![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-088aef3f1cc0549f9ef74af850e726caf2783e81%2Fuser-interface-action.jpg?alt=media) **操作**：对某个对象执行操作。例如，缩放圆。
* ![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-4c74657428b1cd9e8195f0ee5b35735cb2bf9601%2Fuser-interface-query.jpg?alt=media) **查询**：获取已存在对象的特性。例如，获取圆的半径。

将鼠标光标悬停在节点上，即可显示除其名称和图标以外的更多详细信息。这使我们可以快速了解节点的作用、所需输入内容以及输出内容。

![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-84b244bd4fd11cd0aa10f2686fb6aed67db888c0%2Fuser-interface-node-description.jpg?alt=media)

> 1. 描述 - 节点的纯语言描述
> 2. 图标 - 库菜单中图标的较大版本
> 3. 输入 - 名称、数据类型和数据结构
> 4. 输出 - 数据类型和结构

### 在库中快速搜索

如果您相对具体地了解要添加到工作空间的节点，请在 **“搜索”** 字段中键入内容以查找所有匹配的节点。

通过单击要添加的节点进行选择，或按 Enter 键将亮显的节点添加到工作空间的中心。

![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-7b997bfc01c563877255ed8ef7270df3efa1f220%2Fuser-interface-search.jpg?alt=media)

#### 按层次结构搜索

除了使用关键字尝试查找节点之外，我们还可以在“搜索”字段或代码块中键入以句点分隔的层次结构（这使用 *Dynamo 文本语言*）。

每个库的层次结构都会反映在添加到工作空间的节点名称中。

以 `library.category.nodeName` 格式键入“库”层次结构中节点位置的不同部分会返回不同结果

* `library.category.nodeName`

![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-355cf0b184b00e546ac2eedc0c2a504f877c6a61%2Flibrary-search-by-hierarchy-1-geometry-point-by-coordinates.jpg?alt=media)

* `category.nodeName`

![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-a4f8e09baf730d972acadbb6614bcc196822b6b4%2Flibrary-search-by-hierarchy-2-point-by-coordinates.jpg?alt=media)

* `nodeName` 或 `keyword`

![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-31ddb1110fde890457d91982ab48021ec0919dc4%2Flibrary-search-by-hierarchy-3-by-coordinates.jpg?alt=media)

通常，工作空间中的节点名称将以 `category.nodeName` 格式进行呈现，但存在一些明显例外，尤其是在“输入”和“视图”类别中。

小心类似的命名节点，并注意类别差异：

* 大多数库中的节点将包括类别格式

![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-3367ffb487b26825473c590cc7e7953ff29c83ed%2Flibrary-node-category-differences-1.jpg?alt=media)

* `Point.ByCoordinates` 和 `UV.ByCoordinates` 有相同名称，但来自不同类别

![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-80eb03b413c7bfd031d519439d10e077916583de%2Flibrary-node-category-differences-2.jpg?alt=media)

* 值得注意的例外情况包括内置函数、Core.Input、Core.View 和运算符

![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-c68204a41a5e5986eec0adf010f73342f9a96ee3%2Flibrary-node-category-differences-3.jpg?alt=media)

### 常用节点

Dynamo 的基本安装中包含数百个节点，哪些节点对于开发可视化程序至关重要？我们将重点介绍以下节点：定义程序的参数（**“Input”**）、查看节点操作的结果（**“Watch”**）以及通过快捷方式定义输入或功能（**“Code Block”**）。

#### “Input”节点

“Input”节点是可视化程序的用户（无论是自己还是他人）与关键参数交互的主要手段。以下是核心库中提供的一些节点：

| 节点             |                                                                                                                                                                                                                      | 节点             |                                                                                                                                                                                                                      |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Boolean        | ![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-67ee50df2e0e23eb942d7621ec8a23a06fc2ed09%2Flibrary-boolean.jpg?alt=media)        | Number         | ![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-cb60039615673dc39cd2b6d4e8922e57a1355503%2Flibrary-number.jpg?alt=media)         |
| String         | ![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-f4e00a4ec0457cdb1644f26e87eec928ccc3a0b0%2Flibrary-string.jpg?alt=media)         | Number Slider  | ![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-5866edeccc7098b56ab0e3c59d54ac8ef8fa4d0e%2Flibrary-number-slider.jpg?alt=media)  |
| Directory Path | ![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-2fbb4f43632bf799012d0d59f6c81077088830fc%2Flibrary-directory-path.jpg?alt=media) | Integer Slider | ![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-1c55e236b4fb6073f7f6127c905d1f4c4c5e0fe8%2Flibrary-integer-slider.jpg?alt=media) |
| File Path      | ![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-de82ac1d1f24374b522e2ac17ac2d4e1a4640d02%2Flibrary-file-path.jpg?alt=media)      |                |                                                                                                                                                                                                                      |

#### Watch 和 Watch3D

“Watch”节点对于管理流经可视化程序的数据至关重要。将鼠标光标悬停在节点上，可通过**节点数据预览**查看节点的结果。

![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-cc29ebe7ed491801e7ed093053319fa687ac95f5%2Flibrary-node-preview.jpg?alt=media)

它有助于在 **“Watch”** 节点中保持其显示

![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-bea827892c5da51f78c46bb8003fa99a0bb6b08f%2Flibrary-watch-node.jpg?alt=media)

或者，通过 **“Watch3D”** 节点查看几何图形结果。

![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-6d314a342370a64dc4abf1661cb26fc0fb3da9f8%2Flibrary-watch3d-node.gif?alt=media)

这两个节点均位于核心库的“视图”类别中。

{% hint style="info" %}
提示：如果可视化程序中包含许多节点，则三维预览有时可能会分散注意力。请考虑取消选中“设置”菜单中的“显示背景预览”选项，然后使用“Watch3D”节点预览几何图形。
{% endhint %}

#### Code Block

Code Block 节点可用于定义代码块，其中各行用分号隔开。这可以像 `X/Y` 一样简单。

我们还可以将“代码块”用作定义“数字输入”或调用另一个节点功能的快捷方式。执行此类操作的语法遵循 Dynamo 文本语言（即 [DesignScript](/zh-cn/8_coding_in_dynamo/8-1_code-blocks-and-design-script/2-design-script-syntax.md)）的命名约定。

下面是有关在脚本中使用“Code Block”的简单演示（带有说明）。

![](https://338946474-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZkPl5tDHbu5X9VJTozDs%2Fuploads%2Fgit-blob-61d1c0b5e4d8334fd7b4b1fefe6ea6f3daf59eef%2Flibrary-codeblockdemo.gif?alt=media)

1. 双击以创建“Code Block”节点
2. 分类 `Circle.ByCenterPointRadius(x,y);`
3. 在工作空间上单击以清除选择内容，应会自动添加 `x` 和 `y` 输入。
4. 创建“Point.ByCoordinates”节点和“数字滑块”，然后将它们连接到“代码块”的输入。
5. 执行可视化程序的结果在三维预览中会显示为圆
