【その3】トンボの羽の模様からお皿をつくる

By 2017年05月11日All posts, blog

今回は、前回のつづきから最終的に3Dデータとしてプリント出来る状態まで書いていこうと思います!

あと、最後の方にここで作ったGrasshopperファイルとデータをアップロードしておきます。よかったら使ってください。

STEP.03【ボロノイ分割で出来たエッジを取得する】

Intersect→Shape→Solid Intersectionコンポーネントを選択します。

26

Solid Intersectionコンポーネントは2つのBrep積のブール演算をします。

積のブール演算とは、AのオブジェクトとBのオブジェクトの重なった部分、

つまり共通部分を抽出します。

27

IntersectionコンポーネントAVoronoi 3DコンポーネントCを接続し、

IntersectionコンポーネントBBrepコンポーネントを接続します。

これで、Aに指定したオブジェクトとBに指定したオブジェクトの共通部分が出来ました。

前回の記事でポイントとして書きましたが、お皿の大きさよりも大きい立方体をつくるのは、積のブール演算をするためです。

 

(見づらいので、Intersectionコンポーネント以外は非表示にします)

28

これで、お皿型のボロノイ分割が出来ました。

次に、Surface→Analytics→Brep Edgesコンポーネントを選択します。

29

Brep Edgesコンポーネントは、Brepのエッジを抽出します。

30

これで、境界線が抽出されました。

Brep Edgesコンポーネント以外を非表示にするとこんな感じに。

311

STEP.04【エッジの線データをもとにモデリングする】

今回は、モデリングするにあたってプラグインの「Topologizer」と「Exoskeleton」、「Weaverbird 」を使用します。
フリーのプラグインなので入れておくと便利です。

まず、Topologizerコンポーネントを選択します。

Topologizerコンポーネントは、トポロジーを整理して、抽出するコンポーネントです。
離れた点や重なった点(この場合は、エッジの先端の点)を結合して、クリーンなトポロジーを作成します。

36

Tの部分に数値を入力してください。とエラーウィンドウが出てきました。
とりあえずほっときます。

37

次に、Exoskeletonコンポーネントを選択します。

Exoskeletonコンポーネントは、ワイヤーフレームに厚みをつけるコンポーネントです。
Topologizerコンポーネントで整理した線に、このコンポーネントで肉付けをします。

38

ExoskeletonコンポーネントTopologizerコンポーネントLの部分を接続します。

39

Params→Input→Number Sliderコンポーネントと、Params→Input→Boolean Toggleコンポーネントを作成します。

Boolean Toggleコンポーネントは、TrueFaulseを切り替えるスイッチみたいなものです。

40

スライダーを6つ複製し、Exoskeletonコンポーネントの SRNBDTopologizerコンポーネントTにそれぞれ接続します。
Boolean Toggleコンポーネントは、ExoskeletonコンポーネントOに接続します。

43e

とんでもないことになりました。

43f

ざっくりですが、各パラメーターを説明するとこんな感じです。

43d

TopologizerコンポーネントTは、トレランス(交差)です。
どのぐらいの範囲で、重なった頂点を結合するかの数値です。
Exoskeletonコンポーネントの各項目は上画像のとおりです。
これらの数値を調整して、形をつくっていきます。

調整するにあたって、各項目は小数点以下1桁まで入力できるので
各スライダーをダブルクリックして、N(整数)をR(浮動小数点数)に変更し、Digits(桁数)を1にします。

2_1_44

↓画像のように調整してみました。

1_45

こんな感じになりました。

46

でも、拡大してみると交点の部分が変な感じになっています。

47

これは、Brep Edgesコンポーネントの格納した線データに階層が出来ているからです。
Brep EdgesコンポーネントEiの部分を右クリックして、Flattenを選択します。
これで、複数の階層が一つになり等価で扱われます。

48

ちゃんと繋がりました。

49

次に、Weaverbird’s LaplacianHC Smoothingコンポーネントを選択します。
Weaverbird’s LaplacianHC Smoothingコンポーネントは、元になるメッシュを滑らかなメッシュに変換します。

50

ExoskeletonコンポーネントWeaverbird’s LaplacianHC SmoothingコンポーネントMを接続します。

511

Number Sliderコンポーネントで2つスライダーをつくります。

1_52

2つのスライダーをWeaverbird’s LaplacianHC SmoothingコンポーネントLAに接続します。
Lは、スムージングのレベル(1〜10までの数値で、数値を上げると滑らかになります)、Aは、スムージングするボリュームの調整(0.0〜1.0までの数値で数値を上げるとボリュームが小さくなります)です。

↓画像のように設定しました。

1_54

次に、Catmull-Clark smoothingコンポーネントを選択します。

1_62

LaplacianHC SmoothingコンポーネントCatmull-Clark smoothingコンポーネントMを接続します。
Catmull-Clark smoothingコンポーネントは、三角形のメッシュを四角形のメッシュに変換します。

1_56

形を保ちつつ、四角形メッシュに細分化します。

1_60

結果、滑らかになります。

611

次に、Params→Geometry→Meshコンポーネントを選択します。
Params→Geometry→Meshコンポーネントは、メッシュオブジェクトを格納します。

1_57

Meshコンポーネントを右クリックして、Bakeします。

1_58

Rhinoceros上にメッシュオブジェクトとして書き出されました。

1_59

RhinocerosからSTLデータで書き出します。
これで3Dデータの完成です!

Grasshopperの全体図は、こんな感じになりました。

64

レンダリングして確認してみるとこんな感じです。

r1

r2

r3

長文でしたが、最後までありがとうございました。
今回のRhinocerosGrasshopperのファイルを貼っておきます。
基本的にどんな形状でもボロノイ化出来ると思うので、良かったら使ってください。(Grasshopper勉強中なのでおかしいところがあるかもしれませんが…)

お皿のデータ
Grasshopperデータ

1_63

最後に、早速DMM.makeにアップロードしてみたら、造形可能のようです。
ポリアミドで発注してみました。
届くのが楽しみです。

 

 

kazuhiro

Author kazuhiro

More posts by kazuhiro

Leave a Reply

CAPTCHA