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

Bug in initial_extruder_nr function when using Brim and Skirt #18494

Closed
x40-Community opened this issue Mar 2, 2024 · 3 comments
Closed

Bug in initial_extruder_nr function when using Brim and Skirt #18494

x40-Community opened this issue Mar 2, 2024 · 3 comments
Labels
Status: Duplicate Duplicate of another issue. Status: Under Investigation The issue has been confirmed or is assumed to be likely to be a real issue. It's pending discussion. Type: Bug The code does not produce the intended behavior.

Comments

@x40-Community
Copy link
Contributor

Cura Version

5.6.0

Operating System

Linux

Printer

Weedo X40

Reproduction steps

The model should be printed with an index printer from the right extruder. To set the extrider, the following is used in the start script:
T{initial_extruder_nr} S ; Set start extruder

Actual results

With Build Plate Adhesion Type "None" and "Raft" the correct result with T1 S is generated in gcode.
However, when using "Brim" and "Skirt" the result is T0 S and therefore the wrong extruder!

Expected results

Regardless of the Build Plate Adhesion Type, the correct extruder should come out at the initial_extruder_nr function.

Add your .zip and screenshots here ⬇️

Archiv.zip

@x40-Community x40-Community added Status: Triage This ticket requires input from someone of the Cura team Type: Bug The code does not produce the intended behavior. labels Mar 2, 2024
@GregValiant GregValiant added Status: Duplicate Duplicate of another issue. Status: Under Investigation The issue has been confirmed or is assumed to be likely to be a real issue. It's pending discussion. and removed Status: Triage This ticket requires input from someone of the Cura team labels Mar 3, 2024
@GregValiant
Copy link
Collaborator

GregValiant commented Mar 3, 2024

Thanks for the report.
The bug I see here is that the Skirt/Brim extruder must be explicitly set to Extruder 2 when that is what you want.
Whether Extruder 1 is enabled, or disabled, "initial_extruder_nr" will return a "0" when the Skirt/Brim extruder is either "Not Overridden" or "Extruder 1".
With Extruder 1 disabled and the skirt/brim extruder explicitly set to Extruder 2 I get:
;Generated with Cura_SteamEngine 5.6.0
T1
M82 ;absolute extrusion mode
;--------------------------StartUp Gcode
The Initial Extruder is: # 1

With Extruder 1 disabled and the skirt/brim extruder "not overridden":
;Generated with Cura_SteamEngine 5.6.0
T1
M82 ;absolute extrusion mode
;--------------------------StartUp Gcode
The Initial Extruder is: # 0

@casperlamboo has looked at this previously (see bug report #17501) and it does appear that the behavior is a bit different. One of the problems I see is that if Extruder 1 is disabled, the Skirt/Brim extruder settings are hidden. The user has to understand that the settings will be used even when hidden. It is necessary to re-enable Extruder 0, set the skirt/brim extruder to Extruder 2, and then disable Extruder 1 again.

@x40-Community
Copy link
Contributor Author

x40-Community commented Mar 3, 2024

I forgot something important. The left extruder (T0) is deactivated!
Overridding the brim and skirt is therefore not adjustable.

If both extruders are active and the right extruder has the brim or skirt creation set to the right extruder, then it works.

There is only one model that has been assigned to the right extruder.
Left extruder disabled (T0), right extruder enabled (T1):
=> None => initial_extruder_nr => 1
=> Raft => initial_extruder_nr => 1
=> Skirt => initial_extruder_nr => 0 (wrong Extruder, overridden not possible)
=> Brim => initial_extruder_nr => 0 (wrong Extruder, overridden not possible)

There is only one model that has been assigned to the right extruder.
Left and right extruder (T0 and T1) enabled:
=> None => initial_extruder_nr => 1
=> Raft => initial_extruder_nr => 1
=> Skirt => initial_extruder_nr => 1 (overridden with right extruder)
=> Brim => initial_extruder_nr => 1 (overridden with right extruder)

I always deactivate the left extruder if I only want to print with the right one, because if the material settings for the left extruder are incorrect, the values can otherwise be transferred to the right extruder.
With Cura 4.X it all worked wonderfully!

@HellAholic
Copy link
Contributor

@x40-Community
I'm checking on the latest internal build and I cannot reproduce the issue using another printer (bibo dual) which uses the same syntax for M109 T{initial_extruder_nr} S{material_print_temperature_layer_0, initial_extruder_nr}
when I disable the first extruder (T0) it switches correctly to T1 as the initial extruder with skirt or brim.
image
image

As the Weedo X40 is not part of the Cura repo I cannot confirm that it fixes your issue as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Duplicate Duplicate of another issue. Status: Under Investigation The issue has been confirmed or is assumed to be likely to be a real issue. It's pending discussion. Type: Bug The code does not produce the intended behavior.
Projects
None yet
Development

No branches or pull requests

3 participants