Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SnapMaker artisan machine start GCode update required #8805

Open
1 of 3 tasks
PierreMConsulting opened this issue Mar 11, 2025 · 1 comment
Open
1 of 3 tasks

SnapMaker artisan machine start GCode update required #8805

PierreMConsulting opened this issue Mar 11, 2025 · 1 comment
Labels
bug Something isn't working

Comments

@PierreMConsulting
Copy link

Is there an existing issue for this problem?

  • I have searched the existing issues

OrcaSlicer Version

2.3.0 Beta2

Operating System (OS)

macOS

OS Version

MacOS Sonoma

Additional system information

No response

Printer

SnapMaker Artisan

How to reproduce

Start Orca, select SnapMaker Artisan (0.4 noozles), create a new project, import a .stl and slice to then print.

Actual results

Machine starts printing with some potential issues

Contamination of the print platform issue
Initial wiping material with a risk of scraping the edge issue
Long waiting time before printing issue

Expected results

These issues should not be present

Project file & Debug log uploads

SnapMaker has an updated start G-Code to decrease the likelyhood of these issues which should be updated in Orca.

https://github.com/Snapmaker/OrcaSlicer/releases/tag/v1.1.0

; Model: Snapmaker Artisan ({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]

M140 S{first_layer_bed_temperature[initial_extruder]}

{if first_layer_print_min[0] >= 70 && first_layer_print_max[0] <= 330 && first_layer_print_min[1] >= 70 && first_layer_print_max[1] <= 330}
M140 P0 R{first_layer_bed_temperature[initial_extruder]} ;only inner part of the bed
{else}
M140 R{first_layer_bed_temperature[initial_extruder]}
{endif}

{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

M83

{if first_layer_print_min[0] >= 70 && first_layer_print_max[0] <= 330 && first_layer_print_min[1] >= 70 && first_layer_print_max[1] <= 330}
M190 P0 R{first_layer_bed_temperature[initial_extruder]} ;only inner part of the bed
{else}
M190 R{first_layer_bed_temperature[initial_extruder]}
{endif}

{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 ? 0 : 400 )} F5400
G0 Y-0.5 Z1.6 F4800

G0 X{( 0 % 2 == 0 ? 0 : 400 )} F5400.0
G0 Z0.2 F960.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 E8 F200
G92 E0
G1 X{( 0 % 2 == 0 ? 140 : 260 )} E8.73079 F3000.0
G92 E0

G1 E-{retract_length_toolchange[0]} F200
G92 E0
G0 Y20 F5400.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 ? 0 : 400)} F5400.0
G0 Y-0.50 Z1.6 F4800.0

G0 X{( 1 % 2 == 0 ? 140.0 : 260.0 )} F5400.0
G0 Z0.2 F960.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 ? 0 : 260 )} E8.73079 F3000.0
G92 E0

G1 E-{retract_length_toolchange[1]} F200
G92 E0
G0 Y20 F5400.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 ? 0 : 400 )} F5400.0
G0 Y-0.5 Z1.6 F4800.0

G0 X{( initial_extruder % 2 == 0 ? 0 : 400 )} F5400.0
G0 Z0.2 F960.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 ? 140 : 260 )} E8.73079 F3000.0
G92 E0

G1 E-{retraction_length[initial_extruder]} F200
G92 E0
G0 Y20 F5400.0

; ready [plate_name]

Checklist of files to include

  • Log file
  • Project file

Anything else?

No response

@PierreMConsulting PierreMConsulting added the bug Something isn't working label Mar 11, 2025
@PierreMConsulting
Copy link
Author

Update: This updated code does not solve 100% of the scratching issue. Working with Snapmaker support on it. Will update if I have any news from them

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant