Rhinoではブロックインスタンス機能を使うことで、①ファイルデータを軽くする、②元となるデータを変更することにより、リンク付けされたブロックインスタンスを一括して変更することができます。


ブロックインスタンスは実際のジオメトリではなく、どのデータを元にしているかという情報と配置された位置、回転の向きやスケーリングした大きさの情報を持っています。ジオメトリ情報を持たない=データを軽くすることができるということです。
一例として上の複数配置されたデータは、ブロックで配置したものは240KBでしたが、ポリサーフェスのまま配置したものは5.5MBと、約23倍のデータサイズでした。


ブロック機能を使うには、[Insert]コマンド(ファイル>インサート)をクリックします。

次にインサートウィンドウのフォルダマーク①をクリックし、ブロックインスタンスとして読み込みたいデータを選択します。
[挿入する形式]②をブロックインスタンスにチェックが入っていることを確認して[OK]ボタン③を押します(グループや独立オブジェクトがチェックされている場合は、ジオメトリデータとして読み込まれます。)。
[埋め込み及びリンク]④にチェックを入れ、[OK]ボタン⑤を押します。挿入点を決定し⑥ブロックインスタンスを配置します。
(この際、[埋め込み]の場合は元データとのリンクを切れた状態になり変更が反映されなくなります。[リンク]は元データとリンクされた状態ですが、元データが見つからない場合は表示がされなくなります。[埋め込みおよびリンク]が修正も容易で実作業向きかと思われます。)


またブロックインスタンスを使う上での制約として、実体としてのデータを持たないので移動や回転、スケールは行えますが、ブロックインスタンスの形状を変更するような編集を加えることが出来ません。(Trimやブール演算など)
その際は元となるデータを編集し上書き保存した上で、ブロックインスタンスを読み込んだRhinoファイルで[BlockManager]コマンド(編集>ブロック>ブロックマネージャ)を実行し、更新したいブロックを選択して⑦[更新]ボタン⑧を押してください。
[使用数]ボタンを押すことで、選択したブロックを幾つ使用しているかも分かります。






補足として、モデリングしていく際にジオメトリとして使用したい場合は、[ExplodeBlock]コマンド(編集>ブロック>ブロックを分解)を使うことで、ブロックデータをジオメトリデータに変換して使用することもできます。詳しくは”ブロックを解除する方法_ExplodeBlockについて”をご覧ください。