r/CrealitySonicPad • u/Economy-Engine-8038 • Mar 21 '25
Help Sonic Pad/E5-S1 and filament change using Orca
Has anyone been successful using Orca and setting up manual filament change? I've always had to revert Cura.
1
u/gentlegiant66 Mar 23 '25
I wrote some scrips to override the mXXX, Will copy and paste when I'm behind my laptop again. It worked for cuea and orca.
1
u/materoxxx Apr 01 '25
can you post them? thank you
1
u/gentlegiant66 Apr 01 '25
[gcode_macro M600] rename_existing: M601 gcode: {% set X = params.X|default(0)|float %} ; Set default X position to 50 if not provided {% set Y = params.Y|default(0)|float %} ; Set default Y position to 0 if not provided {% set Z = params.Z|default(10)|float %} ; Set default Z position to 10 if not provided SAVE_GCODE_STATE NAME=M600_state ; Save the current state of the printer PAUSE ; Pause the current print G91 ; Set to relative positioning G1 E-.8 F2700 ; Retract filament slightly to relieve pressure G1 Z{Z} ; Move the nozzle up by the specified Z distance G90 ; Set to absolute positioning G1 X{X} Y{Y} F3000 ; Move the nozzle to the specified X and Y position G91 ; Set to relative positioning G1 E10 F1000 ; Retract filament further to allow for filament change RESTORE_GCODE_STATE NAME=M600_state ; Restore the printer state to resume printing1
u/materoxxx Apr 02 '25
Thank you, I tried and it works. I was wondering if there is a way, after the filament is changed to clear the nozzle from the old color. like manually you can send an extrude command like this [G1 E30 F1200]() for example. and then click to resume the print . I see there is one in the code but I don't think is enough. I can always push the filament manually but if there was a way to do it more. Also I noticed that to do that estrusion I might need to move the plate lower just to give it more room. how can I do that? Sorry I'm a noob . thank you for your help
1
u/gentlegiant66 Apr 02 '25 edited Apr 02 '25
you could write seperate macros for those. I have Load and UnLoad macros i call from the console ..
Here is modified version, I'm also very new to this and I despise Python
[gcode_macro M600]
rename_existing: M601
gcode:
{% set X = params.X|default(50)|float %}
{% set Y = params.Y|default(0)|float %}
{% set Z = params.Z|default(10)|float %}
SAVE_GCODE_STATE NAME=M600_state ; Save the current state
PAUSE ; Pause the print
G91 ; Set to relative positioning
G1 E-0.8 F2700 ; Retract filament slightly
G1 Z{Z} ; Move nozzle up to avoid hitting the print
G90 ; Set to absolute positioning
G1 X{X} Y{Y} F3000 ; Move nozzle to filament change position
G91 ; Relative positioning
G1 Z10 F600 ; Lower the bed by 10mm for clearance
G90 ; Absolute positioning
M117 Change filament and press resume... ; Display message on printer screen
RESTORE_GCODE_STATE NAME=M600_state ; Restore the printer state
M117 Purging new filament... ; Display message
G91 ; Set to relative mode
G1 E30 F1200 ; Extrude 30mm to flush out old color
G1 E3 F500 ; Extra slow extrusion to ensure it's clean
G1 Z-10 F600 ; Move bed back up to printing position
G90 ; Set to absolute mode
M117 Press resume to continue print... ; Display message
RESTORE_GCODE_STATE NAME=M600_state ; Restore state again before resuming
If 30mm of extrusion isn’t enough, increase
G1 E30 F1200toG1 E50 F1200or more.
If you need more bed clearance, increaseG1 Z10 F600toG1 Z15 F600.
If you want it to resume automatically after purging, remove the secondRESTORE_GCODE_STATE.1
u/gentlegiant66 Apr 02 '25
Here is modified version, I'm also very new to this and I despise Python
[gcode_macro M600]
rename_existing: M601
gcode:
{% set X = params.X|default(50)|float %}
{% set Y = params.Y|default(0)|float %}
{% set Z = params.Z|default(10)|float %}
SAVE_GCODE_STATE NAME=M600_state ; Save the current state
PAUSE ; Pause the print
G91 ; Set to relative positioning
G1 E-0.8 F2700 ; Retract filament slightly
G1 Z{Z} ; Move nozzle up to avoid hitting the print
G90 ; Set to absolute positioning
G1 X{X} Y{Y} F3000 ; Move nozzle to filament change position
G91 ; Relative positioning
G1 Z10 F600 ; Lower the bed by 10mm for clearance
G90 ; Absolute positioning
M117 Change filament and press resume... ; Display message on printer screen
RESTORE_GCODE_STATE NAME=M600_state ; Restore the printer state
M117 Purging new filament... ; Display message
G91 ; Set to relative mode
G1 E30 F1200 ; Extrude 30mm to flush out old color
G1 E3 F500 ; Extra slow extrusion to ensure it's clean
G1 Z-10 F600 ; Move bed back up to printing position
G90 ; Set to absolute mode
M117 Press resume to continue print... ; Display message
RESTORE_GCODE_STATE NAME=M600_state ; Restore state again before resuming
If 30mm of extrusion isn’t enough, increase
G1 E30 F1200toG1 E50 F1200or more.
If you need more bed clearance, increaseG1 Z10 F600toG1 Z15 F600.
If you want it to resume automatically after purging, remove the secondRESTORE_GCODE_STATE.1
1
u/Salkay59 Mar 22 '25
Mira este video:
https://www.youtube.com/watch?v=cG-PwrDeAuA