I've had some success with Simplify3D and my Prusa i3 MK3S with the MMU2S upgrade. Just wanted to share some thoughts here as I've had nightmares getting this thing running.
I started by setting the machine to the Prusa i3 MK3. I added a second extruder to the profile (but kept the two temp controllers, extruder and bed). Under g-code I checked the box for relative extrusion distances. Under Other set the tool change retraction distance to zero.
From there it was a matter of getting the startup and tool change scripts right. The startup script was pretty straightforward. I copied most of this from gcode generated from PrusaSlicer.
Code: Select all
M201 X1000 Y1000 Z1000 E8000 ; accel
M203 X200 Y200 Z12 E120 ; sets maximum feedrates mm/sec
M204 P1250 R1250 T1250 ; sets acceleration (PT) and retract acceleration (R) mm/sec^2
M205 X8.00 Y8.00 Z0.40 E1.50 ; sets the jerk limits mm/sec
M205 S0 T0 ; sets the minimum extruding and travel feed rate mm/sec
M107
M115 U3.7.2 ; use the latest firmware version
G90 ; use absolute coordinates
M83 ; extruder relative mode
M104 S215 ; set extruder temp
M140 S60 ; set bed temp
M190 S60 ; wait for bed temp
M109 S215 ; wait for extruder temp
; Send the filament type to the MMU2.0 unit.
; E stands for extruder number
F stands for filament type (0: default; 1:flex; 2: PVA)
M403 E0 F0
M403 E1 F2
M403 E2 F0
M403 E3 F0
M403 E4 F0
G28 W ; home all without mesh bed level
G80 ; mesh bed leveling
G21 ; set units to millimeters
;go outside print area
G1 Y-3.0 F1000.0
G1 Z0.4 F1000.0
; select extruder
T1
; initial load
G1 X55.0 E29.0 F1073.0
M73 Q0 S208
M73 P0 R207
G1 X5.0 E29.0 F1800.0
G1 X55.0 E8.0 F2000.0
G1 Z0.3 F1000.0
G92 E0.0
G1 X240.0 E25.0 F2200.0
G1 Y-2.0 F1000.0
G1 X55.0 E25 F1400.0
G1 Z0.20 F1000.0
G1 X5.0 E4.0 F1000.0
G92 E0.0
The tool change is still a work in progress. I have the temperatures hard-coded here, you could add another temp controller and use the variables. I set it so that moving to a higher temperature happens before the change, moving to a lower temperature after, the idea being we want to purge old material at the higher temperature or it may get stuck.
Code: Select all
; TOOL CHANGE START
{IF NEWTOOL=0}M104 S250
G1 E-2 X200 F2500
; COOLING
G1 E-30.0000 F1000
G4 S5
G1 E-20 F2500
G1 E20 F2500
G1 E-20 F2500
G1 E20 F2500
G1 E-65.0000 F2500
T[new_tool]
;M220 S100
G4 S2
; CP TOOLCHANGE LOAD
G1 X180 Y100 E12.0000 F1200
G1 X200 E42.0000 F1000
G1 X180 E6.0000 F1000
G1 X200 E2.0000 F1000
G1 Y90 E-2 F2000
G92 E0.0
{IF NEWTOOL=1}M104 S215
{IF NEWTOOL=0}M900 K30
{IF NEWTOOL=1}M900 K0
; TOOL CHANGE END
NOTE: If you look at the gcode, it moves off to X 200 to do a tool change, if you have parts there, you'll probably want to change that.
The biggest problem here is the retraction before the tool change. If you leave stringing, things are going to get jammed, the FINDA sensor is going to get stuck, you'll fail to load into the extruder, get extruder jams, etc. etc. The script above produced stringing, but it was thick for the PETG and PVA, so the strings didn't seem to cause too many issues. I tried to copy the code from PrusaSlicer for it's "cooling moves" without much luck. I'll continue to work on this, but if you find an extraction procedure that produces non-stringing tips, let me know.
You may also want to add back in the codes to turn the fan on/off/power for different filaments.
Last but not least, you have to edit the resulting gcode. Simplify3D inserts some startup code that's unhelpful. Just delete the gcode up until the start of the starting script above. The second thing is that it seems to insert an unnecessary tool change (I'm starting with filament 2, PVA for raft, so this may not apply to you). Delete the unnecessary tool change on the first layer before the first feature.
I've had better luck with an ooze shield than prime pillar, it seems to require about 4-8 perimeters to purge, but that'll obviously depend on size.
You'll definitely want to do everything you can to reduce tool changes, like generate support with the primary tool and just use PVA for dense support.
Let me know if you have any luck, particularly reducing stringing. This is all a bit of a nightmare, I'm not surprised if Simplify3D doesn't want to claim official support.