Open tlhintoq opened 1 month ago
FYI: Elegoo's slicer has fixed this bug - so I don't think its all that hard. Can someone out there just do a compare against the two branches and reverse-merge their fix so Orca can be better used by Giga owners? Please! cc: @Noisyfox
Elegoo's slicer has fixed this bug
Do you mean their Cura-based slicer?
Elegoo's slicer has fixed this bug
Do you mean their Cura-based slicer?
No - their OrcaBased fork that they are branding in their own name. - I'm not happy either. They should have just been a contributor here and maintained being a part of the open-source mind set. Then again - they needed to deploy a slicer that didn't have this bug.
Elegoo's slicer has fixed this bug
Do you mean their Cura-based slicer?
No - their OrcaBased fork that they are branding in their own name. - I'm not happy either. They should have just been a contributor here and maintained being a part of the open-source mind set. Then again - they needed to deploy a slicer that didn't have this bug.
Did they publish the source code of that anywhere? I couldn't find it.
Elegoo's slicer has fixed this bug
Do you mean their Cura-based slicer?
No - their OrcaBased fork that they are branding in their own name. - I'm not happy either. They should have just been a contributor here and maintained being a part of the open-source mind set. Then again - they needed to deploy a slicer that didn't have this bug.
Did they publish the source code of that anywhere? I couldn't find it.
this would be very helpful!
I have a work-around until this can be fixed. I never change the bed temp after the first layer anyway so...
In the material settings, set the bed temp for all other layers to 0
. This ensures all the unused beds remain off
In printer settings: Copy the same calculating code from the start block to the Layer Change G-code
block
Now it will change only the used bed from the initial layer temp to the initial layer temp. In other words, no change and it doesn't turn on all the other beds after the first layer.
`;Giga zoned hot bed control ;Case 1 {if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) < 402.5} M190 T0 S[bed_temperature_initial_layer_single] {if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405} M190 T1 S[bed_temperature_initial_layer_single] {endif} {if ((first_layer_print_max[1])) > 402.5} M190 T3 S[bed_temperature_initial_layer_single] {endif} {if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405 && ((first_layer_print_max[1])) > 402.5} M190 T2 S[bed_temperature_initial_layer_single] {endif} {endif}
;Case 2 {if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) < 405 && (max(0, first_layer_print_min[1])) > 402.5} M190 T3 S[bed_temperature_initial_layer_single] {if ((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) > 405} M190 T2 S[bed_temperature_initial_layer_single] {endif} {endif}
;Case 3 {if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) < 402.5} M190 T1 S[bed_temperature_initial_layer_single] {if ((first_layer_print_max[1])) > 402.5} M190 T2 S[bed_temperature_initial_layer_single] {endif} {endif}
;Case 4 {if (min(print_bed_max[0], first_layer_print_min[0] + 32) - 32) > 405 && (max(0, first_layer_print_min[1])) > 402.5} M190 T2 S[bed_temperature_initial_layer_single] {endif}`
Is there an existing issue for this problem?
OrcaSlicer Version
2.2.0-dev
Operating System (OS)
Windows
OS Version
Win10x64
Additional system information
Printer
Elegoo giga
How to reproduce
First you have to understand that the Giga has 4 heatbeds. If the part is only on bed T2 you don't need to heat the other 3. Its an easy matter to make a change to only warm the used bed by making the bed command specify the right bed for that job.
HOWEVER... Orca is generating a change to the bed temp after the first layer even if the temp is the same. From: 65 to 65 for example. This command does not appear in any material gCode to be overwritten. So an Giga user can't just
Slice
andPrint
. They have to slice, save to usb, go to the machine on the shop floor, change USB drives and launch from the machine.How to reproduce: Slice any job where the bed temp is unchanged between first and following layers.
Actual results
After the first layer the next is dynamically injected commands that we can't stop or change. Without the specification of
T2
this generic command turns on the other 3 heatbeds of 400mm² each. That's a lot of wasted energy and alot of ambient heat into the room for no reason.Expected results
Don't issue changes that aren't needed. From 65 to 65 doesn't require another command be sent.
Project file & Debug log uploads
None required
Checklist of files to include
Anything else?