GregValiant 1,454
Did you ever get this figured out? The question regarding this same sort of movement came up in a bug report on Github. The report was in regards to a Flash Forge IDEX printer but it sounded like exactly the same with the tool change occurring over the print.
Recommended Posts
GregValiant 1,454
This is a lot more complicated than people assume. IDEX printers can be made to work with Cura, but they aren't directly supported.
#1 is the poor layer adhesion of your initial layer. The skirt/ooze shield just breaks away and gets carried around. That's a function of the bed surface, the print material, and the bed temperature and whether you are using any adhesion promotor.
Prior to any tool change, and based on the "Nozzle Heat Up Speed", Cura will add an M104 line to bring the inactive extruder up to it's set print temperature. It's timed to get to the set point right at the tool change.
Then the tool change occurs and there is an immediate M109 to insure that the new tool doesn't start printing until it is up to temperature. That M109 will often cause a delay of 10 seconds even if the nozzle is already at the set point. That is built into the firmware.
So the new Active Tool waits until it knows it's hot (oozing while it waits) and the inactive tool goes to Standby Temperature of the material (oozing until it cools down).
You can try increasing the "Nozzle switch retraction distance" and hope that the filament gets pulled back far enough that it doesn't ooze. That can be tough on direct drive extruders as there is only so much room.
You can move the Prime Tower so it is centrally located between the park positions of the two heads, and not in line with the model.
Looking at the gcode - every tool change has this code:
M82 ;absolute extrusion mode
G1 X585.115 Y550.115 F5000
M83 ;relative extrusion mode
Can I assume that is the code you put into the Extruder StartUp Gcode? It appears to be overridden by the firmware. The first move from the park position seems to be to the exact position the nozzle was before the tool change (right over the print) and only then does it move on to the X585 Y550 location.
Delete both the Extruder StartUp Gcodes and instead put something like this into both Extruder Ending Gcodes.
G91
G0 X0 Y50
G90
Where the Y value is sufficient to move the nozzle off the part and towards the prime tower location. Maybe that will fool the firmware "Park" macro into thinking that is the "return to" location. The booger should end up on the prime tower.
But you have to fix the bed adhesion problem first. You won't get a good print until you get that initial layer to stay down.
Link to post
Share on other sites