2019年12月22日日曜日

【Grasshopper_27】Grasshopperプラグイン「Crystallon」を使ったラティス構造の作り方


2022.2.6追記
※この記事の内容について、Rhino6以降でExoskeletonの動作が不安定なため、Dendroプラグインを使うことをおすすめします。【Grasshopper_46】で紹介しています。

Crystallonというプラグインを用いると、簡単にラティス構造を作ることができたので紹介したいと思います。

一般的に、ラティス構造と呼ばれる格子状の立体構造はGenerative Designと呼ばれている、重量や耐荷重の目標値を保ちながら、軽量化を図る手法として使われています。

従来ならば設計者の経験と勘によって肉抜き部分を作っていたのが、コンピュータによるシミュレーション技術の発達により複雑な形状をコンピューターまかせで作ることが可能になっており、3Dプリンターの普及によって生産までつながることができるようになっています。

これらの構造は、エンジン部品やLEDのヒートシンクなど目につかないところに使われる事例が多いんですが、最近はちらほら、目につくところにあえて使うデザインが見受けられるようになってきました。社内のデザイナーも注目している人が増えています。

ところが、Generative Design用のソフトは値段が高く、そう簡単には導入できないんですよね。そこで、お手軽に作る方法を探したところ、Crystallonの存在を知りました。

Rhinoceros自体には残念ながらソルバーが実装されておらず、エンジニアリング的な最適形状を求めることはできませんが、スライダーによるパターンの数や大きさは自由に変えられるので、その点はメリットと言えるかもしれません。

Crystallonにはサンプルが含まれているので、詳細な使い方はそちらを見ていただくとして、まずは冒頭の画像にあるような、基本形状の作り方を紹介します。

<事前準備>

下記のようなプラグインを使いますので、事前にダウンロードして所定のフォルダに格納してください。
・Crystallon V2
・Weaver bird
・Exoskeleton
・Topologizer

Step1.サーフェスを準備する


・まずは上の図のような、適当なサーフェスを一枚、準備します。

Step2.サーフェスをオフセットさせる


・Step1で作ったサーフェスをGrasshopperに取り込み、オフセット面を2つ作成します。

Step3.Voxelを作成する


・CrystallonのMorph Between Surfaceコンポーネントを使って、2枚のサーフェス間にVoxel構造を作ります。

・Voxelの縦横高さ方向の数は0~1の範囲で指定しますので、rangeコンポーネントを使って入力ポートにそれぞれつなぎます。

・Voxelの形はなるべく立方体に近いほうが見た目がいいので、スライダーで数を調整してください。

Step4.ラティスカーブを作成する


・Step3で作成したVoxelごとにラティスを配置します。

・Cell Selector、Cell Type、Cell Lattice Fillを上図のようにつなぐと、青線のようなカーブの集合体が作成されます。

・種類はいろいろありますが、今回はStar Tetを選択しました。Voxelの隣同士でカーブがつながっていればいいので、ヴァリエーションは色々作れそうです。

Step5.2重線の削除とLatticeの肉厚化


・Step4で作成したLatticeカーブで、2重に重なる部分があれば片方を取り除く必要があるので、Topologizerコンポーネントを使って処理します。Torelanceはお好みで。

・次に、Exowireframeコンポーネントを使ってカーブにメッシュの肉付けをしていきます。

・L入力はFlattenにして階層を平坦化します。

・S入力は、円周方向のメッシュの数です。数を増やすと細かくなります。今回は8に設定します。

・Rs、Reは肉の太さです。太すぎるとメッシュが壊れますが、細すぎると見た目が貧弱になるので、ぎりぎりのところをスライダーで調整します。

Step6.メッシュのサブディビジョン


・Step5で作ったメッシュをMesh Edgeコンポーネントでエッジの形を確認すると、角ばった状態で滑らかではありません。

そこで、Weaver birdのLoop Subdivisionコンポーネントを使って滑らかにします。この機能は簡単にいうと、メッシュをさらに細かく分割して滑らかにするもので、CG業界ではよく使われる機能です。設定はとりあえずデフォルトのままです。

Step7.形状確認


・Rhinoにbakeすると上図のようなメッシュが出来上がります。

では引き続き、冒頭の図の下側の形状作成にうつります。

Step8.Voxel作成まで


・Step3までは同じです(Voxelの数を少し減らしています)。

Step9.2種類のLatticeを作る


・今回は、Tween Cell Fillコンポーネントを使い、2種類のLatticeを作ります。

・入力はBC1(Tween)、BC2(Tween)とし、Va入力は0.5にして、それぞれの割合を半々に設定します。

Step10.エラー修正

実はここで、エラーが発生します。
Tween Cell Fillコンポーネントをダブルクリックして、クラスターの中身を見てみましょう。


赤色になっているのがLine形の端子ですが、今回はPlaner Curveが出力されてますので当然ながらエラーになります。
よって、下図のように直につないで保存します。

Step11.Latticeに肉付けする


・残りのつなぎ方は先ほどの例と同じですが、一つだけ追加処理が必要です。

・Topologizerは入力がLineのみとなっていますが、今回のLatticeカーブはPlaner Curveとなっており、そのままつなぐとエラーになりますので、End Pointsコンポーネントを使って両端の点を取り出し、Lineコンポーネントにつないで直線にしてからTopologizerにつなぎます。

Step12.形状確認


・Rhinoにbakeすると上図のようなメッシュが作成されます。

以上で完成です。



1 件のコメント:

  1. バージョンが変わってこちらの説明で使えなかった。

    返信削除

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

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