パラメータを使用する花瓶
suggested exercise
Last updated
suggested exercise
Last updated
パラメータを使用する花瓶の作成は、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 を使用して、さまざまな花瓶のデザインを作成できるようになりました。