Dynamo
Primer for v2.0
繁體中文
繁體中文
  • 關於
  • 簡介
    • 什麼是 Dynamo?它如何運作?
    • 手冊使用者指南、Dynamo 社群與平台
  • 安裝 Dynamo
  • 使用者介面
    • 工作區
    • 資源庫
  • 節點和線路
  • 基本節點和概念
    • 節點的索引
    • 用於計算設計的幾何圖形
      • 幾何圖形概述
      • 向量、平面和座標系統
      • 點
      • 曲線
      • 曲面
      • 實體
      • 網格
    • 程式的建置區塊
      • 資料
      • 數學
      • 邏輯
      • 字串
      • 顏色
    • 使用清單設計
      • 什麼是清單
      • 使用清單
      • 清單的清單
      • n 維清單
    • Dynamo 中的字典
      • 什麼是字典
      • 字典節點
      • 程式碼區塊中的字典
      • Revit 使用情況
  • 自訂節點和套件
    • 自訂節點
      • 自訂節點簡介
      • 建立自訂節點
      • 發佈至資源庫
    • 套件
      • 套件簡介
      • 套件案例研究 - Mesh Toolkit
      • 開發套件
      • 發佈套件
      • Zero-Touch 匯入
  • 適用於 Revit 的 Dynamo
    • Revit 連接
    • 選取
    • 編輯
    • 建立
    • 自訂
    • 記錄
  • Dynamo for Civil 3D
    • Civil 3D 連接
    • 入門
    • 節點資源庫
    • 範例工作流程
      • 道路
        • 燈柱放置
      • 面
        • 服務放置
      • 公用程式
        • 更名結構
      • 鐵路
        • 間隙包絡線
      • 測量
        • 點群組管理
    • 進階主題
      • 物件併入
      • Python 和 Civil 3D
    • Dynamo 播放器
    • 有用的套件
    • 資源
  • Dynamo in Forma Beta 版
    • 設定 Forma 中的 Dynamo Player
    • 在 Dynamo Player 中加入和分享圖表
    • 在 Dynamo Player 中執行圖表
    • Dynamo 計算服務與桌面版 Dynamo 的差異
  • 在 Dynamo 中撰寫程式碼
    • 程式碼區塊和 DesignScript
      • 什麼是程式碼區塊
      • DesignScript 語法
      • 速寫
      • 函數
    • 使用 DesignScript 的幾何圖形
      • DesignScript 幾何圖形基礎知識
      • 幾何基本型
      • 向量數學
      • 曲線:內插和控制點
      • 平移、旋轉和其他轉換
      • 曲面:內插、控制點、斷面混成、迴轉
      • 幾何參數化
      • 交集和修剪
      • 幾何布林運算
      • Python 點產生器
    • Python
      • Python 節點
      • Python 和 Revit
      • 設定您自己的 Python 樣板
    • 語言變更
  • 最佳實踐
    • 圖表策略
    • 指令碼撰寫策略
    • 指令碼撰寫參考
    • 管理您的程式
    • 在 Dynamo 中有效率地處理大型資料集
  • 範例工作流程
    • 入門工作流程
      • 參數式花瓶
      • 牽引點
    • 概念索引
  • 開發人員手冊
    • 從原始碼建置 Dynamo
      • 從原始碼建置 DynamoRevit
      • 管理和更新 Dynamo 中的相依性
    • 為 Dynamo 開發
      • 入門
      • Zero-Touch 案例研究 - 網格節點
      • 在 Zero-Touch 節點中執行 Python 指令碼 (C#)
      • 深入瞭解 Zero-Touch
      • 進階 Dynamo 節點自訂
      • 在 Dynamo 套件中使用 COM (互通性) 類型
      • NodeModel 案例研究 - 自訂使用者介面
      • 針對 Dynamo 2.x 更新您的套件和 Dynamo 資源庫
      • 針對 Dynamo 3.x 更新套件與 Dynamo 資料庫
      • 延伸
      • 定義 Dynamo 2.0+ 的自訂套件組織
      • Dynamo 指令行介面
      • Dynamo 整合
      • 為 Dynamo for Revit 開發
      • 發佈套件
      • 從 Visual Studio 建置套件
      • 將延伸當作套件
    • 提取請求
    • 測試預期結果
    • 範例
  • 附錄
    • 常見問題
    • 視覺程式設計和 Dynamo
    • 資源
    • 發行說明
    • 有用的套件
    • 範例檔案
    • 主體程式整合對應表
    • 下載 PDF
    • Dynamo 鍵盤快速鍵
Powered by GitBook
On this page
  • 選取 Revit 元素
  • Revit 階層
  • 使用 Dynamo 節點進行資料庫導覽
  • 練習
  • 選取量體和表面
  • 選取樑
  • 選取桁架
Edit on GitHub
Export as PDF
  1. 適用於 Revit 的 Dynamo

選取

PreviousRevit 連接Next編輯

Last updated 1 month ago

選取 Revit 元素

Revit 是資料豐富的環境。這能為我們提供許多選取功能,而不僅僅是「點選」。我們可以查詢 Revit 資料庫,並將 Revit 元素動態連結至 Dynamo 幾何圖形,同時執行參數式作業。

使用者介面中的 Revit 資源庫提供「Selection」品類,藉此可採用許多方式選取幾何圖形。

Revit 階層

若要正確選取 Revit 元素,請務必全面理解 Revit 元素階層。要選取專案中所有的牆嗎?請依品類選取。要選取中世紀現代大廳中的每把 Eames 椅子嗎?請依族群選取。

我們來快速複習 Revit 階層。

記得生物學的分類法嗎?界、門、綱、目、科、屬、種?Revit 元素的分類方式與此類似。在基本層級,可將 Revit 階層分為不同的品類、族群、類型*及例證。例證是個別模型元素 (具有唯一的 ID),而品類可定義一般群組 (例如「牆」或「地板」)。以此方式組織 Revit 資料庫後,我們可以選取一個元素,然後根據階層中的指定層級選擇所有類似元素。

*Revit 中類型的定義與程式設計中的類型不同。在 Revit 中,類型是指階層的分支,而非「資料類型」。

使用 Dynamo 節點進行資料庫導覽

以下三個影像分別展示了 Dynamo 中 Revit 元素選取的主要品類。這些工具十分適合互相搭配使用,在後續練習中會研究其中部分工具。

點選 是直接選取 Revit 元素最簡單的方式。您可以選取完整的模型元素,也可以選取其拓樸的一部分 (例如一個面或一條邊)。這會與該 Revit 物件保持動態連結,因此在 Revit 檔案更新其位置或參數時,參考的 Dynamo 元素在圖表中也將更新。

下拉式功能表 會建立 Revit 專案中所有可存取元素的清單。您可以使用下拉式功能表參考視圖中不一定可見的 Revit 元素。這是非常強大的工具,可用於在 Revit 專案或族群編輯器中查詢既有元素或建立新元素。

![](../.gitbook/assets/selecting _database_navigation_with_dynamo_nodes_02.png)

您也可以依 Revit 階層 中的特定層級選取 Revit 元素。這是一個功能強大的選項,可自訂大型資料陣列,以準備進行記錄或生產實體化及客製化。

記住以上三個影像,接下來深入練習,練習會選取基本 Revit 專案中的元素,為我們將在本章其餘各節建立的參數式應用程式做好準備。

練習

在下方的連結按一下,下載範例檔案。

附錄中提供完整的範例檔案清單。

在此範例 Revit 檔案中,包含一個簡單建築的三種元素類型。我們會以此為例,在 Revit 階層的環境中選取 Revit 元素。

  1. 建築量體

  2. 樑 (結構框架)

  3. 桁架 (自適應元件)

根據 Revit 專案視圖中目前存在的元素,我們可以做出哪些結論?若要選取適當的元素,我們需要在階層中下移多遠?處理大型專案時,這無疑會變為更複雜的工作。有許多選項可供使用,選取元素時可依據品類、層級、族群、例證等。

選取量體和表面

  1. 由於我們使用基本設置,因此我們在「Categories」下拉式節點中選擇 「Mass」 來選取建築量體。您可以在「Revit」>「Selection」頁籤中找到。

  2. 「Mass」品類的輸出是品類自身。我們需要選取元素。為了執行此作業,我們使用 All Elements of Category 節點。

此時請注意,我們在 Dynamo 中看不到任何幾何圖形。我們已選取 Revit 元素,但尚未將該元素轉換為 Dynamo 幾何圖形。這是重要的區分。選取大量元素時,不建議在 Dynamo 中預覽所有元素,因為這樣會拖慢所有作業的速度。Dynamo 這個工具無需執行幾何運算,即可管理 Revit 專案。本章的下一節會進一步說明該功能。

在此案例中,我們將使用簡單的幾何圖形,因此希望將幾何圖形引入 Dynamo 預覽。上面 Watch 節點中的「BldgMass」旁有一個綠色數字。這代表該元素的 ID,可看出我們目前在處理 Revit 元素,而不是 Dynamo 幾何圖形。下一步是將此 Revit 元素轉換為 Dynamo 中的幾何圖形。

  1. 使用 Element.Faces 節點,可取得一份曲面清單,代表 Revit 量體的每一個面。我們現在可以在 Dynamo 視埠中看到幾何圖形,可以開始參考用於參數式作業的面。

以下是替代方法。在此案例中,我們不是透過 Revit 階層選取 (「All Elements of Category」) ,而是選擇在 Revit 中明確選取幾何圖形。

  1. 使用 Select Model Element 節點,按一下「選取」(或 「變更」) 按鈕。在 Revit 視埠中,選取所需的元素。在此案例中,我們將選取建築量體,

  2. 我們可以使用 Element.Geometry 選取完整量體作為一個實體幾何圖形,而非 Element.Faces。這會選取該量體內包含的所有幾何圖形。

  3. 我們可以使用 Geometry.Explode 再次得到曲面清單。這兩個節點的運作方式與 Element.Faces 相同,但是提供其他選項用於探究 Revit 元素的幾何圖形。

使用一些基本清單作業,我們可以查詢感興趣的面。

![](images/2/selecting - exercise 05.jpg)

  1. 首先,將前面選取的元素輸出至 Element.Faces 節點。

  2. 接著,使用 List.Count 節點顯示出我們正在處理量體中的 23 個曲面。

  3. 參考此數量,我們將 Integer Slider 的最大值變更為 「22」 。

  4. 使用 List.GetItemAtIndex,我們輸入清單和 Integer Slider 以提供 index。在選取的值之間滑動,到達 index 9 時停止,如此就隔離了支撐桁架的主要正面。

上一個步驟稍顯繁瑣。使用 Select Face 節點可以更快執行此作業。藉此可以隔離 Revit 專案中並非元素本身的面。互動方式與 Select Model Element 相同,只是選取的是曲面,而不是完整的元素。

假設我們要隔離建築的主要正面牆。我們可以使用 Select Faces 節點執行此作業。請按一下「選取」按鈕,然後在 Revit 中選取四個主要正面。

選取四面牆後,務必在 Revit 中按一下「完成」按鈕。

現在,這些面已匯入 Dynamo 成為曲面。

選取樑

現在,我們看看中庭上方的樑。

  1. 使用 Select Model Element 節點,選取其中一根樑。

  2. 將樑元素插入 Element.Geometry 節點,現在可在 Dynamo 視埠中看到樑。

  3. 可以使用 Watch3D 節點拉近幾何圖形 (若未在 Watch 3D 中看到樑,請按一下右鍵,然後按一下「縮放至佈滿」)。

Revit/Dynamo 工作流程中可能經常會遇到以下問題:如何選取一個元素並取得所有類似元素?由於選取的 Revit 元素包含其所有階層資訊,因此我們可以查詢其族群類型,並選取該類型的所有元素。

  1. 將樑元素插入 Element.ElementType 節點。

  2. Watch 節點顯示現在輸出是族群符號,而不是 Revit 元素。

  3. Element.ElementType 是個簡單的查詢,因此我們在程式碼區塊執行時可以像使用 x.ElementType; 一樣輕鬆,並得到相同結果。

  1. 為了選取其餘的樑,需使用 All Elements of Family Type 節點。

  2. Watch 節點顯示我們已選取五個 Revit 元素。

  1. 我們也可以將所有這五個元素轉換為 Dynamo 幾何圖形。

是否不論何種情況,若要匯入 500 根樑,所有曲面都需要執行所需的參數運算?還是其實可以擷取樑的基本資訊,並使用基本幾何圖形執行生成工作?在逐步瞭解本章內容的過程中,需要隨時考慮這個問題。例如,我們接下來看看桁架系統。

選取桁架

使用相同的節點圖表,選取桁架元素而不是樑元素。執行此作業之前,刪除上一步驟中的 Element.Geometry。

接下來,我們準備從桁架族群類型擷取一些基本資訊。

  1. 在 Watch 節點中,可以看到我們從 Revit 中選取的自適應元件清單。我們希望擷取基本資訊,因此從自適應點開始。

  2. 將 All Elements of Family Type 節點插入 AdaptiveComponent.Location 節點。這會產生一個清單的清單,其中每個清單都包含三點,表示自適應點的位置。

  3. 若連接 Polygon.ByPoints 節點,即會傳回 polycurve,可以在 Dynamo 視埠中看到。透過此方法,我們看到了一個元素的幾何圖形,並提取了其餘一系列元素 (數量可能多於此範例) 的幾何圖形。

秘訣:若在 Dynamo 中按一下 Revit 元素的綠色數字,Revit 視埠將縮放至該元素。

如果有 500 根樑會怎樣呢?將所有這些元素轉換為 Dynamo 幾何圖形會非常慢。若 Dynamo 花費很長時間來計算節點,您可能要在開發圖表時,使用「凍結」節點功能以暫停執行 Revit 作業。如需有關凍結節點的更多資訊,請參閱〈實體〉一章中的 一節。

凍結
5MB
Revit-Selecting.zip
archive
UI