2020年8月8日土曜日

【Grasshopper_35】Grasshopperで抜き勾配面(Draft Surface)を作る方法

 

プロダクトデザインをする上で、抜き勾配面を作ることはほぼ必須な機能ですが、Rhinoには存在するこの機能がGrasshopperには無いため、Pythonで構築するしかないのかなと半ばあきらめておりましたが、プラグインを組み込むことで作る方法を見つけました。

事前準備

AsToolという名称のプラグインが必要です。
しかし、food4Rhinoにはファイルが見当たらないので、下記掲示板にアップロードされたファイルをダウンロードして、解凍したファイルをComponents Folderに格納します。


Michael Pryorさんの書き込みにある、AsTools.zip(234.6KB)です。

Step.1 サーフェスを用意する


・適当に、サーフェスを用意します。平面でもOK。

Step.2 縮小化

・Step.1で作成した面をGrasshopperに取り込み、isoTrimコンポーネントを使って縮小化しておきます。

Step.3 ひし形を基準面に配置する

・Step.2で縮小したサーフェス上に、Lunch BoxプラグインのDiamond Panelsを使って配置します。

・Lunch Boxで作成されるオブジェクトは、3Dサーフェス上に生成されるものであっても、カーブは直線で構成されているため、Projectコンポーネントを使ってサーフェス上に投影し、Join Curvesコンポーネントにより結合します。

Step.4 投影した四角形のオフセット処理

・Step.3で作成した四角形を、Offset on Surfコンポーネントを使って面上でオフセットさせます。

Step.5 オフセット曲線の分解

・Step.4で面上オフセットさせた曲線を、後工程で加工しやすいように、4辺に分解します。Discontinuityコンポーネントを使って変曲点を求め、shutterコンポーネントを使って分解します。

Step.6 抜き勾配面を作成する

ここから、いよいよAstoolの機能を使って行きます。表示を見やすくするため、あえて、ひし形2個分のみの表示としていますが、実際はすべてに適用します。
・Step.5で求めた4辺に分解済のひし形曲線を、Astoolプラグインの中にある、Flange Vectorコンポーネントにつないで抜き勾配面を作ります。

・今回のサンプルでは、抜き方向をY軸に対して上向きに3度(赤矢印の方向)、抜き角度を3度として作ってみます。

・V入力が抜き方向、I入力が長さ、a入力が抜き方向に対する抜き角度、b入力が抜き方向の反転です。今回は上の図のような設定でフランジ面を作成します。

・サーフェスの向きによっては数値をマイナスにする必要がありますので各自の環境に合わせて設定します。

Step.7 サーフェスを延長する

・フランジ面を伸ばした状態だと、隣同士のフランジ面の交線が作成できないので、相関を取るためにサーフェスを延長します。
※サーフェスの延長も、元々Grasshopperには無い機能です。

・Step.6で作成した抜き勾配面を、同じくAstoolプラグインの中にあるSurface Extrapolationコンポーネントにつなぎます。

・s入力が、どの辺を延長するか番号で指定します。
 サーフェスを構成する4辺のうち、向かい合うどちらか2つの辺が0もしくは1、それらを両方選択する場合が2となり、残りの2つの辺が3もしくは4、その両方を選択する場合が5、全ての辺の選択が6となります。今回は両方に伸ばしたいので2か5を指定しますが、サーフェスの面構成によって異なりますので各自の環境に合わせます。

・延長量はD入力につなぎます。

・b入力は、延長量の指定方法を決めるもので、Trueが実寸値、Falseが倍率です。今回はTrueにしています。

Step.8 基準面のオフセット面で抜き勾配面をカットする

・Step.7の状態の抜き勾配面は、適当な長さのフランジ長で作っているため、底面でカットする作業をします。

・Spep.1で作成した基準面を、Offsetコンポーネントを使い、抜き方向に5mmオフセットます。

・次に、オフセット面を使って、Step.7で作成した、抜き勾配の延長面をカットし、上の図の緑色の部分を残すようにします。

Step.9 フランジ面を相関でカットする

・延長したフランジ面をカットし、上の図のような囲まれたサーフェスにします。

・パスの1階層につき1個のひし形を構成する4枚のサーフェスが格納されているので、Shift Listコンポーネントを使って、階層内の順番を1つずらし、お互いのサーフェス同士をBrep Splitコンポーネントを使って分割します。ずらすのは1と-1の2つなので、Shift Listコンポーネントを2つ用意し、それぞれのS入力に1と-1をつなぎます。
※W入力はいずれもTrueです。

Step.10 表面のカット

・Step.1で作成した表面を、Step.4で作成した、ひし形のオフセット曲線でカットして枠の部分を取り出します。

Step.11 完成

・最後に、Step.6で2個のみ適用していたものをSplit Treeを外してすべてに適用し、フランジ面と、Step.10でくりぬいた表面を合体させたら完成です。

0 件のコメント:

コメントを投稿

【Grasshopper_98】SporphとSurface Morphingの特徴、違いなどについて

今年もまたGWに突入しましたね。コロナ明けに円安、インバウンド特需のおかげで東京から郊外に出かけると例年以上に混雑に巻き込まれそうなので、昨年と同様、連休中は家に籠ってブログを更新します。今回のテーマは、Surface MorphingとSporphの違いについてまとめてみました。