カーデザイン以外にもアクセサリー等に応用できそうです。
Step1.六角形パターンを作る
・今回はYZ平面上に、Heagonalコンポーネントを使って六角形の集合体を作ります。
・サイズは21、個数が横10、縦28にしています。
・六角形の向きと、端の部分の形をそろえるため、上の図のように、少々ややこしい手順をふんでいますが、まずは上の図のようになっていればokです。
・同時に、Boundinb Boxも求めます。
Step2.六角形のオフセット量を計算する
・Step1で作成した六角形の中心点をAreaコンポーネントで求めます。
・六角形全体のBounding boxを求めてからBrep EdgeコンポーネントとList itemコンポーネントを使ってboxの底辺カーブを取り、中心点との距離をRemapコンポーネントで調整します。
Step3.六角形をオフセットさせる
・Offsetコンポーネントを使い、Step.2で求めた値を使ってオフセット処理すると上の図のようになります。
Step4.六角形とオフセットした六角形の間に面をはる
・Step1とStep3で求めた六角形、及びそのオフセット曲線をそれぞれExplodeコンポーネントで6辺に分解し、Mergeコンポーネントで組み合わせを作りLoftコンポーネントで面化します。
※ここから先は縦と斜めの部分を作成していきます。
Step5.オフセットした六角形を分類する
・Step.3で作った六角形のオフセット形状を、右斜め下、右斜め上、縦の各方向ごとに分類します。
・上の図のようにCull patternコンポーネントその他を使い、合計3種類の六角形に分類します。それぞれHex_A、Hex_B、Hex_Cとします。
※ここまでの作り方によって、Cull pattrenコンポーネントのTrueとFalseを入れ替える必要があります。
Step6.縦方向の桟を面化する
・Step.5で作ったHex_Bについて、まずは縦方向の桟を作るカーブ群をExplodeコンポーネントで6辺に分解します。
・List Itemコンポーネントで6辺のうちの4辺(上2本と下2本)を取り出します。
・同時に、六角形の一辺の長さを求めておきます。
Step7.縦桟の幅の計算
・縦桟の幅を決めるノードを作ります。
・Step.2と同じ要領で、box底辺と縦桟を作る六角形の中心点との距離を求め、Remapコンポーネントで範囲を調整します。(0から1の範囲に収まるようにします)
Step8.縦桟を面化する
・Step.6で取り出した4つの辺を、shutterコンポーネント使い抽出します。
・抽出する辺の長さはStep.7のRemapコンポーネントの出力をつなぎます。
※shutterコンポーネントのC入力のreparameterizeは忘れずにチェックする。
※t入力の印のところは、Expression欄に1-xを入力しています。
・あとはLoftコンポーネントで面化したら縦桟は完成です。
Step9.左斜め下方向の桟を作成する
・続いて、Step.5で求めたHex_AとHex_CをCull patternコンポーネントを使って上の図のように分類し、桟を作る六角形を選択します。
・Explodeコンポーネントを使い辺を分解したあと、6辺のうち4辺を抽出します。
Step10.左斜め下方向の桟の幅を求める
・Step.7と同様に、左斜め下桟の幅を徐変させる値を求めます。
Step11.左斜め下方向の桟を面化する
・Step.8と同じ要領で面化します。
Step12.右斜め下方向の桟を面化する
・右斜め下方向の桟もStep9~Step11と同じ要領で面化します。
Step13.ブーリアン演算を行う
・これまでに求めた基本面、縦桟、左斜め下桟、右斜め下桟の4種類のsurfaceをBrep EdgeコンポーネントとJoin Curvesコンポーネントで枠を作り、Region Unionコンポーネントでboolean演算させると上図のようになります。(左上の欠落部分はバグです)
※Join Curvesコンポーネントの出力はすべてFlattenにしておきます。
0 件のコメント:
コメントを投稿