STUDIO TAMA

thumbnail

投稿日:2021-11-19

【Grasshopper Tutorial】Parametric Bench

  • #Grasshopper

  • #Basic

  • #GH Modeling

今回は Grasshopper を使用して上画像のような、木板を連ねたようなデザインをしたベンチを作成してみたいと思います。コンポーネント数も比較的少なく、簡単なチュートリアルとなっております。初級者でも問題なくできるかと思いますので是非チャレンジしてみてください。

概要

thumbnail

大まかな流れは以下の様になります。

  • ベンチの元となるオブジェクトを作成
  • 木板を設ける位置の算出
  • 木板の元となるサーフェイスを作成
  • 木板の元となるサーフェイスを押し出し

以上となります。早速解説していきます。

ベンチの元となるオブジェクトを作成

thumbnail
  • Rhinoceros を使用して上 1 枚目画像のような元となるオブジェクトを作成していきます。今回は「Ellipsoid コマンド」で楕円形のようなソリッドを作成しました。
thumbnail
thumbnail
  • オブジェクトを変形させていきます。「Rebuild コマンド」を使用して制御点を増やしていきます。制御点数は u・v 方向どちらも 15 としました。「編集」⇒「制御点」⇒「制御店表示をオン」を選択すると、上画像の様に制御点が表示されます。
  • 「Line コマンド」を使用して 2 枚目の画像の様に、オブジェクトの頂点と頂点を結ぶ直線をモデル化しておきます。
thumbnail
thumbnail
  • 「Ctrl + Shift キーを押しながら選択」することで、制御点を選択することができます。ガムボールを使用して好きな形状にしてみてください。

(※ガムボールの使用方法がわからない方は以下の記事を参照してみてください。)

thumbnail

【Rhinoceros Basics】 Gumballを使いこなして効率よくモデリング

RhinocerosにおけるGumballの基本的な使い方について解説します。

木板を設ける位置の算出

thumbnail

Grasshopper に移動します。木板の位置を算出していこうと思います。

  • Rihinoceros で作成したオブジェクトを Set していきます。「Brep コンポーネント」に楕円形のオブジェクトを「Curve コンポーネント」に楕円形オブジェクトの頂点を頂点を結ぶ Line を Set します。
  • 「Divide Curve コンポーネント」を使用して、「Curve コンポーネント」に Set した Line を分割していきます。分割した位置に木板が設置されます。入力端子 C に「Curve コンポーネント」の出力端子を、入力端子 N には「NumberSlider コンポーネント」を使用して分割数を入力します。今回は 50 を入力しました。
  • 「Interpolate コンポーネント」を使用して分割点を結ぶ Curve を作成していきます。入力端子 V に「Divide Curve コンポーネント」の出力端子 P を接続します。(※「Polyline コンポーネント」でも問題ないですが、頂点を結ぶ Line が直線でない場合もあるかと思いますので、緩やかなカーブで結ぶ「Interpolate コンポーネント」を使用してます)
  • 「Perp Frames コンポーネント」を使用して、各分割点における直線と垂直な平面を求めていきます。
thumbnail

上画像の様に、各分割点に Plane が作成されていれば Ok です。

(※もしかしたら Plane が小さくて見えにくい方もいるかもしれません。その場合は、Grasshopper のメニューバーで「Display」⇒「Preview Plane Size」⇒ 数字を大きくしてみてください。)

木板の元となるサーフェイスを作成

thumbnail
  • 「Brep | Plane コンポーネント」を使用して、元となるオブジェクトと先ほど求めた各分割点における Plane との交線を求めることで、各分割点における木板の断面線を求めていきます。入力端子 B に「Brep コンポーネント」の出力端子を接続し、入力端子 P には「Perp Frames コンポーネント」の出力端子 F を接続します。
  • 「Brep | Plane コンポーネント」の出力端子 C に「Panel コンポーネント」を接続して中身を確認すると、最初と最後に空のブランチが作成されてしまってます。これは、元となるオブジェクトの頂点における交線を算出しようとしているものの、頂点なので交線は算出することができず空のブランチのみを吐き出してしまっております。後々エラーにつながるので、空のブランチを消去していきます。
  • 「Brep | Plane コンポーネント」の出力端子 C に「Flattan Tree コンポーネント」を接続し、データを Flattan することで空のブランチを消去します。
  • 「Flattan Tree コンポーネント」を「Graft Tree コンポーネント」を使用して Graft します。これで空のブランチが消去されました。
  • 「Boundary Surfaces コンポーネント」を使用して各交線をサーフェイス化していきます。
thumbnail

上画像のように各分割点におけるサーフェイスができていれば OK です。

木板の元となるサーフェイスを押し出し

thumbnail
  • 「Boundary Surfaces コンポーネント」で作成したサーフェイスの位置を木板の厚みの中心としますので、「Move コンポーネント」を使用して、厚みの半分の距離移動させます。入力端子 G に先ほど求めたサーフェイスを接続します。
  • 「Move コマンド」の移動させる方向のベクトルを取得していきます。「Perp Frames コンポーネント」の出力端子 F に「Vector コンポーネント」を接続することで、各 Plane に垂直なベクトルを取得できます。
  • 「Amplitude コンポーネント」を使用して Vector の長さを設定します。入力端子 A に木板の厚みとなる数値を入力します。今回は 20mm としています。
  • 「Division コンポーネント」でベクトルを基準となるサーフェイスの移動距離に直します。板厚の半分なので 2 で割っております。
  • 「Move コンポーネント」の入力端子 T に「Division コンポーネント」の出力端子を接続し基準となるサーフェイスが板厚の半分移動できました。
  • 「Extrude コンポーネント」を使用して移動させたサーフェイスを板厚分押し出していきます。入力端子 B には「Move コンポーネント」の出力端子 G を、入力端子 D には「Amplitude コンポーネント」の出力端子に「Negative コンポーネント」で方向を逆転させたベクトルを接続します。
thumbnail

上画像の様に木板ができていれば OK です。最後に「Custom Preview コンポーネント」と「Colour Swatch コンポーネント」を使って好きな色にしてみてください。

thumbnail
thumbnail

以上になります。複雑そうに見えて、実は結構簡単にできてしまいます。初級者向けとなってますので、しっかり中身を理解しながらチャレンジしてみてください!

目 次