以前の記事でESP32からスタンドアロン駆動できるのか、Gコードを用意して試してみたことがありました。
このときBlendercamという3DモデリングソフトBlenderのGコード生成ライブラリを利用してサンプルコードを生成しました。
インストールや生成方法などの手順はこちらのサイトを参考にしました。
ただ、はっきり言ってめちゃややこしいです。
3Dデータに対応しているのできちんと使いこなせれば便利なことは間違いありません。
設定が英語でややこしいので、このソフトを使いこなすのは未来の自分に託すとして、とりあえずサンプルコードはXYZ軸が動けばOKとしていました。
そして、過去記事のレベル調整はFluidNCからの制御としました。
今回の目的は動けばOKではなく、「きちんと寸法を合わせた円を描くこと」です。
円を描くことはCNCの基本とされており、「きちんとした円が描ければCNC作成は成功」と言われているようです。(と、SNSのどこかで見ました。)
単純な2DモデルからGコードを生成するにはWindowsであればいろいろなGコード生成ソフトがありますが、僕はMac派なので使えません。
Windowsのエミュレーターもありますが、貧弱Macbookで遅いので実用に耐えません。
MacからcamソフトをとなるとFusion360という選択肢が大道のようですが、なにやらMacのバージョンが古いと対応できなくなりますよと忠告を受けました。そんなソフトはこちらから願い下げです(悔)。
いろいろと探った結果、こちらのサイトでSVGデータからGコードを生成することが出来ることがわかりました。
JavaScriptで動いているのでブラウザ上でGコードを生成出来るようですね。すごい!!
<使い方の参考になるサイト>
生成されたGコードはすぐにシミュレーションで確認することが出来ます。
ただ、このシミュレーターは座標のどこから切削スタートなのかは解りにくいです。
そういう場合はこちらのサイトでGコードの実際の切削座標を含めてシミュレーション再生することが出来ます。
原点からコレぐらい移動して切削しますよーというのがすぐ解ります。
再生ボタンを押すとミルの動きがコードに合わせて動いて見えるのも素晴らしいです。
今回の課題はこれでほぼ解決です。
大元のSVGファイルはこちらのInkscapeで生成します。
SVGデータが生成できるならイラストレーターとか何でも良いと思います。
どうやらこのInkscapeのページの左上が原点となるようです。
前回GRBLの原点が右上だと確認したので、やはり左に合わせたほうが解りやすいのでは?と思いますが、またおいおい設定とか見直すことにします。(FluidNCのwhikiで原点をネガティブにするかポジティブにするか?みたいな設定方法を見た気がしますのでたぶんここは弄れると思います。)
※Inkscape単体でもGコードを生成できるそうですが、僕は残念ながらこの機能は理解が出来ませんでした。(速度とかミルとかどこで設定するのか解らない)
初めてのペンプロッタとしての動作の様子を動画にまとめました。
何度かZ軸の初期座標ミスでテーブルとペンが衝突してしまいましたが、なんとか目的の◯が描けました。
ステッピングモーターがものすごい音ですが、ゆっくりと文字も描けています。
速度は実際のカットを想定した100mm/min設定しています。
初めてのまともなGコード完走です。なかなか良い感じではないでしょうか?
◯はミル0.5mm,円直径5cmのinside設定で問題無さそうです。
ということで、CNCのマシン本体の制作はひとまず完成とします。
次はエンドミルを購入して実際の切削ですが、切り粉がいっぱい出るとなると部屋の中では難しそうですね。