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

If there's no change in bed temp, don't send command to change the bed temp #6602

Open
3 tasks done
tlhintoq opened this issue Aug 30, 2024 · 8 comments
Open
3 tasks done
Labels
bug Something isn't working

Comments

@tlhintoq
Copy link

tlhintoq commented Aug 30, 2024

Is there an existing issue for this problem?

  • I have searched the existing issues

OrcaSlicer Version

2.2.0-dev

Operating System (OS)

Windows

OS Version

Win10x64

Additional system information

StealthDeck_DeviceManager

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.
image

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 and Print. They have to slice, save to usb, go to the machine on the shop floor, change USB drives and launch from the machine.

image

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.
image
image
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

  • Log file
  • Project file

Anything else?

2024-08-30_11-17-31

@tlhintoq tlhintoq added the bug Something isn't working label Aug 30, 2024
@tlhintoq
Copy link
Author

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

@Noisyfox
Copy link
Collaborator

Elegoo's slicer has fixed this bug

Do you mean their Cura-based slicer?

@tlhintoq
Copy link
Author

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.

@Noisyfox
Copy link
Collaborator

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.

@tlhintoq
Copy link
Author

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.

https://github.com/ELEGOOTechSupport/ElegooSlicer

@d-portero
Copy link

this would be very helpful!

@tlhintoq
Copy link
Author

tlhintoq commented Oct 2, 2024

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
    image

  • 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.

image

`;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}`

@ELEGOOTechSupport
Copy link

ELEGOOTechSupport commented Oct 22, 2024

Build all

https://github.com/ELEGOO-Slicer/OrcaSlicer_PR/commits/refs/heads/Partition-hot-bed-gcode-processing/

image

It is optimized in this PR. #7184

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

4 participants