はじめに
FlashForge社のAdventurer3向けにCuraでスライスしたい!
純正のスライサであるFlashPrintが悪いとかではなく(むしろスタートとしては申し分ない)、
かゆい所に手が届くCuraを使用したかったのです。
※CuraでAdventurer3のプリンタ追加等は済んでいる前提での記事になります。
問題点
FlashPrintでスライスして出力したGcodeでは、M104,M140等の温度設定でエクストルーダ指定が必要になります。
FlashPrint Gcode
…
M140 S90 T0 ;←このT0
M104 S245 T0 ;←このT0
…
それに対してCuraで出力したGcodeでは、上記のT0指定が記載されません。
Cura Gcode
…
M140 S90 ;←ここ
M104 S245 ;←ここ
…
解決策
環境
- Cura 5.1.0-beta+304 (Cura 5.0.0でも動作していました)
- Adventurer 3 ver 1.3.2
どうやった?
Curaにある"後処理"(Postscript)機能を使用して、M140/M104のコードを修正しました。
- [Curaインストールフォルダ]は個人のインストール環境に読み替えてください。
- 私の場合は C:\Program Files\Ultimaker Cura 5.0.0\ でした。
[Curaインストールフォルダ]\share\cura\plugins\PostProcessingPlugin\scripts\ApplyAdventurer3.py
from ..Script import Script
class ApplyAdventurer3(Script):
def getSettingDataString(self):
return """{
"name": "ApplyAdventurer3",
"key": "ApplyAdventurer3",
"metadata": {},
"version": 2,
"settings":
{}
}"""
def execute(self, data):
for layer_number, layer in enumerate(data):
lines = layer.split('\n')
for line_n, line in enumerate(lines):
if self.getValue(line, "M") in {104,140} and self.getValue(line, "T") is None:
lines[line_n] = line + " T0"
data[layer_number] = "\n".join(lines)
return data
上記のコードを保管しCuraを再起動し、上部メニューより
- 拡張子 → 後処理 → G-codeを修正 → スクリプトを加える
から、「ApplyAdventurer」が選択できるのでポチッとします。
あとはそのままスライスしてディスクに保存するだけで、加工された状態で保管されるはずです。
おわりに
結局Adventurer3に転送するためにFlashPrintを起動しているとか言えない。