Dynamo
Primer for v2.0
日本語
日本語
  • この Web サイトについて
  • はじめに
    • Dynamo とは、その動作の仕組みとは
    • Primer ユーザ ガイド、Dynamo コミュニティ、プラットフォーム
  • Dynamo のセットアップ
  • ユーザ インタフェース
    • ワークスペース
    • ライブラリ
  • ノードとワイヤ
  • 基本ノードと概念
    • ノードの索引
    • 計算設計用のジオメトリ
      • ジオメトリの概要
      • ベクトル、平面、座標系
      • 点群
      • 曲線
      • サーフェス
      • 立体
      • メッシュ
    • プログラムの構成要素
      • データ
      • 数学的方法
      • ロジック
      • 文字列
      • 色
    • リストを使用した設計
      • リストの概要
      • リストの操作
      • リストのリスト
      • N 次元のリスト
    • Dynamo のディクショナリ
      • ディクショナリとは
      • [Dictionary]カテゴリのノード
      • コード ブロックにおけるディクショナリ
      • Revit での使用例
  • カスタム ノードとパッケージ
    • カスタム ノード
      • カスタム ノードの概要
      • カスタム ノードを作成する
      • ライブラリへのパブリッシュ
    • パッケージ
      • パッケージの概要
      • パッケージのケース スタディ - Mesh Toolkit
      • パッケージを開発する
      • パッケージをパブリッシュする
      • Zero-Touch Importing
  • 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 Script ノード
      • Python と Revit
      • 独自の Python テンプレートを設定する
    • 言語の変更
  • ベスト プラクティス
    • 見やすいプログラムを作成するためのガイドライン
    • スクリプト作成のガイドライン
    • スクリプト リファレンス
    • プログラムを管理する
    • Dynamo で大規模なデータ セットを効率的に操作する
  • サンプル ワークフロー
    • スタートアップ ワークフロー
      • パラメータを使用する花瓶
      • アトラクタ ポイント
    • 概念インデックス
  • 開発者向け Primer
    • ソースから Dynamo をビルドする
      • ソースから DynamoRevit をビルドする
      • Dynamo での依存関係の管理と更新
    • Dynamo 向けの開発
      • スタートアップ
      • Zero-Touch ケース スタディ - グリッド ノード
      • Zero-Touch ノードで Python スクリプトを実行する(C#)
      • Zero-Touch の詳細を確認する
      • Dynamo ノードの高度なカスタマイズ
      • Dynamo パッケージで COM (相互運用)タイプを使用する
      • NodeModel ケース スタディ - カスタム UI
      • Dynamo 2.x 用のパッケージと Dynamo ライブラリを更新する
      • Dynamo 3.x 用のパッケージと Dynamo ライブラリを更新する
      • 拡張機能
      • Dynamo 2.0+ のカスタム パッケージ編成を定義する
      • Dynamo コマンド ライン インタフェース
      • Dynamo の統合
      • Dynamo for Revit 向けの開発
      • パッケージをパブリッシュする
      • Visual Studio からパッケージをビルドする
      • パッケージとしての拡張機能
    • プル リクエスト
    • テストによる期待
    • サンプル
  • 付録
    • よくある質問(FAQ)
    • ビジュアル プログラミングと Dynamo
    • リソース
    • リリース ノート
    • 便利なパッケージ
    • サンプル ファイル
    • ホスト統合マップ
    • PDF をダウンロード
    • Dynamo のキーボード ショートカット
Powered by GitBook
On this page
  • Visual Studio プロジェクトを作成する
  • Dynamo によるクラスとメソッドを読み込む仕組み
  • Dynamo NuGet パッケージの参照設定を追加する
Edit on GitHub
Export as PDF
  1. 開発者向け Primer
  2. Dynamo 向けの開発

スタートアップ

PreviousDynamo 向けの開発NextZero-Touch ケース スタディ - グリッド ノード

Last updated 1 month ago

開発に取り組む前に、新しいプロジェクトのための強固な基盤を築くことが重要です。Dynamo 開発者のコミュニティには複数のプロジェクト テンプレートがあり、ここから始めると便利ですが、プロジェクトをゼロから開始する方法を理解することはさらに重要です。プロジェクトをゼロから構築すると、開発プロセスをより深く理解できます。

Visual Studio プロジェクトを作成する

Visual Studio は、プロジェクトの作成、参照の追加、.dlls のビルド、デバッグを行うことができる強力な IDE です。新しいプロジェクトを作成する際に、Visual Studio ではプロジェクトを編成するための構造であるソリューションも作成します。複数のプロジェクトを、単一のソリューション内に配置し、まとめてビルドできます。ZeroTouch ノードを作成するには、C# クラス ライブラリを記述して .dll をビルドする新しい Visual Studio プロジェクトを開始する必要があります。

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. 出力ウィンドウ: ビルドが成功したかどうかを後で確認する場合に必要になります。

次の手順ではプロジェクトをビルドしますが、その前に設定をいくつか確認する必要があります。まず、プロジェクトのプロパティで、[Platform target]に 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 に設定したため、.dll は bin\Debug に作成されます。

これで、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 で 2 つのノードが作成されました。次のセクションでは、このようになる理由と、Dynamo による .dll の読み込みについて説明します。

  1. Dynamo ライブラリ内の MyCustomNode。ライブラリのカテゴリは、.dll の名前によって決まります。

  2. キャンバス上の SampleFunctions.MultiplyByTwo。

Dynamo によるクラスとメソッドを読み込む仕組み

Dynamo は .dll をロードする際、すべてのパブリック静的メソッドをノードとして公開します。コンストラクタ、メソッド、およびプロパティは、それぞれ Create ノード、Action ノード、および Query ノードに変換されます。この乗算の例では、MultiplyByTwo() メソッドが Dynamo で Action ノードになります。これは、ノードの名前がそのメソッドとクラスに基づいて付けられているためです。

  1. 入力には、メソッドのパラメータ名に基づいて inputNumber という名前が付けられています。

  2. 出力に既定で double という名前が付けられているのは、これが返されるデータ タイプであるためです。

  3. ノードに SampleFunctions.MultiplyByTwo という名前が付けられているのは、クラス名とメソッド名であるためです。

上記の例では、さらに SampleFunctions という Create ノードが作成されました。これは、明示的にコンストラクタを指定しなかったために自動的に作成されたことが原因です。これを回避するには、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 が Create ノードとしてメソッドを読み込みました。

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 が適切に構成され、Dynamo に .dll が正常に追加されたため、今後、コンセプトの強固な基盤となります。これは第一歩にすぎないため、引き続きカスタム ノードの作成方法の詳細について確認してください。

- Dynamo の Zero Touch ノード ライブラリをビルドするためのパッケージであり、DynamoUnits.dll、ProtoGeometry.dll というライブラリが含まれています。

- WPF のカスタム UI を含む Dynamo のノード ライブラリをビルドするためのパッケージであり、DynamoCoreWpf.dll、CoreNodeModels.dll、CoreNodeModelWpf.dll というライブラリが含まれています。

- Dynamo の DynamoServices ライブラリ。

- Dynamo の単位およびシステムのテスト インフラストラクチャであり、DSIronPython.dll、DynamoApplications.dll、DynamoCore.dll、DynamoInstallDetective.dll、DynamoShapeManager.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 ノード
Create ノードとして読み込まれたメソッド
NuGet パッケージ マネージャを開く
NuGet パッケージ マネージャ
参照マネージャー