そんなときは、GCodeの末に終了位置を追記するのじゃ。(同じ内容をスクラップボックスにもまとめてあります。)
3Dプリント終了時の悩み
フィラメントインジェクション式のプリンタでプリントが終わったあとヘッドとベッドがホームポジションに戻りますが、その位置が奥まった場所になっていて、完成品を取り外すときベッドをいちいち引っ張り出すのが煩わしい。
面倒くさがりの言い分のようですが、このまま電源が入った状態のベッドを引っ張り出したりしてしまうと部品のステップモーターが破損する恐れもある。(下手なことをしてなければ基本的に終了時に無効化されているけど)
この問題について、スライサーのGCodeの設定を編集することで解決しました。かんたん。
GCodeに一行追記
スライサーソフトでの作業。GCodeを出すソフトなら設定できると思います。
下に私の環境でのGCodeを記します。どの環境でも;End GCode
以下に同様の流れが書いてあるんじゃないでしょうか。どういう命令が書いてあるかはコメントの通り。この下から4行目のステップモーターをOFFする動作の前にポジションを変える命令を書き足します。コードの頭の番号が気になるひとは『G-Codeの読み方』を。
;End GCode
M104 S0 ;extruder heater off
M140 S0 ;heated bed heater off (if you have it)
G91 ;relative positioning
G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more
G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way
G1 Y200 F{travel_speed} ;******この行を書き足す******** move Y axis, to make heat bed comes front
M84 ;steppers off
G90 ;absolute positioning
M81
;{profile_string}
G28 X0 Y0
というのがホームポジションに戻るコード。このあとにG1 Y200 F{travel_speed}
「Y方向に200mm移動」というのを書き足すことでベッドが前に出た状態で印刷を終了するようにしています。 印刷域を出るような値にすると空転して機材に良くないと思うので200mmという距離は環境に合わせて変更されたし。また、{travel_speed} という定数はプリンタのプロファイルかスライサーの設定によってはないかもなので、そのときは良き値を記入してください。
これを書き込んだら、スライサーで表示される軌道が最後グーンと後ろに行ってプリントのヘッドが後ろ、つまり相対的にベッドが前に出るということが確認できると思います。そのとき、Y方向だけ指定したはずなのに描画された軌道が斜めになるのはなんでじゃと思いましたがこれは、前の行でXY軸をホーム位置に行かせるという命令と一緒に行われるためのようです。
出典と参考
Ender 3 Hot bed finish position – Talk Manufacturing | 3D Hubs
CNCを知ろう:G-Codeの読み方 – Make: