Modify gcode - Custom gcode for Prusa XL multitool
Hey, did anyone already a better starting or ending gcode for the Prusa XL?
If yes please share it and tell about your optimized changes 🙂
RE: Modify gcode - Custom gcode for Prusa XL multitool
Hey
I changed start gcode (bold) to have 10 sec. time to clean the nozzle. Otherwise I noticed oozing and so my first layer was shit sometimes..
M17 ; enable steppersM862.3 P "[printer_model]" ; printer model checkG90 ; use absolute coordinatesM83 ; extruder relative mode
; set print areaM555 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} W{(first_layer_print_max[0]) - (first_layer_print_min[0])} H{(first_layer_print_max[1]) - (first_layer_print_min[1])}
; inform about nozzle diameterM862.1 P[nozzle_diameter]
; lower cold extrusion limit to 160CM302 S160
; home carriage, pick tool, home allG28 XYZ M84 E ; turn off E motor
; set & wait for bed and extruder temp for MBLM140 S[first_layer_bed_temperature] ; set bed tempM104 T0 S{((filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX" ? 210 : 170))} ; set extruder temp for bed leveling
M109 T0 R{((filament_type[0] == "PC" or filament_type[0] == "PA") ? (first_layer_temperature[0] - 25) : (filament_type[0] == "FLEX" ? 210 : 170))} ; wait for tempM190 S[first_layer_bed_temperature] ; wait for bed temp
; Z 30 hoch G0 Z30 F480
; Rückzug zum Nozzle Reinigen G1 E-20 F2400
; Warte 10sec zum Düse abwischen G4 S10
;M104 T0 S100 ; set nozzle cold temp;M106 S100 ; cool off the nozzle;M109 S100 ; wait for cold temp;M107 ; stop cooling off the nozzle - turn off the fan
; turn off E motorM84 E
; home Z again after cleanupG28 Z
; absorb heatG29 G
G29 P9 X{((((first_layer_print_min[0] + first_layer_print_max[0]) / 2) < ((print_bed_min[0] + print_bed_max[0]) / 2)) ? (((first_layer_print_min[1] - 7) < -2) ? 70 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)) : (((first_layer_print_min[1] - 7) < -2) ? 260 : (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)))} Y{(first_layer_print_min[1] - 7)} W{32} H{7}
;{if first_layer_bed_temperature[0] > 60};G0 Z70 F480 ; move away (a bit more) in Z;G0 X30 Y{print_bed_min[1]} F6000 ; move away in X/Y for higher bed temperatures;{endif}
; MBLM84 E ; turn off E motorG29 P1 ; invalidate mbl & probe print areaG29 P1 X30 Y0 W50 H20 C ; probe near purge placeG29 P3.2 ; interpolate mbl probesG29 P3.13 ; extrapolate mbl outside probe areaG29 A ; activate mblM104 S[first_layer_temperature] ; set extruder tempG1 Z10 F720 ; move away in ZG0 X30 Y-8 F6000 ; move next to the sheet
; wait for extruder tempM109 T0 S{first_layer_temperature[0]}
;Filament nach nozzlecleanup wieder vorschieben G1 E20 F2400
;; purge;G92 E0 ; reset extruder positionG0 X{(0 == 0 ? 30 : (0 == 1 ? 150 : (0 == 2 ? 210 : 330)))} Y{(0 < 4 ? -8 : -5.5)} ; move close to the sheet's edgeG1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaningG0 E10 X40 Z0.2 F500 ; purgeG0 X70 E9 F800 ; purgeG0 X{70 + 3} Z{0.05} F{8000} ; wipe, move close to the bedG0 X{70 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bedG92 E0 ; reset extruder position
Second thing I changed was "before layer change". I print 130% filament in first layer to get a (for me) perfect first layer.
;von alex 130% im ersten LayerM221 S{if layer_num==0}130{else}100{endif}
;BEFORE_LAYER_CHANGEG92 E0.0;[layer_z]
Alex
RE: Modify gcode - Custom gcode for Prusa XL multitool
Hey and thank you for your post Alex.
But you know that your custom gcode isn´t active because its a comment. So all what you write after a ";" isn´t active...
RE: Modify gcode - Custom gcode for Prusa XL multitool
Hey
it‘s active. Formatting changed - copy paste 😅
RE: Modify gcode - Custom gcode for Prusa XL multitool
I changed the initial preheating temperature from 170 to 150, had problems with dripping filament out of the nozzle irritating the bed leveling:
M109 T{initial_tool} S{((filament_type[initial_tool] == "PC" or filament_type[initial_tool] == "PA") ? (first_layer_temperature[initial_tool] - 25) : (filament_type[initial_tool] == "FLEX" ? 210 : 150))}
And I commented out the purge when moving for both of my extruders, had problems with filament sticking on the nozzle after purging:
;G0 E10 X140 Z0.2 F500 ; purge while moving towards the sheet
RE: Modify gcode - Custom gcode for Prusa XL multitool
Haha thats a good one. That was also my first change to reduce the temperature to 150 while MBL.
I also did a E-Step calibration. Normal are 380 e-steps. I measured out that i extruder 1 needs 404 e-steps and extruder 2 needs 398 e-steps. But its not possible to define different e-steps values for each extruder. Thats because the define DISTINCT_E_FACTORS isnt active in the printer firmware. Yes you can activate it and compile it your self, but then you need to break somthing on the mainboard and then you lost warranty. So its no option. Also its not possible to safe changes in the EPROM. So i only define one e-step value for both extruders in the gcode of prusa slicer.
M17 ; enable steppers M862.3 P "XL" ; printer model check G90 ; use absolute coordinates M83 ; extruder relative mode M92 E400 ; USERMOD E-STEP VALUE