Fusion 360 + Machinekit (LinuxCNC) でちゃんとパスがトレースされない
Machinekit (LinuxCNC) では G64 P0 (Blend Without Tolerance Mode) がデフォルトになっており、これは「送り速度優先」「公差無視」のモード。なのでフィードレートを早くしていると細かい動作のとき大きな公差が発生する可能性がある。(まんまとハマってしまった)
G64 P0.002 のように明示的に公差を指定するか G61 で常にパスに従うように指定する。普通に考えると公差指定のほうが良さそう。機械的要素から限界の精度は求められるので、すくなくともそれ以上の公差は指定したほうが良い。
パスの差
白い線が通るべき線、ピンクの線が実際に通った線
デフォルトだとこんなにカクつく…… (各種条件によります)
適切に公差指定すると以下のように
Fusion 360 では
ポスト処理には「tolerance」パラメータがあるのだけど、吐き出される GCode には G64 が含まれない。なんでやねんという感じだけど、どうやら linuxcnc.cps が対応してないっぽい。
しかたないので自分で .cps を書いた。machinekit.cps。自分のものは以下に置けばいいらしい。
~/Autodesk/Fusion 360 CAM/Posts
備考:.cps ファイルの差分
ちなみに、デフォルトの .cps は以下にある
~/Library/Application Support/Autodesk/webdeploy/production/{versionid}/Libraries/Applications/CAM360/Data/Posts .cps ファイルはぱっと見 JavaScript ファイルっぽい。謎文法のクソファイルとかじゃなくていいですね。
試した感じ linuxcnc.cps に追加して、onOpen 関数の最後で以下のようなのを書いておけばよさそう。これでポスト処理ダイアログで指定できるパラメータが出力される。
if (tolerance) {
writeBlock('G64 P' + tolerance);
} 関連エントリー
- Sable-2015 + Machinekit (LinuxCNC) スピンドルスピード スピンドルスピードを実測するやつを作った。左から、実測・設定値・最大値 (プーリー設定によって変化)。再現性とか考えるとやはり実測回転数が必...
- Machinekit 用の筐体 昨年の夏ぐらいからずっとやっていた CNC コントローラの Machinekit 化 がようやく一段落しつつあります。夏の時点で「動く状態」...
- pcb2gcode のオートレベリングを使ってみる Machinekit にしたかった主な理由の一つがこれでした。事前に基板表面を一通り Probe し起伏のマトリクスを得て、これをもって補正...
- KiCAD + Machinekit (LinuxCNC) で切削して基板をつくるときの手順 しばらくすると忘れてしまうので、現状のフローをまとめておく。 pcb2gcode の millproject AutoLeveller は基...
- Ubuntu 18.04 の VNC (画面共有) 「設定」→「共有」→「画面共有」という項目がでるはずだが、ない場合、vino (gnome desktop 環境の vnc サーバコンポーネ...


