grbl1.1+Arduino CNCシールドV3.5+bCNCを使用中。
BluetoothモジュールおよびbCNCのPendant機能でスマホからもワイヤレス操作可能。
その他、電子工作・プログラミング、機械学習などもやっています。
MacとUbuntuを使用。

CNCマシン全般について:
国内レーザー加工機と中国製レーザー加工機の比較
中国製レーザーダイオードについて
CNCミリングマシンとCNCルーターマシンいろいろ
その他:
利用例や付加機能など:
CNCルーター関係:



*CNCマシンの制作記録は2016/04/10〜の投稿に書いてあります。


2016年5月14日土曜日

CNCマシン:Blendercamを試してみる

今のところ2D加工は以下のような感じ。
・2Dレーザーカット:Inkscape(Laser Tool Plug-in)→Gコード→bCNC
・2Dルーターカット:Inkscape→svgファイル→Jscut(Outside)→Gコード→bCNC

そのうち3Dカットもする必要がありそうなのでいろいろ探していましたが、Macで使えそうなのはPyCAM、Fusion360、Blendercamあたり。Fusion360はかなり本格的なのでそのうち試して見ようと思います。
それでPyCAMを試そうとインストールしていたら、MacだとApple-Pythonが入っているため、インストールが思うようにいかなくて、Apple-Pythonをやめて新たにPythonを入れ直そうを思ったのですが、インストールが成功しない限りbCNCも使えなくなってしまうので、まだ保留という感じです。
Blenderは以前から使っていたというか、独特の操作方法でなかなか慣れずに3Dデータ変換用として利用していたくらいです。何度か勉強してみたのですがすぐに忘れてしまい、なかなか覚えられない。
今回も「Blenderか、どうしようかな」と思っていたけど、以下のBlendercamのチュートリアル動画を見る限りでは、3Dデータを読み込ませて、いくつか設定を入力したらGコードが生成されると感じなので、それほどBlenderの操作は必要なさそう。単なるGコード生成ソフトとして使えそう。
この動画、声が聴こえにくいのですが、フルスクリーンにして各設定の手順を注意深くみると、それほど難しそうではありません。5回くらい見直しましたが。

Blendercamのダウンロード:
ということで、Blendercamをダウンロードしてみました。
プラグインみたいなものだけをインストールするのかと思ったら、Blender2.76ごとダウンロードでした。いちおうaddon onlyとしてBlender本体にインストールできるものあるようですが、持っていたBlenderが多少古かったので、BlenderとセットのものをGoogle Driveからダウンロードしました。

Macなので真ん中の「blender-2.76b-OSX_...」というやつです。
Blender本体も含まれているので135MBくらいあったかもしれません。
ダウンロード+解凍したらアプリケーションフォルダにいれるのですが、もうひとつBlenderを持っているなら同じところには置かない方がいいと書いてありました。今回のほうが新しいので古いのは捨てて、アプリケーションフォルダに移動させました。
あとはBlender.appを開くだけ。サイトの説明にも、開いたら右側にBlendercamのタブが並んでいればOKと。

Blender.appを立ち上げる:
立ち上げるとこんな画面。右にBlendercamのタブあるかというとない。
ない場合は、「preferences-addonで、、、」と書いてあるけど、ちょっと違う。

User preferenceの設定・内容確認:
まず、左上のアイコン(タブ)で、User Preferencesを選ぶ(以下)。

そうすると上のメニューバーのようなものが変化して、以下のような感じ。


しかし、このままでは何もできないので、この横並びのメニューバーの下端を下方向へ引っ張る(ドラッグする)と、実は隠れている画面が出てくる(この隠れ画面に気づかなくて「そんな画面でてこないんだけど・・・」って以前なったことがある)。以下のような感じ。

隠れ画面の左に「Add Curve」ボタンを押し、右の「Add Curve:Simplify Curves」のチェックが入っている状態にする。
つぎは、左の「Scene」ボタンで「Scene: CAM - gcode generation tools」もチェックが入っている状態にする。この二つでOK。あとは引き下ろした画面を元にもどして、左上のアイコンタブを「Info」にでもしておけば大丈夫。


ようやく開始画面:
という感じで問題ないのですが、右側にCAMのタブが出なかったのは、単にウィンドウサイズが画面より大きくてフィットさせたら以下のように出てきました。
右側に縦に3列ある真ん中のがCAMタブですね。ここでほとんどの設定をするようです。なので、両側のタブは隠してしまっても大丈夫そうです(タブ画面の境目を横にドラッグして横幅をずらす)。


3Dモデルインポート:
あとは3DモデルをFile>Importでインポートする(以下)。
けっこういろんなデータ形式が読み込めます↑。


こんな凹凸があるデータをインポートしてみました。
多少位置がずれていれば、青赤緑の矢印を移動したい軸方向にドラッグすれば動かせます。斜めに一気に動かすというより、X軸はこのくらい、Y軸はこのくらいという感じでひとつの軸ずつ。

各種設定して行く前に、左上のアイコンタブが「Info」になっていて、そのままメニューバーの右のほうへいくと「Blender CAM」タブを選んでいるかチェック。以下のような感じ。


CAMタブで各項目を設定:
あとは設定していくだけです。右側のCAMタブをとりあえず一度全部閉じた方が分かりやすいかもしれません。全部閉じると以下のような感じ。
ここで上から順に設定していけばいいと思いますが、動画ではまず下から6番目の「CAM Machine」から設定しているので、それからやってみます。14項目もありますが、実際は8項目くらいでOKだと思います(2、4、11、12、13、14番目以外)。

CAM Machine(下から6番目のタブ):
こんな↑感じでセットしておきます。
上から「Presets」そのまま、「Post proces...」は「grbl」(これを使っているので)。ほかにもMach3とかLinuxCNCのEMCとかもありますね。「Split files」はGコードファイルが大きくなったら下の800000以上でファイル分割するということだと思います。単位は「Metric」。「Use position defenitions」でマシン原点など細かく入力できますが、とりあえずなしで。「Work Area」を材料の大きさに合わせて入力(ひとまわり大きいくらいで)。フィードやスピンドル回転数は適当に。ただ単位がcmになったりするので注意してください。ここは、だいたいこんな感じ。
それでは一番上の「CAM operations」タブに戻って、上から順にいきたいと思います。

CAM operations:
まず右上の「+」ボタンを押すと「Operation_1」という今回の加工タイトルの決定。そしていろいろ設定をしてセーブすれば今後もこの設定を選べば使い回しができるはず。少し下がって「Operation presets」タブから、既存の設定を選んでもいいけど、とりあえず最初は自分用に全部設定してみるという感じ。
「Calculate path」や「Simulate this operation」は設定が終わったら最後に押すボタンなので、いまはスキップ。あとはこんな感じで。
最後の「Object:」は、その3Dモデルのことです(3Dモデル名ではなくなっているかもしれません)。ほかに「CAM_machine」と「CAM_material」もありますが、それらは選ばないように。

CAM info & warnings:
ここはスキップ。エラーあるとここにでるようです。

CAM operation setup:
ここでどんな加工をするかが選べます。今回は凹凸を削りとるので「Parallel」を選んでみます。

ちょっと寄り道しますが、一番上のProfile(Cutout)は切り抜きだと思います。「Cut:Outside」でオフセットカットもできそうです。「Autogererate bridges」で完全切り離しにならないようにつなぎ目をつくってくれそうです。「Skin」は薄皮残しのようです。かなり便利そう。

元に戻りますが、「Parallel」を選ぶと、以下のようなタブ画面。

「3 axis」はそのまま。何ミリ間隔で削るかという設定です。とりあえず荒削りなら刃と同じ太さで。ということで6mmに設定。オーバーラップするように削るなら値を下げればいいと思います。「Angle of paths:」は、0度だと縦(Y軸方向)に平行に削るようです。今回は横(X軸方向)に削るので90度設定。「Use array」同じ部品を何個も並べて複数同時に削るときの設定のようです。

CAM optimisation:
ここは精度の設定だと思いますが、このままで(実際削ってみてからじゃないとわからないので)。

CAM operation area:
ここはZ軸方向でしょうか。レイヤー状に削るかとか、何ミリずつ下げるかとか。今回は木材という前提で、「Step down:」は、3mmで。アルミなら1mmとかでしょうか。加工の開始高さは材料の高さからでいいので、「Operation depth start:」は0で。たぶん以下のような感じでいいかと。

CAM movement:
ここは往復で削るとか片道だけで削るとかの設定だと思います。動画でも説明していました。
往復で削るということで「Climb/Down milling」。あとはこんな感じ。

CAM feedrate:
ここは加工時のフィード設定(加工時のXY移動速度)。
「Plunge speed:」で下へ掘り下げるスピード設定。おそらくこの設定で、XY軸の50%ということになるかと。遅くするに越したことはないと思います。「Plunge angle」は下がるときの角度。垂直に降ろすよりは斜めに降ろしたほうが抵抗が少ないので、角度があったほうがよさそうです。ということでこんな感じ。

CAM Cutter:
ここはエンドミルのタイプや太さなどの設定ですね。

End(フラット)、Ball(丸)、Vなど。今回は先が丸いBallで。Cutter diameter:で刃の直径6mmを入力。Cutter flutesは何枚刃かなので、2枚刃ということで。

CAM Machine:
ここは最初に設定したので先ほどの内容で。

CAM Material size and position:
「Estimate from model」をチェックすると自動で大きさを計測して画面上に材料を包み込むように半透明ボックスが配置されます。
「Position object」を押すと自動的に左下を原点に移動してくれます。
ただ、今回の場合、縦方向になぜか余分に大きくなっている。
あとで加工パスを表示すると、ズレや加工範囲が広すぎたりするので、無駄な動きをなくすためにもまたここに戻って来て手動で調整してみるといいかもしれません。「radius around model:」で加工範囲を1cm多めに設定してみました。そうするとちょうどよさそうだったので。

こんな感じで、この段階で一番上のタブの「CAM operations」に戻り、「Calculate path」ボタンを押してみるといいです。だいたい加工範囲がカバーされているか?無駄に外側に大きく加工範囲がはみ出ていないかなどチェックできると思います。だめそうならUndoで戻って、ちょっと設定を変えてみるといいと思います。
これで大体OKだと思います。残りのタブはあまりいじらなくてもよさそうです。
あとは、「CAM operations」の「Simulation this operation」で加工後の状態をチェックして、だめならUndoして再度調整し、OKなら「Calculate path」ボタンを押してGコードファイルを生成。デスクトップ上に「CAM operations」内の「File name:」で.ngcファイルが出来上がっているはずです。

bCNCで確認:
その.ngcファイルをbCNCで見てみると、以下のような感じです。
きれいに削れるかどうかは分かりませんが、一応データ上は問題なさそうです。これもエンドミルの形状や太さ、フィードやオーバーラップをどのくらいにするかなど、経験から覚えていく感じでしょうか。

まとめ:
まだ実際に加工はしていないのでわかりませんが、3Dだけでなく2DでもBlendercamは便利そうです。とくにBlender特有の操作が必要というわけでもないので(3Dモデリングをするわけではないので)、Gコード生成のツールとしては充分使えそうです。この際、Blenderの3Dモデリングもまた覚え直してこのソフトひとつでやったほうがいいのかもしれません。
Blenderは、影付きの3Dゲームエンジンや物理シミュレーションが作れるというので、以前から使いたいと思っていましたが、途中でUnityも出て来て、あまりにもBlenderが扱いにくいのでUnityに移行したほうがいいかもと思いつつ、3D熱も冷めてしまって結局どっちもほったらかしになっていたという感じです。

2 件のコメント:

  1. すばらしいチュートリアルの公開シェアありがとうございます。
    CNC初心者です。
    ブレンダーをダウンロードしたものの全くわからず1年ほど
    放置していました。さきほどCAM画面がひらき感動です。
    どこまで使いこなせるかわかりませんが
    再チャレンジしてみようと思います。

    Ninja sloper (http://blogs.yahoo.co.jp/take0710bravo)

    返信削除
    返信
    1. コメントありがとうございます。
      Blenderは3Dなら何でもできそうですが、操作が独特すぎるので慣れるのに時間かかりますね。ただ、Gコード生成するには便利そうです。
      今ならFusion360のほうが人気があるのかもしれません。モデリングもFusion360のほうが圧倒的に使いやすい気がします。
      個人的には主に2Dカットばかりなので、Inkscapeばかり使っています。
      また何かあればコメントお願いします。

      削除