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

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



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


ラベル Jscut の投稿を表示しています。 すべての投稿を表示
ラベル Jscut の投稿を表示しています。 すべての投稿を表示

2016年5月15日日曜日

CNC関連のソフト(まとめ)

CNCマシン制作の構想段階当初から、Macで使えるオープンソースのCNC関連のソフトをいろいろ探しています。数年前の流行が一段落したせいか、一見よさそうだけど開発が止まっているもの、便利そうだけどバグがあったりとなかなか見極めが難しそう。Macなので数はかなり限定されるのですが、いままで見て来たソフトのリスト。
Mac利用者からの見ての使いやすさで★〜★★★つけてます。初心者向けという感じで、必ずしも高機能がいいというわけではなく。すぐに使えるかどうかという基準で。それと今後の開発も期待できるかどうか。Linux系はMacでも使えることがあるけど、インストールが面倒だったり、Mac特有のバグがあったりするのであまり触っていません。Raspberry Piにインストールして使えば便利そう。

主には以下の5種類。

・2Dドローイングソフト:
  svg、dxfなどのフォーマットで出力できるもの

  Inkscape★★★
    イラストレータの代用(イラストレータのショートカットキーに変換可)。
    Extension(Plug-in)との組み合わせで充分使える。
    スナップ機能も細かく設定できるのでCADのように製図できる。
    Forumも充実しているし、2Dやレーザー加工はこれがメインで大体大丈夫だと思う。
    オフカット(Outset/Inset)機能でルーター加工パスもつくれる(使用例)。

・3Dモデリングソフト:
  stlなどの3Dフォーマットで出力できるもの

  Fusion360★★★
    3Dモデリング操作しやすい。
    無料版が最低1年間は使える。その後また更新?
    Gコードも生成可能。
    クラウドベースなので共同作業がやりやすい。
  Blender★★☆
    操作方法が独特で慣れるまで大変だけど、基本的に何でも作れる。
    Add-on(プラグイン)も豊富にある(シリアル通信なども可能)。
    BlendercamでGコード生成可能。
  ・SketchUp:★★★
    操作が直感的で扱いやすい。
    プラグイン「Export DXF or STL」をインストールすると便利。
    プラグイン「SketchUcam」をインストールすればGコード生成も可能。

・CAM/G Code Generator:
  図面データ(2Dデータ:svg、dxfなど、3Dデータ:stlなど)をGコードに変換してくれる

  Fusion360★★★(使用例
    3DモデリングしながらGコードも生成できる。3Dプリンターにもいいかも。
    商用ソフトでもあるので、かなり本格的(設定などが細かい)。
    レーザー加工用の機能がないのがちょっと残念。3D加工向きかも。
  Blendercam★★★(使用例
    Blenderと組み合わせて使えば便利。
    様々な3Dデータを読み込むことができるので、Gコード生成用としても使える。
    3D切削加工はほぼ可能。
  gcodetools(Inkscape Extension):★★☆(使用例
    やや開発が停滞しているようだけど、基本的なGコードは生成可能。
    最初は使い方に違和感を感じるけど慣れれば簡単。
  Laser Tool Plug-in(Inkscape Extension):★★★(使用例
    レーザー加工するならこのInkscapeとこのプラグインで簡単に設定できる。
    操作/設定がシンプルで使いやすい。
  ・Laserweb3/Laserweb4:★★★(使用例
    ブラウザ上のレーザー用アプリ。Laserweb4は単体アプリ化。
    Gコード生成とGコード送信もこれ一つで出来るので便利。
  Jscut★★★(使用例
    Webベースなのでブラウザ上で作業が可能。
    シンプルで使いやすい。オフカットなどのパスも生成可能。
    他のWebベースのGコードセンダーと組み合わせて使うと遠隔操作可能なので便利。
  ・PyCAM:★☆☆
    インストールが面倒、Macにはバグもあったり、しばらくは改善されなさそう。
  ・SketchUcam:★★★
    SketchUpのプラグイン。
    SketchUpと合わせて使うと便利。

・G Code Sender/Controller:
  Gコードを読み込んでCNCマシンへ送信したり手動入力制御したりするPC上のアプリ

  Universal-G-Code-Sender★★☆
    シンプルなので最初は使いやすいかも。
    grblとの相性がいいのかも。
    JavaベースなのでMacも充分使える。
    開発中の新バージョンに期待したいけどいつになるのか?
  GrblController★☆☆
    数年前までは使っている人もいたみたい。開発が止まっていそうで、今後あまり期待できない。
    基本的なことはできるけど、他に比べるとやはりいまいち。
  bCNC★★★(bCNCを使ってみたときの記事はこちらへ
    操作も比較的シンプル。
    dxf読み込み可能、基本的なCAM機能もある。
    Autolevel機能もあるので基板制作にも向いている。
    Pendant機能でWeb上からスマホなどで遠隔操作可能。
  LaserWeb/LaserWeb2/LaserWeb3/LaserWeb4★★★
    ブラウザ上の操作はシンプル。svg、dxf対応。Jscutと組み合わせると便利。
    Webベースなので遠隔操作可能(最近はWebベースが主流かも)。
    ブラウザ上でstlファイルを読み込むことができる。
    まだまだ開発が継続されているので今後も期待ができる。
  cheton/cnc★★☆
    これもWebベースでつかいやすそう。
    Webカメラでの監視、320x240 LCDディスプレイ対応の操作画面もある。
    Raspberry Piを用いて操作などすると便利そう。
    今でも頻繁に開発が進んでいそう。
  ・GRBLWeb:★★☆
    こちらもWebベースでRaspberry Piにインストールしてホストとして使うのかも。   
  ・Easel:★★☆
    X-CARVEやShapeoko(1or2)用のWebベース、CAD+CAM+GrblControllerソフト。
    X-CARVEやShapeoko(1or2)用だけれども使うことはできる。
    ただ、Machine選択でX-CARVE/Shapeoko(1or2)/Carveyしかないから戸惑うが、ウィンドウ下のAdvanced>> に進み、Advanced SettingsでMachine Inspectorを使えば大丈夫。
    細かい設定はないけれどもオールインワンなのですぐに使うにはいいかも。
    ステップバイステップで設定が誘導されるので初心者にはわかりやすい。   
  ・Mach3:☆☆☆
    MacなのでMach3とは無縁。

・G Code Interpreter:
  CNCマシンのマイコン(Arduinoなど)上のファームウェア
  Gコードからモーター制御してくれる
 ・Grbl v1.1:★★★(Grbl v0.9やv0.8はこちら
   Arduino Uno用。3軸制御まで。
 ・Grbl-Mega
   Arduino Mega2560用。
   以下のフォークされたバージョンでは4軸制御や3Dプリンター制御など可能。
   https://github.com/bdurbrow/grbl-Mega
   https://github.com/fschill/grbl-Mega
   https://github.com/HuubBuis/grbl-L-Mega
   https://github.com/fra589/grbl-Mega-5X
 ・GrblESP(ESP8266用Grbl)
   SPI通信により最大8軸。Wifi操作可能。
 ・Grbl_ESP32(ESP32用Grbl)
   基本3軸制御? Wifi/Bluetooth操作可能。
 ・Android対応ArduinoMega2560専用6軸ファームウェア
【EU Free VAT】CNC Part 4th Fourth A axis Rotary axis Dividing head K11-65mm 3 Jaw Manual Chuck with TailstockOriginal price: USD 233.37Now: USD 172.70

  ・LinuxCNC★★☆
    GrblもLinuxCNCに準じているようなので、すべてLinuxを使えばかなり便利そう。
    ただ、Linuxもやり始めると手間暇かかってしまう。
    少なくてもRaspberry PIを使ってできるかもしれない。
  ・TinyG★★☆
   Grblより強力そうだけど、それだけ値段も高いのでお手頃ではない。$165ドル。
   ファームウェアはAVR Studio(Win用)でアップデート。Mac用AVR Studioもあることはある。
  
  
まとめ:
基本的にはG Code InterpreterはGrblを使用。
2D加工するなら、Inkscape+Extension(gcodetoolやLaser Tool Plug-in)でGコードファイルを生成する。あるいは、InkscapeのsvgファイルをJscutで読み込んでGコードファイルとして出力。
特に2Dのレーザー加工の場合は、Inkscape+Laser Tool Plug-inで充分だと思う。
Gコードファイルを読み込んで実行するソフトは、Universal-G-Code-Senderがシンプルでわかりやすいかも。現在は、bCNCが便利なので(慣れたので)使っていますが。
3Dの場合は、モデリングは何のソフトでも構わないと思う。Sketchupなど使いやすいと思うソフトで。その3DデータをFusion360かBlendercamでGコードを生成する感じになると思う。

この際、Linuxにしてもいいのかもしれないけれど、手間暇かかるのでそこまではしないつもり。Macの環境でもそこそこつくりたい物はつくれそうだし、とりあえずあるものを利用するだけでも充分だと思う。

ただ今後はRaspberry Pi3を使い、wifi経由でWebベースのLaserWeb2、cheton/cnc、Jscutを使うのがよさそう。遠隔操作やカメラ監視なども可能になるし、ワイヤレスでどこででも作業が出来るというのがいい。スマホやタブレットで操作もできるようになるので。
個人的には、LaserWeb2に期待したい感じ。現在はstlを読み込めるけど、スケール変換などがまだできない。今後のロードマップを見ると、3Dにも力入れようとしているし、まだまだ発展しそう。以下のような画面。

追記:
普段は、G Code SenderとしてbCNCをつかっていますが、bCNCにはPendantという機能(ネットワークを使ってWeb上で操作する)があり、先ほどつかってみたらタブレット(ブラウザ上から)でリモートコントロールできました。

これ↑が、Pendant機能をつかったタブレットのブラウザ上の画面です。
いままで通りに、CNCマシン(Arduinoボード)とMacBookをUSB接続し、bCNCを立ち上げてPendant開始ボタンを押すと機能がONになります(以下)。

ホストとなるMacBook上でもブラウザが自動的に立ち上がって操作画面が出てきます。アドレスに「http://localhost:8080」とでているはずなので、ローカルネットワーク内の他のコンピュータやスマホなどからもアクセスできるはずです。
持っているタブレットでは「localhost:8080」ではアクセスできなかったので、数字でプライベートIPアドレス「192.168.3.3:8080」(MacBookのプライベートIPアドレスとポート)を入れてみたら表示できました。
つまり、MacBookはCNCマシン本体脇に、そしてタブレットやスマホを持ちながらZ軸に近寄って調整などが可能というわけです。ポートマッピングも使えば、外出先からも操作可能だと思います。
bCNCは、いろいろな機能があってかなり便利そうです。

関連:
G Code Sender(bCNCなど)

2016年5月11日水曜日

CNCマシン:JscutでオフセットカットやポケットカットのG Code生成

grbl wikiのUsing GrblページにのっているGRBLwebというG Code Senderを見てみると、ブラウザ上で作業できるようなのですが、ネットワークに接続されたRaspberry PIをホストとしてCNCマシンの遠隔操作も可能なので便利そうです。CNCマシン用の小型コンピュータを設置するような感じでしょうか。そうすればわざわざMacBookをUSB接続せずに使えるので、5000円前後で可能ならいいかもしれません。でも、それならArduinoじゃなくてRaspberry PIで直接動かした方がよさそう。

Jscut:
同時にGRBLweb用に、JscutというsvgファイルをG Codeに変換してくれるweb上のソフトもあるようです。こちらは、http://jscut.org/jscut.htmlにアクセスすればすぐに使えるので試してみました。

こんな画面(ブラウザ上)です。真ん中上のほうにある「Open SVG」で以前合板でつくったパーツのデータ(Inkscapeで描画したsvgファイル)を開いてみました。右上の水色の部分に手順がでてくるので、図形を選択しながら左右のパラメータ(エンドミルの直径、フィード、材料の厚みなど)を設定します。
設定が終われば、左上の「Operations」内にどんな加工をしたいかを選ぶところがあります。Pocket、Inside、Outside、Engrave、VPocketの5種類あるので、大体の加工ができそうです。
今回の図形では、オフセットで3mm外側のラインで加工したいので、「Outside」を選択。最終的に合計深さ3mm削るなら「3 Deep」を入力。
その右となりにある「Generate」をクリックするとG Codeが生成されます。

図形画面上の「Simulate GCODE」を選択すれば、どんな感じに削るか見ることが出来ます。「Save GCODE」をクリックし、保存名や保存先を指定して.gcodeファイルとして保存できます。そしてbCNCなどで.gcodeファイルを読みこませて加工という手順。

追記:
尚、「Tabs」(タブ:部品が母材から完全に切り離れないようにつなぎ目をつける機能)に関しては、こちらの作業例にかいてあります。

今回生成されたG Codeだと問題なさそうです。これを使えば以前困っていたオフセットカットもすぐにできそうです。

Raspberry Piがあれば、GRBLwebとJscutの両方をブラウザ上でできるし、カメラも設置しておけば切削状況も確認しながら遠隔操作可能となるので、かなり便利そうです。
レーザーカットするときなどは、カメラ越しに見ればいいので安全対策にもいいかもしれません。

あと、WebベースのCNCソフトなら、cheton/cncも気になる。調べれば調べるほど、いろいろでてくる。開発が終わっていそうなものもあれば、いまでも頻繁に更新されているものとか。基本的な操作をするならどれでもよさそう。別に遠隔操作などしなくてもいいけど、オフセットカットパスを自動生成してくれたり、2.5Dだけでなく3D切削/Engravingにも対応しているようなG Code Generatorで便利そうなのが欲しい感じです。


bCNCにおける加工原点の移動方法:
Gコードは生成したけれども、切削作業前に、やっぱり加工原点を変更したいというときがあります(材料が思ったより小さかったり、微妙に形状に合ってなかったなど)。以下は、G Code SenderであるbCNCで加工原点を編集する方法です。

 bCNCのメニューバーのFileタブを選択し、フォルダアイコンをクリックすれば、ファイル選択画面が出て、PC内に保存されているJscutなどで生成したGコードのファイルを読み込むことができます。
今回の図面は部品の下中央を加工原点として、Inkscapeで描きました。左右対称ということもあったので。この原点をbCNC上でずらそうと思います。

 メニューバーのEditorタブに切り替えます。そうすると上の画面のようになります。ここで、Originボタンを押して、加工原点にしたい位置(今回の場合、部品の左上→右上の間違い)をクリックします。

そうすると瞬時に加工原点は部品の右上に移動します。以上です。

Moveボタンで図形移動:
また、他のやり方として、Originボタンの左にあるMoveボタンで部品の図形ごと移動してしまうという方法。
 まずMoveボタンを押します。移動したい図形全体をマウスで囲んで選びます(クリックなら部分的なパスを選ぶことも出来ます)。あとはドラッグして移動します(今回の場合、やや左下へドラッグ)。失敗したらUndo。

 先ほどは部品の右角に加工原点がありましたが、ドラッグしてここまでずれました。

あとは、視点を切り替えてみて(赤丸で囲んだタブで選択:ISO1など)、大丈夫か確認します。
真上や真横から見た視点にも変えられるので、X-Y平面上での移動ならX-Yタブ、上下方向で移動したいならX-Zなどを選んでパスを移動させます。この加工パスの場合、3回で切断するパスなのでそれぞれ同じパスが3層になっています。一つの層だけのパスを選びたい場合は、X-Y平面の視点だと選びにくいので、このようなISO1や横から見たX-Zなどの視点にするとやりやすくなります。
このほか、ある程度のパスの編集もこのEditorタブの画面内で可能です。すべては試してないので分かりませんが、いろいろいじってみるといいと思います。


人気の投稿