https://www.japandesign.ne.jp/space/hitachinoseikei/
今回は、グラスホッパーでひたちの整形外科の外観を再現しました。
動画で見る
全体の様子


グラスホッパーの様子です。


ライノセラス上の様子です。


ズームした様子です。

最終的にレンダリングした様子です。
それでは、順番に解説していきます。
今回使用したグラスホッパーとライノセラスのデータダウンロードはこちら
ダウンロードできるデータのご利用に関しては、利用規約をご覧ください。
全体コンポーネント


今回のプログラミングでは、Clipperプラグインで使えるPolyline Offsetコンポーネントを使用しています。
そのため、今回のプログラムを使うには、Clipperプラグインをインストールしてください。


全体コンポーネント:①XZ Plane ②Rectangle ③Divide Curve ④Line ⑤List Length ⑥Construct Domain ⑦Random ⑧Integer ⑨Cull Index ⑩Polyline Offset ⑪Surface ⑫Surface Split ⑬List Item ⑭Unit Y ⑮Extrude
点をつなぐ線を作成する
まず、点を作成し、点をつなぐ線を作成します。

まず、XZ Planeを、RectangleのP端子につなげます。
そして、RectangleのX端子とY端子に、辺の長さの数値を入力します。
今回は、X端子に20000、Y端子に5000を入力しています。
すると、上の画像のように、X軸とZ軸から作成される作業平面に、四角形の線データが作成されます。

その後、2つのDivide Curveを用意します。
そして、RectangleのR端子を、2つのDivide CurveのC端子につなげます。
そして、2つのDivide CurveのN端子に、分割数の数値を入力します。
今回は、50を入力しています。
すると、上の画像のように、四角形の線を50に分割する位置に点が作成されます。

この際に、片方のDivide CurveのP端子を右クリックし、Graftに設定してください。

その後、2つのDivide CurveのP端子を、LineのAとB端子につなげます。
すると、上の画像のように、点をつなぐ線が作成されました。

この際に、LineのL端子を右クリックし、Flattenを選択してください。
これで、点をつなぐ線を作成することができました。
ランダムに線を取り除く
次に、ランダムに線を取り除きます。

Lineを、List Lengthにつなげます。
すると、線の本数のデータ数の数値が出力されます。
今回は、2500の数値が出力されています。
その後、Construct DomainのA端子に、0の数値を入力します。
そして、List lengthを、Construct DomainのB端子につなげます。
すると、0 To 2500という数値範囲が作成されます。
その後、Construct Domainを、RandomのR端子につなげます。
RandomのN端子に、ランダムな数値の個数をの数値を入力します。
今回は、4000を入力しています。
そして、RandomのS端子に、任意のランダムさのシード値を入力します。
今回は、100を入力しています。
すると、0~2500の数値範囲で、4000個のランダムな数値が作成されました。
すると、少数の数値が整数に変わりました。
そして、Integerを、Cull IndexのI端子につなげます。
また、Lineを、Cull IndexのL端子につなげます。

すると、ランダムに生成された整数の数値に該当するインデックス番号を持つ線データが削除されます。

余分な線を非表示にした様子です。
これで、ランダムに線を取り除くことができました。
線をオフセットして厚みをつける
最後に、線をオフセットして厚みをつけます。

Cull Indexを、Polyline OffsetのP端子につなげます。
さらに、RectangleのR端子を、Polyline OffsetのPln端子につなげます。
そして、Polyline OffsetのD端子に、オフセットする数値を入力します。
今回は、20を入力します。
すると、上の画像のように、線をオフセットされます。

その後、RectangleのR端子を、Surfaceにつなげます。
すると、正方形のサーフェスが作成されます。

その後、Surfaceを、Surface SplitのS端子につなげます。
また、Polyline OffsetのH端子を、Surface SplitのC端子につなげます。
すると、サーフェスがオフセットされた線で分割されました。

その後、Surface Splitを、List itemのL端子につなげます。
そして、List itemのi端子に、0の数値を入力します。
すると、上の画像のサーフェス部分のみ取得できました。

厚みを付けていきます。
厚みの数値を、Unit Yにつなげます。
今回は、40を入力しています。
その後、Unit Yを、ExtrudeのD端子につなげます。
そして、List Itemを、ExtrudeのB端子につなげます。
すると、厚みを付けることができました。

これで完成です。
今回は以上になります。
Comment