[Grasshopper]異なるサイズの四角形のファサードを作成する方法[データも配布]

[Grasshopper]異なるサイズの四角形のファサードを作成する方法[データも配布] grasshopper

今回は、グラスホッパーで異なるサイズの四角形のファサードを作成する方法を解説します。


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


全体の様子

グラスホッパーの様子

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

ライノセラス上の様子

ライノセラス上で色を付けた様子です。

レンダリング

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

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

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

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

全体コンポーネント

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

全体コンポーネント:①SurfaceDivide Domain²IsotrimConstruct DomainList LengthRandomIntegerEvaluate SurfaceMD SliderNegative ⑪Offset Curve Loose ⑫Surface SplitList ItemOffset SurfaceBrep WireframeJoin CurvesRuled SurfaceMergeBrep Join

サーフェスを分割する

まず、サーフェスを分割していきます。

ライノセラス上のサーフェス

今回は、上の画像のライノセラス上のサーフェスを使います。

サーフェスを格納

まず、Surfaceに、ライノセラス上のサーフェスを格納します。

分割

その後、Surfaceを、Divide Domain²のI端子につなげます。

そして、Divide Domain²のUとV端子に、サーフェスの分割数を入力します。

今回は、どちらにも10を入力しています。

その後、Divide Domain²を、IsotrimのD端子につなげます。

また、Surfaceを、IsotrimのS端子につなげます。

すると、サーフェスが10×10に分割されました。

Graft

この際に、Isotrimの右側のS端子を右クリックし、Graftを選択してください。

各サーフェスをランダムに分割する

次に、分割したサーフェスを、さらにランダムに分割していきます。

数値

ランダムに分割するための数値を作成していきます。

Construct DomainのA端子に、1の数値を入力します。

さらに、Construct DomainのB端子に、最大の分割数の数値を入力します。

今回は、3を入力しています。

すると、1 To 3という数値の範囲が作成されました。

Flatten

そして、Isotrimを、List Lengthにつなげます。

この際に、List Lengthの左側の端子を右クリックし、Flattenを選択してください。

すると、各サーフェスの数の数値が出力されます。

Graft

その後、Construct Domainを、RandomのR端子につなげます。

また、List Lengthを、RandomのN端子につなげます。

RandomのS端子には、ランダムさを変えるシード値を、任意で入力します。

すると、1~3の数値がランダムで作成されます。

この際に、Randomの右側のR端子を右クリックし、Graftを選択してください。

その後、RandomIntegerにつなげ、少数点の数値を整数にします。

各サーフェスをランダムに分割できた

その後、Integerを、Divide Domain²のUとV端子につなげます。

さらに、先程のIsotrimを、Divide Domain²のI端子につなげます。

そして、先程のIsotrimを、新たなIsotrimのS端子につなげます。

また、Divide Domain²を、新たなIsotrimのD端子につなげます。

すると、上の画像のように、サーフェスがランダムに分割されました。

Flatten

この際に、Isotrimの右側のS端子を右クリックし、Flattenを選択してください。

枠と中心部分を分ける

次に、枠と中心部分を分けます。

Reparameterize

Isotrimを、Evaluate SurfaceのS端子につなげます。

この際に、Evaluate SurfaceのS端子を右クリックし、Reparameterizeを選択してください。

中心点の情報を取得

さらに、MD Sliderを、Evaluate Surfaceのuv端子につなげます。

すると、上の画像のように、各サーフェスの中心点の情報を取得することができました。

オフセット
オフセット2

その後、オフセットする距離の数値を、Negativeにつなげます。

今回は、50を入力したので、-50の数値が出力されます。

その後、Isotrimを、Offset Curve LooseのC端子につなげます。

また、Negativeを、Offset Curve LooseのD端子につなげます。

そして、Evaluate SurfaceのF端子を、Offset Curve LooseのP端子につなげます。

すると、上の画像のように、サーフェス枠の線が、内側にオフセットされました。

Graft

次に、Surface Splitを用意し、SとC端子を右クリックし、Graftに設定します。

そして、Isotrimを、Surface SplitのS端子につなげます。

また、Offset Curve Looseを、Surface SplitのC端子につなげます。

すると、サーフェスが線の場所で2つに分割されます。

分割されたサーフェス1
分割されたサーフェス2

Surface Splitを、2つのList itemのL端子につなげ、片方のi端子には0、もう一方のi端子には1を入力します。

すると、上2枚の画像のように、分割されたサーフェスをそれぞれ取得することができました。

厚みを付ける

最後に、厚みを付けていきます。

サーフェスをオフセット

Negativeに、サーフェスをオフセットする数値を入力します。

今回は100を入力しているので、-100の数値が出力されます。

そして、Isotrimを、Offset SurfaceのS端子につなげます。

さらに、Negtiveを、Offset SurfaceのD端子につなげます。

すると、上の画像のように、サーフェスがオフセットされました。

そして、先程のEvaluate SurfaceList Itemと同様のプログラミングを、Offset Surfaceにしてください。

枠線

その後、2つの0の数値が入力されているList Itemを、それぞれBrep Wireframeにつなげます。

すると、サーフェスの枠線部分の線を取得できます。

そして、Brep Wireframeを、Join CurvesのC端子につなげます。

すると、線が結合されます。

枠の外側部分のサーフェス

その後、2つのJoin Curvesを、Ruled Surfaceにつなげます。

すると、枠の外側部分のサーフェスが作成されます。

Simplify

その後、2つの0の数値が入力されているList ItemRuled Surfaceを、Mergeをつなげます。

この際に、入力した3つの端子を右クリックし、Simplifyに設定してください。

結合

その後、Mergeを、Brep Joinにつなげます。

すると、各サーフェスが結合され、枠が完成しました。

Graft

その後、2つの1の数値が入力されているList Itemを、Ruled Surfaceにつなげます。

この際に、Ruled SurfaceのS端子を右クリックし、Graftに設定してください。

内側部分のサーフェス

すると、内側の上の画像の部分のサーフェスが作成されます。

Flatten

その後、2つの1の数値が入力されているList ItemRuled Surfaceを、Brep Joinにつなげます。

この際に、Brep Joinの左側のB端子を右クリックし、Flattenに設定してください。

内側部分

すると、このように内側部分が完成しました。

完成

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

コメント

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