Clear all

Wipe Tower Speed Change Tutorial  

Wipe Tower Speed Change Tutorial

I wanted to increase the base print speed of the wipe tower without messing up other print speeds, to speed up a lengthy MMU print without sacrificing quality. I've found that the wipe tower can be printed much faster since it doesn't have to be eye candy as long as it holds together. I glanced around the forums for a solution within main-branch PrusaSlicer but didn't find one, so thought I'd share what I wound up doing with GCODE substitution and regex within PrusaSlicer in case anybody wants faster wipe towers. You could also use this method to decrease wipe tower speeds.

First, slice an MMU print and then in the preview view, pick any layer where one or multiple toolchanges occur. Use the horizontal slider to find the CP TOOLCHANGE WIPE block immediately after the CP TOOLCHANGE LOAD block in the GCODE. When a toolchange is complete and the new filament has been loaded, the wipe speed will slowly ramp until it reaches max speed, explaining the multiple F commands (feedrate) which slowly increase. Find the final F command (red box below, 'F2700' in my case) in the CP TOOLCHANGE WIPE block, this is the max wipe speed and the value we will eventually replace. Unfortunately, we can't directly match and substitute this F command, it is set to the solid infill speed and used in other places throughout the print. If we substitute that value directly, we will be printing all solid infill at ludicrous speed and not just the wipe tower. So instead, find the F command directly prior (orange box below, 'F2663' in my case) in the CP TOOLCHANGE WIPE block.

Export the gcode and open it in a text editor. Use the find function in the text editor to confirm that the number of times (purple box below) the aforementioned F command (orange box above, 'F2663' in my case) appears in the GCODE is equal to the total number of toolchanges (green box above). This is to confirm that specific feedrate value does not appear elsewhere in the GCODE outside of toolchange ramping.

Once this has been confirmed, head back into PrusaSlicer. Go into the 'Output options' window inside the 'Print Settings' tab, and add a GCODE substitution. Make sure the regular expression box is ticked. For me the regular expression is 'F2663\n.*\n.*\KF2700', which matches on the unique feedrate (orange) but only substitutes the max feedrate (red) that we want to replace. The '\n.*\n.*' selects the next full line and the start of the next line before the max feedrate. '\K' deletes the rest of the prior string selection, leaving only the max feedrate for the final match. Then we replace it with the adjusted value we want (blue box below).

Slice the MMU print with the GCODE substitution. To ensure the substitution worked, once again head to the preview tab and look for the CP TOOLCHANGE WIPE block. The adjusted F command (blue box below) should be there underneath the unique F command (orange box below).

Hope this method works, took me way too long to figure out the regular expression so wanted to provide a shortcut for people trying to achieve faster MMU prints.

This topic was modified 1 week ago by zjohnson16
Posted : 14/09/2023 12:12 am