# 2.6 - Dynamo FormIt 節點

*FormIt 隨附一個 Dynamo 節點資源庫，可在 FormIt 和 Dynamo 之間轉移幾何圖形。在先前的章節中，我們已看到如何在 FormIt 中建立和動態調整 Dynamo 物件。在本章中，我們將編輯提供的 Dynamo 圖表，以建立 OOTB 樓梯圖表的修改版本。*

*在本章中，我們將同時使用* ***Encode Campus Sample Model.axm*** *模型* *和* ***Stairs by Top Edge.dyn*** *Dynamo 指令碼。如果您還沒有這兩個檔案，可以下載* ***FormIt 入門手冊第 2 部分資料集** 並在當中找到。*

*如果您是初次在 FormIt 中使用 Dynamo，建議您完成這本手冊* ***第 I 部分*** *的* ***1.10 -*** ***使用 Dynamo 的運算群組*** *一章。雖然本章將涉及編輯 Dynamo 圖表，但我們只會涵蓋與 FormIt 特定節點相關的 Dynamo 元素。如果您是初次使用 Dynamo，可造訪* [***Dynamo Primer***](https://primer.dynamobim.org/01_Introduction/1-2_what_is_dynamo.html)*進一步了解。*

***您將需要適用於 Windows 2022.0 或更高版本的 FormIt 才能進行本節。***

## **新增 Dynamo 資源庫位置**

*雖然 FormIt 在 **「Dynamo Samples」** 資料夾中隨附一個 OOTB 圖表資源庫，但我們需要位置來建立和儲存我們自己的自訂圖表。為了執行此作業，我們首先要將新資料夾加到 FormIt 的 **Dynamo 資源庫位置**。這類似於將資料夾加到 FormIt 的內容資源庫，因此如果您需要回顧，請參閱入門手冊第 I 部分的 **1.11 - 匯入包含內容資源庫的模型**一章。*

1 - 新增 **Dynamo 資源庫位置**：

1. 開啟 **Encode Campus Sample Model.axm** 後，移至 **「Dynamo」選項板**。
2. 按一下左上角的 **「連結 Dynamo 目錄」** 按鈕。
3. 這會開啟 **「偏好」** 視窗，並自動選取 **「Dynamo」** 頁籤。按一下 **「新增 Dynamo 資源庫位置」** 的「加號」圖示。
4. 導覽至您下載 **Encode Model Data Set** 的任何位置，然後選取 **「Supporting Files」** > **「FormIt Primer Graphs」** 資料夾。
5. 按一下 **「選取資料夾」** ，然後按一下 **「確定」** ，您將被帶回 FormIt。
6. 在 **「Dynamo」選項板** 頂部的資料夾下拉式清單中，選取我們剛剛加入的 **「FormIt Primer Graphs」** 資料夾。

![](https://1391554357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqBONwaUagxWuLSXIwvKO%2Fuploads%2Fgit-blob-57eef08012ed90a0da31117b7c9b2b0f0e462d5b%2F0%20\(21\).png?alt=media)

## **SendToFormIt** **節點**

*若要讓任何 Dynamo 圖表都能與 FormIt 配合使用，必須至少要有一個 **SendToFormIt** 節點。*

1 - 我們先嘗試從我們剛剛加入的資料夾中，按原樣使用 **Stair by Top Edge** 圖表。

1. 首先移至「Section - Longitudinal」場景。

2 - 我們將在圖表中加入 **SendToFormIt** 節點。為了達到此目的，我們將在新的 FormIt 模型中使用「編輯來源圖表」，這樣我們對圖表的製作變更就不會污染工作模型。

1. 在工作列中的 **FormIt 圖示**上按一下右鍵，然後選取 **「FormIt」** 以啟動新的空 FormIt 視窗 (或在 FormIt 圖示上按一下滑鼠中鍵)。
2. 在 **「Dynamo」選項板** 中，找到 **「Stairs by Top Edge」** 磚，然後按一下磚右邊的小下拉箭頭，或在磚上按一下右鍵。
3. 選取 **「編輯來源圖表」**。這將自動啟動 Dynamo 並開啟要編輯的圖表。

![](https://1391554357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqBONwaUagxWuLSXIwvKO%2Fuploads%2Fgit-blob-45c7ca6f01ae7b6e79fffc1f3904b1771548d597%2F2%20\(22\).png?alt=media)

2 - Dynamo 和圖表開啟後，拉近至下方所顯示的區域，其中包含最右側的綠色群組和紫色群組。

![](https://1391554357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqBONwaUagxWuLSXIwvKO%2Fuploads%2Fgit-blob-281f669e7dff4c8f5a68dfe12cf71d3ee6cd7ad3%2F3%20\(19\).png?alt=media)

***注意:*** *Dynamo 圖表是從左側流向右側，因此您通常會在圖表的最右側找到輸出節點。*

3 - 現在，我們需要新增 **SendToFormIt** 節點，以將您在背景中看到的樓梯幾何圖形傳送至 FormIt 模型：

1. 在左側的「附加元件」(套件) 區域中，展開 **「FormIt」** 下拉式清單，然後按一下 **「SendToFormIt」**。螢幕中間將顯示 **SendToFormIt** 節點。
2. 同時選取紫色群組和新的 **SendToFormIt** 節點，然後在 **SendToFormIt** 節點上按一下右鍵並選取 **「加入到群組」** ，將新節點加到紫色的 **Send Stair Geometry to FormIt** 群組。將新節點移至與下圖所示類似的位置。
3. 在 **SendToFormIt** 節點上按一下右鍵，確保已勾選 **「是輸出」**。它預設應該是，但如果不是，就不會將任何幾何圖形傳送至 FormIt。
4. 將 **SendToFormIt** 節點更名為 **SendToFormIt.Stairs**。
5. 連接新的 **SendToFormIt.Stairs** 節點的兩個 (2) 輸入，如下圖所示。

![](https://1391554357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqBONwaUagxWuLSXIwvKO%2Fuploads%2Fgit-blob-7b50affceaab1277b88ce55dc05a32e7a45f1101%2F4%20\(18\).png?alt=media)

***注意:*** *雖然我們只使用* ***SetAsMesh*** *選項節點，決定要將幾何圖形以物件還是網格傳送至 FormIt，但是* *有很多個* ***FormItGroupOptions*** *節點可用。每個節點控制傳送至 FormIt 之幾何圖形的各種性質；您可以自由地嘗試其他一些性質！*

4 - 我們回到 FormIt，看看是否有作用：

1. 儲存，然後關閉 Dynamo。更新的圖表會自動重新載入回 FormIt。
2. 切換回 **Encode Campus Sample File** 的 FormIt 視窗，然後在 **「Dynamo」選項板** 中，再按一下 **「Stair by Top Edge」**。
3. 將樓梯放在模型中，類似於下圖所示。
4. 選取樓梯，並注意其群組名稱與 Dynamo 圖表的名稱相符。
5. 現在，按兩下以編輯群組，並選取巢狀樓梯幾何圖形群組。請注意，群組的名稱與我們在 Dynamo 中為節點指定的名稱相符。

![](https://1391554357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqBONwaUagxWuLSXIwvKO%2Fuploads%2Fgit-blob-b4f5b4739f1f208006ad1d68456cf5107f186471%2F5%20\(17\).png?alt=media)

***注意:*** *不必擔心樓梯的精確位置，我們將在下一節進行微調。*

![](https://1391554357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqBONwaUagxWuLSXIwvKO%2Fuploads%2Fgit-blob-c2c757e3c9f0ca166cf88bd0d7e5b0ec102c1444%2F6%20\(14\)%20\(2\).png?alt=media)

***注意:*** *在此範例中，我們只需要一個* ***SendToFormIt*** *節點，但您可以建立多個節點。每個節點都會根據它來源的* ***SendToFormIt*** *節點的名稱，在 FormIt 中建立新群組。*

## **SelectFromFormIt 節點**

*我們在先前幾章看到，Dynamo 圖表可提示使用者選取特定幾何圖形，然後圖表就會使用該幾何圖形。現在，我們將這些節點的兩個 (2) 加到樓梯圖表中，以便從 Dynamo 內選取的 FormIt 幾何圖形計算樓梯方位、寬度和高度。*

1 - 刪除我們剛才放置的樓梯。

2 - 切換回空的 FormIt 視窗。

3 - 在 **「Dynamo」選項板** 中，按一下 **Stairs by Top Edge** 磚的下拉式清單，然後選取 **「編輯來源圖表」** ，它將在 Dynamo 中再次開啟。

***注意:*** *如果您直接從* ***「性質」選項板*** *按一下* ***「編輯內嵌的圖表」*** *(而非從* ***「Dynamo」選項板**) 編輯 Dynamo 圖表，則您只是編輯該群組的內嵌圖表，而不是編輯儲存在資料夾中我們先前加入至 FormIt 的 Dynamo 資源庫的圖表。*

4 - 這次，我們要加入一些選取節點，這些節點通常位於圖表的起始側或左側附近。拉近至下圖顯示的區域。

![](https://1391554357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqBONwaUagxWuLSXIwvKO%2Fuploads%2Fgit-blob-0534d6a33bc023284961ef36b5b8e59560f43786%2F7%20\(9\).png?alt=media)

5 - 加入新的選取節點：

1. 在 **「附加元件」** 區域中，展開 **「FormIt」** ，然後按兩次 **「SelectFromFormIt」** ，這樣應該會在螢幕中間建立兩個 (2) 新節點。
2. 將它們如下圖所示互相排列在上方，為它們建立一個橙色群組，並命名為 **Geometry Selected from FormIt**。提示使用者在 FormIt 中選取元素的順序，是根據選取節點在 Dynamo 中的垂直位置；最上方的節點會先顯示，最下方的節點會最後顯示。
3. 將頂部節點更名為 **Select Top Edge**，將底部節點更名為 **Select Bottom Floor**。在 FormIt 中執行此圖表時，將會顯示一個 Dynamo 選取精靈，並使用這些節點的名稱做為選取幾何圖形的提示。
4. 在每個節點上按一下右鍵，確保已勾選 **「是輸入」**。它預設應該是，但如果不是，FormIt 就不會辨識這些節點。
5. 將新的選取節點佈線，如下圖所示。每個節點只有一個 (1) 連接。

![](https://1391554357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqBONwaUagxWuLSXIwvKO%2Fuploads%2Fgit-blob-6986ab3ab42b7314975d4d4bb90e7797bc6c7759%2F8%20\(11\).png?alt=media)

***注意:*** *新節點可能會有警告，導致它們變為黃色，如上圖所示。您現在可以忽略這些警告。警告是因為節點需要 FormIt 的幾何圖形，但尚未收到任何幾何圖形 (因為我們剛剛才加入！)。*

6 - 現在，我們需要對圖表做一些變更，以便從選取節點的幾何圖形建立樓梯。首先，我們需要變更 **Floor-to-Floor Height** 和 **Stair Width** 輸入，以便從選取的幾何圖形而非從輸入滑棒取得其值：

1. 按住 **Shift** 鍵時，按一下橙色 **Slider Inputs** 群組內 **Floor-to-Floor Height** 節點的輸出，然後將這些線移至正上方 **Calculated Floor-to-Floor Height** 節點的輸出。
2. 使用相同的技巧，將輸出配線從橙色 **Slider Inputs** 群組中的 **Stair Width** 移至上方 **Calculated Floor-to-Floor Height** 節點的輸出。
3. 刪除舊的 **Floor-to-Floor Height** 和 **Stair Width** 節點，因為我們不再需要它們。

![](https://1391554357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqBONwaUagxWuLSXIwvKO%2Fuploads%2Fgit-blob-28537eb02e9819161fa6cd3d2722be3db90929fd%2F9%20\(8\)%20\(2\).png?alt=media)

***注意:*** *如果您要將任何* *Dynamo 輸入節點加到圖表中，與加入* ***SelectFromFormIt*** *節點非常類似。只要確定它們標記為* ***「是輸入」**，無論您希望它們在 FormIt 中是如何顯示來更名和重新排序，它們都會顯示在 FormIt* ***「性質」選項板**中！*

7 - 最後，拉近至圖表的右端，我們在此之前加入了 **SendToFormIt.Stairs** 節點。我們要切換此輸出節點，以使用根據 FormIt 位置中選取的幾何圖形移動和旋轉的樓梯幾何圖形。只需將連接從 **Stair Geometry** 群組切換至 **Rotated and Translated Stair Geometry** 群組即可。

![](https://1391554357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqBONwaUagxWuLSXIwvKO%2Fuploads%2Fgit-blob-d2efa336db4aaefb33b94ad3e6ec543caeee5021%2F10%20\(8\)%20\(2\).png?alt=media)

## **使用圖表**

1 - 現在，我們已加入選取和烘烤節點，圖表已準備就緒。儲存並關閉 Dynamo，然後切換回 **Encode Campus Sample Model.axm** 的 FormIt 視窗，透過以下方式試用：

1. 請確定您仍在 **Section – Longitudinal** 場景中，然後沿一樓樓梯開口的右邊繪製一條 6' 線。這將定義樓梯的寬度和角度。
2. 在 **「Dynamo」選項板** 中，按一下 **Stairs by Top Edge** 磚啟動圖表。
3. 此時將顯示 Dynamo 選取精靈，指示您使用我們之前為該選取節點指定的名稱 **Select Top Edge** 進行第一次選取。選取我們剛繪製的邊後，按一下 Dynamo 選取精靈中的向前箭頭。
4. 下一個提示是另一個選取節點 **Select Bottom Floor** 的名稱。選取主要編碼建築的一樓樓板，然後按一下勾選標記。
5. 建立樓梯後，請注意在 **「性質」選項板** 中，您現在可以選擇重新選取任一選取節點的幾何圖形。另請注意，與我們刪除的輸入節點 **Floor-to-Floor Height** 和 **Stair Width** 對應的滑棒已不再存在 - 它們現在是從選取的幾何圖形計算而來。

![](https://1391554357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqBONwaUagxWuLSXIwvKO%2Fuploads%2Fgit-blob-1a6a0ea50b03e875cbc6786bad9fd5945ada946d%2F11%20\(8\).png?alt=media)

***注意:** 如果您變更頂部邊緣的位置或底部樓板的高度，並重新執行圖表，樓梯會相應地更新。通常最好避免手動移動任何 Dynamo 產生且依賴 FormIt 選取的幾何圖形，因為這樣可能會變更它與用來建立該幾何圖形的所選幾何圖形的關係。有時，將 Dynamo 群組和選取幾何圖形分組在一起有助於保持它們的連接，並避免任何問題。*

2 - 完成前，請隨意加入您自己的控制。我們使用先前各章涵蓋的各種工具執行了以下作業：

1. 在每個樓板之間建立樓梯。
2. 稍微旋轉下方樓梯的頂部邊緣，以建立與一樓稍微對角的樓梯。
3. 對每個樓梯的某些輸入滑棒進行微調，以達到我們所需的設定。
4. 使用 **Railing Along Path** Dynamo 圖表在樓梯開口周圍建立平台。
5. 使用**掃掠**為每個樓梯加入中央桁條。
6. 將所有樓梯、燈串和扶手全都放在名為 **Encode Main Building – Stairs** 的新圖層上。

![Finished stairs, views in section.](https://1391554357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqBONwaUagxWuLSXIwvKO%2Fuploads%2Fgit-blob-a572999e2ce57664afbfb322c4a4aef5d3bb157a%2F12%20\(7\).png?alt=media)

![Finished stairs, as visible from the Eye Level – Plaza scene.](https://1391554357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqBONwaUagxWuLSXIwvKO%2Fuploads%2Fgit-blob-aa3f89fcc148c9add1c753f1182361b24f37982b%2F13%20\(7\).png?alt=media)
