[Grasshopper]滑らかなカーブで途切れるルーバーの作成方法[データも配布]

grasshopper

今回は、グラスホッパーで滑らかなカーブで途切れるルーバーの作成方法について解説します。


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


全体の様子

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

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

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

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

レンダリング

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

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

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

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

全体コンポーネント

全体コンポーネント:①Construct pointLineDivide CurveAdditionDivisionSeriesGraph MapperMultiplicationUnit YMoveRuled SurfaceDivide SurfacePolyLineCurve MiddleNegativeConstruct DomainBoundsRemap NumbersUnit ZEnd PointsMergePerp FramesRectangleDeconstruct PlaneAreaVector 2PtLoftCap HolesInterpolate

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

基準となるサーフェスを作成する

最初に、基準となるサーフェスを作成していきます。

点

最初に、2つのConstruct Pointを用意します。

1つ目のConstruct Pointには、何も入力しません。

すると、原点の0,0,0の座標に、点が作成されます。

2つ目のConstruct PointのX端子には、X座標の数値を入力します。

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

すると、10000,0,0の座標の位置に、点が作成されました。

線

その後、2つのConstruct pointを、Lineにつなげます。

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

分割点

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

さらに、分割数の数値を、Divide CurveのN端子につなげます。

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

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

線を10等分する位置に点があるので、点の数は11個になっています。

点を移動させる数値

次に、点を移動させる数値を作成していきます。

先程の分割数の10の数値を、DivisionのB端子につなげます。

さらに、1の数値を、DivisionのA端子につなげます。

すると、1÷10=0.1の数値が出力されます。

その後、先程の分割数の10の数値を、Additionにつなげます。

さらに、1の数値も、Additionにつなげます。

すると、10+1=11の数値が出力されます。

これは、点の数が11個なので、1を足しています。

その後、Divisionを、SeriesのN端子につなげます。

さらに、Additionを、SeriesのC端子につなげます。

すると、Seriesから0から0.1ずつ増加する数値が、11個出力されます。

この数値は、次に使うグラフのX軸の数値になります。

Sine

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

この際に、Graph Mapperを右クリックし、Graph typesからSineを選択してください。

さらに、1つ前の画像を参考に、グラフの形を設定してください。

すると、Graph Mapperから、入力したX軸の数値に該当するY軸の数値が出力されます。

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

さらに、任意の倍率の数値も、Multiplicationにつなげます。

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

その後、Multiplicationを、Unit Yにつなげます。

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

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

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

曲線

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

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

真上方向に移動

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

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

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

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

サーフェス

その後、InterpolateのC端子とMoveのG端子を、Ruled Surfaceにつなげます。

すると、上の画像のように、2つの曲線をつないでサーフェスが作成されました。

これで、基準となるサーフェスを作成することができました。

サーフェスの中心にカーブの基準を作成する

次に、サーフェスの中心にカーブの基準を作成していきます。

サーフェスの分割点

Ruled Surfaceを、Divide SurfaceのS端子につなげます。

さらに、Divide SurfaceのU端子に、任意の分割数の数値を入力します。

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

さらに、Divide SurfaceのV端子に、1の数値を入力します。

すると、上の画像のように、サーフェスを縦方向に80個に分割する位置に、点が作成されました。

点の数は、サーフェスの上側と下側がそれぞれ81個になっています。

点をつなぐ線

その後、Divide SurfaceのP端子を、PolyLineのV端子につなげます。

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

Flatten

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

中点

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

すると、上の画像のように、線の中点を取得できます。

中点を移動させる数値

次に、中点を移動させる数値を作成していきます。

先程のサーフェスの分割数の80の数値を、DivisionのB端子につなげます。

さらに、1の数値を、DivisionのA端子につなげます。

すると、1÷80=0.0125の数値が出力されます。

その後、先程のサーフェスの分割数の80の数値を、Additionにつなげます。

さらに、1の数値も、Additionにつなげます。

すると、80+1=81の数値が出力されます。

これは、上側と下側の点の個数が81個なので、1を足しています。

その後、Divisionを、SeriesのN端子につなげます。

さらに、Additionを、SeriesのC端子につなげます。

すると、0から0.0125ずつ増加する数値が、81個作成されます。

この数値は、次に使うグラフのX軸の数値になります。

Sine

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

この際に、Graph Mapperを右クリックし、Graph typesからSineを選択してください。

さらに、1つ前の画像を参考に、グラフの形を設定してください。

すると、Graph Mapperから、入力したX軸の数値に該当するY軸の数値が出力されます。

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

すると、最小値と最大値の数値範囲が出力されます。

その後、任意の数値を、Negativeにつなげます。

今回は500をつなげているので、-500の数値が出力されます。

その後、Negativeを、Construct DomainのA端子につなげます。

さらに、500の数値を、Construct DomainのB端子につなげます。

すると、-500 To 500という数値範囲が作成されます。

その後、Graph Mapperを、Remap NumbersのV端子につなげます。

さらに、Boundsを、Remap NumbersのS端子につなげます。

さらに、Construct Domainを、Remap NumbersのT端子につなげます。

すると、Graph Mapperから出力される数値が、-500~500の数値に変わりました。

中点が移動した

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

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

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

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

上下に移動

その後、上下に移動させる数値を、Negativeにつなげます。

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

その後、2つのUnit Zを用意します。

500の数値とNegativeを、それぞれUnit Zにつなげます。

その後、2つのMoveを用意します。

先程のMoveのG端子を、新しい2つのMoveのG端子につなげます。

さらに、2つのUnit Zを、それぞれ新しいMoveのT端子につなげます。

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

これで、サーフェスの中心にカーブの基準を作成することができました。

上下から基準のカーブをつなぐ線を作成する

次に、上下から基準のカーブをつなぐ線を作成していきます。

上下から基準のカーブをつなぐ線を作成する

PolyLineを、End Pointsにつなげます。

すると、先程の縦方向の線の両端の点を取得できます。

その後、2つのLineを用意します。

そして、上の画像のように、End PointsのSとE端子と、2つのMoveのG端子を、2つのLineにつなげます。

上下から基準のカーブをつなぐ線を作成できた

すると、上の画像のように、上下から基準のカーブをつなぐ線を作成することができました。

結合

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

すると、上の画像のように、線データを結合することができました。

これで、上下から基準のカーブをつなぐ線を作成することができました。

直方体のルーバーを作成する

最後に、直方体のルーバーを作成していきます。

正方形

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

さらに、1の数値を、Perp FramesのN端子につなげます。

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

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

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

今回は、XとY端子のどちらにも50の数値を入力しています。

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

原点と中心点

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

すると、作業平面の原点の点データを取得できます。

さらに、RectangleのR端子を、Areaにつなげます。

すると、正方形の中心点の点データを取得できます。

移動

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

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

すると、正方形の中心点から、作業平面の原点までのベクトルデータを取得できます。

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

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

すると、上の画像のように、正方形の線データが、作業平面の原点を中心にする位置に移動しました。

完成

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

すると、上の画像のように、四角形の線データをつないで直方体が作成されました。

その後、LoftCap Holesにつなぎ、穴を塞ぎます。

これで、直方体のルーバーを作成することができました。

これで完成です。

今回は以上になります。

コメント

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