Asking for assistance with IDEX copy/mirror mode when using Orcaslicer
- When not using smfix (v1.12) as post processor I get an error on the display that the gcode exceeds the bounds to support this mode. From what I found online I have the assumption that it has to do with the machine start g-code and the pre-extrude going off the build plate towards the nozzle.
- When using smfix I get the error on the display that the gcode is a multi extrude project and thus you can’t select copy/mirror mode.
The start code also clearly shows that Dylan does have something (search for IDEXDupl) to get things to work but I haven’t found how to enable it.
Does anybody know what I have to do to get things working?
The machine start g-code:
; Model: Snapmaker J1 ({nozzle_diameter[0]}/{nozzle_diameter[1]})
; Update: 20241211
; Maintained by https://github.com/macdylan/3dp-configs
; Printer : [printer_preset]
; Profile : [print_preset]
; Plate : [plate_name]
; --- initial_extruder: [initial_extruder]
; --- has_wipe_tower: [has_wipe_tower]
; --- total_toolchanges: [total_toolchanges]
; --- T0: {is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - 1, 0))]}
; --- T1: {is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - 0, 0))]}
T[initial_extruder]
{if plate_name =~/.*IDEXDupl.*/ || plate_name =~/.*IDEXCopy.*/ }
M605 S2 X162 R0 ;IDEX Duplication
{elsif plate_name =~/.*IDEXMirr.*/}
M605 S3 ;IDEX Mirror
{elsif plate_name =~/.*IDEXBack.*/}
M605 S4 ;IDEX Backup
{endif}
M140 S{first_layer_bed_temperature[initial_extruder]}
{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}
; preheat 0
M104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}
{endif}
{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}
; preheat 1
M104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}
{endif}
G28
G0 Z0.2 F240.0
{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}
T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))}
G0 X{if 0 == 0}80{else}240{endif} Y0 F6840.0
{endif}
{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}
T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))}
G0 X{if 1 == 0}80{else}240{endif} Y0 F6840.0
{endif}
M190 R{first_layer_bed_temperature[initial_extruder]}
M83
{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))] and (initial_extruder % 2) != 0}
; flush nozzle 0
T{(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))}
M104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}
G0 X{( 0 % 2 == 0 ? 137.0 : 187.0 )} F6840.0
M109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]} C3 W1
G1 E6 F200
G92 E0
G1 X{( 0 % 2 == 0 ? -15 : 344 )} E8.5437 F3000.0
G92 E0
G1 E-{retract_length_toolchange[0]} F200
G92 E0
G0 Y20 F6840.0
M104 S{temperature_vitrification[(initial_extruder % 2 == 0 ? min(initial_extruder + 0, 63) : max(initial_extruder - (1-0), 0))]}
{endif}
{if is_extruder_used[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))] and (initial_extruder % 2) != 1}
; flush nozzle 1
T{(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))}
M104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}
G0 X{( 1 % 2 == 0 ? 137.0 : 187.0 )} F3000.0
G0 Z0.2 F240.0
M109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]} C3 W1
G1 E8 F200
G92 E0
G1 X{( 1 % 2 == 0 ? -15 : 344 )} E8.5437 F3000.0
G92 E0
G1 E-{retract_length_toolchange[1]} F200
G92 E0
G0 Y20 F6840.0
M104 S{temperature_vitrification[(initial_extruder % 2 == 0 ? min(initial_extruder + 1, 63) : max(initial_extruder - (1-1), 0))]}
{endif}
; flush initial nozzle
T[initial_extruder]
M104 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))]}
G0 X{( initial_extruder % 2 == 0 ? 137.0 : 187.0 )} F3000.0
G0 Z0.2 F240.0
M109 S{nozzle_temperature_initial_layer[(initial_extruder % 2 == 0 ? min(initial_extruder + initial_extruder, 63) : max(initial_extruder - (1-initial_extruder), 0))]} C3 W1
G1 E8 F200
G92 E0
G1 X{( initial_extruder % 2 == 0 ? -15 : 344 )} E8.5437 F3000.0
G92 E0
G1 E-{retraction_length[initial_extruder]} F200
G92 E0
G0 Y20 F6840.0
; ready [plate_name]