mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-04 14:20:58 +00:00
# Description The Ender-3 V3 SE machine start G-code performs its purge using absolute-style extrusion positions: ```gcode G1 ... E15 G1 ... E30 ``` However, the machine start G-code does not explicitly initialize the positioning or extrusion mode before these commands. OrcaSlicer emits the printer's custom `machine_start_gcode` before its own generated `G90` / `M82` or `M83` preamble. This means the purge can inherit the extrusion mode left active by the printer. For example, if `M83` relative extrusion is still active, such as after a cancelled print where normal end G-code was not executed: - `E15` extrudes 15 mm - `E30` extrudes another 30 mm Instead of the intended 15 mm followed by another 15 mm. This change explicitly adds: ```gcode G90 ;Absolute positioning M82 ;Absolute extrusion mode ``` before the purge sequence so startup behaviour is deterministic and does not depend on inherited printer state. The change is applied consistently to all Ender-3 V3 SE nozzle variants: - 0.2 mm - 0.4 mm - 0.6 mm - 0.8 mm No print speeds, temperatures, retraction values, machine limits, or other profile settings are changed. # Screenshots/Recordings/Graphs Not applicable. This is a machine start G-code profile fix. ## Tests - Confirmed all four Ender-3 V3 SE profiles use the same `E15` / `E30` purge sequence. - Confirmed the current profiles do not explicitly issue `G90`, `M82`, or `M83` before that purge. - Confirmed OrcaSlicer emits `machine_start_gcode` before its generated positioning/extrusion-mode preamble. - Verified the modified JSON for all four machine profiles parses successfully. - Verified the added commands make the purge explicitly use absolute XYZ and absolute extrusion state.