【集中講座】Rhino8:ブロックに関する新機能について

このページではRhino8から一新されたブロックに関する新機能について記述しています。
主な変更点としては、

  • ブロック定義がパネルになりUIが一新された
  • 名前によるフィルタリング機能追加
  • 複数のブロックのプロパティ値の一括変更

などがあげられます。

これらにより、効率的なブロック管理が可能となりました。ぜひ活用してモデリングに役立てていただけると幸いです。

まずブロックとは

ブロックとはRhino内で、特定のオブジェクトをまとめた1つのデータとして扱うことで、

  • 1つのブロックデータを編集することで編集内容を他のブロックデータに反映することができる
  • データのファイルサイズを軽くできる

といった利点があるオブジェクトの管理方法となります。

外部の3dmファイルを[Insert]コマンドで読み込むことや、ファイル内のオブジェクトを[Block]コマンドで指定することでブロックとして設定することができます。
詳細は下記リンクなどを参照ください。

AppliCraft Tips集:ブロックについて
https://www.applicraft.com/tips/rhinoceros/block/

[Block]コマンドのヘルプ
https://docs.mcneel.com/rhino/8/help/ja-jp/index.htm#commands/block.htm

Rhino8のブロックに関する新機能について

1.ブロックマネージャのUIが一新

Rhino7までは[BlockManager]コマンドではダイアログが表示されましたが、Rhino8からはパネルで表示されるようになり、[レイヤ]や[表示]などの他のパネルと合体し、画面上に常に表示することが可能になりました。

Rhino7のブロックマネージャダイアログ
Rhino8のブロック定義パネル

[ブロック定義]パネルの表示方法は、

  • [BlockManager]コマンド
  • 他のパネルの歯車アイコンから[パネルを表示]をクリックして、[ブロック定義]にチェックをつける

ことなどで表示できます。

2.ブロックの使用数の確認

ブロックのそれぞれの使用数も、Rhino7だと[使用数]というボタンを押して確認する必要がありましたが、Rhino8ではパネルから直接確認できます。

またブロック自体のアイコンも[埋め込み],[埋め込みおよびリンク],[リンク]によりそれぞれ異なるアイコンで表示されます。

ブロックの使用数を表示
ブロック定義のアイコン表示

またブロックのネスト(親子関係)なども、[ブロック定義]パネルから直接ツリー状で確認ができるようになりました。

[親]ブロックの中に[子供01],[子供02]をネストした図

Rhino7と同様にブロックの使用数を、CSVで書き出すこともできます。

3.ブロックのフィルタリング

Rhino8からは[ブロック定義]パネルにも検索窓がつき、入力した名称でフィルタリングができるようになりました(レイヤパネルなどと同様)。
下図は5つあるブロックから、[A]を含むブロックのみ表示した例です。また ×ボタンを押すことでフィルタリングを解除できます。

ブロックを全て表示している図
[A]という名称でフィルタリングしている図

また名前によるフィルタリングとは異なりますが、フィルタアイコンからブロックに関する各種表示設定の変更もできます。

[ブロック定義]パネルは、使用されているかに関わらず3dmファイル内のブロック定義を表示します。

  • 使用していないブロックを非表示にしたいときは[使用されていないブロック定義を表示]のチェックを外す
  • 子供のブロック自体の詳細を非表示にしたいときは、[ネストされたブロックの子を表示]のチェックを外す

と言った変更も可能です。
この辺りは使いやすいようにカスタマイズしていただけたらと思います。

4.ブロックのドラッグ&ドロップでの配置

ブロックパネルからブロックをビューポート上にドラッグすることで配置することができるようになりました(オブジェクトにマテリアルを割り当てるのと同様)。

パネルから配置したいブロックをビューポートにドラッグして、[挿入点をピック]で基準となる点をクリックすることで配置することができます。
配置するにつれ[Total]などの使用しているブロックの個数も変更されます。

ブロックを配置している図

5.ブロックに使用したオブジェクトのプロパティの変更

[ブロック定義]パネルからブロックに使用しているオブジェクト箇所を選択することで、プロパティの変更ができるようになりました。
下は[A]というブロックに含まれる[無名]のプロパティを表示している図です。

これは色々な使用方法が考えられますが、一例としてビューの表示が重くなったのでブロックデータのみ表示モードをワイヤーフレームに変更するといった使い方を紹介します。

1.平たいポリサーフェスの上に、箱状のブロックが3個と、球のブロックが矩形状に並んだ状態。

2.[ブロック定義]パネルから、ブロック内で使用している2つのオブジェクトのプロパティの[表示モード]を[ワイヤーフレーム]に変更してみます。

3.選択したブロックの表示モードのみ、ワイヤーフレームに変更されました。

 6.ブロックの定義の参照方法の変更

従来のブロックは、3dm内でデータを保存する[埋め込み]に設定している場合、[埋め込みおよびリンク]に変更するのには再度読み込み直すなどの手間がかかりました。
下はRhino8でのブロックを[埋め込み]から[埋め込みおよびリンク]に変更する方法です。

1. 変更したいブロック(ここではB)の上で右クリックして、[エクスポート]を実行しファイル名をつけて3dm形式で保存する。

2. [定義のタイプ]を[埋め込み]から[埋め込みおよびリンク]に変更。表示される3dmファイルの選択ダイアログで、1.でエクスポートした3dmファイルを選択する。

 以上の手順で、[定義のタイプ]を変更することができます。

 従来のバージョンよりも少ない手順で変更できるようになっています。


以上、駆け足でしたがRhino8で変更されたブロックに関する新機能についてご紹介致しました。

また長くなってしまうのでこのページでは割愛致しますが、Rhino8からはGrasshopperの標準で扱えるデータタイプとして、ブロック定義(Block Definition)やブロックインスタンス(Block Instance)を使用できます。

考え方はRhinoと同様にブロック自体の内容を決めるものがブロック定義、またブロック定義に位置などの情報を与えて実際に配置したものがブロックインスタンスになります。

他のデータタイプと同様に、Rhinoのドキュメントからブロックインスタンスやブロック定義を読み込んだり、外部3dmファイルをブロック定義として読み込み、ブロックインスタンスに変換して配置するといったことも可能です。またGrasshopperでBakeすることで、ブロックインスタンスとしてBakeすることも可能です。

興味がある方はぜひお試しいただけたらと思います。