W Cura (i Slic3r) możesz w 100% dostosować to, co robi drukarka, przed wydrukowaniem rzeczywistego modelu za pomocą niestandardowego kodu g na początku / końcu .
Jeśli przejdziesz do Start/End-GCode tab in Cura
, a następnie wybierz start.gcode
, możesz zobaczyć, jakie operacje są uruchamiane przed rozpoczęciem każdego drukowania. Linie z prefiksem ;
są komentarzami i nie wpływają w żaden sposób na drukowanie.
Zasadniczo chcemy ręcznie powiedzieć drukarce, aby wykonała automatyczne poziomowanie przed podgrzaniem dyszy, edytując kod g start.gcode
.
Kod G generowany z domyślnym kodem start.
Jeśli spróbujesz wyciąć jakiś model z domyślnym kodem znalezionym w start.gcode
, otrzymasz coś takiego (w zależności od drukarki):
; 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
.
.
Analiza wyniku g-code
Na górze tego fragmentu kodu widzimy, że Cura automatycznie wstawia kod g do podgrzewania łoża i dyszy do ich odpowiednich temperatur za pomocą kodów g M190 i M109 . Oznacza to, że drukarka zawsze nagrzewa dyszę przed odczytem start.gcode
ustawionych przez nas parametrów. Jeśli jednak ręcznie zastąpimy kod M109start.gcode
, M109 u góry automatycznie zniknie z wygenerowanego kodu g! (Dzięki, @TomvanderZanden!)
Możemy zatem użyć polecenia automatycznego poziomowania G29 przed ręcznym ustawieniem temperatury dyszy za pomocą M109 ; w szczególności chcemy dodać M109 S{print_temperature}
, który czyta ustawienie Basic -> Print Temperature
-Cura, i zastąpić {print_temperature}
go automatycznie.
Manipulowanie początkiem. Kod:
Aby odłożyć ogrzewanie hotendu do momentu po sondowaniu, start.gcode
może być coś takiego:
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
I o to chodzi! Następnie możesz użyć tych kodów w swoim start.gcode
. Prawdopodobnie będziesz jednak musiał ponownie skalibrować przesunięcie z-proof.
Dostosuj przesunięcie sondy Z:
Zwykle automatyczne poziomowanie odbywa się z podgrzaną dyszą z jakiegoś powodu: gdy dysza jest ciepła, rozszerza się nieznacznie, zbliżając się do łóżka. Może być zatem konieczne dostosowanie przesunięcia sondy Z za pomocą polecenia M565 (jak pokazano we fragmencie), aby uwzględnić wzrost długości dyszy w stanie ciepłym.
Zapamiętaj:
Pamiętaj, że edytując kod g w ten sposób, przejmiesz pełną kontrolę nad działaniem drukarki. Dlatego możesz bardzo dobrze zrobić coś niezamierzonego, więc trzymaj przełącznik zasilania blisko!