IDEX color change

105 views
Skip to first unread message

Daniel Rosen

unread,
May 4, 2025, 9:08:01 AM5/4/25
to 3D Printing Tips and Tricks
Hi everyone. I am printing some party favors for my son's birthday. Since he loves soccer I want to print this 2 color shirt using my tenlog TDL3 IDEX and on top of it. his name with the number 12. After changing the filament using pause at height code the extruders stop extruding filament.
Screenshot 2025-05-04 at 7.57.48 AM.png
I need to make a color change at layer 20 (4.80mm) for which I use this code on prusa slicer at "after layer change g-code". After trying several codes M25 is the only one that seems to pause the print on the Marlin 2 gcode flavor. However, after resume there is no extrusion of filament coming out from the extruders. Any ideas how to fix this or achieve a successful color change?

; Pause for filament change with IDEX consideration
{if layer_z == 4.80}
G91 ; Relative positioning
G1 Z5 F1200 ; Move Z up 5mm
G90 ; Absolute positioning
G1 X10 Y10 F3000 ; Move to a safe position
M25 ; Pause print
; After manual filament change, print will resume
{endif}

Thanks

3D Printing Tips and Tricks

unread,
May 4, 2025, 11:08:40 AM5/4/25
to 3D Printing Tips and Tricks
Why not simply set the pause in Prusaslicer in the preview. You move the scroll bar to exactly where you want the pause then right click on the scroll bar thumb and you get a popup menu.

Daniel Rosen

unread,
May 4, 2025, 1:55:10 PM5/4/25
to 3d-printing-...@googlegroups.com, 3d-printing-...@googlegroups.com
But it will pause over the print and burn it. I need to move the noozle out of the way too. 

Sent from my iPhone

On May 4, 2025, at 10:08 AM, 3D Printing Tips and Tricks <3d-printing-...@googlegroups.com> wrote:

Why not simply set the pause in Prusaslicer in the preview. You move the scroll bar to exactly where you want the pause then right click on the scroll bar thumb and you get a popup menu.
--
You received this message because you are subscribed to a topic in the Google Groups "3D Printing Tips and Tricks" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/3d-printing-tips--tricks/vipWkH5wf1g/unsubscribe.
To unsubscribe from this group and all its topics, send an email to 3d-printing-tips--...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/3d-printing-tips--tricks/f094823d-4d40-420f-8181-ec837c67bbddn%40googlegroups.com.

Bryan Murphy

unread,
May 4, 2025, 10:29:00 PM5/4/25
to Daniel Rosen, 3d-printing-...@googlegroups.com
I fought that battle when I was learning and lost.  You need a sacrificial object printing alongside the main object.  Let it blob/drool over that.

You received this message because you are subscribed to the Google Groups "3D Printing Tips and Tricks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to 3d-printing-tips--...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/3d-printing-tips--tricks/A2285980-C6FF-4CA4-9223-F613EBC2D4CF%40gmail.com.

Scott Bussinger

unread,
May 4, 2025, 11:21:41 PM5/4/25
to Daniel Rosen, 3d-printing-...@googlegroups.com, 3d-printing-...@googlegroups.com
If you're using OctoPrint, another option is to use the features in that to do the pause. You use the layer feature in PrusaSlicer to insert an @pause
In the gcode then you can create pre- and post-macros in OctoPrint to control the pause. What I have it do on pause is move the nozzle up 10 mm and move it to the corner of the print area, and then wait. On resume, it returns to the previous X,Y location and primes the nozzle, pauses a few seconds for me to clean the nozzle manually, then drops back to where it left off. Not automatic, but it works for me.
You received this message because you are subscribed to the Google Groups "3D Printing Tips and Tricks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to 3d-printing-tips--...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/3d-printing-tips--tricks/A2285980-C6FF-4CA4-9223-F613EBC2D4CF%40gmail.com.

Petr Ptacek

unread,
May 5, 2025, 1:03:56 AM5/5/25
to 3d-printing-...@googlegroups.com
What I do is I add M600 macro (but it can be called anything you want) via prusa slicer, just right click on the vertical line, into the g file and then I have M600 macro define in my klipper config file like this.
When I'm done with filament change, I just hit resume.
Works fine for one or two changes during the print.
######################################################################
## Filament Change ##
######################################################################
# M600: Filament Change. This macro will pause the printer, move the
# tool to the change position, and retract the filament 130mm. Adjust
# the retraction settings for your own extruder. After filament has
# been changed, simply resume the print.
[gcode_macro M600]
########### Gcode ############
gcode:
{% set X = params.X|default(printer.configfile.config["stepper_x"]["position_endstop"]|string)|int %}
{% set Y = params.Y|default(printer.configfile.config["stepper_y"]["position_endstop"]|string)|int %}
{% set Z = params.Z|default(10)|int %}
{% set E = params.E|default(-20)|int %}
{% set tool = params.tool|default(0)|int %}
PAUSE
G91
G1 E-5 F4000
G1 Z{Z}
G90
G1 X{X} Y{Y} F3000 ;park position
G0 E10 F500 ;extrude filament to get better blob on end
G0 E{E} F600 ;retract additional filament to move out of melt zone
G92 E0


Daniel Rosen

unread,
May 5, 2025, 8:12:21 AM5/5/25
to Scott Bussinger, 3d-printing-...@googlegroups.com
For some unknown reason cannot install octoprint on this printer. The USB port doesn’t recognize the pi. On it bricked it. Tenlog doesn’t exist anymore but the guys from LNL were kind enough to send me a new copy of the firmware. Scared to do it again. 

Sent from my iPhone

On May 4, 2025, at 10:21 PM, Scott Bussinger <sco...@bussinger.org> wrote:



Daniel Rosen

unread,
May 5, 2025, 8:14:36 AM5/5/25
to Petr Ptacek, 3d-printing-...@googlegroups.com
Tried converting to Klipper and it bricked it. I use the macro on my voron without issues too. But this printer doesn’t like neither klipper nor octoprint. 

Sent from my iPhone

On May 5, 2025, at 12:03 AM, Petr Ptacek <pjpt...@gmail.com> wrote:


Message has been deleted

Ian Nicholls

unread,
May 11, 2025, 11:18:43 PM5/11/25
to 3D Printing Tips and Tricks
For my single-colour printer, in orca-slicer, I've added the following lines to the 'change filament g-code'.  Then, add a second filament and tell the printer which things should be printed in the other colour (or at a defined height).

> BEEP ; I've installed kamp and this extension
> G1 X10 Y10 F30000 ; Move the head away from the object
> PAUSE.

It works for me for the occasional multi-colour print, but it is tedious to manually change filaments.  I've discovered 'fuzzy skin' is a good substitute for some models, and it's a lot less hands-on.

Ken Davidson

unread,
May 12, 2025, 9:53:43 AM5/12/25
to 3d-printing-...@googlegroups.com
Huh. I use Octoprint on my TL-D3 all the time without any trouble. I don't blame you for not wanting to try again, though, given the first outcome.

Ken


Daniel Rosen

unread,
May 17, 2025, 10:42:03 AM5/17/25
to 3D Printing Tips and Tricks
I wish I could too. I do use octoprint on my ender3 and klipper on my voron. I tried on it but I bricked it. How did you install octoprint on it?

Daniel Rosen

unread,
May 17, 2025, 10:51:49 AM5/17/25
to 3D Printing Tips and Tricks
On another note, I tried using this code on prusa slicer. It does not matter where I insert it I get bad results after the filament change. It stops, lifts the nozzle, moves to a safe location, and waits until I change. But when it starts printing it looks like this! WHY?!
IMG_1117.JPG
M117 Color change in progress 
G91 ; Set relative positioning 
G1 Z20 F1200 ; Lift nozzle 20mm 
G90 ; Return to absolute positioning
 G1 X10 Y10 F3000 ; Move to a safe position (adjust as needed) 
M25 ; Pause print 
M117 Please change filament ; After user changes filament and resumes: 
G92 E0 ; Reset extruder position 
G1 E30 F200 ; Prime new filament (adjust amount as needed) 
G1 E-1 F1800 ; Small retraction to prevent oozing 
G91 ; Switch to relative positioning 
G1 Z-20 F1200 ; Lower nozzle back down 20mm 
G90 ; Return to absolute positioning 
M117 Resuming print

Daniel Rosen

unread,
May 23, 2025, 6:39:40 PM5/23/25
to 3D Printing Tips and Tricks
After a lot of experimentation I found a solution to this. This printer only accepts M25 to pause at height. I tried M1, M0, M600, M125, nothing worked. The solution is not as elegant as the right click on prusa slicer but works. Hope it helps the lone internet person looking for a similar solution.
Using cura post processing >> modify G-code >> pause at height worked...it did not beep though :(
Screenshot 2025-05-23 at 5.31.31 PM.png
It generates this code and inserted into the G-code. I am puzzled by the G92 code at the end which seems to be the magic ingredient that Prusa slicer cannot add.

M83 ; switch to relative E values for any needed retraction
G1 F300 Z2 ; move up a millimeter to get out of the way
G1 F9000 X190 Y190
G1 F300 Z15 ; too close to bed--move to at least 15mm
M104 S200 ; standby temperature
M117 change filament
M84 S3600 ; Keep steppers engaged for 1h
M300 S440 P1000 ; Beep
M25 ; Do the actual pause
M109 S200 ; WAIT for resume temperature
G1 F300 Z1
G1 F9000 X150 Y159.4
G1 F300 Z1 ; move back down to resume height
G1 F1800 ; restore extrusion feedrate
M82 ; switch back to absolute E values
G92 E152.18252

Reply all
Reply to author
Forward
0 new messages