S社の某車種のグリルパターンに関して、実際にどのような手段でモデリングしたのかはわかりませんが、たとえGrasshopperのようなアルゴリズムエディターを使うにしても、これだけで完結させるのは難しく、ディテールについては手作業で修正が必要になるかなと思います。
今回は、Grasshopperで作成可能な範囲で、その作り方をご紹介いたします。
Step.1 投影先のサーフェスを用意する
・まずは3Dサーフェスを用意します。お試しであれば平面サーフェスでも可。
Step.2 パターンを配置する範囲を決める
・今回は、XZ平面上にパターンを配置する範囲を求めます。・Bounding Boxコンポーネントを使って大きさを割り出し、Scaleコンポーネントを使って拡大します。大きめに作って、必要な個所だけ抜き出すという考え方です。こうしておけば、造形変更によって形が少し大きめに変わっても対応可能です。大は小を兼ねるみたいな感じですね。
Step.3 六角形を作る
・作成した枠の中に六角形を敷き詰めます。・六角形には向きが2つあり、真上が角の状態と平行線の状態です。それらはサーフェスのUV軸の向きで切り替わるので、Adjust UVコンポーネントを使って、真上が平行線の状態にします。
・六角形のうち、外周部にある欠けた状態のものは除外しますので、Explodeコンポーネントを使って辺を分解し、6本かどうかをEqualityコンポーネントを使って判別し、完全な六角形のみ取り出します。
Step.4 二つのノードに分ける
・Step.3で作った六角形を縦方向の列ごとで見ると位置が2通りあります。この後の工程を考えると、分けた方がやりやすいかなと判断しましたので、上の図のように、縦列ごとに交互になるよう分離します。それぞれ判別しやすいようにDiamond_A、Diamond_Bという名前にしておきます。Step.5 実際に投影する六角形を取り出す
・実際に投影させる六角形を取り出します。・Rhino上でポリラインカーブを使ってXZ平面上に閉曲線を作り、Grasshopperに取り込み後、Point in Curveコンポーネントを使って中心点の内外判定を行い、分離します。
・投影先の3Dサーフェスの縁よりも内側にある部分を指定するようにします。
・上の図で試しにスケールをかけた状態を表示しています。実際のスケール処理はさらに後工程で行います。
・Diamond_A、Diamond_Bそれぞれに設定を行います。
Step.7 パスをまとめる
・次に、左右方向のスケール値を求める工程に移りますが、Diamond_AとDiamond_Bに分かれた状態だとやりずらいので、一つのノードにまとめます。・それぞれ交互になる状態を維持しながら一つのノードにまとめたいので、上の図のようにパスの記号を加工してからMergeコンポーネントを使います。
・Step.4で求めた六角形のデータと、Step.6で求めた倍率値の両方に行います。
Step.8 横方向の倍率を求める
・次に、左右方向の倍率を求めます。・上の図で試しにスケールをかけた状態を表示しています。実際のスケール処理はさらに後工程で行います。
・Minimumコンポーネントを使うことで数値を比較して、小さい方を取り出すことができます。
・その数値を使って、実際にスケールダウンさせると上の図のようになります。
Step.10 フィレット作業を行う
・六角形の角をつぶして丸みをつける作業はフィレットで行います。・フィレットの数値を、グリルの中心から外側に向かって徐々に大きくしていきたいので、全体を囲む閉曲線をRhino上で作ってからGrasshopperに取り込み、各六角形の中心点から取り込んだ曲線までの最短距離を求め、Remapコンポーネントを使って実際の角Rのレンジに変換してからフィレット化します。
Step.11 マッピング元のサーフェスを作る
・次に、これまでに作った六角形は縦横に整然と並んだ状態なので、これをマッピングを使ってゆがませる工程にうつります。・まずは、Rhino画面に戻り、上の図のようにマッピング元のサーフェスをXZ平面上に作ります。
・これまでに作った六角形がぎりぎり入るぐらいの大きさでOKです。
・注意点としては、サーフェスは4辺確保する必要があります。上の図では、底辺はフィレットを2か所に付けて1本の曲線にしています。
Step.12 マッピング先のサーフェスを作る
・次に、マッピング先のサーフェスを同じくXZ平面上に作ります。後で制御点を移動させて調整するので、まずはざっくりとした形でOKです。・こちらも注意点としては、サーフェスは4辺確保する必要があります。
Step.13 サーフェスのリビルドを行う
・Step.12で作成したマッピング先のサーフェスの制御点を移動させて修正させやすいように、サーフェスをリビルドして数を減らします。Step.14 マッピングを行う
・Step.11とStep.13で作成したサーフェスをGrasshopperに取り込み、Map to Surfaceコンポーネントにつないでマッピングを行います。・六角形の形を調整する場合、サーフェスを選択した状態でF10キーを押して制御点を表示させ、マウスで位置を動かします。移動はガムボールを使うことをお勧めします。
・左右対称に横方向に移動させるときは赤色の□を操作、上下に移動は緑矢印をクリックして操作します。
・上の図は制御点移動後のサーフェスを上にコピーした状態です。
・今回は、穴の底面として、10mmオフセットさせた面を使用します。それぞれに六角形を投影し、Surf Splitコンポーネントを使って分割し、必要な個所を取り出します。
・穴の側面はLoftコンポーネントを使って面を張ります。面がねじれる場合は投影した六角形の曲線の向きが、投影によって部分的に反転してしまいますので、それを回避するために、Flip Curveコンポーネントを使って、投影後の曲線の向きを投影前の向きに合わせる必要があります。
0 件のコメント:
コメントを投稿