[Grasshopper]セルフリッジ ビルの外観を再現[データも配布]

grasshopper
https://en.wikipedia.org/wiki/Selfridges_Building,_Birmingham

今回は、グラスホッパーでイギリスにあるセルフリッジ ビルの外観を再現しました。


本記事では、コンポーネントはアイコン表示になっています。


全体の様子

全体の様子

ライノセラスとグラスホッパーの様子です。

ズーム

ズームした様子です。

ライノセラス上でマテリアルを付けた

ライノセラス上で、マテリアルを付けた様子です。

レンダリングした様子

最終的にレンダリングした様子です。

それでは、順番に解説していきます。

今回使用したグラスホッパーとライノセラスのデータダウンロードはこちら

ダウンロードできるデータのご利用に関しては、利用規約をご覧ください。

全体コンポーネント

Hexagon Cells1
Hexagon Cells2

今回のプログラミングでは、プラグインであるLunch boxのHexagon Cellsコンポーネントを使用しています。

そのため、今回のプログラムを使用するには、Lunch boxのプラグインをインストールしてください。

Lunch boxダウンロードページはこちら

詳しいダウンロード方法は下のサイトで解説されているので是非参考にしてください。

Lunch boxのダウンロード方法の詳細解説はこちら

全体コンポーネント1
画像をクリックして拡大して見る
全体コンポーネント2
画像をクリックして拡大して見る

全体コンポーネント:①Surface ②Hexagon Cells ③Surface Closest Point ④Evaluate SurfaceCircleEnd PointsMultiplicationNegativeMoveLineFlip CurveDivide CurveSeriesGraph MapperInterpolateRevolutionBrep Join

サーフェス上に6角形を作成する

最初は、サーフェス上に6角形を作成していきます。

ライノセラス上のサーフェス

今回は、上の画像のライノセラス上のサーフェスを使用します。

Surface

最初は、Surfaceにライノセラス上のサーフェスを格納します。

六角形を作成

その後、Surfaceを、Hexagon CellsのSrf端子につなげます。

さらに、Hexagon CellsのUとV端子に、それぞれ縦と横方向に配置する数値を入力します。

今回は、50と220をそれぞれ入力しています。

すると、サーフェス上に六角形の線データが作成されました。

六角形の中点

その後、Hexagon CellsのCenters端子を、Surface Closest PointのP端子につなげます。

さらに、Surfaceを、Surface Closest PointのS端子につなげます。

すると、六角形の中心の点が、サーフェス上に反映されます。

Evaluate Surface

その後、Surface Closest PointのuvP端子を、Evaluate Surfaceのuv端子につなげます。

さらに、Surfaceを、Evaluate SurfaceのS端子につなげます。

すると、サーフェス上の点の位置の情報を取得することができます。

Evaluate SurfaceのP端子からは、点データが出力されます。

N端子からは、点の位置の法線のベクトルデータが出力されます。

F端子からは、点の位置の作業平面データが出力されます。

円を作成

その後、Evaluate SurfaceのF端子を、CircleのP端子につなげます。

さらに、CircleのR端子に、半径の数値を入力します。

今回は、270を入力しています。

すると、上2枚の画像のように、円の線データが作成されました。

その後、Evaluate SurfaceのN端子を、MultiplicationのA端子につなげます。

さらに、円の中心点を移動させる距離の数値を、MultiplicationのB端子につなげます。

今回は、100を入力しています。

さらに、MultiplicationNegativeにつなげ、数値をマイナスにします。

そして、Negativeを、MoveのT端子につなげます。

また、Evaluate SurfaceのP端子を、MoveのG端子につなげます。

すると、上の画像のように、点が移動しました。

線を作成

その後、Evaluate SurfaceのP端子とMoveのG端子を、Lineにつなげます。

すると、上の画像のような直線が作成されました。

これらの直線は、後で回転軸として使います。

Graft

この際に、LineのL端子を右クリックし、Graftに設定してください。

半径の直線

その後、Circleを、End Pointsにつなげます。

すると、円上の点を取得できます。

そして、Evaluate SurfaceのP端子とEnd PointsのS端子を、新たなLineにつなげます。

すると、上の画像のように、半径の直線が作成されました。

点を作成

その後、Lineを、Flip CurveのC端子につなげます。

これは、後で移動させる向きを反対にするためです。

そして、Flip CurveのC端子を、Divide CurveのC端子につなげます。

そして、Divide CurveのN端子に、線の分割数の数値を入力します。

今回は、10を入力しています。

すると、直線を10個に分割する位置に、点が作成されました。

数値の作成

その後、Divide CurveのN端子に入力した10を、SeriesのC端子につなげます。

そして、SeriesのN端子に、0.1を入力します。

すると、0~0.9までの数値が10個作成されます。

Conic

その後、Seriesを、Graph Mapperにつなげます。

そして、Graph Mapperを右クリックし、Graph typesからConicを選択します。

そして、グラフの形を、上の画像のようにします。

点が移動した

その後、Graph Mapperを、MultiplicationのA端子につなげます。

さらに、任意の倍率の数値を、B端子につなげます。

今回は、100を入力しています。

そして、Multiplicationを、新たなMultiplicationのB端子につなげます。

さらに、Evaluate SurfaceのN端子を、MultiplicationのA端子につなげます。

Graft

この際に、MultiplicationのA端子を右クリックし、Graftを選択してください。

その後、Multiplicationを、MoveのT端子につなげます。

また、Divide CurveのP端子を、MoveのG端子につなげます。

すると、上の画像のように、点が段々と移動します。

点をつなぐ曲線

そして、MoveのG端子を、InterpolateのV端子につなげます。

すると、点をつなぐ曲線が作成されます。

回転体

その後、InterpolateのC端子を、RevolutionのP端子につなげます。

そして、GraftしているLineRevolutionのA端子につなげます。

すると、Lineの直線を回転軸として、回転体が作成されます。

その後、Circleを、Surfaceにつなげてサーフェスに変換します。

この際に、Surfaceを右クリックし、Graftに設定してください。

結合

そして、RevolutionSurfaceを、Brep Joinにつなげます。

すると、円と回転体が結合します。

完成

これで完成です。

今回は以上になります。

コメント

Translate »
タイトルとURLをコピーしました