[Grasshopper]前後に交互に組み込む天井ルーバーの作成方法[データも配布]

grasshopper

今回は、グラスホッパーで前後に交互に組み込む天井ルーバーの作成方法ついて解説します。


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


全体の様子

全体の様子1
全体の様子2
全体の様子3

上3枚の画像は、グラスホッパーの様子です。

全体の様子4
全体の様子5
全体の様子6

上3枚の画像は、ライノセラス上に書き出した様子です。

レンダリング

上の画像は、最終的にレンダリングした様子です。

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

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

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

全体コンポーネント

全体コンポーネント:①RectangleSurfaceUnit ZMoveDivide Domain²IsotrimPartition ListFlip MatrixDispatchMergeAreaScale NUNegativeExtrude

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

サーフェスを分割する

最初に、サーフェスを分割していきます。

四角形

RectangleのXとY端子に、四角形の辺の長さの数値を入力します。

今回は、X端子に10000、Y端子に5000の数値を入力しています。

すると、上の画像のように、10000×5000の四角形の線データが作成されました。

サーフェス

その後、RectangleのR端子を、Surfaceにつなげます。

すると、上の画像のように、四角形の線データからサーフェスが作成されました。

真上方向に移動

その後、今回は天井ルーバーなので、真上方向に移動させます。

移動させる距離の数値を、Unit Zにつなげます。

今回は、3500の数値を入力しています。

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

さらに、Surfaceを、MoveのG端子につなげます。

すると、上の画像のように、サーフェスが真上方向に移動しました。

サーフェスを分割

その後、MoveのG端子を、Divide Domain²のI端子につなげます。

さらに、Divide Domain²のUとV端子に、サーフェスの分割数の数値を入力します。

今回は、U端子に100、V端子に10の数値を入力しています。

その後、Divide Domain²を、IsotrimのD端子につなげます。

さらに、MoveのG端子を、IsotrimのS端子につなげます。

すると、上の画像のように、サーフェスが100×10に分割されました。

これで、サーフェスを分割することができました。

分割したサーフェスを場合分けする

次に、分割したサーフェスを場合分けしていきます。

階層分けする

Isotrimを、Partition ListのL端子につなげます。

さらに、Divide Domain²のV端子につなげた10の数値を、Partition ListのS端子につなげます。

すると、分割されたサーフェスが、10個ずつ1つの階層にまとめられました。

1つ目の階層の様子

上の画像は、1つ目の階層にあるサーフェスの様子です。

このように、1つの階層に10個のサーフェスがある状態になります。

行と列を入れ替える

その後、Partition listを、Flip Matrixにつなげます。

すると、データの行と列が入れ替わります。

それにより、上の画像のように、1つの階層に100個のサーフェスがある状態になります。

奇数番目と偶数番目のサーフェス

その後、Flip Matrixを、DispatchのL端子につなげます。

その後、DispatchのAとB端子に、それぞれSurfaceをつなげます。

すると、DispatchのA端子の方のSurfaceからは奇数番目、B端子の方のSurfaceからは偶数番目のサーフェスをそれぞれ取得できます。

行と列を入れ替える前

その後、再度行と列を入れ替えます。

入れ替える前は、DispatchのA端子の方の1つ目の階層のサーフェスは、上の画像のようになっています。

行と列を入れ替えた後

その後、Surfaceを、新たなDispatchのL端子につなげます。

すると、先程のDispatchのA端子の方の1つ目の階層のサーフェスは、行と列が入れ替わり、上の画像のようになります。

これを、先程のDispatchのB端子の方でも、同様の作業を行います。

場合分けできた

その後、元々のDispatchのA端子の方のDispatchのA端子に、Surfaceをつなげます。

さらに、元々のDispatchのB端子の方のDispatchのB端子に、Surfaceをつなげます。

すると、上の画像のように、1つ目の方は奇数番目、2つ目の方は偶数番目のサーフェスのみを取得できました。

結合

その後、2つのSurfaceを、Mergeにつなげます。

すると、上の画像のように、それぞれのサーフェスデータを結合することができました。

Flatten

この際に、MergeのR端子を右クリックし、Flattenに設定してください。

サーフェスのスケールを変えて厚みを付ける

最後に、サーフェスのスケールを変えて、厚みを付けます。

中心点

Mergeを、Areaにつなげます。

すると、上の画像のように、各サーフェスの中心点を取得できました。

スケールを変えた

その後、AreaのC端子を、Scale NUのP端子につなげます。

さらに、Mergeを、Scale NUのG端子につなげます。

さらに、Scale NUのY端子に、倍率の数値を入力します。

今回は、1.5の数値を入力しています。

すると、上の画像のように、各サーフェスが縦方向に1.5倍の長さにスケールが変わりました。

これにより、各サーフェスが交互に組み込む形になりました。

厚み

その後、厚みの数値を、Negativeにつなげます。

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

すると、数値にマイナスが掛けられ、-100の数値が出力されました。

その後、Negativeを、Unit Zにつなげます。

その後、Unit Zを、ExtrudeのD端子につなげます。

さらに、Scale NUのG端子を、ExtrudeのB端子につなげます。

すると、上の画像のように、サーフェスが下方向に押し出され、厚みを付けることができました。

これで完成です。

今回は以上になります。

コメント

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