[Grasshopper]格子線を滑らかなパイプでつなぐ+部分削除[データも配布]

[Grasshopper]格子線を滑らかなパイプでつなぐ+部分削除[データも配布] grasshopper
本サイトはプロモーションが含まれています

今回は、グラスホッパーで格子線を滑らかなパイプでつなぎ、指定した点のアトラクター周辺部分を削除する方法を解説します。

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


↑YouTube始めました。

本サイトIArchwayでは、GrasshopperやRhinocerousのサポートや相談をココナラで受け付けています。


動画で見る

全体の様子

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

上3枚の画像は、アトラクターの位置を変えた様子です。

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

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

全体の様子7
全体の様子8
全体の様子9
全体の様子10

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

レンダリング

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

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

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

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

全体コンポーネント

全体コンポーネント:①RectangleSurfaceUnit ZExtrudeDeconstruct BrepBrep WireframeMultiple CurvesExplode TreeClosest pointLineMergeShatterCurve MiddlePoint ⑮Closest Points ⑯Cull IndexMultiPipe

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

格子線

最初に、格子線を作成していきます。

正方形

Rectangle(XとY)に、辺の長さの数値を入力します。

今回は、どちらにも20000をつなげています。

すると、上の画像のように、正方形の線が作成されます。

サーフェス

その後、Rectangle(R)を、Surfaceにつなげます。

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

立方体

その後、先程の20000を、Unit Zにつなげます。

さらに、Unit Zを、Extrude(D)につなげます。

さらに、Surfaceを、Extrude(B)につなげます。

すると、上の画像のように、立方体が作成されます。

分解

その後、Extrudeを、Deconstruct Brepにつなげます。

すると、立方体が分解され、6つの面を取得できます。

線

その後、Deconstruct Brep(F)を、Brep Wireframe(B)につなげます。

さらに、分割数を、Brep Wireframe(D)につなげます。

すると、上の画像のように、各面を10×10に分割するように、直線が作成されます。

交差点

その後、Brep Wireframeを、Multiple Curvesにつなげます。

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

Match outputs

その後、Multiple Curves(P)を、Explode Treeにつなげます。

この際に、Multiple Curvesを右クリックし、Match outputsを選択してください。

すると、面の個数分である6個の端子が右側に作成されます。

線

その後、3つのClosest PointLineを用意します。

そして、上の画像のようにつなげてください。

線が作成される

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

Flatten

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

これで、線データを1つにまとめられます。

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

交差点

その後、Mergeを、Multiple Curvesにつなげます。

すると、線の交差する位置の情報を取得できます。

分割

その後、Multiple Curves(tA)を、Shatter(t)につなげます。

さらに、Mergeを、Shatter(C)につなげます。

すると、上の画像のように、線が交差する位置で、線が分割されます。

この際に、Shatter(S)を右クリックし、Flattenに設定してください。

格子線

これで、格子線の作成が完了しました。

中点

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

すると、各線の中点が取得されます。

任意の点

その後、任意のアトラクターの点を作成します。

今回は、Pointに点を格納しています。

周囲の点

Pointを、Closest Points(P)につなげます。

さらに、Curve Middleを、Closest Points(C)につなげます。

さらに、取得する点の個数を、Closest Points(N)につなげます。

今回は、500をつなげています。

すると、上の画像のように、アトラクターの点の周辺の点の情報を取得できます。

削除

その後、Closest Points(i)を、Cull Index(I)につなげます。

さらに、Shatterを、Cull Index(L)につなげます。

すると、上の画像のように、取得した中点に該当する線が削除されました。

パイプ

その後、Cull Indexを、MultiPipe(Curves)につなげます。

さらに、結合部の大きさの数値を、MultiPipe(NodeSize)につなげます。

さらに、結合部の中間の大きさの倍率の数値を、MultiPipe(StrutSize)につなげます。

さらに、1を、MultiPipe(Caps)につなげます。

すると上の画像のように、角が丸く滑らかなパイプが作成されます。

完成

これで完成です。

今回は以上になります。

Comment

Translate »