Ultimaker CuraでStart G-codeとEnd G-codeの設定を行うことで、ベットとノズルを同時に予熱したり、3Dプリンターからビープ音を印刷の前後で鳴らしたりする設定を追加できます。海外サイトからの情報を元に私が普段使用している便利な設定をまとめました。
Start G-code, End G-codeとは
Curaでスライスした3DモデルのG-codeにはモデルをプリントする以外コマンドが前後に含まれています。
Ender3の例だと印刷前には動作設定や原点出し、ノズルの拭き取りのため左端にラインを引く動作。印刷後にはノズル上昇しベッドを手前に引き出す動作、ノズルとヒートベッドの加熱停止、ファン停止しステッピングモータのロック解除など。これらをCuraの設定で変更や追記することができます。
Start G-code, End G-codeの設定方法
画像のプリンターの選択欄から
[Manage printers(プリンター管理)]をクリック
設定するプリンター名を選択して
[Machine Settings(プリンターの設定)]をクリック
Start G-code と End G-codeがここで編集できます。
おすすめの設定
ベッドとノズルの同時予熱
Ultimaker CuraでスライスしたG-codeをプリントすると印刷開始までに時間がかかります。これはベッドが予熱完了後ノズルの予熱を開始しているためで、3Dプリンターのパワーサプライが非力な場合にはこの方法で消費電力を抑えられますが、ほとんどのプリンターでベッドとノズルを同時加熱しても問題ありません。
通常、「ベッド予熱開始→ベッド予熱完了→ノズル予熱開始→ノズル予熱完了→印刷開始」の順で動作しています。Start G-codeを追記してベッドとノズルを同時に予熱し、印刷開始までの時間短縮することができます。
;*** Start Dual Nozzle/Bed Preheating ***
M140 S{material_bed_temperature_layer_0} ; start preheating the bed
M104 S{material_print_temperature_layer_0} T0 ; start preheating hotend
M190 S{material_bed_temperature_layer_0} ; heat to Cura Bed setting
M109 S{material_print_temperature_layer_0} T0 ; heat to Cura Hotend
;*** End Preheating ***
参考:chepclub.com
このコードをStart G-codeの先頭に貼り付けて使用できます。
G-code解説
M140 S*** M140:ベッド予熱開始(待ち無し) S<温度>:温度設定℃
M104 S*** M104:ホットエンド予熱開始(待ち無し) S<温度>:温度設定℃
M190 S*** M190:ベッド予熱開始(設定温度になるまで停止) S<温度>:温度設定℃
M109 S*** M109:ホットエンド予熱開始(設定温度になるまで停止) S<温度>:温度設定℃
ビープ音を鳴らす
私の所有しているCreality Ender3, Voxelab Aquilaは基盤にブザーが付いているのでM300のG-codeでブザーを鳴らすことができます。
;*** Tones
M300 S440 P200
M300 S660 P250
M300 S880 P300
;*** Tones End
End G-codeの先頭に貼り付けて、印刷完了時にビープ音を鳴らすことができます。
G-code 解説
M300 S*** P*** M300: プレイトーン S<Hz>:周波数(260Hz ) P<ms>:長さ(1ms)
S<Hz>で周波数を変えられますが、実際には周波数が変わらずビープ音のみでした。
このM300で3Dプリンターの基盤に繋がっているブザーをスピーカーに変更、フォームウェアプログラムを少し変えて音楽を流すこともできるようです。
機会があればやり方を記事にしたいと思います。
印刷後にフィラメントの引き戻し・自動取り出し
フィラメント交換時にノズルを予熱して取り出す必要があるので印刷毎にフィラメントを交換している場合は、印刷終了と同時にフィラメントが取り出されたら便利ですよね。また、少しフィラメントの引き戻し(リトラクト)を追加することで次回予熱した時にノズルからフィラメントが垂れにくくすることができます。
M117 Retracting Filament
G1 E-400 F2700 ;Retract filament
End G-codeの先頭に貼り付けて、印刷後にフィラメントを自動で取り出します。
G-code解説
M117 :ディスプレイにメッセージ表示
G1 E-*** F **** G1:ライナー動作 E-<mm>:リトラクト F<rate>:速度レート
その他、G-codeのコマンドを追記して印刷前後の動作をプログラムできます。
G-codeのコマンドは英語ですがMarlinの公式サイトで一覧が解説されています。