Snapmaker Orca V1.1.0 Beta : Features Request & Discussions

Hello Snapmaker Orca Beta users,

If you have any feature requests, suggestions, or ideas on how we can improve the Snapmaker Orca, this is the place to share them!

Here’s how you can share your thoughts:

  1. Post Your Feature Requests Here: Let us know what new features or improvements you’d like to see in Snapmaker Orca Beta.

  2. Discuss and Vote: If you see a feature request you like, feel free to hit the Like button under it. This helps us prioritize the most requested features.
    image

Please make sure to:

  • Be as detailed as possible when describing your feature request. The more context you provide, the easier it will be for us to understand and implement it.

  • Check the thread for existing feature requests before posting, as your idea may already be suggested.

  • Avoid posting bug reports or issues here; discuss them in the dedicated thread: Snapmaker Orca Beta: Issues Report & Discussions

We appreciate your ongoing support and suggestions!

5 Likes

Can we get the profiles in json format so I can import those into my orca?

1 Like

Is there a way to import Luban’s filament profiles into Orca beta?

The import doesn’t work with the exported .json.

1 Like

Can you please share the settings to get Orca Slicer connected to the Artisan device?

So far i am not able to do it, because Artisan doesn’t support any of protocols provided by Orca.
Or is this working only by loading the gcode into Luban and then upload it?

I think it’s the same problem I have with the J1(s), I always have to connect the printer via Wifi via Luban’s Workspace: solutions?

@spucky @chappyviaf You can transfer G-code files via WiFi from Orca to your Snapmaker machines, provided the machine is connected to Wi-Fi via Snapmaker Luban and running Snapmaker Luban. Check out steps here: https://wiki.snapmaker.com/en/Snapmaker_Orca/manual/orca_qsg#starting-printing-via-wi-fi-or-usb-flash-drive

Notes:

  • Use the latest version of Luban.
  • To connect to a Snapmaker machine with Orca, establish a WiFi connection using Luban, then connect from within Orca. Make sure that Luban remains active throughout the process.
  • Once connected, uploading Gcode and printing operations are supported in Orca.
1 Like

Thanks, that is how it is supposed to be.
I thought there is an easier way bypassing Luban. Similar to Cura where a Plugin does exist for direct connection to the printer

We plan to establish a direct connection next year, but for now, we can only connect with Orca via Luban as a transfer station. This is currently the fastest solution.

2 Likes

One question - this version already has “some” Snapmaker filament profiles, but temperatures and other parameters are different than profiles in Luban.

These profiles were tested with Snapmaker 2.0 and are they optimal parameters for this slicer?
Or are they just templates that need to be adjusted according to own tests ?

It would be super helpful if you could visually distinguish the golden PEI plate from the smooth black one by selecting the bed type. Can this be implemented?

1 Like

We need more filament profiles, or at least the ability to create new filament types. When printing with a J1S, I needed to print polycarbonate (PC) and polystyrene (HIPS). There is no default PC or HIPS profile, and when I access the “add custom filament” tool, I have to select a filament type (PLA, ABS, etc.)

My only “type” options are the ones that already exist based on Snapmaker defaults. So it is impossible to create a PC filament, a HIPS filament, or any filament that isn’t already listed.

I can get around this on stock Orca, I believe because I can use filament types from defaults from other printers I have on Orca.

Filaments you might consider adding or allowing users to add might include:

PET CF
PA (non CF)
PC
PC/ABS
PC CF
HIPS
PPS
Any GF filled filament
There are obviously many more but PC, PC CF, and PA (no additives) are somewhat common filaments. I can work on creating my own profiles but it’s frustrating not being able to choose the right filament to begin with.

One additional request is that Snapmaker Orca would implement more support for mirror/copy mode. While I am sure this is already in the works, I am having issues with doing this even when setting the mode via the machine.

My use case can sometimes require printing identical parts with dissimilar materials in order to test parts made with different filaments. printing two materials at the same time lets me speed up my process.

The J1S can do this, but my mirror and copy prints defaults to the temps and speeds of Filament 1. Ideally it would remember the separate temperatures of each filament and default to the lower print speeds between Filaments 1 and 2 when they are different.

1 Like

I love this idea. I’m a complete beginner, so I’m not yet qualified to start or set up something like this. Who will start? :blush:

Hello All

My initial feedback

All the extra start g code should be removed. Keep it simple

Home
Heat up - Have the bed heat up first and then the nozzle since the bed takes the most time to
purge
wipe
Start

Running around the bed, and standing by to wipe commands are not needed.

I appreciate all the work that was done to make the commands but the difference between what Luban was doing and Snapmaker Orca does made nervous. Running PLA to 250 is not typical for starting up.

The other thing I noticed was Snapmaker Orca seems to give the machine a little more “juice” moving around.

Meaning the movements seem more crisp and smooth. This is removing some of the “typical” sounds I am used to hearing from using Luban.

The machine appears to be running better using it.

Edit: For the end gcode -10 mm does not seem to be enough for easy filament removable for the duel extruder. This line should be removed as well.

Here is a user feedback about Artisan and it’s bed zones:

The fact that the outer bed is not heated leads to the problem that after the initial nozzle purge, the machine travels over the unheated area on its way to the print start point. When I heat the inner bed to 80 degrees for the first few PETG-CF layers, the bed seems to warp so much that the nozzle scratches over the PEI plate in the unheated outer area.

What can I do about this? Is there a way to read or graph the bed mesh so I can at least get some visual feedback?

The first layer is perfect - so the Z is set correctly.

Is it possible to insert a command in the g-code that raises the nozzle 2mm according to the purgeline, then moves the print head to the start point, then lowers the nozzle and only then prints at the correct height?

Thank you for your quick response.

The current start gcode looks like this:

; 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 ; home all axis

M117 ; purge extruder

M420 S1 ; load mesh

M83 ; put E axis into relative mode 

{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]

Do I only have to exchange M140 P0 for M140 P1 in this gcode? I have tried but nothing works.

There are two M140s at the beginning of the code, do I need to add the P1 to the first one as well?

I can’t read this code well, it makes not that much sense. If you look at a generated gcode it would be easier to see what is processed…
I think the second M140 needs the P1 if your model size exceeds the limits.

Do you use the latest orca beta which was released 2weeks ago?

You could help you with comments in the start gcode to be sure which gcode is executed.
For example
M140 S70 ;comment

This is more of a request to ask what features does Snapmaker Orca have that is different from Orca Slicer?

I already have an Octoprint setup working pretty well with Orca Slicer and am wondering if I should make the switch.

When I tried Snapmaker Orca it seemed kind of buggy and would crash but tbh I’ve had a fair share of crashes from Orca Slicer as well so it’s not a deal breaker. I would just like to know if it’s worth it to move right now.