I posted this somewhere else on the forum. I also sent some emails to S3D support about it. S3D does
not do the right thing.
In a nutshell: It is necessary to fix the gcode start script to force the right extruder to retract before printing, fix the gcode tool change script so that it overrides S3D's default tool change, and then ensure that the left extruder is always the first one to become active and start printing.
The following needs to be done for the gcode start script:
- Code: Select all
M108 S255 ; Turn on M2 fans
T0 ; Switch to left extruder offsets for homing
G28 ; Home all axes
G1 X0 Y50 Z0.3 F9600 ; Move forward to avoid binder clips
G1 X208 Z10 F3600 ; Move off platform
G1 Z0.4 ; Position nozzle above buildplate
G92 E0 ; Zero extruder
G1 E25 F225 ; Purge left extruder
G92 E0 ; Zero extruder
T1 ; Set right extruder
G1 E15 F225 ; Purge right extruder
G92 E0 ; Zero extruder
G1 X160 Z0.1 E1.0 F1200 ; Slow wipe
G1 X140 Z0.25 ; Lift
G90 E0 ; Zero extruder
G1 F1200 E-10 ; Initial retraction
G90 E0 ; Zero extruder
Most of the top part is the same as the default script, although the X position for "move off platform" has been corrected. The main thing is that at the end of it, it switches to the right extruder and retracts it. That will only work correctly if the first extruder to be active is the left extruder (see below).
And the following needs to be done for the tool change gcode script (must override the default behavior of S3D, which otherwise doesn't know that the right extruder has already been retracted):
- Code: Select all
T[old_tool]
G92 E0
G1 F1200 E-10
G92 E0
T[new_tool]
G92 E0
G1 F1200 E10
G92 E0
I found that the tool change script does
not override S3D's tool change behavior, just runs in addition. To stop S3D from doing tool changes, you need to go to the "Advanced" tab and set the "Tool change retraction distance" to zero.
Finally, to make this work, it is necessary to make sure that you check "Use skirt/brim", and that the skirt/brim extruder is set to the left extruder (by the way, I have set the left extruder to be T0, and the right extruder to be T1, which is opposite from the S3D defaults). Only then will everything work correctly.
I think I covered everything I did to get the dual extruder retraction cycles working correctly.
The S3D support team seemed attentive to my suggestions, so hopefully the errors with the dual extruder retraction will be fixed in the next bugfix release.