GH Basics GH Tutorial Grasshopper Objects

【Grasshopper Tutorial】Circle Packing

今回は、上画像の様なオブジェクトを生成していきたいと思います。難易度はさほど難しくないです。プラグインLunchBoxを使用しております。インストールはこちらから。また、TriRemeshコンポーネントを使用しておりますが、こちらはRhino7からの機能になりますのでご注意ください。
動画の方がよい方は以下のリンクからどうぞ!

概要

上画像がプログラムの全体像です。各ブロックごとに説明していきます。

Circle Packing

  • Sphereコンポーネントで半径100の球体を作成します。
  • TriRemeshコンポーネントを使用し、球体のサーフェイスを三角形メッシュに構成されたメッシュを生成します。
  • kangaroo2のTangentCirclesコンポーネントでCirclePackingを生成する曲線を取得します。

voronoiを使用したパターン 1/2

  • BoundingBoxコンポーネントで球体を囲うBoxを生成し、ScaleコンポーネントでBoxを1.1倍します。
  • Populate 3DでBox内にランダムに点を400点生成します。
  • Voronoi3DコンポーネントでBoxをVoronoi分割します。
  • Brep|Brepコンポーネントで元の球体とVroronoiとの交線を取得します。

voronoiを使用したパターン 2/2

  • Clean TreeコンポーネントでList内の空のブランチを削除します。
  • Discontinuityコンポーネントで取得した交線の頂点を取得します。
  • PolyLineコンポーネントで取得した頂点をポリラインでつなぎ、閉じたポリラインを生成します。
  • Filletコンポーネントで閉じたポリラインの頂点をフィレットします。

LunchBoxを使ったパターン①

  • LunchBoxのQuad Panelsコンポーネントを使い、球体を四角形で分割します。
  • Filletコンポーネントで角にFilletをかけます。

LunchBoxを使ったパターン②

  • LunchBoxのTriangular Panels Aコンポーネントで球体を三角形で分割します。
  • 空のブランチが生成されてしまうので、CleanTreeコンポーネントで不要なブランチを削除します。
  • Filletコンポーネントで角にFilletを掛けます。

Stream Filterでオブジェクトを切替

  • Stream FilterコンポーネントをValueListコンポーネントで生成した4種類のオブジェクトを切替できるようにします。

各曲線を内側にオフセット

  • それぞれの曲線を内側にオフセットします。BoundingBoxコンポーネントをPer Objectにして、曲線を囲うBoxを生成し、VolumeコンポーネントでBoxの中心を取得することで、曲線の中心付近を取得しまます。各曲線が平面になってないパターンがありAreaコンポーネントが使えないパターンがあるのでこのような方法をとってます。
  • Scaleコンポーネントで取得した中心付近の点を中心にして、各曲線を0.7倍して縮小します。
  • EntwineコンポーネントでScale前と後の曲線を各ブランチに格納し、FlipMatrixコンポーネントで縮小前と後の曲線をペアでブランチに格納します。

曲線間にサーフェイスを生成

  • Scaleコンポーネントで曲線をすべて縮小し、曲線の集合体の内部に同様の曲線の集合体を生成します。
  • ListItemコンポーネントで縮小前と後それぞれ、内側と外側の曲線を取得します。
  • Ruled Surfaceコンポ―ネントで各曲線間にサーフェイス張りMergeコンポーネントでまとめて完成です。
  • StreamFilterコンポーネントに接続したValueListコンポーネントを変えて、別パターンでもうまくいってればOkです。

完成

夢は大きく. 対象コースが¥1,600から。

-GH Basics, GH Tutorial, Grasshopper, Objects
-, ,