In Cura (e Slic3r), puoi personalizzare al 100% ciò che fa la stampante prima di stampare il tuo modello reale attraverso il codice g personalizzato di inizio / fine .
Se si accede a Start/End-GCode tab in Cura
, quindi selezionare start.gcode
, è possibile vedere quali operazioni vengono eseguite prima dell'inizio di ogni stampa. Le righe con il prefisso ;
sono commenti e non influiscono in alcun modo sulla stampa.
Fondamentalmente, vogliamo dire manualmente alla stampante di eseguire il livellamento automatico prima di riscaldare l'ugello modificando il codice g start.gcode
.
Codice G generato con il codice start.gcode predefinito:
Se provi a tagliare un modello con il codice predefinito trovato in start.gcode
, otterrai qualcosa come il seguente (a seconda della tua stampante):
; 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
.
.
Analizzare l'output del codice g
Nella parte superiore di questo frammento di codice, possiamo vedere che Cura inserisce automaticamente il codice g per riscaldare il letto e l'ugello alle rispettive temperature con i codici g M190 e M109 . Ciò significa che la stampante riscalderà sempre l'ugello prima di leggere le start.gcode
s che abbiamo impostato. Tuttavia, se eseguiamo l'override manuale del codice M109start.gcode
, l' M109 in alto scomparirà automaticamente dall'output del codice g generato! (Grazie, @TomvanderZanden!)
Potremmo quindi utilizzare il comando di livellamento automatico G29 prima di impostare manualmente la temperatura dell'ugello con M109 ; in particolare, vogliamo aggiungere M109 S{print_temperature}
, che legge l' Basic -> Print Temperature
impostazione in Cura, e sostituirla {print_temperature}
automaticamente.
Manipolazione di start.gcode:
Per rimandare il riscaldamento dell'hotend fino a dopo il sondaggio, start.gcode
potrebbe essere qualcosa del tipo:
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
E questo è tutto! È quindi possibile utilizzare questi codici nel proprio start.gcode
. Tuttavia, probabilmente dovrai ricalibrare il tuo offset z-prove.
Regola offset sonda z:
Normalmente, l'autolivellamento viene eseguito con l'ugello riscaldato per un motivo: quando l'ugello è caldo, si espande leggermente, avvicinandosi al letto. Pertanto, potrebbe essere necessario regolare l'offset della sonda Z con il comando M565 (come mostrato nello snippet) per tenere conto dell'aumento della lunghezza dell'ugello quando è caldo.
Ricorda:
Ricorda che quando modifichi g-code in questo modo, avrai il pieno controllo del funzionamento della stampante. Potresti quindi fare qualcosa di non intenzionale, quindi tieni l'interruttore di accensione vicino!