E-WS Rhino館

2009年03月17日開設。ロボットのモデリングを通して、3Dサーフェスモデラー「Rhinoceros 3.0」の操作方法等を紹介していきます。

※ご注意
このブログの記事は「Rhinoceros 3.0」に基づいた内容になっております。バージョン4.0以降では役に立たない情報も含まれておりますので、予めご了承願います。

ブログネタ
Rhinoceros に参加中!
58-1
図のような断面線とレールを使って、サーフェスを描くケースは、かなり頻繁にある事でしょう。
ただ、同じ断面線とレールを使っても、やり方によって、結果が色々あります。

今回はその違いについて、検証してみましょう。
求めるサーフェスを描くためには、どの方法が適切か、判断する一助となればと思います。


1.「Sweep 1 Rail(1レールスイープ)」

58a

58a-158a-2
最もポピュラーな方法がコレでしょうか。

上から見ると、断面線とレールとの角度が一定になるように、サーフェスが描かれます。
但し、これは断面線が一つの場合で、終点側にも断面線を描けば、この限りではありません。

58a-3
また、前回書いた面取りと同様、レール方向の次数は常に3になり、後に示す方法と比べ、制御点が多くなりがちです。
仮にレールを直線(次数1)にした場合でも、制御点は4つ(次数3)になってしまうので、注意が必要です。
このようにストレートに押し出す場合は、「Extrude」を使ったほうが良さそうです。


2.「Extrude Along Curve(曲線に沿って押し出し)」

58b

58b-158b-2
スイープと似てますが、これも頻繁に使われるコマンドでしょう。
選択順序がスイープとは逆で、断面→レールの順になるので、ちょっとややこしいですが。

上から見ると、断面線の角度は一定のまま、レール上を滑らせたような感じになります。

58b-3
また、レールを選択する位置によって、押し出される方向が変わるので、注意が必要です。
図のように、レールの終点に近い側をピックすると、反対方向に押し出されます。

このコマンドにおいては、レールは押し出し方向を指示するためのもので、レールの位置そのものは重要ではない事がわかります。
裏を返せば、レールはどこに描かれていても、押し出しに使えるわけで、場合によっては利点とも言えます。


3.「Rail Revolve(レールに沿って回転)」

58c

58c-158c-2
これは回転コマンドの一種ですが、レールに沿ったサーフェスが描けます。
断面線、レールの他に、回転軸を指示する必要があります。
(図では原点を通るZ軸を回転軸に指示しています)

上から見ると、制御点が回転軸(この場合、原点)を中心に放射状に並ぶようにサーフェスが描かれます。
レールに沿ってはいるものの、回転サーフェスである事がよくわかります。

同じ断面線とレールでも、回転軸をどこに取るかによって、サーフェスの形状が無数に変化するわけです。
そういう意味では、奥が深いコマンドと言えましょう。


4.「断面線とレールを入れ替えてみる」

58d-158e-1
ちょっと裏技っぽいですが、場合によっては使える事も(笑)。
尚、「Extrude Along Curve」では、結果は同じになります。


P.S.
だいぶ間が空いてしまい、申し訳ございません。
私事ですが、本業の都合で、今後、更新頻度が下がる事が予想されます。
但し、書く予定のネタは蓄積しておりますので、細々とでも運営は続けて参ります。
気長にお付き合い頂ければ幸いです。

ブログネタ
Rhinoceros に参加中!
こちらのブログにアップした、作例ロボットの平手ですが、指が長すぎたので、短くする事にしました。
今回は、その修正プロセスをご紹介します。

57-1
親指を除く指4本が属するソリッドです。これで1ソリッドです。
各指で曲げ角度が異なります。

57-2
指の切り口サーフェスを2枚オフセットします。
このオフセット面を利用して、指を切断し、長さを詰めます。
切り口サーフェスを使用したのは、指の長手方向に対して、垂直な切断面を作るためです。
切る位置はどこでも構いませんが、切断量は一定にしておきます。

57-3
オフセット面をトリム解除し、長さの足りない箇所は延長します。

57-4
オフセット面で指を切断し、ハイライトされた部分を捨てます。
他の関節も、同様に行ないます。

57-5
指1本分、切断作業を終えたところです。

57-6
切り離された各指関節を、コーナーを合わせるように移動し、結合していきます。

57-7
指1本分、作業を終え、ソリッド化したところです。
一旦、これで完成ですが、切断の痕が残ったままで、ちょっと痛々しいです。

57-8
ボーナスツールの「MergeAllFaces」で、切断の痕を消します。
切り口周辺は全て平面サーフェスなので、綺麗にマージ出来ます。

57-9
一部、マージされていない箇所がありました。
こういう場合、見た目が平面でも、面が微妙に捩れている可能性があります。

57-10
問題のサーフェスを取り除き、「Cap」で塞ぎます。
キャップ出来れば、サーフェスが張られた区画が、平面である事の証明にもなります。

57-11
残りの指も、同様に修正を終えた状態です。
と言っても、この絵を見ただけでは、殆ど違いがわからないですね…(^^;)

57-12
修正前の形状と比較してみます。
青い部分が修正前、ハイライトされている部分が修正後の形状です。

修正後の絵は、こちらの記事でご覧下さい。

ブログネタ
Rhinoceros に参加中!
56-1
画面のハイライトされたサーフェスは、面取りコマンド「ChamferSrf」で張ったものです。
隣接する面は、いずれも平面(Planar)サーフェスですので、面取りサーフェスも平面になるはずです。

56-2
しかし、「PointsOn」で面取りサーフェスの制御点を表示すると、各サーフェスの長手方向の制御点が4つあります。
平面サーフェスであれば、U、V方向ともに制御点は、エッジの両端の2つになるはずです。

56-3
面取りサーフェスを選択し、「Rebuild」を実行します。
ダイアログボックスを見ると、長手方向(この場合、U方向)の次数(Degree)が「3」になっています。
次数3は、自由曲線を意味します。

「ChamferSrf」で張った面取りサーフェスは、長手(エッジと平行な)方向の次数が常に3になります。
これは面取りを行なうサーフェスが、今回のような平面だけでなく、自由曲面の場合もあり得るためと考えられます。
(ちなみに、これはフィレット(FilletSrf)でも同様です)
面取りサーフェスは、見た目が平面であっても、厳密には平面(Planar)サーフェスではなかったのです。

面取りサーフェスを平面サーフェスにするには、U、V方向ともに次数を「1」にする必要があります。
U方向の次数を「1」、制御点の数を「2」に変更し、OKします。
見た目は全く変化しませんが、これで面取りサーフェスが完全な平面サーフェスにリビルドされます。

56-4
処理前と後で、両者の違いを比較してみましょう。
対象部分のみ、「Export」で別ファイルに書き出してみます。
念のため、両者ともジオメトリのみの状態で保存しておきます。

56-5
「test1.3dm」が処理前(U方向の次数が3の状態)、「test2.3dm」が処理後(UV方向ともに次数1の状態)です。
僅かながら、test2.3dmのほうがファイルサイズが小さくなっています。
次数を低くした事で、データが単純になった分、ファイルサイズも減ったというわけですね。

データはより単純であるほど、信頼性が増し、トラブル発生リスクを抑えられます。
今回は、大変細かい例ではありますが、覚えておくと何かの役に立つかも知れません。

このページのトップヘ