[Grasshopper]十字を使った天井のデザインの作成方法を解説[データも配布]

grasshopper

今回は、グラスホッパーで十字を使った天井のデザインの作成方法を解説します。


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


全体の様子

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

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

全体の様子5
全体の様子6
全体の様子7
全体の様子8

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

レンダリング

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

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

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

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

全体コンポーネント

全体コンポーネント:①Construct PointRectangleSurfaceDivide Domain²IsotrimAreaNegativeUnit ZMoveLineDivide CurvePopulate 2D ⑬Closest Points ⑭Cull IndexVector 2PtList Item ⑰Surface | Line ⑱Trim Tree ⑲PolyLine ⑳Extend Curve ㉑Brep WireframeCurve MiddleMergePerp FramesDeconstruct PlaneLoftCap Holes

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

天井から下方向へ伸びる線を作成する

最初に、天井から下方向へ伸びる線を作成します。

点

最初に、Construct PointのZ端子に、天井の高さの数値を入力します。

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

すると、上の画像のように、0,0,5000の座標の位置に、点が作成されました。

正方形の線データ

その後、Construct Pointを、RectangleのP端子につなげます。

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

今回は、どちらにも20000の数値を入力しています。

すると、上の画像のように、指定した高さ5000の位置に、20000×20000の正方形の線データが作成されました。

サーフェス

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

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

サーフェスを分割

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

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

今回は、どちらにも20の数値を入力しています。

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

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

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

中心点

その後、Isotrimを、Areaにつなげます。

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

点が真下方向に移動

その後、真下方向に移動させる距離の数値を、Negativeにつなげます。

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

すると、-2000の数値が作成されます。

そして、Negativeを、Unit Zにつなげます。

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

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

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

点をつなぐ線

その後、AreaのC端子とMoveのG端子を、Lineにつなげます。

すると、上の画像のように、2つの点をつなぐ線が作成されます。

これで、天井から下方向へ伸びる線を作成することができました。

線の分割点を作成し、ランダムに点を取得する

次に、線の分割点を作成し、ランダムに点を取得します。

分割点

Lineを、Divide CurveのC端子につなげます。

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

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

すると、上の画像のように、線を5に分割する位置に点が作成されました。

Flatten

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

四角形の線データ

次に、最初に戻り、新たなRectangleを用意します。

そして、最初の方に使った20000の数値を、RectangleのXとY端子につなげます。

すると、地面の位置に、20000×20000の線データが作成されました。

ランダムな点

その後、新たに作成したRectangleのR端子を、Populate 2DのR端子につなげます。

そして、Populate 2DのN端子に、作成するランダムな点の個数の数値を入力します。

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

Populate 2DのS端子には、ランダムさを変える任意のシード値を入力します。

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

すると、作成した正方形内に、ランダムな点が20個作成されました。

近い分割点を取得

その後、Populate 2Dを、Closest PointsのP端子につなげます。

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

さらに、Closest PointsのN端子に、選択する点の個数の数値を入力します。

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

すると、上の画像のように、下にある各点に近い上側にある点が、30個ずつ取得されました。

Flatten

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

点を削除

その後、Divide CurveのP端子を、Cull IndexのL端子につなげます。

さらに、Closest Pointsのi端子を、Cull IndexのI端子につなげます。

すると、上の画像のように、元々の分割点から、取得した点を削除することができました。

Flatten

この際に、Cull Indexの右側のL端子を右クリックし、Flattenに設定してください。

これで、線の分割点を作成し、ランダムに点を取得することができました。

取得した点に正方形を配置する

次に、取得した点に正方形を配置していきます。

1つ目のサーフェスを取得

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

さらに、List Itemのi端子に、0の数値を入力します。

すると、上の画像のように、1つ目のサーフェスのみ取得できました。

1つ目のサーフェスの中心点

その後、List Itemを、Areaにつなげます。

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

取得した点に正方形を配置

その後、AreaのC端子を、Vector 2PtのA端子につなげます。

さらに、Cull Indexを、Vector 2PtのB端子につなげます。

すると、1つの正方形の中心点から、先程取得した、各点までのベクトルデータを取得できます。

その後、List Itemを、MoveのG端子につなげます。

さらに、Vector 2PtのV端子を、MoveのT端子につなげます。

すると、上の画像のように、各点の位置に、正方形のサーフェスが配置されました。

これで、取得した点に正方形を配置することができました。

十字の線を作成する

次に、十字の線を作成していきます。

Graft

MoveのG端子を、Surface | LineのS端子につなげます。

さらに、Lineを、Surface | LineのL端子につなげます。

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

交点

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

データ

その後、Surface | LineのP端子を、Trim TreeのT端子につなげます。

すると、上の画像のように、各階層に縦方向に揃った点データがまとめられます。

点を結ぶ線

その後、Trim Treeを、PolyLineのV端子につなげます。

すると、上の画像のように、縦方向の点を結ぶ線が作成されます。

線を延長

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

そして、Extend CurveのL0端子に、0の数値を入力します。

さらに、Extend CurveのL0端子に、延長する線の長さの数値を入力します。

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

すると、上の画像のように、線の長さが延長されました。

Flatten

この際に、Extend Curveの右側のC端子を右クリックし、Flattenに設定してください。

中心点

その後、MoveのG端子を、Areaにつなげます。

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

Graft

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

枠線

その後、Moveを、Brep WireframeのB端子につなげます。

すると、各サーフェスの枠線を取得できます。

中点

その後、Brep Wireframeを、Curve Middleにつなげます。

すると、枠線の中点を取得できます。

十字線

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

すると、上の画像のように、中心点と中点をつなぎ、十字線を作成できました。

Flatten

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

結合

その後、LineとExtend Curveを、Mergeにつなげます。

すると、縦方向の線と十字線のデータを、結合できました。

Flatten

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

これで、十字の線を作成することができました。

線を中心とした直方体を作成する

最後に、線を中心とした直方体を作成していきます。

正方形の線データ

Mergeを、Perp FramesのC端子につなげます。

さらに、Perp FramesのN端子に、1の数値を入力します。

すると、線の両端に、作業平面が作成されます。

その後、Perp FramesのF端子を、RectangleのP端子につなげます。

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

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

すると、上の画像のように、線の両端に正方形の線データが作成されました。

ベクトル

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

すると、各正方形の中心点が取得されます。

さらに。Perp FramesのF端子を、Deconstruct Planeにつなげます。

すると、線の両端の点データを取得できます。

その後、AreaのC端子を、Vector 2PtのA端子につなげます。

さらに、Deconstruct PlaneのO端子を、Vector 2PtのB端子につなげます。

すると、正方形の中心点から線の端までのベクトルを取得できます。

正方形を移動

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

さらに、Vector 2PtのV端子を、MoveのT端子につなげます。

すると、上の画像のように、線の端を中心になるように、正方形の線データが移動しました。

線を中心とした直方体

その後、Moveを、Loftにつなげます。

すると、両端の正方形の線データをつなぐサーフェスが作成されます。

そして、Loftを、Cap Holesにつなげます。

これで、上の画像のように、サーフェスが閉じ、線を中心とした直方体が完成しました。

完成

これで完成です。

今回は以上になります。

コメント

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