カスタム ノード
Dynamo には、ビジュアル プログラミングのさまざまなタスクで使用できる多くのコア ノードが用意されています。ただし、独自のノードを作成した方が、迅速かつ効率的な方法で、簡単に問題を解決できる場合があります。これらの独自のノードは複数の異なるプロジェクトで再利用できるため、グラフが見やすくなります。これらのノードをパッケージ マネージャにプッシュして、世界中の Dynamo コミュニティと共有することもできます。
グラフをクリーン アップする
カスタム ノードは、他のノードとカスタム ノードを「Dynamo のカスタム ノード」内にネストすることによって作成されます。Dynamo のカスタム ノードは、コンテナとして考えることができます。このコンテナ ノードをグラフ内で実行すると、コンテナ ノード内のすべてのノードが実行されるため、ノードを自由に組み合わせて再利用や共有を行うことができます。
変更に対応する
グラフ内でカスタム ノードの複数のコピーを使用している場合、基準となるカスタム ノードを編集することにより、一度にすべてのコピーを更新することができます。これにより、ワークフローや設計にどのような変更が生じた場合でも、グラフをシームレスに更新して変更に対応することができます。
ワーク シェアリング
カスタム ノードの最も便利な機能は、ワーク シェアリング機能です。たとえば、Dynamo の上級ユーザが複雑な Dynamo グラフを作成し、そのグラフを Dynamo を初めて使用する設計者に渡したとします。この場合、グラフを渡されたユーザはそのグラフを簡素化し、設計についてのやり取りに必要な最小限の要素だけに絞り込むことができます。カスタム ノードを開いて内部のグラフを編集することができますが、「コンテナ」はシンプルな状態に保たれます。このプロセスにより、カスタム ノードを使用する Dynamo ユーザは、直感的で見やすいグラフを設計することができます。
ノードを作成するさまざまな方法
Dynamo では、さまざまな方法でカスタム ノードを作成することができます。この章の例では、Dynamo UI からカスタム ノードを直接作成します。C# や Zero-Touch の構文の詳細については、Dynamo Wiki のこのページを参照してください。
カスタム ノード環境
カスタム ノード環境を実際に使用して、パーセンテージを計算する単純なノードを作成してみましょう。カスタム ノード環境は、Dynamo のグラフ環境とは異なりますが、インタラクションは基本的に同じです。では、最初のカスタム ノードを作成してみましょう。
カスタム ノードを一から作成するには、Dynamo を起動して[カスタム ノード]を選択するか、キャンバスで[Ctrl]+[Shift]+[N]を押します。
[カスタム ノード プロパティ]ダイアログボックスで、カスタム ノードの名前、説明、カテゴリを入力します。
- 名前: Percentage
- 説明: Calculate the percentage of one value in relation to another (一方の値に対するもう一方の値のパーセンテージを計算)
- カテゴリ: Core.Math
キャンバスの背景色が黄色で表示されます。これは、カスタム ノードの内部を表しています。このキャンバス内では、Input ノードや Output ノードなど、Dynamo の核となるすべてのノードを使用することができます。この 2 つのノードにより、カスタム ノードでやり取りされるデータにラベルが付けられます。 これらのノードは、[Core] > [Input]で使用することができます。
- Input ノードは、カスタム ノード上に入力ポートを作成します。 Input ノードの構文は、input_name : datatype = default_value(optional) です。
- Output ノードは、Input ノードと同様に、カスタム ノード上に出力ポートを作成して名前を付けます。カスタム コメントを入力ポートと出力ポートに追加して、入力タイプと出力タイプがわかるようにすることをお勧めします。 詳細については、「カスタム ノードを作成する」セクションを参照してください。
作成したカスタム ノードは、.dyf ファイルとして保存することができます(標準ノードの場合は .dyn ファイルとして保存されます)。保存したファイルは、現在のセッションと将来のセッションに自動的に追加されます。カスタム ノードは、そのカスタム ノードのプロパティで指定されているカテゴリ内のライブラリに登録されます。
左側は、既定のライブラリの[Core] > [Math]カテゴリで、右側は、新しいカスタム ノードが追加された[Core] > [Math]カテゴリです。
今後の予定
ここまでの手順では、最初のカスタム ノードを作成しました。これ以降の各セクションでは、カスタム ノードの機能と、一般的なワークフローをパブリッシュする方法について詳しく説明します。次のセクションでは、ジオメトリを特定のサーフェスから別のサーフェスに転送するカスタム ノードを作成する方法について説明します。