Can someone help me out with the gcode to have the printer and 3DCh completely retract the filament back to the start position after a print is complete? I don't know if a portion of the gcode from the gcode generator can be used for this function. I don't know prusa well at all so I'm not sure where to put it even if I had the code. End gcode perhaps?
top of page
bottom of page
Here is my end gcode from Prusa slicer. It has a fair ammount of descpritions for what is going on. I kept the standard end gcode for the printer profile and added a 6 pulse button press (retract filament and zero) plus retraction time. you will need to adjust your button location and retraction times for your setup. ; Begin End G-Code
; Ensure the print head is raised before starting unload sequence
{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F600 ; Move print head up{endif}
; Perform Tip Shaping V2 before unloading
; <<< Start Of Tip Shaping V2 >>>
G92 E0 ; Zero the extruder
G1 E10 F500; push out the molten filament
G1 E-15 F4000; quickly retract
G1 E-10 F150; slowly retract
G1 E-60 F4000; quickly retract
G92 E0 ; Reset extruder position
; <<< End Of Tip Shaping V2 >>>
; Start 3D Chameleon unloading and zeroing sequence
G0 Y234 F2000 ; Move to button position to initiate unload and zero
G4 P2750 ; Hold button for 6 pulses, each pulse 0.5 seconds, total 3 seconds for unload and zero I reduced the P a bit to ensure we don't hit 7 pulses which is a zero only command.
G0 Y231 F2000 ; Move back to standby position
; Pause before initiating return sequence
G4 P1000 ; Pause for 1 second to allow all processes to complete
; Activate the button for 7 seconds to back the filament to its starting point
G0 Y234 F2000 ; Press button again to start filament return
G4 P7000 ; Hold button for 7 seconds to ensure filament is fully retracted
G0 Y231 F2000 ; Return to standby position
; Short pause to ensure all operations have ceased before moving the bed forward
G4 P500 ; Pause for 0.5 seconds
; Now, move the bed forward to present the print
G1 X5 Y{print_bed_max[1]*0.85} F{travel_speed*60} ; Present print
{if max_layer_z < max_print_height-10}G1 Z{z_offset+min(max_layer_z+70, max_print_height-10)} F600 ; Move print head further up to clear any obstruction{endif}
{if max_layer_z < max_print_height*0.6}G1 Z{max_print_height*0.6} F600 ; Ensure print head is well clear of the print{endif}
; Turn off heaters, fan, and motors for final shutdown
M140 S0 ; Turn off heatbed
M104 S0 ; Turn off hot
Is there a 'Recommended" approach to unloading filament at end of print, in Mode 2?
I perform the unload with the 6 pulse command. However on new prints the 3DChameleon wants to unload tool-0, which pulls it further into the 3DCham tube. if a request for tool-0 is made, it would never push the filament far enough to the extruder. The work around is to manually reposition filament to correct location. it would be cool to command 3DChameleon to just switch to tool and load, without an unload.
Thanks, in advance
Robert
Just adding in here to see what the resolution is. Just got my Chameleon as well, and not really versed in the lingo / Gcode commands. Is there an exact command to do it? thanks.
End Gcode would be where you'd want it. You'd need an "unload filament" code for your machine to unload it from the hotend, then you'd need a "move" command to send your hotend and trigger the switch for x-amount of time, and then the chameleon would unload the rest of the way.
which machine are you using and which mode is the chameleon in?