これまでキルティング形状の作り方を何度もトライしてきましたが、sporphを使う方法を試したところ、案外いけるんじゃないかなと思いました。
ではいつもの通り、作り方の紹介です。
・Rhinoで作ったサーフェス、及び面上線をGrasshopperに取り込みます。サーフェスは1枚で、トリムされていない状態であることが必要です。自動車の造形面など複数枚で構成される部分については近似面を事前に作成してから取り込みます。
・SquisherコンポーネントにつないでXY平面上に展開。見やすい位置になるよう、回転と移動を組み合わせて位置調整します。この辺りはお好みで。
・Topビュー表示にします。
・展開したサーフェスの外周エッジを取り出します。展開したカーブは1次曲線で構成されたポリカーブとなってしまうため、discontinuityコンポーネントで求めた変曲点のうち、4隅の点をカーブで囲って抽出し、3次の曲線にリビルドします。
・求めた4本のカーブを使ってサーフェスを張り、LunchBoxプラグインのDiamond Panelsコンポーネントにつないで縦長のひし形を配置し、展開サーフェスの外周エッジとの相関を取って閉曲線を求めます。
・ひし形の縦方向の大きさや端の切れ方を調整するため、上下にサイズ調整が可能なサーフェスを張り、そこにひし形を配置する方法にしています。
・冒頭でGrasshopperに取り込んだ3DサーフェスをXZ平面に投影し、そこに展開サーフェス上に作ったひし形の閉曲線をマッピングします。
・同じく冒頭で取り込んだ面上線も同様にXZ平面に投影し、マッピングした閉曲線の相関部分を取り出します。
・Frontビューで表示します。
・閉曲線の形は辺が2本のみの形から6本の形までバラバラとなっているため、それぞれ個別に分けてモデリングする必要があります。そこで、Discontinuityコンポーネントにつなぎ、変曲点の数で分類します。
・まずは辺の数が4本の場合。いったんサーフェス化したあと、Iso CurveコンポーネントにつなぎUV方向共に5本の構成線を作成し、改めてサーフェス化します。
・GraphMapperコンポーネントを使ってRangeコンポーネントから出力した数列に変化をつけ、Iso Curveコンポーネントにつなぎ密度を変化させた構成線を求め、改めてサーフェス化します。
・求めたサーフェスの制御点の中から、膨らませた形状を作るための移動に必要な点、およびその点のインデックス番号を取り出します。
・同時に、すべての制御点の移動ベクトルを0,0,0に仮で設定し、全個数分のベクトルデータを用意します。
・Point Deformコンポーネントにつないで膨らませたサーフェスを作る工程です。
・各ひし形のエッジ近傍は移動量を0とし、ひし形の中心に向かって徐々に移動量を大きくする設定です。ここでは最大突出量を5mmにし、変化量をGraphMapperで調整します。
・次は辺の数が3本のサーフェスです。
・辺を分解し、その後にEdge Surfaceコンポーネントにつないでサーフェス化しますが、辺の長さでソートし、reverse Listコンポーネントにつないで辺の長い順になるよう反転してからEdge Surfaceコンポーネントにつなぎます。こうすることで三角形のUV原点が揃います。
・同じく移動する制御点を抽出します。
・同じくPoint Deformコンポーネントにつないでサーフェス化。こちらは突出量を3mmにしました。
・次は辺の数が5本の場合。
・5本の辺を使ってサーフェス化するとアントリムサーフェスとなってしまいますので、最も短いエッジを削除し、辺が4本のひし形サーフェスをいったん作成します。
・辺が4本の場合と同じ工程をたどります。
・こちらも同様です。
・膨らみ形状を作るための移動させる制御点の抽出ですが、ひし形サーフェスの制御点をそのまま使うと枠からはみ出るような形になるため、サーフェスのエッジから内側に6mmオフセットさせたカーブより外側の制御点は除外します。
・Point Deformコンポーネントにつないでサーフェス化し、はみ出た部分をSurface Splitコンポーネントにつないで分割&除外します。
・次は辺が6本の場合。考え方は5本の場合と同様です。まずは微小エッジを外してひし形サーフェス化します。
・こちらも同様です。
・移動させる制御点の抽出。こちらも同様です。
・移動させる制御点の除外。こちらも同様です。
・Point Deformコンポーネントにつないでサーフェス化。こちらも同様です。
・辺が2本の場合、膨らませる形状は作らず平面サーフェスのままにしておきますので、冒頭で取り込んだ3DカーブをXZ平面に投影し、サーフェス化したのちに分割して4個所を取り出します。
・ここまでで作成した、全5種類のサーフェスをBrep Joinコンポーネントにつないで結合します。Open Brepが一つだけの状態であればOKです。
・XZ平面上の膨らませたサーフェスを、Sporphコンポーネントにつないで3Dサーフェス上にモーフィングさせます。
・3Dサーフェスの閉曲線より外側の部分と結合させ、Open Brepが一つだけの状態であればOKです。
・気になる個所は細かなサイズや数の変更等で調整が終わったら完成です。
0 件のコメント:
コメントを投稿