vicc blog

株式会社ヴィックの技術ブログです。

なぜブロックを使うのか?

※本記事では Rhino の「ブロック」という名称を使いますが、AutoCAD でのブロック、Revit のファミリ、Vectorworks のシンボルも、基本的な考え方は近しいものです。適宜読み替えていただければと思います。


CAD や BIM を使っていると、「同じ形はブロックにしたほうがいい」といった話をよく耳にします。

学生の頃の自分も、先輩や周囲の人からそうした話を断片的に聞いていましたが、その理由や背景まで理解できていたかというと、正直そうではなかったと思います。

当時は、オブジェクトをまとめるならグループで十分、一緒に動けば問題ない。そんな感覚で、深く考えずに使っていました。

また、外部からもらったデータがブロックになっていて編集しにくく、とりあえず「ブロックを解除する」という操作をよく行っていました。当時は、正直なところ使いにくい謎の機能だと思っていました。

その後、社会に出て実務を行う中で、設計変更や数量拾いといった作業まで含めて考えるようになり、ようやく「なぜブロックを使うのか」が腹落ちしました。

この記事では、当時聞いていたアドバイスを改めて整理しつつ、一歩先を目指す学生や、業界に入って間もない若手の方向けに、ブロックを使うメリットをまとめてみます。

グループとブロックの違い

まず、違いを整理してみます。

グループ

  • 複数のオブジェクトをまとめて選択・移動するための機能
  • 見た目上は一つにまとまりますが、中身はそれぞれ独立した実体のまま
  • グループに対して属性情報を付けることはできない

例えば、ボルトとナットの組み合わせをグループ化してそれを複製すると、ファイルの中には ボルトとナットのデータが複製された分だけ増えていきます。

そのため、複製を繰り返すほどデータサイズは大きくなっていきます。

ブロック

  • 1つの形状定義を、複数の場所から参照する仕組み
  • 元の定義を編集すると、配置されたすべてに反映される
  • ブロックに対して属性情報を付けることができる

例えば、ボルトとナットの組み合わせをブロック化してそれを複製すると、 ファイルの中には ボルトとナットの定義は1つだけ保持され、「配置情報(位置・回転など)」だけが増えていきます。
※正確にはレイヤーや個別のインスタンスに付与された属性情報も増えていきます。

次のセクションでデータを用いて詳しく検証しますが、ブロックの配置情報はテキストデータとして表現できる非常に軽い情報のため、データサイズは小さく抑えられます。

また、ブロックを用いることで、複数のブロックがあっても画面描画用のデータ(点、線、メッシュなど)は一度読み込まれたものの座標変換だけで表示されるはずなので、画面描画の面でもかなり有利になります。

ブロックを使う主なメリット

①一括変更ができる

一番分かりやすいメリットです。

寸法変更、形状修正、表示や属性の変更を、1回の操作で同一ブロックのすべてに反映できるため、修正漏れや個別対応によるばらつきを防ぐことができます。

② 同一部材を「同一」として扱える

ブロックの本質は、単にまとめられることではなく、「これは同じ部材である」という意味をデータとして持てることです。

特に、取付金物やブラケット、ボルトのような部材は、

  • 数が多い
  • 見た目で区別しにくい
  • でも数量ミスの影響が大きい

という特徴があります。

ブロックとして管理しておけば、この金物はいくつ必要か? / 種類はいくつあるか?といった情報を、正確かつ短時間で拾うことができます。

逆に、グループを作成し複製していると、複製後のそれぞれのグループを個別に編集できてしまうため、それらを同一部材として扱うことが難しく、数量管理の観点では信用しずらいデータとなってしまいます。

③ データが軽くなる

よく聞くのが、「データが軽くなる」という話です。

ブロックは、

  • 形状定義は1つだけ
  • 各配置は配置情報として保持

という仕組みなので、理屈の上ではデータが軽くなります。

ただ、この点は体感しにくく、データの保存が速いなど、どこかで恩恵を受けている実感はあるものの、定量的に把握したことはこれまでありません。

そこで本記事では、実際にデータを作成し、比較して検証してみます。

実験:ブロックの活用の有無でデータサイズが変わるのか?

今回は、実際の建築プロジェクトの実施設計/生産設計でよくありそうなケースを想定しました。

実験は以下の条件で行います。

  • 同一形状のファスナーを想定した簡単なデータを作成する(アングルとボルトの組み合わせ)
  • グループの複製とブロックの配置で、それぞれのデータサイズを比較する
  • ブロックは埋め込みです。

また、実行環境は下記の通りです。

  • Windows 11
    • データサイズは Explorer より、ファイルのプロパティで確認します
  • Rhinoceros7
1個配置する

ブロックで配置する

グループで配置する

データサイズは下記の様になりました。

  • グループ:588,124 bytes
  • ブロック:573,929 bytes
10個配置する

10個です(見た目が一緒なので画像は1枚です)

データサイズは下記の様になりました。

  • グループ:5,278,442 bytes
  • ブロック:566,389 bytes
100個配置する

100個です(見た目が一緒なので画像は1枚です)

データサイズは下記の様になりました

  • グループ:52,410,297 bytes
  • ブロック:596,872 bytes
250個配置する

250個です(見た目が一緒なので画像は1枚です)

データサイズは下記の様になりました

  • グループ:130,877,491 bytes
  • ブロック:646,372 bytes
500個配置する

500個です(見た目が一緒なので画像は1枚です)

500個配置してみると、グループを複製した方のファイルはデータの保存に少し時間がかかり始めました。

データサイズは下記の様になりました

  • グループ:261,575,693 bytes
  • ブロック:730,061 bytes
1000個配置する

1000個です(見た目が一緒なので画像は1枚です)

1000個配置してみると、グループを複製した方のファイルはデータの保存に時間がかかり、パソコンのファンががっつり回ります。ブロックの方ではファイルを開くのも保存するのも全く時間がかかりません。

データサイズは下記の様になりました

  • グループ:537,106,420 bytes
  • ブロック:897,569 bytes

※1000個の場合で比較すると、約600倍の差が発生しています。

ここまでの結果をまとめてみます
1個 10個 100個 250個 500個 1000個
グループ 588,124 5,278,442 52,410,297 130,877,491 261,575,693 537,106,420
ブロック 573,929 566,389 596,872 646,372 730,061 897,569

単位は bytes です。

※ブロックの1個と10個の時を比較すると、ファイルサイズが小さくなっていますが、保存する際のライノの表示の設定の差などの微差だと考えています。

グラフにするとこんな感じです。

非常に明確な傾向が確認できました。

グループは、1→1000まで増やしていくときれいにデータが増えていきます。
ブロックでは、1000個まで増やしても、グループの10個よりもデータが軽いです。

このことから、ブロックは単にデータサイズが小さいだけでなく、データ構造として「同一の定義を参照する」設計が機能していることが分かります。

グループは形状データそのものを複製するのに対し、ブロックは1つの形状定義を参照し、位置や回転といった変換情報のみを保持しているため、データが軽くなっています。同じ仕組みで、描画も軽くなります。

実際の建築ではすべてをブロック化できるわけではありませんが、同一部材が多く登場する箇所では、ブロックの活用が非常に有効です。

※今回は Rhino を用いて検証を行いましたが、他のソフトでも差はあれど似たような傾向が出るはずです。

まとめ

本記事では、ブロックのメリットについて、実際のデータ検証も含めて整理しました。

ブロックを活用することで、

  • 一括変更ができる
  • 同一部材を同一として扱える(≒数量拾いが容易になる)
  • データサイズを抑えられる

といった利点があります。

これらは単なる便利さだけではなく、設計変更への対応、数量拾いの正確性、モデルのハンドリング性といった、実務での上の業務効率に直結します。

特に今回の検証からは、ブロックは「同一形状を参照する」というデータ構造によって、配置数が増えてもデータサイズが大きくなりにくいことが分かりました。 実際のプロジェクトではすべてをブロック化できるわけではありませんが、繰り返し登場する部材については、ブロックとして整理することで大きな効果が得られます。

「同じものを同じものとして扱う」という視点を持ち、ブロックをうまく活用することで、CAD や BIM のデータの質は一段上がります。本記事が、その一歩となれば幸いです。

Rhino の公式ドキュメントのブロックの紹介ページもあわせてご参照ください。
www.rhino3d.com


過去の、なぜ~シリーズの記事はこちらです。ぜひあわせてご参照ください。
これからも、技術を選ぶ技術について、実務の中での学びを発信していく予定です。

blog.vicc.jp