このセクションでは、Dynamo の使用を開始するための簡単なワークフローについて説明します。
アトラクタ ポイントは、ジオメトリ パターンを試すのに適しています。距離に基づいてオブジェクトを徐々に変化させるために使用できます。
このワークフローでは、次の方法を学習します。
リストを作成、管理、編集する。
直接操作を使用して 3D プレビューでポイントを移動する。
実行モードを変更する。
この演習では円を作成し、近接する点までの距離により、円の半径の入力値を定義します。この場合、円を作成することが「目的」で、近接する点までの距離が「関係」になります。
距離ベースの関係を定義する点は、通常「アトラクタ」と呼ばれます。 ここでは、アトラクタ点までの距離を使用して、円の大きさを指定します。
下のリンクをクリックして、サンプル ファイルをダウンロードします。
すべてのサンプルファイルの一覧については、付録を参照してください。
目的と関係を確認したところで、グラフの作成を開始します。グラフを作成するには、Dynamo が実行するアクションの順番を表すノードが必要になります。まず、Number、Number Slider、Point.ByCoordinates、Geometry.DistanceTo、Circle.ByCenterPointRadius の各ノードを追加します。
[Input] > [Basic] > [Number]を選択します。
[Input] > [Basic] > [Number Slider]を選択します。
[Geometry] > [Points] > [Point] > [By Coordinates(x,y,z)]
[Geometry] > [Modifiers] > [Geometry] > [DistanceTo]
[Geometry] > [Curves] > [Circle] > [ByCenterPointRadius]
ノードを追加したら、そのノードのポートをワイヤで接続する必要があります。この接続により、データのフローが定義されます。
Number ノードを Point.ByCoordinates ノードに接続します。
Number Sliders ノードを Point.ByCoordinates ノードに接続します。
Point.ByCoordinates (2)ノードを DistanceTo ノードに接続します。
Point.ByCoordinates ノードと DistanceTo ノードを Circle.ByCenterPointRadius ノードに接続します。
プログラム フローの定義が完了したら、後はプログラム フローの実行を Dynamo に対して指示するだけです。プログラムを実行すると、自動的に実行したか手動モードで[実行]をクリックして実行したかに関係なく、データがワイヤ経由で送信され、結果が 3D プレビューに表示されます。
[実行]をクリック - 実行バーが手動モードになっている場合は、[実行]をクリックしてグラフを実行する必要があります。
ノードのプレビュー - ノードの右下隅にあるボックス上にカーソルを合わせると、ポップアップに結果が表示されます。
3D プレビュー - ノードを使用してジオメトリを作成した場合は、そのジオメトリが 3D プレビューに表示されます。
作成ノードに関する出力ジオメトリが表示されます。
プログラムが稼働している場合、アトラクタ点を通過する円が 3D プレビューに表示されます。この状態で、さらに詳細やコントロールを追加することができます。ここでは、半径に対する影響を調整できるように、Circle ノードの入力を調整しましょう。別の Number Slider ノードをワークスペースに追加してから、ワークスペースの空白領域をダブルクリックして Code Block ノードを追加します。次に、Code Block ノードのフィールドで「X/Y
」を指定します。
Code Block
DistanceTo ノードと Number Slider ノードを Code Block ノードに接続します。
Code Block ノードを Circle.ByCenterPointRadius ノードに接続します。
単純なプログラムを作成して次第に複雑なものにしていく方法は、プログラムを段階的に開発するための効果的な方法です。1 つの円で機能するプログラムを作成したら、複数の円でも機能するようにプログラムの性能を拡張してみましょう。1 つの中心点の代わりに点のグリッドを使用し、生成されるデータ構造の変更を適用すると、プログラムによって多くの円が作成されます。各円の半径の値は、アトラクタ点までの調整された距離によって定義されたユニークな値になります。
Number Sequence ノードを追加して Point.ByCoordinates ノードの入力を置き換え、Point.ByCoordinates ノードを右クリックして[レーシング] > [外積]を選択します。
Point.ByCoordinates ノードの後に Flatten ノードを追加します。リストを完全にフラット化するには、
amt
入力を既定の-1
のままにします。3D プレビューが円のグリッドによって更新されます。
場合によっては、数値を操作しない方がいいことがあります。このような場合、背景の 3D プレビューをナビゲートする際に、点ジオメトリを手動で操作することができます。また、点によって作成された他のジオメトリをコントロールすることもできます。たとえば、Sphere.ByCenterPointRadius ノードの場合、直接操作を行うこともできます。点の位置は、Point.ByCoordinates ノードで X、Y、Z の値を使用してコントロールすることができます。ただし、直接操作の場合、3D プレビュー ナビゲーション モードで点を手動で移動することにより、スライダの値を更新することができます。この方法により、点の場所を識別する個別の値セットを直感的にコントロールすることができます。
直接操作を使用するには、移動する点のパネルを選択します。選択した点の上に矢印が表示されます。
3D プレビュー ナビゲーション モードに切り替えます。
点の上にカーソルを合わせると、X 軸、Y 軸、Z 軸が表示されます。
色付きの矢印をクリックして対応する軸にドラッグすると、手動で移動した点に合わせて Number Slider ノードの値が更新されます。
直接操作を実行する前は、1 つのスライダだけが Point.ByCoordinates コンポーネントに接続されていたことに注意してください。点を X 方向に手動で移動すると、X 入力用として新しい Number Slider ノードが自動的に生成されます。
suggested exercise
パラメータを使用する花瓶の作成は、Dynamo 学習の出発点に最適です。
このワークフローでは、次の方法を学習します。
数値スライダを使用して、設計の変数をコントロールする。
ノードを使用してジオメトリ要素を作成および修正する。
設計の結果をリアルタイムで視覚化する。
Dynamo を始める前に、概念上の花瓶をデザインします。
陶芸家の製造基準を考慮した陶器製の花瓶を設計するとします。陶芸家は通常、筒状の花瓶を作るためにろくろを使います。そして、花瓶にさまざまな高さの圧力をかけることにより、花瓶の形状を変えたり、さまざまなデザインを作成したりすることができます。
私たちも同様の方法で花瓶を定義します。異なる高さと半径を持つ 4 つの円を作成し、これらの円をロフトしてサーフェスを作成します。
下のリンクをクリックして、サンプル ファイルをダウンロードします。
すべてのサンプル ファイルの一覧については、付録を参照してください。
Dynamo が実行するアクションの順番を表すノードが必要になります。ここでは円を作成することになるため、最初に、円を作成するノードを探しましょう。[検索]フィールドを使用するか、[ライブラリ]を参照して Circle.ByCenterPointRadius ノードを検索し、ワークスペースに追加します
検索 > 「Circle...」
選択 > [ByCenterPointRadius]
ワークスペースにノードが表示されます
このノードについて詳しく見て行きましょう。左側にはノードの入力(centerPoint と radius)があり、右側にはノードの出力(Circle)があります。出力が水色の線で表示されています。これは、入力に既定値があることを意味します。入力に関する詳細情報を取得するには、名前の上にカーソルを合わせます。radius 入力には 2 重入力が必要で、既定値は 1 です。
既定値の centerPoint をそのままにして、半径をコントロールする Number Slider を追加します。Circle.ByCenterPointRadius ノードで行ったように、ライブラリを使用して Number Slider を検索し、グラフに追加します。
このノードはスライダを含んでいるため、前のノードとは少し異なります。インタフェースを使用して、スライダの出力値を変更できます。
スライダは、ノードの左側にあるドロップダウン ボタンを使用して設定できます。スライダを最大値 15 に制限してみましょう。
Circle.ByCenterPointRadius ノードの左側に配置し、Number Slider 出力を選択して Radius 入力に接続することで、両方のノードを接続します。
また、ノード名をダブルクリックして、Number Slider 名を「Top Radius」に変更します。
続けて、いくつかのノードと接続をロジックに追加して花瓶を定義しましょう。
これらのノードを 4 回コピーして、これらの円がサーフェスを定義するようにし、次に示すように Number Slider の名前を変更します。
円は、中心点と半径によって作成されます
花瓶の高さに対するキー パラメータが欠落しています。花瓶の高さをコントロールするために、別の数値スライダを作成します。また、Code Block ノードも追加します。Code Block は、ワークフローにパーソナライズされたコード スニペットを追加する場合に役立ちます。Code Block を使用して高さスライダにさまざまな係数を掛け、花瓶の高さに沿って円を配置できるようにします。
次に、Geometry.Translate ノードを使用して、円を目的の高さに配置します。花瓶全体に円を分布させるため、Code Block を使用して高さパラメータに係数を掛けます。
2.円は、Z 軸の変数によって変換(移動)されます。
Surface.ByLoft ノードを使用してサーフェスを作成するには、変換されたすべての円をリストに結合する必要があります。List.Create ノードを使用して、すべての円を単一のリストに結合し、最後にこのリストを Surface.ByLoft ノードに出力して結果を表示します。
また、他のノードのプレビューをオフにして、Surface.ByLoft 表示のみを表示します。
3.変換された円をロフトして、サーフェスを作成します。
ワークフローの準備ができました。これで、スクリプトで定義した Number Slider を使用して、さまざまな花瓶のデザインを作成できるようになりました。