ライノセラスやグラスホッパーを使用していると、作成しているモデルの上にオブジェクトを配置したい時があると思います。
しかし、複雑なモデルや曲面の場合は難しいです。
そこで今回はGrasshopperで簡単に、また直感的にモデルの上にオブジェクトを配置する方法を解説します。
結論としてOrientというコンポーネントが重要になります。
Orientコンポーネント
今回はOrientを使用し、3つの配置方法を解説します。
![全体のコンポーネント](https://iarchway.com/wp-content/uploads/2023/10/1-5-1024x423.png)
全体のコンポーネントはこのようになります。
今回のGrasshopperとライノセラスのデータは下のリンクからダウンロードできるので是非活用してください。
今回のGrasshopperとライノセラスのデータダウンロードはこちら
ダウンロードできるデータのご利用に関しては、利用規約をご覧ください。
それでは解説していきます。
3つの方法の共通部分
最初に3つの方法の共通部分について解説します。
![モデルを分解](https://iarchway.com/wp-content/uploads/2023/10/2-5-1024x392.png)
使用コンポーネント:① Brep ② Deconstruct Brep
![Deconstruct Brepを使用](https://iarchway.com/wp-content/uploads/2023/10/3-4-1024x576.jpg)
まずはBrepコンポーネントに配置したいモデルと配置されるモデルを格納してください。
そしてDeconstruct Brepを使用することで2つのオブジェクトをそれぞれ分解します。
このコンポーネントにより、サーフェス、線、点の3つに分解されます。
F端子からはサーフェス、E端子からは線、Vからは点が出力されます。
![List Itemコンポーネント](https://iarchway.com/wp-content/uploads/2023/10/3-5-1024x392.png)
使用コンポーネント:③ List Item
次にDeconstruct BrepのF、E、V端子にそれぞれList Itemを接続します。
List Itemはi端子に任意の数値を入力することで、該当するインデックス番号のデータを取り出すことができます。
今回の場合番号を変えることで順番に1つずつ点、線、サーフェスを選択できます。
![点を抽出](https://iarchway.com/wp-content/uploads/2023/10/4-4-1024x576.jpg)
![線を抽出](https://iarchway.com/wp-content/uploads/2023/10/5-5-1024x576.jpg)
![サーフェスを抽出](https://iarchway.com/wp-content/uploads/2023/10/6-4-1024x576.jpg)
上の3つの画像のように番号を変えることで1つのデータのみを抽出できました。
ここまでが3つの方法でどちらも使う内容です。
ここからは1つずつ3つの方法を解説します。
点上に配置する
![点上に配置するコンポーネント](https://iarchway.com/wp-content/uploads/2023/10/4-4-1024x392.png)
使用コンポーネント:④ Orient
![点を抽出](https://iarchway.com/wp-content/uploads/2023/10/4-4-1024x576.jpg)
点上に配置する方法です。
先程のList Itemで抽出した点を用意します。
![点上に配置](https://iarchway.com/wp-content/uploads/2023/10/7-4-1024x576.jpg)
そしてOrientのG端子に移動させたいモデル、A端子に移動させたいモデルの点、B端子に移動先の点を接続します。
これにより点上にモデルが移動しています。
この後説明する線をA端子に接続し組み合わせることで、頂点に線を組み合わせることもできます。
線上に配置する
![線上に配置するコンポーネント](https://iarchway.com/wp-content/uploads/2023/10/5-4-1024x392.png)
使用コンポーネント:⑤ Evaluate Curve ⑥ Orient
![線を抽出](https://iarchway.com/wp-content/uploads/2023/10/5-5-1024x576.jpg)
次は線上に配置する方法です。
先程のList Itemで抽出した線を用意します。
そしてEvaluate Curveに接続します。
そしてt端子に小数点で1.0を接続します。
![Reparameterizeに設定](https://iarchway.com/wp-content/uploads/2023/10/8-1.png)
そしてC端子を右クッリクしてReparameterizeを選択してください。
これをすることにより、線の位置を先程の入力した0~1.0で指定することができます。
例えば線の長さが10mmだった場合、0.1を入力すると1mmの場所が選択できるようになります。
![Evaluate Curveを使用](https://iarchway.com/wp-content/uploads/2023/10/8-5-1024x576.jpg)
これにより線上で数値に対応する点を移動できるようになりました。
上の画像の場合、左のモデルは0.5、右のモデルはおそらく0.7を入力しています。
![Orientを使用](https://iarchway.com/wp-content/uploads/2023/10/9-4-1024x576.jpg)
そしてOrientを使用すると線上にモデルを配置できます。
![数値を変更](https://iarchway.com/wp-content/uploads/2023/10/10-6-1024x576.jpg)
数値を変更することで、このように3角錐に入り込んだり位置を変更できます。
サーフェス上に配置する
![サーフェス上に配置するコンポーネント](https://iarchway.com/wp-content/uploads/2023/10/6-3-1024x392.png)
使用コンポーネント:⑦ Area ⑧ MD Slider ⑨ Evaluate Surface ⑩ Orient
![Areaを使用](https://iarchway.com/wp-content/uploads/2023/10/11-5-1024x576.jpg)
最後にサーフェス上に配置する方法を解説します。
先程のList Itemで抽出したサーフェスを用意します。
移動させたいモデルにAreaを使用します。
これにより、C端子からサーフェスの中心点を取得することができます。
![Evaluate Surfaceを使用](https://iarchway.com/wp-content/uploads/2023/10/11.5-1024x576.jpg)
次に配置されるサーフェスにEvaluate Surfaceを使用します。
このコンポーネントはサーフェス上に適した平面の作成、選択する位置の変更をするのに役立ちます。
![Reparameterizeに設定](https://iarchway.com/wp-content/uploads/2023/10/8-1.png)
こちらも線上に配置する方法同様にS端子を右クッリクしてReparameterizeを選択してください。
そしてMD Sliderを使用することで2方向の最大値が1.0のグラフを作成することができます。
![Evaluate Surfaceの結果](https://iarchway.com/wp-content/uploads/2023/10/13-4-1024x576.jpg)
デフォルトの状態だとこのようにサーフェスの中心にモデルを配置することができます。
![MD Sliderの位置変更](https://iarchway.com/wp-content/uploads/2023/10/14-2-1024x576.jpg)
MD Sliderの値を変更することでサーフェス上の様々な場所に移動できます。
![MD Sliderで上に移動](https://iarchway.com/wp-content/uploads/2023/10/15-1-1024x576.jpg)
このように上の方にも移動できています。
![球上に配置](https://iarchway.com/wp-content/uploads/2023/10/16-1-1024x576.jpg)
球上のような曲面にも配置することができます。
![複雑なサーフェスに配置](https://iarchway.com/wp-content/uploads/2023/10/17-1-1024x576.jpg)
このような複雑な曲面にも配置することができ、様々な形態に対応することができます。
まとめ
![オブジェクトをモデル上に配置する](https://iarchway.com/wp-content/uploads/2023/10/1-1-1024x576.jpg)
まとめです。
Grasshopperでモデルの上にオブジェクトを配置するには
Orientコンポーネントを使用する
です。
今回は以上になります。
コメント