This is my way of getting dual extrusion working on the Creator 3 with Cura.
Printing with "material_print_temperature" and resting with "material_standby_temperature"
G-code flavor = Marlin (according to flashforge) https://en.fss.flashforge.com/10000/software/a42243ba68cb81dc8afd7b7fb3e71dcf.pdf
As I understands it, Creator 3 wants temp commands as M104 Sxxx Tx.
Cura want to do them like M104 Tx Sxx, and some times with M109. (at least with Marlin)
Creator 3 don't like the M109 command, if I remember right my extruders collided.
So my start/stop G-code has ! instead of M.
After slicing I use a text editor to change all
M104, M105, M106, M107, M109 to ;M104, ;M105, ;M106, ;M107, ;M109
That way I get rid of all non wanted commands.
Then I replace all ! with M, that way my start/stop commands work.
Finally I replace all ;M104 T{x} S{my material print temp} for both extruder to M104 S{my material print temp} T{x}.
That way I have "preheat" for the tool change.
For someone with coding skill I guess that it is possible to make a postprocessing script for this.
But I don't have that kind of skills.
I have read and reused code and ides from previous work, done by.
Toylerrr https://github.com/Toylerrr/Flashforge-for-Cura
eugr https://github.com/eugr/Flashforge-for-Cura
ArteFlux https://www.thingiverse.com/thing:4574596
Nounnours https://github.com/Nounnours/FlashForge_Creator_3-and-Pro-Cura-profiles
H1ghAsAK1t3
I don't think M6 and M7 do anything.
My guess is that Cura makes the initial warm up work.
And I'm not sure the fan handling is correct, or even matters. All M106 commands are after the tool change.
Files named .gcode. To be accepted as attachment.
What I have found about the Creator 3.
G-code flavor = Marlin according to Flashforge
M118 {X Y Z} (max size of the printed area with object and e.g. a wall) {T0} {T1} {D1/D2}
T0 T1 sets dual extrusion
T0 or T1 sets single extrusion
D1 sets mirror mode
D2 sets duplicate mode
In these two modes, the print bed origin shifts to 66.5x125, resulting in a print bed size of 133x250 mm.
M108 Tx ; tool change
M140 Sxx T0 ; set bed temperature
M104 Sxxx T0 ; set extruder 1 temperature (must be Sxx Tx, the opposite way don't work)
M104 Sxxx T1 ; set extruder 2 temperature (must be Sxx Tx, the opposite way don't work)
M7 T0 {Sx} ; wait for bed temp
M6 Tx {Sx} ; wait for extruder temp
M106 Sxxx ; set cooling fan speed
M107 ; cooling fan off
M651 ; chassis fan on
M652 ; chassis fan off
G162 {X Y Z} ; home (G28?)
M17 ; enable steppers
M18 ; disable steppers
G4 {Sxx} {Pxx} ; dwell S for seconds P for milliseconds
G90 ; absolute
G91 ; relative
G92 ; set position
M105 ; get extruder and bed temp
M114 ; get current position
M115 ; get machine info
M119 ; get machine status
M112 ; emergency stop (not tested)
M132 ; load current home position from EEPROM (not tested)
M907 ; set digital potentiometer value (not tested)
Creator_Dual.def.json.gcode
Creator-extruder-0.def.json.gcode
Creator-extruder-1.def.json.gcode