takashiskiのブログ

覚書の殴り書き

ヒートベッドの加熱前に位置を変える

印刷開始時に、前の状態によってはフィラメントが垂れる場合があります。 垂れた場所がベッドの中央付近だと、セットアップ時にベッド上にフィラメントが残ってしまい、印刷時に巻き込んで印刷の欠陥の原因になります。

Curaで加熱開始前にあらかじめ隅に移動する方法があるのではないかと調べました。

以下の質問の回答にに記載がありました。

community.ultimaker.com

Curaは開始gcode内にホットエンドおよびベッドの加熱のgcodeがない場合、頭に加熱のgcodeを挿入するようです。 おそらく以下のgcodeが差し込まれます。

M140 S{material_bed_temperature_layer_0}
M190 S{material_bed_temperature_layer_0}
M104 S{material_print_temperature_layer_0}
M109 S{material_print_temperature_layer_0} 

なので、加熱前になんらかの動作を実施したい場合は、加熱のgcodeを明記したうえでその前に任意の処理を記述すればいいようです。

私の場合は加熱後処理はklipper側のgcode_macroとして記述をしたSTART_PRINTで制御するので、以下のようにしました。

G28
G1 X0 Y10 Z1
M140 S{material_bed_temperature_layer_0}
M104 S{material_print_temperature_layer_0}
M190 S{material_bed_temperature_layer_0}
M109 S{material_print_temperature_layer_0}

START_PRINT

Curaの加熱gcodeでは、ベッドの加熱を待ってからホットエンドの加熱を行いますが、今回は同時に加熱を開始したいと考えたので順番が変わっています。

おまけ

curaで利用可能な変数リストだそうです。

files.fieldofview.com