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

# 資源庫

資源庫包含所有載入的節點，其中包括 10 個安裝隨附的預設品類節點，以及已載入的其他所有自訂節點或套件。資源庫中的節點在資源庫、品類和子品類 (如果有) 內以階層方式組織。

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

* 基本節點：預設安裝隨附。
* 自訂節點：將常用常式或特殊圖表儲存為自訂節點。您也可以與社群共用您的自訂節點
* Package Manager 中的節點：收集已發佈的自訂節點。

我們將瀏覽[節點品類的階層](#library-hierarchy-for-categories)，示範如何[從資源庫快速搜尋](#search-by-hierarchy)，並了解其中某些[常用節點](#frequently-used-nodes)。

### 品類的資源庫階層

透過在這些品類中進行瀏覽，能以最快方式瞭解可以加入到工作區的項目所在的階層，並以最佳方式探索尚未使用的新節點。

透過四處按一下功能表瀏覽資源庫，展開每個品類及其子品類

{% hint style="info" %}
Geometry 功能表很適合在開始探索時使用，因為它們包含最多數量的節點。
{% endhint %}

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

> 1. 資源庫
> 2. 品類
> 3. 子品類
> 4. 節點

這些項目會根據節點是**建立**資料、執行**動作**或**查詢**資料，進一步分類成有相同子品類的節點。

* ![](https://1226582865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmuqshfgEG0ZvIFN5DRfA%2Fuploads%2Fgit-blob-7535d7eb2d637f545ef595713756c730de0adc28%2Fuser-interface-create.jpg?alt=media) **建立**：從頭開始建立或建構幾何圖形。例如圓。
* ![](https://1226582865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmuqshfgEG0ZvIFN5DRfA%2Fuploads%2Fgit-blob-088aef3f1cc0549f9ef74af850e726caf2783e81%2Fuser-interface-action.jpg?alt=media) **動作**：對物件執行動作。例如，調整圓的比例。
* ![](https://1226582865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmuqshfgEG0ZvIFN5DRfA%2Fuploads%2Fgit-blob-4c74657428b1cd9e8195f0ee5b35735cb2bf9601%2Fuser-interface-query.jpg?alt=media) **查詢**：取得已存在物件的性質。例如，取得圓的半徑。

將滑鼠懸停在節點上，可顯示名稱和圖示之外更詳細的資訊。我們由此可以快速了解節點的功能、所需的輸入及其提供的輸出。

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

> 1. 描述 - 節點的普通語言描述
> 2. 圖示 -「資源庫」功能表中更大版本的圖示
> 3. 輸入 - 名稱、資料類型與資料結構
> 4. 輸出 - 資料類型與結構

### 在資源庫中快速搜尋

如果您知道希望加入至工作區的節點相關特性，在 **「搜尋」** 欄位中鍵入可查詢所有相符的節點。

選擇按一下要加入的節點，或按 Enter 將亮顯的節點加入工作區的中心。

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

#### 依階層搜尋

除了使用關鍵字嘗試尋找節點，我們還可以在「搜尋欄位」中鍵入以句點分隔的階層，或使用程式碼區塊 (使用 *Dynamo 文字語言*)。

每個資源庫的階層都會反映在加入工作區的節點名稱中。

在資源庫階層中以 `library.category.nodeName` 格式鍵入節點位置的不同部分，會傳回不同的結果

* `library.category.nodeName`

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

* `category.nodeName`

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

* `nodeName` 或 `keyword`

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

通常，工作區中節點的名稱將以 `category.nodeName` 格式呈現，但在「Input」與「View」品類中有一些明顯的例外。

請注意名稱相似的節點，並注意品類差異：

* 大多數資源庫中的節點將包括品類格式

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

* `Point.ByCoordinates` 和 `UV.ByCoordinates` 的名稱相同，但來自不同品類

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

* 明顯的例外包括內建函數、Core.Input、Core.View 及運算子

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

### 常用的節點

Dynamo 的基本安裝中包括數百個節點，哪些節點對於開發視覺程式非常重要？接下來我們著重了解定義程式參數 (**Input**)、查看節點動作結果 (**Watch**) 以及透過捷徑 (**Code Block**) 定義輸入或功能所使用的節點。

#### 輸入節點

輸入節點是視覺程式的使用者 (不論是您自己還是他人) 與關鍵參數結合的主要方式。以下是核心資源庫中一些可用的項目：

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

#### Watch 與 Watch3D

Watch 節點對於管理流經視覺程式的資料非常重要。您可以透過**節點資料預覽**，將滑鼠懸停在節點上，來檢視節點的結果。

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

在 **Watch** 節點中保持顯示會很有用

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

或透過 **Watch3D** 節點查看幾何圖形結果。

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

這兩個節點都位於核心資源庫內的 View 品類中。

{% hint style="info" %}
秘訣：若視覺程式包含許多節點，3D 預覽有時可能會分散您的注意力。請考慮不勾選「設定」功能表中的「展示背景預覽」選項，並使用 Watch3D 節點預覽幾何圖形。
{% endhint %}

#### Code Block

Code Block 節點可以用於定義一塊程式碼 (以分號分隔各行)。這可以像 `X/Y` 一樣簡單。

我們也可以使用 Code Block 做為捷徑定義數字輸入或呼叫其他節點的功能。執行此作業的語法遵循 Dynamo 文字語言 [DesignScript](/zh-tw/8_coding_in_dynamo/8-1_code-blocks-and-design-script/2-design-script-syntax.md) 的命名慣例。

以下是在指令碼中使用 Code Block 的簡單示範 (含指示)。

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

1. 按兩下以建立 Code Block 節點
2. 鍵入 `Circle.ByCenterPointRadius(x,y);`
3. 按一下工作區以清除選取，這會自動加入 `x` 和 `y` 輸入。
4. 建立 Point.ByCoordinates 節點與 Number Slider，然後將其連接至 Code Block 的輸入。
5. 執行視覺程式的結果如 3D 預覽中顯示為圓
