開発に取り組む前に、新しいプロジェクトのための強固な基盤を築くことが重要です。Dynamo 開発者のコミュニティには複数のプロジェクト テンプレートがあり、ここから始めると便利ですが、プロジェクトをゼロから開始する方法を理解することはさらに重要です。プロジェクトをゼロから構築すると、開発プロセスをより深く理解できます。
Visual Studio は、プロジェクトの作成、参照の追加、.dlls
のビルド、デバッグを行うことができる強力な IDE です。新しいプロジェクトを作成する際に、Visual Studio ではプロジェクトを編成するための構造であるソリューションも作成します。複数のプロジェクトを、単一のソリューション内に配置し、まとめてビルドできます。ZeroTouch ノードを作成するには、C# クラス ライブラリを記述して .dll
をビルドする新しい Visual Studio プロジェクトを開始する必要があります。
Visual Studio の新しいプロジェクトのウィンドウ
まず、Visual Studio を開いて、
File > New > Project
で新しいプロジェクトを作成します。
Class Library
プロジェクト テンプレートを選択します。プロジェクトに名前を付けます(この例ではプロジェクトに MyCustomNode という名前を付けています)。
プロジェクトのファイル パスを設定します。この例では、既定の場所のままにします。
Ok
を選択します。
Visual Studio では自動的に C# ファイルを作成して開きます。適切な名前を付け、ワークスペースを設定し、既定のコードを次の乗算方法で置き換える必要があります。
[
View
]からソリューション エクスプローラ ウィンドウと出力ウィンドウを開きます。右側のソリューション エクスプローラで、ファイル
Class1.cs
の名前をSampleFunctions.cs
に変更します。乗算関数として上記のコードを追加します。Dynamo での C# クラスの読み込み方法については、後で詳しく説明します。
ソリューション エクスプローラ: ここでプロジェクト内のすべてにアクセスできます。
出力ウィンドウ: ビルドが成功したかどうかを後で確認する場合に必要になります。
次の手順ではプロジェクトをビルドしますが、その前に設定をいくつか確認する必要があります。まず、プロジェクトのプロパティで、[Platform target]に Any CPU
または x64
が選択され、Prefer 32-bit
がオフになっていることを確認します。
Project > "ProjectName" Properties
を選択して、プロジェクトのプロパティを開きます。
Build
ページを選択します。ドロップダウン メニューから
Any CPU
またはx64
を選択します。
Prefer 32-bit
がオフになっていることを確認します。
これで、.dll
を作成するためにプロジェクトをビルドできるようになりました。これを行うには、[Build
]メニューから[Build Solution
]を選択するか、ショートカット CTRL+SHIFT+B
を使用します。
Build > Build Solution
を選択します。出力ウィンドウを確認すると、プロジェクトが正常にビルドされたかどうかを判断できます。
プロジェクトが正常にビルドされた場合、プロジェクトの bin
フォルダに MyCustomNode
という名前の .dll
が作成されます。この例では、プロジェクトのファイル パスを Visual Studio の既定である c:\users\username\documents\visual studio 2015\Projects
のままにしました。プロジェクトのファイル構造を確認します。
bin
フォルダには、Visual Studio でビルドされた.dll
が含まれています。Visual Studio プロジェクト ファイル。
クラス ファイル。
ソリューション構成を
Debug
に設定したため、.dll
はbin\Debug
に作成されます。
これで、Dynamo を開いて .dll
を読み込むことができるようになりました。追加機能を使用して、プロジェクトの bin
の場所にナビゲートし、.dll
を選択して開きます。
.dll
を読み込むため、[追加]ボタンを選択します。プロジェクトの場所にナビゲートします。プロジェクトは、Visual Studio の既定のファイル パス
C:\Users\username\Documents\Visual Studio 2015\Projects\MyCustomNode
にあります。読み込む
MyCustomNode.dll
を選択します。[
Open
]をクリックして.dll
をロードします。
ライブラリに MyCustomNode
という名前のカテゴリが作成されている場合は、.dll が正常に読み込まれています。しかし、単一のノードを作成しようとしたところ、Dynamo で 2 つのノードが作成されました。次のセクションでは、このようになる理由と、Dynamo による .dll の読み込みについて説明します。
Dynamo ライブラリ内の MyCustomNode。ライブラリのカテゴリは、
.dll
の名前によって決まります。キャンバス上の SampleFunctions.MultiplyByTwo。
Dynamo は .dll をロードする際、すべてのパブリック静的メソッドをノードとして公開します。コンストラクタ、メソッド、およびプロパティは、それぞれ Create ノード、Action ノード、および Query ノードに変換されます。この乗算の例では、MultiplyByTwo()
メソッドが Dynamo で Action ノードになります。これは、ノードの名前がそのメソッドとクラスに基づいて付けられているためです。
入力には、メソッドのパラメータ名に基づいて
inputNumber
という名前が付けられています。出力に既定で
double
という名前が付けられているのは、これが返されるデータ タイプであるためです。ノードに
SampleFunctions.MultiplyByTwo
という名前が付けられているのは、クラス名とメソッド名であるためです。
上記の例では、さらに SampleFunctions
という Create ノードが作成されました。これは、明示的にコンストラクタを指定しなかったために自動的に作成されたことが原因です。これを回避するには、SampleFunctions
クラスに空のプライベート コンストラクタを作成します。
Dynamo が Create ノードとしてメソッドを読み込みました。
乗算ノードは非常に単純なため、Dynamo への参照設定は必要ありません。たとえば、ジオメトリを作成するために Dynamo の機能にアクセスする場合は、Dynamo NuGet パッケージを参照する必要があります。
ZeroTouchLibrary - Dynamo の Zero Touch ノード ライブラリをビルドするためのパッケージであり、DynamoUnits.dll、ProtoGeometry.dll というライブラリが含まれています。
WpfUILibrary - WPF のカスタム UI を含む Dynamo のノード ライブラリをビルドするためのパッケージであり、DynamoCoreWpf.dll、CoreNodeModels.dll、CoreNodeModelWpf.dll というライブラリが含まれています。
DynamoServices - Dynamo の DynamoServices ライブラリ。
Core - Dynamo の単位およびシステムのテスト インフラストラクチャであり、DSIronPython.dll、DynamoApplications.dll、DynamoCore.dll、DynamoInstallDetective.dll、DynamoShapeManager.dll、DynamoUtilities.dll、ProtoCore.dll、VMDataBridge.dll というライブラリが含まれています。
Tests - Dynamo の単位およびシステムのテスト インフラストラクチャであり、DynamoCoreTests.dll、SystemTestServices.dll、TestServices.dll というライブラリが含まれています。
DynamoCoreNodes - Dynamo のコア ノードをビルドするためのパッケージであり、Analysis.dll、GeometryColor.dll、DSCoreNodes.dll というライブラリが含まれています。
Visual Studio プロジェクトでこれらのパッケージを参照するには、上記のリンクで NuGet からパッケージをダウンロードして .dll を手動で参照するか、Visual Studio の NuGet パッケージ マネージャ を使用します。まず、Visual Studio で NuGet を使用してインストールする方法について説明します。
Tools > NuGet Package Manager > Manage NuGet Packages for Solution...
を選択して NuGet パッケージ マネージャを開きます。
次の図が NuGet パッケージ マネージャです。このウィンドウには、プロジェクトにインストールされているパッケージが表示され、ユーザは他のパッケージを参照できます。DynamoServices パッケージの新しいバージョンがリリースされた場合は、ここからパッケージを更新できます。前のバージョンに戻すこともできます。
[参照]を選択し、DynamoVisualProgramming を検索して Dynamo パッケージを表示します。
Dynamo パッケージです。いずれかを選択すると、そのパッケージの現在のバージョンと内容の説明が表示されます。
必要なパッケージのバージョンを選択し、[インストール]をクリックします。これにより、作業中の特定のプロジェクトにパッケージがインストールされます。Dynamo の最新の公式リリースであるバージョン 1.3 を使用しているため、対応するパッケージのバージョンを選択します。
ブラウザからダウンロードしたパッケージを手動で追加するには、ソリューション エクスプローラから Reference Manager を開いてパッケージを参照します。
[
References
]を右クリックして、[Add Reference
]を選択します。[
Browse
]を選択して、パッケージの場所にナビゲートします。
Visual Studio が適切に構成され、Dynamo に .dll
が正常に追加されたため、今後、コンセプトの強固な基盤となります。これは第一歩にすぎないため、引き続きカスタム ノードの作成方法の詳細について確認してください。