GCode for filament switch?
Hello, does someone have the example gcode snippet to trigger the MMU3 (on Mk4s) to unload the current filament and load another? I wrote a program that is supposed to randomly change the MMU3 filament every layer. The trick is I do not want to wipe at all. I intend for the colors to slowly blend from one to another. (For a one perimeter thick light diffuser) The gcode injects correctly but I am doing something wrong because the printer fails to extrude at all even though the code up through the first layer is unchanged. I use T# to effectuate the filament switch. I’ve also seen M600 suggested but haven’t tried it yet. I’m stuck somewhere for a couple hours with only my phone but I’ll try to upload original and modified gcode later. Thank you.
RE: GCode for filament switch?
toolchange_gcode = f""";
This is the Python template that is filled out and inserted when the RNG decides it is time to change filaments.
toolchange_gcode = f"""
; RANDOMIZED TOOLCHANGE START
; Switching from T{from_extruder} to T{to_extruder}
M220 B
M220 S100
; TOOLCHANGE UNLOAD
G1 E-15.0000 F6000 ; Retract filament safely
G1 E-28.0000
G1 E-8.0000 F3000
G1 E-4.0000 F1800
G1 E-55.0000 F6000
G4 S0
M104 S220
M900 K0 ; Disable Linear Advance temporarily
; Filament-specific end gcode
T{to_extruder}
M572 S0.036 ; Filament gcode
M104 S220 ; Set new filament temp
G4 S0
M591 R ; Resume filament sensor
G4 S0
; Load new filament
G1 E6.4000 F3000
; Resume printing directly after tool change
M220 R
G1 F18000
G4 S0
G92 E0
; RANDOMIZED TOOLCHANGE END
"""
RE:
@jamesan
before using the T# code, use "M702" to unload filament correctly
like:
M702 T2
My Printables models including Nextruder improvements: https://www.printables.com/@ThorstenLach_1801966