[Grasshopper]ブロックインスタンスを作成するModel Block Instanceの使い方

[Grasshopper]ブロックインスタンスを作成するModel Block Instanceの使い方 Grasshopperコンポーネント

ブロックインスタンスオブジェクトを作成する、Model Block Instanceの使い方について解説します。

見え方1
見え方2

グラスホッパー上では上の2つのどちらかで表されます。


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


ブロックインスタンスオブジェクトを作成する

Model Block Instanceを使うことで、ブロックインスタンスオブジェクトを作成することができます。

ブロックインスタンスオブジェクトは、形状がすでに定義されたオブジェクトです。

そのため、位置変更や回転、スケール変更などはできますが、形状を変えることはできません。

その代わり、データが非常に軽いことや、表示速度が通常のオブジェクトよりも速いという特徴があります。

ブロックインスタンスオブジェクトについて詳しくはこちら

ブロックインスタンスオブジェクトを作成する

使用コンポーネント:①SphereModel Block Definition ③Model Block Instance

今回は、球をブロックとして定義し、ブロックインスタンスオブジェクトを作成します。

球を作成

最初に、SphereのR端子に半径の数値を入力し、球を作成します。

今回は100を入力しているので、半径100の球が作成されています。

ブロックとして定義

その後、SphereModel Block DefinitionのO端子につなげます。

そして、Model Block DefinitionのN端子に、任意の定義名を入力します。

今回は、ABCDと入力しています。

すると、球がABCDという名前でブロックとして定義されました。

Model Block Instanceを使うには、ブロック定義されたデータが必要になります。

ブロックインスタンスオブジェクトが作成された

その後、Model Block Definitionの右側のBd端子を、Model Block Instanceの左側のBd端子につなげます。

ブロックインスタンスオブジェクトが作成された

すると、グラスホッパー上でブロックインスタンスオブジェクトが作成されます。

Bake

ライノセラス上に、作成したブロックインスタンスオブジェクトを書き出してみます。

Model Block Instanceを右クリックし、Bakeを選択します。

OK

すると、このような設定画面が出て来るので、OKを選択します。

書き出しできた

すると、このようにライノセラス上に書き出すことができました。

ブロックインスタンスオブジェクトであることを確認

選択してみると、コマンドにブロックインスタンスと表示され、ブロックインスタンスオブジェクトであることを確認できます。

T端子

追加コンポーネント:①Construct PointUnit XLinear Array

T端子には、Transformデータや点、作業平面のデータを入力することができます。

Transformデータを使うことで、それに使われた移動や変形に使われた情報を、Model Block Instanceにも反映させることができます。

点や作業平面の場合、その地点に同じブロックインスタンスオブジェクトを配置することができます。

今回の例は、1つの点をX方向に複数コピーし、そのコピー先にブロックインスタンスオブジェクトを配置します。

点を作成

Construct Pointを配置することで、原点に点が作成されます。

配列コピー

その後、Construct Pointを、Linear ArrayのG端子につなげます。

さらに、Unit Xに500の数値を入力します。

そして、Unit XLinear ArrayのD端子につなげます。

また、Linear ArrayのN端子に、個数の数値の入力します。

今回は、10を入力しました。

すると、X方向に間隔が500ずつ、点が10個作成されました。

T端子につなげる

その後、Linear ArrayのX端子を、Model Block InstanceのT端子につなげます。

Linear ArrayのX端子からは、Transformデータが出力されます。

すると、上の画像のように、点が配置された場所にブロックインスタンスオブジェクトが配置されました。

元々の配置するモデルを変える

配置するモデルを変えてみます。

Transformデータは、あくまで移動などの情報であれば何でもよいので、点から元々の球に変えてみます。

そのため、Linear ArrayのG端子に、元々のSphereをつなげてみます。

同様にブロックインスタンスオブジェクトが配置された

すると、点の時と移動した動きは同じなので、同様にブロックインスタンスオブジェクトが配置されました。

点データを入力

点データや作業平面を、Model Block InstanceのT端子に入力することも可能です。

今回は、先程のConstruct Pointで点を作成した際の、Linear ArrayのG端子をT端子につなげました。

同様にブロックインスタンスオブジェクトが配置された

点データの場合でも同様に、点の位置にブロックインスタンスオブジェクトが配置されました。

ブロックインスタンスオブジェクトの要素を取得・編集する

ブロックインスタンスオブジェクトの要素を、取得・編集することもできます。

追加コンポーネント:①Block Instance

既存のブロックインスタンスオブジェクトを、Model Block InstanceのBi端子につなげます。

すると、既存のブロックインスタンスオブジェクトを構成する各要素が、右側の端子から出力されます。

編集

また、既存のブロックインスタンスオブジェクトを編集することもできます。

既存のブロックインスタンスオブジェクトをBi端子につなげている状態で、T端子がBd端子に追加の情報を入力します。

今回は、T端子に先程使用したX端子のTransformデータを入力しました。

すると、T端子の情報のみが新しく上書きされます。

編集前

こちらが編集前の様子です。

編集後

編集後、このように内容が変わっていることが分かります。

Model Block Instanceコンポーネントを使用しているグラスホッパー記事はこちら↓

コメント

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