回答:
Cura(およびSlic3r)では、カスタムのstart / end g-codeを使用して実際のモデルを印刷する前に、プリンターの動作を100%カスタマイズできます。
に移動してStart/End-GCode tab in Cura
からを選択するとstart.gcode
、各印刷が開始される前に実行される操作を確認できます。接頭辞が付いた行;
はコメントであり、印刷には一切影響しません。
基本的に、でg-codeを編集して、ノズルを加熱する前に、プリンターに手動で自動レベリングを行うように指示しstart.gcode
ます。
にあるデフォルトのコードでモデルをスライスしようとするとstart.gcode
、次のようなものが得られます(プリンターによって異なります):
; CURA AUTOMATICALLY INSERTS THESE TEMPERATURE CODES
M190 S70.000000 ; Set bed temperature to 70 degrees
M109 S210.000000 ; Set nozzle temperature to 210 degrees
; THESE ARE THE CODES FROM START.GCODE (for a ROBO 3D R1)
G28 ;move printer to endstops (the home position)
G92 E0 ;zero the extruded filament length
M565 Z-1 ;set z-probe offset
G1 Z5 F5000 ;move the printer 5mm above the bed
G29 ;run auto-leveling
; THE ACTUAL MODEL BEGINS HERE
;Layer count: 168
;LAYER:0
.
.
このコードスニペットの上部では、Curaが自動的にgコードを挿入し、M190およびM109 gコードでベッドとノズルをそれぞれの温度に加熱することがわかります。これは、start.gcode
設定した値を読み取る前に、プリンターが常にノズルを加熱することを意味します。ただし、でM109コードを手動でオーバーライドした場合、上部start.gcode
のM109は生成されたg-code出力から自動的に消えます!(ありがとう、TomvanderZanden!)
したがって、M109でノズル温度を手動で設定する前に、自動レベリングコマンドG29を使用できます。具体的には、Cura の-setting を読み取るを追加し、自動的に置き換えます。M109 S{print_temperature}
Basic -> Print Temperature
{print_temperature}
プロービング後までホットエンドの加熱を延期するには、次のstart.gcode
ようにします。
G28 ;move printer to endstops (the home position)
G92 E0 ;zero the extruded filament length
M565 Z-1 ;set z-probe offset <----- ( YOU HAVE TO ADJUST THIS, READ BELOW)
G1 Z5 F5000 ;move the printer 5mm above the bed
G29 ;run auto-leveling
M109 S{print_temperature} ;set nozzle temperature, and wait for it heat up
そしてそれはそれについてです!その後、これらのコードをで使用できますstart.gcode
。ただし、z-proveオフセットを再調整する必要があります。
通常、自動レベリングは、ノズルが加熱された状態で行われます。ノズルが温かい場合、ノズルがわずかに膨張し、ベッドの近くに移動します。したがって、M565コマンド(スニペットで示されているように)を使用してZプローブオフセットを調整し、ウォーム時のノズル長の増加を考慮する必要があります。
この方法でGコードを編集するときは、プリンターの動作を完全に制御できることに注意してください。したがって、意図しない何かを非常にうまく行うことができますので、電源スイッチを閉じておいてください!