JBrondos
Posts: 5
Joined: Fri Dec 18, 2015 10:21 am

Filament Change (Klipper, Sovol SV07)

I've searched for "filament change" in Simplify3D, but most of the posts I've found are 5-6 years old.

I want to change filament in the printing of a model, 20 mm from the base.

Does Simplify3D v5 have any new settings for filament change? Any tutorials or instructions from the year 2023?

Does Klipper have specific GCode instructions/routines for changing filament at "position X" of "layer Z"?

Do I need Process 1 for the first color and then Process 2 for the second color?

If I have to add a "filament change" GCode line, where in the Edit Process do I put it?
Darcsyde
Posts: 3
Joined: Fri Jan 05, 2024 4:01 am

Re: Filament Change (Klipper, Sovol SV07)

I think I just asked the same exact question but since I’m new to the forum, my post has to be approved 😂🤣

I have a pair of K1Maxs and I’m trying to do the EXACT same thing.., I can set up the different processes so that the layers are specified, but I don’t know what gcode to add to pause the printer for the filament change and where to add it… hopefully someone with some knowledge will answer soon…

Changing filament is so fast and easy with this machine that I’m finally excited to be able to do multi color prints, but most of the info I’m finding on YouTube is at least 7 years old and irrelevant
S3D-Jason
Posts: 1608
Joined: Sun May 31, 2015 6:01 am

Re: Filament Change (Klipper, Sovol SV07)

Yes, V5 has some new features that make filament changes easier. For example, if you want to pause the machine right before layer 25 to perform a filament change, just add the following line to your layer change script:

Code: Select all

{IF "[current_layer_number] == 25"}M600 ; pause for filament change right before layer 25
That should work with most gcode based machines. However, if the M600 command isn't supposed by your printer, you may want to ask the manufacturer what command you should use as a replacement. I've seen some machines that needed M0 or G5 instead.
Darcsyde
Posts: 3
Joined: Fri Jan 05, 2024 4:01 am

Re: Filament Change (Klipper, Sovol SV07)

So I add that line to the "Pre-layer Change script" or the "post-layer change script"?

nothing in "Process change"?

if I don't have to use processes, do I just stack the GCode with the different layers in the same window if I want to do multiple color changes?

Like below:

{IF "[current_layer_number] == 25"}M600 ; pause for filament change right before layer 25
{IF "[current_layer_number] == 95"}M600 ; pause for filament change right before layer 95
{IF "[current_layer_number] == 107"}M600 ; pause for filament change right before layer 107
S3D-Jason
Posts: 1608
Joined: Sun May 31, 2015 6:01 am

Re: Filament Change (Klipper, Sovol SV07)

Correct, nothing in process change script. You can use pre or post layer change, it doesn't really matter.

And yes, you can add multiple lines like you suggested if you want to pause at multiple layers.
Funboard56
Posts: 8
Joined: Sat Dec 31, 2022 4:06 am

Re: Filament Change (Klipper, Sovol SV07)

Hello,
I need to send PAUSE to my Voron 0.2 after the end of process1 for change filament.
The two objects are imbricated and I can't send script by layer.
Two objects, two process, two colors.
I click on pause manually but it's not perfect.
How can i send "PAUSE" at the end of process1 ?
Thank you.

Anwser: i found it.
I'll where good with the Variable Settings Wisard --> Different Settings with Different models.
And put the command, here "PAUSE", in the script "Process Change" of the Process 2.
The command is send at the begining of the process.
It's very powerfull.
Thanks.
hlcmetal
Posts: 1
Joined: Mon Jun 09, 2025 4:32 am

Re: Filament Change (Klipper, Sovol SV07)

I have also encountered a similar situation. In fact, the easiest way in Simplify3D v5 is to insert G-code manually. You can do this:

When the model is printed to about Z=20mm, just insert a G-code to determine the Z height in "Script" → "Layer Change Script" (or more recommended "Post-processing Script" in "Edit Process", for example:
{REPLACE "; layer 100" "; layer 100\nM600"}
Assume that the 100th layer is about Z=20mm in height (you can check the layer height in the preview). M600 is the material change command in Klipper and Marlin (note that you need to confirm whether M600 is enabled in the firmware).

When printing to that layer, the printer will automatically pause and prompt you to change the filament.

Return to “General Discussion and Tips”