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
  • 建立 Visual Studio 專案
  • Dynamo 如何讀取類別和方法
  • 加入 Dynamo NuGet 套件參考
Edit on GitHub
Export as PDF
  1. 開發人員手冊
  2. 為 Dynamo 開發

入門

Previous為 Dynamo 開發NextZero-Touch 案例研究 - 網格節點

Last updated 2 months ago

在開始開發之前,為新專案建立堅實的基礎非常重要。Dynamo 開發人員社群中有幾個專案樣板非常適合開始,但瞭解如何從頭開始一個專案更有價值。從頭開始建立一個專案可以更深入地瞭解開發過程。

建立 Visual Studio 專案

Visual Studio 是一個功能強大的 IDE,我們可在其中建立專案、新增參考、建置 .dlls 和除錯。建立新專案時,Visual Studio 也會建立一個「方案」,這是組織專案的結構。多個專案可以在單一方案中,也可以一起建置。若要建立 ZeroTouch 節點,我們需要啟動新的 Visual Studio 專案,然後在當中撰寫 C# 類別資源庫並建置 .dll。

Visual Studio 中的「新增專案」視窗

  1. 首先開啟 Visual Studio 並建立新專案:「File > New > Project」

  2. 選擇「Class Library」專案樣板

  3. 為專案命名 (我們已將專案命名為 MyCustomNode)

  4. 設定專案的檔案路徑。在此範例中,我們讓它保留在預設位置

  5. 選取「Ok」

Visual Studio 會自動建立 C# 檔案並開啟。我們應為其指定適當的名稱、設定工作區,然後以此乘法方法更換預設程式碼。

 namespace MyCustomNode
 {
     public class SampleFunctions
     {
         public static double MultiplyByTwo(double inputNumber)
         {
             return inputNumber * 2.0;
         }
     }
 }
  1. 從「View」開啟「方案總管」和「輸出」視窗。

  2. 在右側的「方案總管」中,將 Class1.cs 檔案更名為 SampleFunctions.cs。

  3. 為乘法函數加入上述程式碼。我們稍後會介紹 Dynamo 如何讀取您的 C# 類別。

  4. 「方案總管」:您可以從這裡存取專案中的所有內容。

  5. 「輸出」視窗:我們稍後需要此視窗,以查看建置是否成功。

下一步是建置專案,但在那之前,需要檢查一些設定。首先,請確定在「平台目標」選取了「Any CPU」或「x64」,且「專案屬性」中未勾選「Prefer 32-bit」。

  1. 選取「Project > "ProjectName" Properties」開啟專案屬性

  2. 選取「Build」頁面

  3. 從下拉式功能表中選取「Any CPU」或「x64」

  4. 確保未勾選「Prefer 32-bit」

現在我們可以建置專案來建立 .dll。若要執行,請從「Build」功能表中選取「Build Solution」,或使用捷徑 CTRL+SHIFT+B。

  1. 選取「Build > Build Solution」

  2. 您可以查看「輸出」視窗,判斷專案是否成功建置

如果專案已成功建置,則專案的 bin 資料夾中會有一個名為 MyCustomNode 的 .dll。在此範例中,我們將專案的檔案路徑保留為 Visual Studio 的預設路徑:c:\users\username\documents\visual studio 2015\Projects。我們來看看專案的檔案結構。

  1. bin 資料夾包含從 Visual Studio 建置的 .dll。

  2. Visual Studio 專案檔。

  3. 類別檔案。

  4. 由於我們的方案組態已設定為「Debug」,因此將在 bin\Debug 中建立 .dll。

現在我們可以開啟 Dynamo 並匯入 .dll。使用「加入」功能,瀏覽至專案的 bin 位置,然後選取要開啟的 .dll。

  1. 選取「加入」按鈕以匯入 .dll

  2. 瀏覽至專案位置。我們的專案位於 Visual Studio 的預設檔案路徑:C:\Users\username\Documents\Visual Studio 2015\Projects\MyCustomNode

  3. 選取要匯入的 MyCustomNode.dll

  4. 按一下「Open」以載入 .dll

如果在名為 MyCustomNode 的資源庫中建立了品類,則表示已成功匯入 .dll!但是,Dynamo 建立了兩個節點,而我們只想要一個節點。在下一節中,我們將說明發生這個狀況的原因,以及 Dynamo 如何讀取 .dll。

  1. Dynamo 資源庫中的 MyCustomNode。「資源庫」品類由 .dll 名稱決定。

  2. 圖元區上的 SampleFunctions.MultiplyByTwo。

Dynamo 如何讀取類別和方法

Dynamo 載入 .dll 時,會將所有公用靜態方法顯示為節點。建構函式、方法和性質將分別轉換為「建立」、「動作」和「查詢」節點。在乘法範例中,MultiplyByTwo() 方法會變成 Dynamo 中的「動作」節點。這是因為節點已根據其方法和類別命名。

  1. 輸入根據方法的參數名稱命名為 inputNumber。

  2. 輸出預設命名為 double,因為這是要傳回的資料類型。

  3. 節點命名為 SampleFunctions.MultiplyByTwo,因為這些是類別名稱和方法名稱。

在以上範例中,多建立一個 SampleFunctions 建立節點是因為我們未明確提供建構函式,因此自動建立了一個建構函式。我們可以在 SampleFunctions 類別中建立一個空的私用建構函式來避免發生這個情況。

namespace MyCustomNode
{
    public class SampleFunctions
    {
        //The empty private constructor.
        //This will be not imported into Dynamo.
        private SampleFunctions() { }

        //The public multiplication method. 
        //This will be imported into Dynamo.
        public static double MultiplyByTwo(double inputNumber)
        {
            return inputNumber * 2.0;
        }
    }
}
  1. Dynamo 已將我們的方法匯入為「建立」節點

加入 Dynamo NuGet 套件參考

乘法節點非常簡單,不需要參考 Dynamo。例如,如果我們要存取任何 Dynamo 功能來建立幾何圖形,則需要參考 Dynamo NuGet 套件。

若要在 Visual Studio 專案中參考這些套件,請從上面連結的 NuGet 下載套件並手動參考 .dll,或使用 Visual Studio 中的 NuGet 套件管理員。首先,我們可以逐步瞭解如何在 Visual Studio 中使用 NuGet 安裝這些套件。

  1. 選取「Tools > NuGet Package Manager > Manage NuGet Packages for Solution...」開啟 NuGet 套件管理員

這是 NuGet 套件管理員。此視窗顯示已為專案安裝的套件,也可讓使用者瀏覽其他套件。如果發行了新版本的 DynamoServices 套件,則可從此處更新套件或回復至舊版。

  1. 選取「瀏覽」並搜尋 DynamoVisualProgramming 以顯示 Dynamo 套件。

  2. Dynamo 套件。選取一個套件會顯示套件的目前版本和內容描述。

  3. 選取您需要的套件版本,然後按一下「安裝」。這會為您正在處理的特定專案安裝套件。由於我們使用的是 Dynamo 的最新穩定版本 1.3 版,因此請選擇對應的套件版本。

若要手動加入從瀏覽器下載的套件,請從「方案總管」開啟「參考管理員」,然後瀏覽套件。

  1. 以右鍵按一下「References」,然後選取「Add Reference」。

  2. 選取「Browse」以瀏覽至套件位置。

現在 Visual Studio 已正確設定,我們也已成功將 .dll 加入 Dynamo,因此,我們已經有堅實的基礎可以讓概念繼續發揮。這只是開始,請繼續跟進,進一步瞭解如何建立自訂節點。

- 用於為 Dynamo 建置 zero touch 節點資源庫的套件,包含以下資源庫:DynamoUnits.dll、ProtoGeometry.dll

- 用於為 Dynamo 建置具有 WPF 自訂使用者介面之節點資源庫的套件,包含以下資源庫:DynamoCoreWpf.dll、CoreNodeModels.dll、CoreNodeModelWpf.dll

- 適用於 Dynamo 的 DynamoServices 資源庫

- Dynamo 的單位與系統測試基礎架構,包含以下資源庫:DSIronPython.dll、DynamoApplications.dll、DynamoCore.dll、DynamoInstallDetective.dll、DynamoUtilities.dll、ProtoCore.dll、VMDataBridge.dll

- Dynamo 的單位與系統測試基礎架構,包含以下資源庫:DynamoCoreTests.dll、SystemTestServices.dll、TestServices.dll

- 用於為 Dynamo 建置核心節點的套件,包含以下資源庫:Analysis.dll、GeometryColor.dll、DSCoreNodes.dll

ZeroTouchLibrary
WpfUILibrary
DynamoServices
Core
Tests
DynamoCoreNodes
Visual Studio
在 Visual Studio 中建立新專案
在 Visual Studio 中設定新專案
使用「方案總管」
Visual Studio 建置設定
建置方案
專案的檔案結構
開啟專案的 dll 檔案
自訂節點
圖表中的 SampleFunction.MultiplyByTwo 節點
方法已匯入為建立節點
開啟 NuGet 套件管理員
NuGet 套件管理員
參考管理員