線をサーフェス・Brepモデルに投影する、Projectの使い方について解説します。


グラスホッパー上では上の2つのどちらかで表されます。
線をサーフェス・Brepモデルに投影する
Projectを使うことで、線をサーフェス・Brepモデルに投影することができます。
同名のProjectがもう1つあり、こちらではオブジェクトを作業平面に投影するコンポーネントになので、注意してください。
もう1つのProjectについて詳しくは、上の記事を参考にしてください。

使用コンポーネント:①Circle ②Rectangle ③Surface ④Project
例として、円の線データをサーフェス上に投影してみます。

CircleのP端子に、座標の数値を入力します。
今回は、500,500,500と入力しています。
そして、CircleのR端子に半径の数値を入力します。
今回は、400を入力しています。
すると、上の画像のように、指定した位置に円の線データが作成されました。

その後、RectangleのXとY端子に、1辺の長さの数値を入力します。
今回は、1000を入力しています。
すると、1000×1000の正方形の線データが作成されます。
その後、RectangleのR端子を、Surfaceにつなげます。
すると、正方形の線データが、サーフェスに変換されました。

その後、Circleを、ProjectのC端子につなげます。
そして、Surfaceを、ProjectのB端子につなげます。
すると、上の画像のように、円の線データが正方形のサーフェスに投影されました。
D端子にベクトルを設定していない場合、デフォルトでは、Z軸方向に投影されます。

CircleのR端子の半径の数値を大きくし、正方形からはみ出るようにしてみます。

その場合、上の画像のように、正方形内の部分のみ投影されます。
Brepモデルに投影する場合
立体的なBrepモデルに投影する場合を見てみましょう。


Unit Zに、押し出す分の数値をを入力します。
今回は、200を入力しています。
その後、Unit Z、をExtrudeのD端子につなげます。
さらに、Surfaceを、ExtrudeのB端子につなげます。
すると、サーフェスが押し出されて、立体的なBrepオブジェクトになりました。

その後、Extrudeを、ProjectのB端子につなげます。
すると、上の画像のように、立体的なBrepオブジェクトにも線が投影されました。
今回の場合、立方体の上面と下面に、線が投影されています。

この場合も、円の半径の数値を大きくして見てみます。

この場合も、立方体内に投影されている部分のみを取得できます。
上の画像の場合、立方体の上面と下面だけでなく、横面にも線データがあることが分かります。

投影後に線同士がつながっている場合、それらの線はつながります。
1つ前の画像の場合、4つの辺がつながり、閉じた線データになっています。
投影する方向を指定する
D端子にベクトルデータをつなげることで、投影する方向を指定することもできます。


RectangleとSurfaceを、それぞれ2セット用意します。
片方のRectangleのP端子には、YZ Planeをつなげます。
すると、Y軸とZ軸からできる作業平面上にも、正方形が作成されます。

そして、1つ目のProjectのD端子には、Unit Zをつなげて、Z軸方向のベクトルを与えています。
2つ目のProjectのD端子には、Unit Xをつなげて、X軸方向のベクトルを与えています。
すると、上の画像のように、投影される方向が変わりました。
Unit Zの縦方向の場合、先程と同じように、円が投影されています。
Unit Xの方は、真横方向から円を投影するため、1つの線になって投影されています。
Projectコンポーネントを使用しているグラスホッパー記事はこちら↓
Comment