[Grasshopper]閉じた線や平面の範囲の差の引き算をするRegion Differenceの使い方

[Grasshopper]閉じた線や平面の範囲の差の引き算をするRegion Differenceの使い方 Grasshopperコンポーネント

閉じた線や平面の範囲の差のブール演算の引き算をする、Region Differenceの使い方について解説します。

見え方1
見え方2

グラスホッパー上では上の2つのどちらかで表されます。


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


閉じた線データの場合

Region Differenceを使うことで、閉じた線や平面の範囲の差のブール演算で、引き算をすることができます。

最初は、閉じた線データの場合を見てみます。

閉じた線データの場合

使用コンポーネント:①RectangleCircle ③Region Difference

最初の例では、正方形と円の線データを作成して、引き算をしてみます。

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

今回は、1000を入力しているので、1000×1000の正方形が作成されました。

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

今回は500を入力しているので、半径500の円が作成されました。

引き算された

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

さらに、CircleのC端子を、Region DifferenceのB端子につなげます。

すると、上の画像のように、正方形が円の部分で引き算された範囲のみが取得できました。

このように、Region DifferenceのA端子のデータを、B端子のデータで引き算をします。

サーフェスの場合

次に、サーフェスの場合も見てみましょう。

サーフェスの場合

追加コンポーネント:①Surface

先程のRectangleCircleの間に、Surfaceを入れます。

すると、閉じた線からサーフェスに変換されます。

引き算できた

サーフェス同士でも、引き算を行うことができました。

線データで出力される

しかし、この場合はサーフェスではなく、線データとして出力されます。

サーフェスとして出力したい場合、Region DifferenceをSurfaceにつなげます。

サーフェスとして出力できた

すると、このようにサーフェスとして出力できます。

P端子で作業平面を指定する

P端子で、引き算をする作業平面を指定することもできます。

P端子で作業平面を指定する

追加コンポーネント:①SeriesUnit ZMoveList itemPlane

今回は、真上方向に正方形と円を複数コピーし、1つの作業平面を指定してみます。

真上方向に正方形と円を複数コピー

SeriesのN端子に1000、C端子に10を入力します。

すると、0, 1000, 2000, ・・・と、1000ずつ大きくなる数値が10個作成されます。

そして、SeriesUnit Zにつなげます。

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

また、RectangleのR端子とCircleを、それぞれMoveのG端子につなげます。

すると、真上方向に正方形と円がコピーされ、10セット作成されました。

1つの作業平面を取得

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

そして、List Itemのi端子に、4の数値を入力します。

すると、5番目の正方形のみを取得することができます。

そして、List Itemを、Planeにつなげます。

これにより、その地点の作業平面のデータを取得することができました。

Graft

その後、Planeを、Region DifferenceのP端子につなげます。

この際に、Region DifferenceのAとB端子を右クリックし、Graftに設定してください。

作業平面が指定できた

すると、このように指定した作業平面の位置でのみ、引き算が実行されました。

Region Differenceコンポーネントを使用しているグラスホッパー記事はこちら↓

コメント

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