[Grasshopper]ひたちの整形外科の外観を再現[データも配布]

grasshopper
https://www.japandesign.ne.jp/space/hitachinoseikei/

今回は、グラスホッパーでひたちの整形外科の外観を再現しました。


本記事では、コンポーネントはアイコン表示になっています。


全体の様子

グラスホッパーの様子1
グラスホッパーの様子2

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

ライノセラス上の様子1
ライノセラス上の様子2

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

ズーム1
ズーム2

ズームした様子です。

レンダリング

最終的にレンダリングした様子です。

それでは、順番に解説していきます。

今回使用したグラスホッパーとライノセラスのデータダウンロードはこちら

ダウンロードできるデータのご利用に関しては、利用規約をご覧ください。

全体コンポーネント

Polyline Offset1
Polyline Offset2

今回のプログラミングでは、Clipperプラグインで使えるPolyline Offsetコンポーネントを使用しています。

そのため、今回のプログラムを使うには、Clipperプラグインをインストールしてください。

Clipperプラグインのダウンロードページはこちら

プラグインのインストール方法の解説ページはこちら

プラグインのインストール方法の解説ページ(英語版)はこちら

全体コンポーネント1
画像をクリックして拡大して見る
全体コンポーネント2
画像をクリックして拡大して見る

全体コンポーネント:①XZ PlaneRectangleDivide CurveLineList LengthConstruct DomainRandomIntegerCull Index ⑩Polyline Offset ⑪SurfaceSurface SplitList ItemUnit YExtrude

点をつなぐ線を作成する

まず、点を作成し、点をつなぐ線を作成します。

四角形

まず、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端子につなげます。

すると、上の画像のように、点をつなぐ線が作成されました。

Flatten

この際に、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個のランダムな数値が作成されました。

その後、Randomを、Integerにつなげます。

すると、少数の数値が整数に変わりました。

そして、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端子につなげます。

すると、厚みを付けることができました。

完成

これで完成です。

今回は以上になります。

コメント

Translate »
タイトルとURLをコピーしました