連結デザインをスムーズに: はじめに
Grasshopperユーザーの皆さん!今回は、Rhino/Grasshopperで「閉じたカーブをラインに沿って押し出し、特定の形状で正確に切断する」課題を解説します。連結パーツの切り込みデザインでは精度が重要。点への押し出しで開いた空間ができたり、手作業カットが非効率だったりする悩みを、エレガントなパラメトリック手法で解決するテクニックをご紹介します。
課題とExtrudeの基本
元の投稿の「点への押し出しで開いた空間ができる」問題は、押し出し方向の不適切さやブーリアン演算の誤りが原因。Grasshopperで閉じたカーブを押し出す基本はExtrudeコンポーネントです。これにはカーブ(Base)と、方向・距離を定義するベクトル(Direction)を入力。Z軸ならUnit Zですが、特定のラインに沿う場合は、そのラインからベクトルを生成することが精密加工の第一歩です。
ラインに沿った押し出しと精密な切断
特定のラインに沿ってカーブを押し出すには、まず基点となる閉じたカーブをサーフェス化します。Boundary SurfacesやSurface from Planar Curvesを使ってサーフェスを作成しましょう。
次に、押し出す方向を定義するラインを用意します。Rhinoで作成したラインをCurveコンポーネントで読み込むか、Grasshopper内で生成します。このラインの方向をベクトルとして抽出するにはVector 2Ptコンポーネントが便利です。ラインの始点と終点からベクトルを生成し、これをExtrudeコンポーネントのDirection入力に接続します。
押し出しで生成されたソリッドは、切り込みたい形状の「刃」となります。この「刃」を使って元のモデルを切り取るには、ブーリアン演算のSolid Differenceコンポーネントを使います。B入力に「刃」となるソリッドを、A入力に元のモデルを接続すれば、求めていた切り込みを正確に作成できます。斜めの交差でも、この方法なら開いた空間ができる心配がありません。
効率的な応用ヒント
このアプローチはパラメトリックである点が強みです。押し出し方向のラインや元カーブをRhinoで調整するだけで、Grasshopperの定義が自動更新され、結果がリアルタイムに反映されます。複数の連結パーツに同様の加工を施す場合も、この定義を再利用することで効率的に作業できます。距離や方向の制御には、AmplitudeやRotate Vectorも活用しましょう。
まとめ
Grasshopperで閉じたカーブを押し出し、精密な切断加工を行うテクニックは、連結デザインのようなモデリングにおいて非常に強力です。点への押し出しで生じる「開いた空間」の問題を解決し、ExtrudeとSolid Differenceを組み合わせることで、エレガントかつ効率的に目的の形状を作り出せます。ぜひ皆さんのデザインワークフローに取り入れてみてください。
