Skip to main content

Multi-material slicer for Palette

283 Questions View all
User avatar

Before side transition move

So I am looking to configure custom gcode settings that execute when a new extruder is selected and from what I can tell this kind of code should go into the “before side transition” section. A couple questions I have are:

Would this be the correct location or is there a better location?

If I am reading the information correctly you are responsible for telling the gcode to move to the transition tower location, if this is so how does one know what position the hotend needs to go to?

Answer this question I have this problem too

Is this a good question?

Score 1
Add a comment

1 Answer

Most Helpful Answer
User avatar

Hi @woogerboy21, apologies for the delay in response here.

Depending on what you are looking to accomplish, the material change section may be a better fit for the set of G-Code commands you are looking to add. If a custom script is added to that material profile, anytime the material is switched to that material, the code will run.

Block Image

This script is stored with a material profile and runs whenever switching to that material (including at the start of the print).

In addition to the variables in Section 1 and below, any material overrides from the material that owns the script will be applied.

Canvas will automatically adjust the printer’s temperature if necessary before this script runs. This script is mainly useful for material-specific setup other than temperature changes, such as applying a linear advance factor (Printerscript documentation)

Block Image

Above screenshot: The toolbox includes the different extruders/drives on Palette. When a material profile is selected for that drive, it will apply the following which is saved on the profile:

  • any style overrides
  • splice tuning settings
  • material change sequences

I’m happy to look into this more for you if you could elaborate on what kind of commands you are looking to add. The side transition sequences are best used if you intend on having the color transitioning occur off the bed or a specified coordinate (often with the use of a purge bucket or other mechanism to clean/collect the material).

Was this answer helpful?

Score 1


Thank you for the response, what I am looking to accomplish is not really palette related per say. I have another multi color printer that has multiple extruders and would like to use the canvas slicer with it but to do so I would need add the gcode that is executed when the next extruder is needed. These steps include things like moving the hotends X/Y/Z axis’s and causing the hotend to move filament forward and backwards. I guess you could accomplish this with some kind of filament specific gcode settings but that seems like the wrong place this type of action should be placed in.


Here is an example of what I am talking about from the current slicer im using on tool change:



M82 ; turn absolute distances for the extruder

; go to holding position to unload the stock extruder

G0 X6 Y211 F2000 ;

G92 E0

G91 ; move to relative mode

G0 E-20 F2800 ; quickly retract the filament to shape it

G0 E-10 F600; slowly allow it to cool

G0 E1 F2800 ; blob elimination

G0 E-10 F2800 ; quickly retract the filament to shape it

G0 E1 F2800 ; quickly ram the filament to shape it

G0 E-10 F2800 ; quickly retract the filament to shape it

G0 E1 F2800 ; quickly ram the filament to shape it

G0 E-50 F2800 ; quickly retract the filament to shape it

G0 E-100 F120; slowly allow it to cool

M107 ; turn off fan

; select next extruder


; load the filament

G91 ; move to relative mode

G0 E200 F2000

G92 E0 ; reset

G90 ; move back to absolute mode

M83 ; but make sure the extruder stays in relative

M106 ; turn fans back on




As you can see the gcode moves the hotend to a holding position in the upper left corner of the bed, it then feeds/retracts the filament to shape the tip and pulls the filament out a certain distance and then selects the next extruder and reloads the filament into the hotend. Obviously some of the variables listed in the code wont work with the canvas slicer and would need adjusted accordingly but I didnt see a particular easy method to add custom gcode without first understanding some things about positioning when your wanting to move the hotend some where the slicer doesnt slice for.


Hi @woogerboy21, thank you again for clarifying. Based on what you are looking to accomplish, using the material sequences rather than the side transition may be more applicable for this type of toolchange.


So let me make sure I understand what your recommending. In the material change sequence code I would place the above gcode sections needed to unload and reload the filament correct? So for instance say it I get the filament to unload and then use the T1 to select the new extruder and load the new filament in what will the canvas software do at that point for driving the filament through the next section of sliced code? I guess Ill have to try and and take a look at the outputed gcode to see what happens post the material change gcode thats inputed occurs. If canvas puts something like a T0 in the code that would just totally bork things over.


Show 1 more comment

Add a comment

Add your answer

Author avatar Woodrow Collins will be eternally grateful.
View Statistics:

Past 24 Hours: 0

Past 7 Days: 1

Past 30 Days: 2

All Time: 113

Contact Mosaic Support Team

© 2023 Mosaic Manufacturing Ltd.