在參數層級編輯參數是 Dynamo 的一項強大功能。例如,高生產力的演算法或模擬結果可用於驅動該元素陣列的參數。如此一來,同一族群的一組實體在您的 Revit 專案中就可以有自訂性質。
實體參數定義屋頂曲面上的嵌板孔徑,開口率的範圍是 0.1 至 0.4。
以類型為基礎的參數將套用到曲面上的每個元素,因為它們的族群類型相同。例如,每片嵌板的材料可以由以類型為基礎的參數驅動。
如果您先前已設置 Revit 族群,請記住,必須指定參數類型 (字串、數字、標註等)。 從 Dynamo 指定參數時,請確保使用正確的資料類型。
您也可以搭配使用 Dynamo 與 Revit 族群性質中定義的參數式約束。
做為在 Revit 中對參數的快速檢閱,我們還記得存在類型參數與實體參數。兩者都可以在 Dynamo 中進行編輯,但我們在以下練習中將使用實體參數。
在探索編輯參數的廣泛應用時,您可能希望在 Revit 中使用 Dynamo 編輯大量元素。這是_運算量極大的_作業,即作業可能很慢。若您要編輯大量元素,可能需要在開發圖表時,使用「凍結」節點功能以暫停執行 Revit 作業。如需有關凍結節點的更多資訊,請參閱〈實體〉一章中的凍結一節。
自 0.8 版起,Dynamo 基本上不使用單位。Dynamo 藉此可保持抽象的視覺程式設計環境。與 Revit 標註互動的 Dynamo 節點將參考 Revit 專案的單位。例如,若您在 Dynamo 中設定 Revit 中的長度參數,則在 Dynamo 中該值的數字將對應於 Revit 專案中的預設單位。以下的練習以公尺為單位。
為了快速轉換單位,我們使用 「Convert Between Units」 節點。此工具使用方便,可即時轉換長度、面積與體積單位。
按一下下方的連結下載範例檔案。
附錄中提供完整的範例檔案清單。
以下的練習以公尺為單位。
此練習的重點是在 Dynamo 中編輯 Revit 元素而不執行幾何作業。在此我們不匯入 Dynamo 幾何圖形,只編輯 Revit 專案中的參數。此練習是基本練習,對於更高級的 Revit 使用者,請注意這些是量體的實體參數,但可以將相同的邏輯套用至元素陣列,以實現大規模的自訂。僅使用「Element.SetParameterByName」節點即可完成此練習。
先從本節的範例 Revit 檔案開始。我們已移除上一節的結構元素與自適應桁架。在本練習中,我們將重點瞭解 Revit 中的參數式骨架以及 Dynamo 中的操控。
在 Revit 的量體中選取建築,我們將在性質面板中看到實體參數的陣列。
在 Dynamo 中,我們可以選取目標元素來擷取參數。
使用 「Select Model Element」 節點選取建築量體。
使用 「Element.Parameters」 節點,我們可以查詢此量體的所有參數。這包括類型參數與實體參數。
參考 Element.Parameters 節點,以尋找目標參數。或者,我們可以檢視上一步的性質面板,以選擇希望編輯的的參數名稱。在此案例中,我們將尋找對建築量體上的大型幾何移動有影響的參數。
我們將使用 Element.SetParameterByName 節點變更 Revit 元素
使用 Code Block 定義參數清單,每個項目周圍加上引號以表示是一個字串。我們也可以使用 List.Create 節點,搭配一系列 「字串」 節點連接至多個輸入,但使用 Code Block 更快、更輕鬆。請確保字串與 Revit 中的名稱完全相符 (包含大小寫):
{"BldgWidth","BldgLength","BldgHeight", "AtriumOffset", "InsideOffset","LiftUp"};
我們還希望指定每個參數的值。在圖元區中加入六個 「Integer Slider」 ,並更名為清單中的對應參數。此外,按照以上影像設定每個滑棒的值。從上到下依序為:62、92、25、22、8、12
使用與參數名稱具有相同長度的清單定義另一個 Code Block。在此案例中,我們命名的變數 (沒有引號) 會建立 Code Block 的輸入。將 滑棒 插入每個各自的輸入:
{bw,bl,bh,ao,io,lu};
將 Code Block 連接至 「Element.SetParameterByName」* 值輸入。勾選「自動執行」後,我們會自動看到結果。
*此示範使用實體參數,而不是類型參數。
正如在 Revit 中一樣,其中許多參數彼此依賴。當然,存在可能導致幾何圖形中斷的組合。我們可以使用參數性質中定義的公式來解決此問題,也可以使用 Dynamo 中的數學運算來設置類似邏輯 (如果您希望在此練習基礎上進行拓展,這是另一項難題)。
此組合會為建築量體產生很酷的新設計:100、92、100、25、13、51
接下來,我們來看看如何使用類似流程編輯正面。
複製圖表,然後著重瞭解容納桁架系統的正面釉面玻璃。在此範例中,我們隔離四個參數:
{"DblSkin_SouthOffset","DblSkin_MidOffset","DblSkin_NorthOffset","Facade Bend Location"};
此外,我們將建立 Number Slider,並將其更名為適當的參數。前三個滑棒從上到下應重新對映至範圍 [0,10],而最後一個滑棒 「Facade Bend Location」 應重新對映至範圍 [0,1]。這些值從上到下在開始時應採用以下值 (雖然這些是隨機值):2.68、2.64、2.29、0.5
定義新的 Code Block 並連接滑棒:
{so,mo,no,fbl};
透過變更此部分圖表中的 滑棒,我們可以大幅提升正面釉面玻璃的重要性:9.98、10.0、9.71、0.31