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
基本的には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上で操作する)があり、先ほどつかってみたらタブレット(ブラウザ上から)でリモートコントロールできました。
関連:
G Code Sender(bCNCなど)
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もあることはある。
まとめ: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など)