こんにちはナリタです。この記事は僕の担当授業である多摩美術大学PBL授業 ”3Dプリンティングデザイン” の授業資料です。

2つの3Dモデルを1つのオブジェクトとして存在させたいとき、それぞれのオブジェクトの位置を一部重ねて配置することが多いと思います。画面上では2つのオブジェクトを好きな位置で重ねて配置するだけで問題ない場合もありますが、厳密にはこれらは「重なり合った2つのオブジェクト」であって「1つのオブジェクト」ではないため、3Dプリントを前提としたときには、これらを1つのオブジェクトに結合する必要が出てきます。

boolunion01

boolunion

上記2つのGifでは、上が「2つのオブジェクトの重なり」、下が「1つのオブジェクト」を示しています。わかりやすく、レンダリングを「ゴースト」に変更すると、内部の構造が違うことに気づくと思います。(gifが見づらくすみません)

スクリーンショット 2018-05-01 17.13.56 スクリーンショット 2018-05-01 17.15.37

また、上図のような、くり抜き形状をつくる場合にも、2つのオブジェクトから1つのオブジェクトをつくることに共通しています。

Rhinocerosではこれらの結合や切抜きを行うコマンドを「ブール演算」コマンドと呼んでいます。
(ブール演算・ブーリアン演算についてはこちら

スクリーンショット 2018-05-01 17.18.30

コマンドは球が2つ重なっているアイコンから選択できます。

  1. ブール演算:和
  2. ブール演算:差
  3. ブール演算:積
  4. メッシュブール演算:分割
  5. ブール演算:2つのオブジェクト

スクリーンショット 2018-05-01 17.29.03

(上図:wikipediaより)

主に上図のように「」は各オブジェクトを結合するコマンド、「」は一方のオブジェクトから他方のオブジェクトの形状でくり抜くコマンド、「」は2つのオブジェクトの共通する部分のみを残すコマンドとなります。

boold

上記は「ブール演算:差」を例にしています。「和」「積」も同様の手順で行うことができます。「差」に関しては、元となるオブジェクトの選択の順番を変えると、結果も異なることに注意しましょう。

メッシュブール演算:分割」は重なり合うオブジェクトの領域を分割するコマンドです。これは、「差」「積」をそれぞれ2つのオブジェクトに適応したような結果が得られます。

boolsplit

 

ブール演算:2つのオブジェクト」は上記の「和」「差」「積」の結果を順次表示してくれ、希望の結果のタイミングでenterキーを押すことで結果を得られます。

bool2obj

オブジェクトの結合や切り抜きは3Dモデリングではとても重要な製作方法なので、是非このコマンドをマスターしてくださいね。