- ロボットアームのジョイント部をモデリング
前回はロボットアームの土台をモデリングしました。
今回はロボットアームのジョイント部(個々のアームとの接続部)とアームをモデリングしていきます。
土台は以下のようにモデリングしていました。
一番下のジョイントの接続部をモデリング
土台から一番近いジョイントの接続部をモデリングしていきます。
以下の赤いラインで回転するような組み合わせにしています。
半径15(mm)(=直径30(mm))、高さ20(mm)の円柱を作成します。
形状編集モード+稜線選択モードで円の周囲の稜線を選択し、角を1(mm)面取りします。
この円柱を貫くように、半径9(mm)(=直径18(mm))、高さ60(mm)の円柱を作成します。
また、角を1(mm)面取りしています。
飾りとして、中央の円柱の下に直方体と直方体の角を丸めた形状を配置します。
この部分は円柱の形状に重なるようにしています。
後々「干渉」の検証で使いますので、重なったままで進めていきます。
いったん土台の形状を非表示にして、ジョイントの下部をモデリングしやすいようにしました。
5x7x15(mm)の直方体の下に、12x12x26(mm)の直方体を配置します。
下の直方体の角は、次のように加工しました。
形状編集モード+稜線選択モードで、4隅の稜線を選択。
ツールボックスの「編集」-「フィレット」を選択。
ツールパラメータの「数値」を2(mm)とし「フィレットを固定」ボタンを押します。
後で値を変更することはないため「フィレットを固定」していますが、そのまま確定してもその後の操作は行えます。
次に底面の周囲の稜線を選択し、フィレットで1.5(mm)としました。
土台を表示すると、透視図では以下のようなジョイント構成となりました。
アームとの接続部をモデリングしていきます。
直方体の片側が半円になっている形状を作成します。
右面図で見て、20×35(mm)の直方体を配置しました。
形状編集モードで上部の2コントロールポイントを選択し、ツールボックスの「編集」-「カーブのフィレット」を選択します。
ツールパラメータの「数値」で10(mm)と入力します。
これは、長方形の短辺の長さの半分になります。
これで上部が半円になりました。
ツールボックスの「作成」-「押し出し」を選択し、正面図でX方向にドラッグして厚みを付けます。
この段階では押し出しの距離は明確に決定しなくて問題ありません。
対象のNURBSサーフェスがブラウザで選択されているのを確認し、形状情報ウィンドウのバウンディングボックスで「縦横比を固定」チェックボックスをオフにして、
位置Xを0、サイズXを10としてX方向のサイズと位置を調整しました。
形状編集モード+稜線選択モードで角の稜線を選択し、ツールボックスの「編集」-「面取り」で「距離」1(mm)の面取りを行いました。
この形状の半円部分を貫くように、半径5(mm)(= 直径10(mm))、高さ30(mm)の円柱を配置します。
また、角を0.5(mm)で面取りしました。
ジョイントの軸の両端に、半球をつぶしたようなキャップを付けます。
横向きの半径13(mm)(= 直径26(mm))、高さ10(mm)の円柱を配置します。
この円柱を細い円柱にかぶせるようにX方向に移動させました。
形状編集モード+稜線選択モードで円柱の外側の円周りの稜線を選択し、ツールボックスの「編集」-「フィレット」で「数値」5(mm)として丸めました。
この後の「ミラー」でNURBSサーフェスとして固定化されるため、「フィレットを固定」で固定にしても「確定」でフィレットを確定してもどちらでも問題ありません。
この形状をブラウザで選択した状態で、ツールボックスの「作成」-「ミラー」で対称軸をXとしてミラーリングします。
ツールパラメータで「形状を実体化」ボタンを押して実体化します。
ここまでのモデリングで以下のようになりました。
上に伸びるアーム部をモデリング
ジョイント間のアーム部は、角が半円の「スロット」の形状から立体化していきます。
なお、Shade3D ver.21.1のスロットを使ったNURBSカーブは、NURBSサーフェスとして立体化して面取りやフィレット、ブール演算などを行うと精度のため失敗しやすいです。
これはver.21.2で修正されています。
ここでは過去バージョンでも使用できるように、四角形のNURBSカーブの角を半円に加工してスロット的に使用することにしました。
長方形のNURBSカーブを配置します。
右面図で見たとき、幅が20(mm)、高さが85(mm)となるようにしました。
形状編集モードで4隅のコントロールポイントを選択します。
ツールボックスの「編集」-「カーブのフィレット」を選択し、ツールパラメータの「数値」で10(mm)を入力して確定ボタンを押します。
「数値」で指定する値は四角形の短辺の長さの半分を指定します。
これで角が半円になりました。
ツールボックスの「作成」-「押し出し」でX軸方向に4(mm)押し出し、NURBSサーフェスにしました。
形状情報ウィンドウのバウンディングボックスで「縦横比を固定」チェックボックスをオフにして、位置Xが0、サイズXが4(mm)となるようにします。
周囲のみ出っ張らせるように、ブール演算の「差」で削ります。
削る側の形状は、元の形状よりも縦横2(mm)小さいサイズとしました。
右面図で見たとき、元の形状は幅が20(mm)、高さが85(mm)のため、
四角形で幅が20-2*2=16(mm)、85-2*2=81(mm)の長方形を作成します。
形状情報ウィンドウのバウンディングボックスで、位置XとZは0としています。
形状編集モードで角のコントロールポイントを選択し、ツールボックスの「編集」-「カーブのフィレット」で「数値」を16/2=8としました。
これで、2(mm)だけ縮小したスロットとなりました。
正面図でX軸方向に押し出して厚みをつけます。
厚みのサイズはいくつでもかまいません。
正面図で見たときに、左右で削るため作成したNURBSカーブをX軸方向に少し移動します。
以下はX軸方向に+1.2(mm)移動しました。
これにより、X軸方向の溝の高さは(4/2)-1.2=0.8となります。
この形状を「ミラー」を使ってX軸方向に左右対称にし、実体化しました。
ブラウザで「ブール演算」-「ブール演算:差」を選択して作成されたパート内に2つのNURBSサーフェスを入れます。
1つめのNURBSサーフェスはオリジナルのもの、2つめはミラーで左右対称にしたものです。
結果は以下のようになりました。
ブラウザで「ブール演算:差」パートを選択した状態で「ブール演算」-「ブール演算を固定」を選択し1つのNURBSサーフェスにします。
元の非表示化されたNURBSサーフェスは削除して整理します。
形状編集モード+稜線選択モードで出っ張りの周囲の稜線を選択し、0.4(mm)で面取りしました。
次に、上下の半円の中心位置に穴を開けます。
外側のスロットの幅は20(mm)としているため、スロットのY軸方向の最大位置から20/2=10(mm)の位置を中心として、この形状を貫くように円柱を作成します。
円柱は半径5.5(mm)としました。
下側も同様に、Y軸方向の最小位置から10(mm)の位置を中心として円柱を配置します。
分かりやすいように周囲の形状を非表示にしました。
ブラウザで「ブール演算:差」を作成し、NURBSサーフェス/2つの円柱、の順に配置します。
ブラウザで「ブール演算:差」パートを選択した状態で「ブール演算」-「ブール演算を固定」を選択し1つのNURBSサーフェスにします。
元の非表示化されたNURBSサーフェスは削除して整理します。
形状編集モード+稜線選択モードで穴の周囲の円の稜線を選択し、0.5(mm)で面取りしました。
非表示にしていた形状を表示すると、以下のようになりました。
この形状をX軸方向に移動します。
この部分は下のジョイントに固定されており、回転はしないとしています。
ミラーでX軸中心に左右対称にしました。
この形状の軸の円柱の両端にキャップを付けます。
半径7.5(mm)(=直径15(mm))、高さ7(mm)の円柱を配置しました。
円柱の外側の面の周囲の稜線を選択し、4(mm)でフィレットを適用しました。
ミラーでX軸中心に左右対称にしました。
現段階で以下のようになりました。
2つめのジョイントの接続部をモデリング
アームの上の穴を通るX軸方向が、2つ目のジョイントの回転軸になります。
右面図で見て、28×32(mm)の長方形を配置します。
上の2つのコントロールポイントを選択し、「カーブのフィレット」で28/2=14(mm)のフィレットを適用します。
「押し出し」で厚みを付け、形状情報ウィンドウのバウンディングボックスで位置XとZを0、サイズXを8としました。
形状編集モード+稜線選択モードで角の稜線を選択し、1(mm)の面取りを行いました。
半径4(mm)(=直径 8(mm))、長さ50(mm)の円柱をアームの穴の中心を通るように配置しました。
この円柱の中心軸で回転することになります。
右面図で見て36×60(mm)の長方形を配置します。
形状編集モードで上の2つのコントロールポイントを選択し、ツールボックスの「編集」-「カーブのフィレット」で「数値」を36/2=18としました。
「押し出し」で6(mm)の厚みを付けました。
形状編集モード+稜線選択モードで角の稜線を選択し、1(mm)で面取りしました。
この形状の表面に直方体の装飾を付けます。
形状に少し重なるようにして、直方体を2x14x18(mm)のサイズで配置しました。
角の稜線を選択し、3(mm)のフィレットで丸めました。
この2つのNURBSサーフェスを「ブール演算:和」で1つにまとめます。
「ブール演算:和」パートを選択して「ブール演算を固定」で1つのNURBSサーフェスにします。
また、不要になった元の形状は削除しておきます。
この形状を正面図で+X方向に移動し、ミラーでX軸中心に左右対称にして実体化します。
以下のようになりました。
軸となる円柱の端に、キャップを付けます。
これは今までの手順と同じです。
半径9(mm)(=直径18(mm))、高さ8(mm)の円柱を軸に沿って配置します。
円柱の外側の面の周囲の円を選択し、フィレットを4(mm)で適用しました。
ミラーでX軸で対称にして実体化しました。
上に乗せるアームとの接続部をモデリングします。
5x19x22(mm)の直方体をX=0の位置にある中央のNURBSサーフェスの上に重なるように配置します。
この上に、25x6x28(mm)の直方体を配置します。
左右のNURBSサーフェスにめり込ませています。
めり込ませて見えなくなっている稜線は除いて4つの稜線を選択し、1(mm)で面取りしました。
この上にアームを配置していくことになります。
以下のようにモデリングできました。
今回は長くなりましたのでここまでです。
今回使用したNURBSモデリングの機能は以下になります。
- 直方体、円柱のNURBSサーフェスを作成
- NURBSカーブを作成
- NURBSカーブのフィレット
- 長方形のNURBSカーブを作成し、角をフィレットで丸めてスロット状にする
- NURBSサーフェスの面取り
- NURBSサーフェスのフィレット
- 「押し出し」でNURBSサーフェスを作成
- NURBSサーフェスのミラー
- 「ブール演算:和」「ブール演算:差」
- 「ブール演算を固定」
前回と同じ機能しか使っていません。
このロボットアームでは、大部分はこれらの機能の繰り返しでモデリングできることになりそうです。
次回はこの続きをモデリングしていきます。