Select a default tool in a toolchanger arrangement
-
Hello
I am using PrusaSlicer as my standard slicing tool for my toolchanger. If I do not select a specific tool the printer starts printing with the end stop swich for the z-axis and kills it.
The firmware complains, that extuding is not possible, but continues the job.
Right now I fix it with this start code which causes other issues in the startup process:if state.currentTool = -1 ;check if a tool selected code added because slicer does not select T0 at the very beginning T0
Is there another way to stop the print or use T0 as the standard tool?
Thanks!
Mike -
Well one of the first things I did was add a micro-switch to the changer which would signal when a tool was actually mounted.
This helped a lot as the state (mounted/not mounted) was known at all times, separate from the firmware keeping track of what tool commands were executed.
I don't know that slicer well but I think it should be inserting a tool command.
Frederick
-
@fcwilt
I am using PrusaSlicer 2.9.1. and i regularly forget to select a tool.
Unfortunately the custom gcode starts before a tool is selected in the gcode. So a tool is picked up every time for no reason. A switch would unfortunately not work for the same reason. Or do I miss something?
Mike -
@Mike-1 said in Select a default tool in a toolchanger arrangement:
@fcwilt
I am using PrusaSlicer 2.9.1. and i regularly forget to select a tool.
Unfortunately the custom gcode starts before a tool is selected in the gcode. So a tool is picked up every time for no reason. A switch would unfortunately not work for the same reason. Or do I miss something?
MikeI will take a look at the startup code the slicer generates.
In the past, for other slicers, I have had to pick certain options to get the code I need.
Frederick
-
OK here is the startup code from 2.9.1. Notice the first thing it does is call print_begin.g which is my code to begin the print.
What are you seeing from 2.9.1?
; generated by PrusaSlicer 2.9.1 on 2025-03-15 at 08:07:23 UTC ; ; external perimeters extrusion width = 0.45mm ; perimeters extrusion width = 0.45mm ; infill extrusion width = 0.45mm ; solid infill extrusion width = 0.45mm ; top infill extrusion width = 0.40mm ; first layer extrusion width = 0.42mm ;TYPE:Custom M98 P"print_begin.g" G21 ; set units to millimeters G90 ; use absolute coordinates M82 ; use absolute distances for extrusion G92 E0 M98 P"print_filament_change_begin.g" M107 ;LAYER_CHANGE ;Z:0.35 ;HEIGHT:0.35 G1 E-2 F2400 G92 E0 G1 Z.35 F7800 G1 X21.124 Y-.893 G1 E2 F2400 ;TYPE:Skirt/Brim ;WIDTH:0.42
-
You could add
T0 P0
at the end of config.g to have a default tool selected, or in start.g which is executed before the gcode file (P0 to avoid running the pre and post macros, so leave out if you want to but at the end of config.g without being homed it'll likely throw an error). -
@Mike-1 I set up my toolchanger as multiple printers in PrusaSlicer. For example I have a printer called E3D Tool Changer using tool 2. Then in Custom GCode for that printer I have this in the Start GCode section:
M140 S[bed_temperature] G10 P2 S[first_layer_temperature] T2 M116