トリム・分割(スプリット)系のコマンド全部試してみた!(分割編)

こんにちは!

突然ですが、Rhinocerosにはどのくらい分割・トリム系のコマンドがあるでしょうか?

実際調べてみますと、、、

Split/SplitEdge/SplitFace/DivideAlongCreases/Explode/Trim/WireCut/RemoveEdge/Untrim/UntrimAll/

UntrimBorder/UntrimHoles/MeshSplit/MeshTrim/SplitMeshEdge/SplitMeshWithCurve/SplitDisjointMesh

このように実に17個ものコマンドがあります。

これら全てを状況に応じて臨機応変に使い分けることができたら良いのでしょうが、あくまでそれは理想であり、実際にできるようになるのは難しいと思います。

そこで!今回は私が、これらのコマンドを全て試してみて実際に使えそう!!と思ったコマンドを独断と偏見で紹介していこうと思います。



分割(Split)とトリム(Trim)の違いとは?

様々なコマンドを紹介する前に、そもそも分割(Split)とトリム(Trim)がどのように違うのか

代表的なコマンドSplitとTrimの説明もかねて簡単に話しておこうと思います。

Split

こちらはあるオブジェクトを他のオブジェクト(切断オブジェクト)で分割するというものです。

その際、重要となってくるのがビューポート(Top,Front,Rightなど)で「Splitを行うビューポートでの二つのオブジェクトの位置関係」でどのようにオブジェクトを分割するかが決まります。(線の場合)

例として立方体を線オブジェクト(←切断オブジェクト)で分割してみます。

立方体と線オブジェクトがこのような位置関係であるとします。

一見変な位置関係のように思えますが、TopビューとFrontビューではこのような位置関係で交わっています。

この場合、TopビューでSplitを行うと、(※先に分割したいオブジェクトを選択し、次に切断オブジェクトを選択)このように分割され、

FrontビューでSplitを行うと、このように分割されます。

このように、Splitを行うビューポートによって結果が変わってくるのです。

(ちなみにPerspectiveビューで行うとTopビューで行ったものと同じ結果になります。)

そして、分割された後のオブジェクトはこのように切られた面が穴のように開いています。

Trim

TrimもSplitと同様にオブジェクトを切るコマンドなのですが、こちらは分割するだけではなく、分割した上で不要な方を削除してしまうまでを一つのコマンドで行うことができます。

先ほどSplitで用いたオブジェクトを今度はTrimしてみます。

(TrimもSplit同様、線の場合ビューポートによって切り方が異なります。)


TopビューでTrimを行っていきます。

まず、注意点としてSplitと順序が変わり、先に切断オブジェクトのほうを選択してEnterを押します。(この際、仮想交差を”はい”にしておいてください。)

そして次に切断されるオブジェクトを選択するのですが、この際に切った上で消去したい
オブジェクトのほうを選択します。

例えば、左下の小さい部分を選択するとこのように

右上の大きな部分を選択するとこのようになります。

そして、残したオブジェクトはSplit同様穴が開いています。

これでは、Splitしていらない方を削除すれば同じじゃん!と思うと思いますが実は、このTrim後の物体にはTrimで消されたほうのオブジェクトのデータも残っており、それをうまく使えれば大変便利なコマンドとなります。(詳細については次回”分割・トリム系コマンドまとめ!(トリム編)”で説明していきます。)

SplitとTrimの違いを簡単にまとめると

Splitはオブジェクトをただ分割したいとき

Trimは、オブジェクトの必要な部分だけ残したいとき

に使うと便利に使うことができます。

様々な分割系コマンド

まずは分割系のコマンドをかたっぱしから試していき、独断と偏見で重要度☆~☆☆☆をつけて紹介していこうと思います。

分割系のコマンドとしては、

Split
SplitEdge
SplitFace
DivideAlongCreases
Explode
MeshSplit
SplitMeshEdge
SplitMeshWithCurve
SplitDisjointMesh
があります。

Splitについてはすでに説明したので、SplitEdgeから見ていこうと思います。

SplitEdge(重要度☆)

サーフェスのエッジを分割するというコマンドで、説明そのままサーフェスのエッジを分割できるのですが、僕にはいつ使うのか分かりませんでした…(分割した後、DupEdgeなどのエッジ曲線を抽出するときに便利になるときがあるのかも???)

SplitFace(重要度☆☆)

サーフェス上に切断線を書くことによって、サーフェスを分割できるコマンド。
下図のようにサーフェス上で切断線を書き分割することができます。

ただ、分割しただけでは一つのポリサーフェスとして一体として扱われるので、別々に使いたいときはExplodeを行ってください。
そうすると、このように分割することができます。

このコマンドは斜めになっているものでもサーフェス上で切断線を書くことができ、かつその切断線が残らないという点で少し使えるのかなと思いました。
(とはいいつつ切断線を書き、Splitして、切断線を消せばいいのでは?とも思いました。)

DivideAlongCreases(重要度☆)

サーフェスを折り目(キンク)で分割するというもの。
あまり使い方が分からなかったので飛ばさせてもらいます…

Explode(重要度☆☆☆)

こちらはかなり多用する大変重要なコマンドです。

簡単に言うとオブジェクトをそのオブジェクトを構成するより細かい要素に分解するコマンドです。

例えば、直方体のポリサーフェスにExplodeを行うと、

六つのサーフェスに分解することができ、

ポリラインを分解すると、

このように細かいラインに分解することができます。

ちなみに、グループ化されているオブジェクトを分解すると、グループに含まれるオブジェクトが分解されますが、グループの状態は維持されるために一見分解が失敗したように思われてしまいますが、グループ解除するとちゃんと分解されているので分解がうまくいかないときはグループ化されていないか一度疑ってみてください。

MeshSplit(重要度☆☆)

切断オブジェクトを使用してメッシュを分割するコマンド。

SplitのMeshバージョン。

普通のSplitではMeshの分割に対応していないので、Meshを分割する場合はMeshSplitで行います。

SplitMeshEdge(重要度☆)

こちらはSplitEdgeのMeshバージョン。

SplitEdgeと同じく使いどころがよく分かりません…

SplitMeshWithCurve(重要度?)

SplitDisjointMesh(重要度?)

この二つについては機能も使い方もよく分かりませんでした。すみません。

まとめ

今回思い付きで、どのようなコマンドがあるのかいろいろ試してみましたが、やってみて思ったのは結局基本のコマンドが大事だというのを感じました!

今回で言うと、Split,Trim,Explodeこのコマンドを使いこなすことができれば、紹介した大抵のコマンドは代用できると思います。

いろいろやってみといて言うのもなんですが、基本のコマンドの本質をきちんと理解して、限られたコマンドを使いこなしたほうがいろんなコマンドに手を出すより良いと思います!