Slicers
Usage¶
Slicing for StealthChanger has some key differences compared to a standard printer. The following sections will explain some tool changing specific nuances that need to be considered.
Tool Retraction¶
Adding extra retraction during tool changes is recommended and can be beneficial to help prevent oozing while docked. Typically there will be a setting in the slicer specifically for this purpose.
Tool Temperatures¶
During a print, not all tools are being used at once. Turning off the heaters of unused tools can result in long wait times when switching to the next tool and keeping them at printing temperature can result in excess oozing. It is advised to have an "idle" temperature for your unused tools which is below the minimum extrusion temperature for the filament being printed.
The "idle" temperature is usually found in the filament settings.
OrcaSlicer Ooze Prevention
OrcaSlicer has advanced ooze prevention that will preheat the nozzle just before picking it up again. This setting can be found in the Multimaterial section of OrcaSlicer.
Prime Tower¶
Using a prime tower is highly recommended with StealthChanger. Typically, slicers will place them at the rear of the print. For StealthChanger it is often best for the prime tower to be placed in front of the print so that the tool does not need to pass over the print to reach it.
I thought tool changers had no waste?
It's in the name, the prime tower's purpose is to prime the nozzle to be ready for printing.
It's true that you can run StealthChanger without a prime tower, however, printing without a prime tower requires extensive tuning to make sure that you are getting no ooze and the filament within the nozzle is prime condition for printing.
The filament within the nozzle will degrade over time, the longer its left heating in the nozzle the more fluid, and less printable it becomes.
Printing without a prime tower is often best suited for objects that use every tool on every layer because the filament within the nozzle does not have enough time to degrade between changes.
Slicer Differences¶
For StealthChanger we use standard gcode to change and operate the tools. Many modern slicers have the capability to generate gcode to work with StealthChanger. See below for some key supported features by the commonly used slicers.
| Feature | Cura | OrcaSlicer | PrusaSlicer | SuperSlicer |
|---|---|---|---|---|
| Parked Tool Retract | ||||
| Parked Tool Cool Down | ||||
| Parked Tool Preheat |
| Feature | Cura | OrcaSlicer | PrusaSlicer | SuperSlicer |
|---|---|---|---|---|
| Object Painting | ||||
| Color Remapping | ||||
| Interface Shells |
| Feature | Cura | OrcaSlicer | PrusaSlicer | SuperSlicer |
|---|---|---|---|---|
| Define Tool (Interface) | ||||
| Define Tool (Structure) |
| Feature | Cura | OrcaSlicer | PrusaSlicer | SuperSlicer |
|---|---|---|---|---|
| Adjust Prime Line Location | ||||
| Adjust Prime Line Volume | ||||
| Define Outer Perimeter Tool | ||||
| Define Minimum Volume |
| Feature | Cura | OrcaSlicer | PrusaSlicer | SuperSlicer |
|---|---|---|---|---|
| Define Oject Print Sequence | ||||
| Define Tool for Feature | ||||
| Interlocking |
Bug
Feature is supported but not functioning as intended.
Slicer Gcodes¶
Depending on the slicer's provenance, the internal macro variables can differ. It is important to translate the internal variables in to universal variables Klipper's PRINT_START macro can use.
The example PRINT_START macro accepts the following parameters:
TOOL_TEMP— Temperature for the initially selected tool.T0_TEMP,T1_TEMP, etc. — Individual temperatures for each tool (only passed if tool is used).BED_TEMP— Bed temperature for the first layer.TOOL— Initial tool number to start with.
See below for custom gcode macros that will send the correct syntax to the example PRINT_START macro for each of the supported slicers.
Cura¶
Start Gcode
PRINT_START TOOL_TEMP={material_print_temperature_layer_0} T{initial_extruder_nr}_TEMP={material_print_temperature_layer_0} BED_TEMP={material_bed_temperature_layer_0} TOOL={initial_extruder_nr}
Pre Tool Change Gcode
OrcaSlicer¶
Start Gcode
PRINT_START TOOL_TEMP={first_layer_temperature[initial_tool]} {if is_extruder_used[0]}T0_TEMP={first_layer_temperature[0]}{endif} {if is_extruder_used[1]}T1_TEMP={first_layer_temperature[1]}{endif} {if is_extruder_used[2]}T2_TEMP={first_layer_temperature[2]}{endif} {if is_extruder_used[3]}T3_TEMP={first_layer_temperature[3]}{endif} {if is_extruder_used[4]}T4_TEMP={first_layer_temperature[4]}{endif} {if is_extruder_used[5]}T5_TEMP={first_layer_temperature[5]}{endif} BED_TEMP=[first_layer_bed_temperature] TOOL=[initial_tool]
PrusaSlicer¶
Start Gcode
PRINT_START TOOL_TEMP={first_layer_temperature[initial_tool]} {if is_extruder_used[0]}T0_TEMP={first_layer_temperature[0]}{endif} {if is_extruder_used[1]}T1_TEMP={first_layer_temperature[1]}{endif} {if is_extruder_used[2]}T2_TEMP={first_layer_temperature[2]}{endif} {if is_extruder_used[3]}T3_TEMP={first_layer_temperature[3]}{endif} {if is_extruder_used[4]}T4_TEMP={first_layer_temperature[4]}{endif} {if is_extruder_used[5]}T5_TEMP={first_layer_temperature[5]}{endif} BED_TEMP=[first_layer_bed_temperature] TOOL=[initial_tool]
Tool Change Gcode
SuperSlicer¶
Start Gcode
PRINT_START TOOL_TEMP={first_layer_temperature[initial_tool]} {if is_extruder_used[0]}T0_TEMP={first_layer_temperature[0]}{endif} {if is_extruder_used[1]}T1_TEMP={first_layer_temperature[1]}{endif} {if is_extruder_used[2]}T2_TEMP={first_layer_temperature[2]}{endif} {if is_extruder_used[3]}T3_TEMP={first_layer_temperature[3]}{endif} {if is_extruder_used[4]}T4_TEMP={first_layer_temperature[4]}{endif} {if is_extruder_used[5]}T5_TEMP={first_layer_temperature[5]}{endif} BED_TEMP=[first_layer_bed_temperature] TOOL=[initial_tool]
Tool Change Gcode