[Grasshopper]点、線、面を抽出する方法をソリッド、サーフェス、ラインを使い紹介

Grasshopperで点、線、面を抽出 grasshopper

grasshopperを使っていると点、線、サーフェスをモデルから抽出したい場面が多くあると思います。

しかし、どのコンポーネントを使用すれば自分の使いたい部分だけ抽出できるのかは、Grasshopperに慣れていない時には難しいと思います。

そこで今回は実際にソリッド、サーフェス、線からそれぞれの構成要素を抽出する方法を紹介します。

結論としてはソリッドとサーフェスの場合は“Deconstruct Brep”、線の場合は“End Points”を使用すればできます。

Deconstruct Brep and End Points components

それでは解説していきます。下のリンクから今回のGrasshopperとライノセラスのデータをダウンロードできるので是非ご利用ください。

今回のGrasshopperとライノのデータダウンロードはこちら

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

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

アイコン表示に変えたい場合、以下のリンク先の記事を参考にしてください。

ソリッドとサーフェスの場合

最初のコンポーネントはこちらになります。

抽出するためのコンポーネント1

使用コンポーネント:① Geometry ② Deconstruct Brep ③List Item

初期のソリッド

まずは使用するソリッドもしくはサーフェスをGeometryに収納します。

最初にGeometryコンポーネントを右クリックします。

そして”set one geometry”を選択するとモデルを格納できます。

Deconstruct Brepで分解

次にDeconstruct Brepを使用します。

これを使うことで、現在モデルは面、線、点に分解されています。

F端子には面、E端子には線、V端子には点のデータが格納されています。

しかしこのままでは分解されているだけで自分の取り出したい部分を抽出できていません。

List Itemで面を抽出

そこでList Itemを使用します。

このコンポーネントはi端子に数値を入力することで、インデックス番号に対応するデータを抽出できます。

簡単に表現すると、面が6つある場合、1つ1つの面に番号が割り当てられていて、0~5の1つを入力することで1つだけ抽出できます。

List Itemの数値を変えた

上の写真のように数値を0から1にしてみます。

選択された側面の変化

そうすると、選択されている面が正面から右側面に変わりました。

このようにして自分の取得したい部分を抽出することができます。

線を抽出

こちらは線を抽出している様子です。

点を抽出

このように点も抽出できます。

サーフェスの場合

最初にGeometryに入れるデータをサーフェスにしても同様に分解、抽出することができます。

しかし、線の場合はエラーが発生します。そのため線を分解したい場合には他の方法が必要です。

線の場合

線の場合のコンポーネントはこちらになります。

線を分解するコンポーネント

使用コンポーネント:④ Curve ⑤ End Points

Curveに線を格納

まずはCurveに線を収納します。先程のGeometryの時と方法は一緒です。

コンポーネントを右クリックし”set one geometry”でできます。

End Pointsで線から点を抽出

そしてEnd Pointsを使用します。

このコンポーネントは、線の最初と最後の点を抽出することができます。

S端子は始まりの点、E端子からは終わりの点が抽出できます。

これにより、線から点を抽出することができます。

まとめ

Grasshopperで点、線、面を抽出

まとめです。

Grasshopperでサーフェス、線、点を抽出したい場合には

ソリッドとサーフェスの場合は"Deconstruct Brep"

線の場合は"End Points"

です。今回は以上になります。