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

[4.4.1] On two color print with extruders 2 and 3, prime tower purges with extruder 1 before purging with correct extruder #6995

Closed
PEstes opened this issue Jan 17, 2020 · 14 comments
Labels
Status: Needs Info Needs more information before action can be taken. Status: Stale ⌛ This issue is over a year old. It might be obsolete or just needs a fresh set of eyes Type: Bug The code does not produce the intended behavior.

Comments

@PEstes
Copy link

PEstes commented Jan 17, 2020

Application version
4.4.1

Platform
Windows 10 64-bit, Intel i5, Intel UHD 620

Printer
Custom printer definition for Geeetech A20T (3 extruders, 1 nozzle). All nozzle offsets are 0.

Reproduction steps

  1. Printing 2 color STL model by opening 2 different partial models
  2. Assign extruder Default for brim_line_count setting is wrong. #2 to one STL model
  3. Assign extruder Cura beta 1 - Preferences dialog categories single vs double click. #3 to other STL model
  4. Merge
  5. Enable prime tower, 35mm, 80mm3, same values for all 3 extruders
  6. Set Build Plate Adhesion Extruder to Default for brim_line_count setting is wrong. #2
  7. Slice

In my picture, I have extruder #1 loaded with black PLA, #2 loaded with red PLA and #3 loaded with white PLA.

Screenshot(s)
(Image showing the problem, perhaps before/after images.)

Actual results
Every time there is an extruder change, the current material is purged out by extruder #1. Only after doing so does it purge with the correct nozzle. You can see in the picture that the prime tower has black in it. This is from the #1 extruder, yet the #1 extruder is not assigned to any part of this print. There's basically two purges happening (ie #2 -> #1 -> #3 instead of just #2 -> #3) on every extruder change when only 1 should occur.

Coin

Expected results
Extruder #1 is not used in this print. Therefore, it should never be part of the prime tower. It should never be purged. It is simply wasting material unnecessarily as I need to increase the tower size/volume to accomodate the extra purge.

I have also tried disabling extruder #1 to see if I could work around this but Cura then says it can't slice because one of the assigned extruders is disabled.

I have searched all config options for any other options that include the word "Extruder" and there are none except for the adhesion extruder, which I already set to #2 (as can also be seen in the picture).

Project file

makerbot_coin_mk3_m_a.zip

Log file
N/A

Additional information
(Extra information relevant to the issue.)

@PEstes PEstes added the Type: Bug The code does not produce the intended behavior. label Jan 17, 2020
@Ghostkeeper
Copy link
Collaborator

Getting an engine crash on this project file currently, which is a different issue in itself...

2020-01-20 17:37:48,468 - DEBUG - [MainThread] CuraEngineBackend.CuraEngineBackend._onBackendQuit [829]: Backend quit with return code -11. Resetting process and socket.

Seems to be a segfault.

@Ghostkeeper
Copy link
Collaborator

Can you try enabling support, setting the support extruder to 2, then disabling support again? Maybe that's a workaround for you.

@PEstes
Copy link
Author

PEstes commented Jan 28, 2020

I've tried changing the support extruder to extruder #2 and get the same result. Also tried setting it to extruder #3 and also same result as well.

@Block137
Copy link

I remember reading it always prime with T0 because T0 is default to have highest "Adhesion Tendency", a permanently invisible setting in material tab, to avoid problem caused by #6909

If Adhesion Tendency is accessible by user then this maybe configurable?

@Ghostkeeper
Copy link
Collaborator

Ghostkeeper commented Jan 30, 2020

This makes sense actually. It seems that the prime tower code just takes all extruders and orders them from high Adhesion Tendency to low (and in case of ties the lowest extruder number wins).

https://github.com/Ultimaker/CuraEngine/blob/e904e260716d072d6c766dc73fbc18f7fb224fce/src/PrimeTower.cpp#L33-L38

It should only take the used extruders here, I'd think. So that's a bug then.

This project file reproduces the problem (without a crash) for me: CFFFP_cube.zip

@vwpollen
Copy link

vwpollen commented Jun 26, 2020

Any chance for this issue to be fixed in future Cura revision ?

@Ghostkeeper
Copy link
Collaborator

I hope so. We don't have a fix yet. The outlines for the prime tower are generated before it's known which extruders are being used, at the moment. Bit of a weird architecture choice that needs a small refactor.

@smartavionics
Copy link
Contributor

Hello @vwpollen, I don't know if it will help but my cura builds feature a "compact prime tower" setting that behaves differently inasmuch that it only primes the extruders used on each layer.

For the project above (CFFFP_cube.3mf) I get the following output for extruders 2, 3 and 4. Extruder 1 isn't used at all.

Screenshot_2020-07-02_15-00-16

Screenshot_2020-07-02_15-00-28

Screenshot_2020-07-02_15-00-39

If you want to try my builds, they can be found at https://www.dropbox.com/sh/s43vqzmi4d2bqe2/AAADdYdSu9iwcKa0Knqgurm4a?dl=0. Please read the README.md file there before using.

@smartavionics
Copy link
Contributor

I changed the material colours to make it more obvious, the prime tower has alternate yellow and green layers.

Screenshot_2020-07-02_15-13-06

@vwpollen
Copy link

vwpollen commented Jul 6, 2020

@smartavionics, I have given it a try and this option fixes the issue. Do you have more info on this Cura branch name? Perhaps it can helps integrating this option in future "official" Cura revision ?

@smartavionics
Copy link
Contributor

Hi @vwpollen , I'm glad that this has helped you. I am now only contributing bug fixes to UM so this feature (compact prime tower) is not going to be in the official version.

@GregValiant GregValiant added Status: Needs Info Needs more information before action can be taken. Status: Stale ⌛ This issue is over a year old. It might be obsolete or just needs a fresh set of eyes labels Nov 22, 2024
@GregValiant
Copy link
Collaborator

I'm cleaning house.
Is this still an issue in current Cura versions (5.8.0 and up)? Can this be closed?

@Block137
Copy link

No problem in 5.8.1 for me
Screenshot 2024-11-23 021326

Copy link
Contributor

github-actions bot commented Dec 7, 2024

This issue has been automatically closed because there has been no response to our request for more information from the original author. With only the information that is currently in the issue, we don't have enough information to take action. Please reach out if you have or find the answers we need so that we can investigate further.

@github-actions github-actions bot closed this as completed Dec 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Needs Info Needs more information before action can be taken. Status: Stale ⌛ This issue is over a year old. It might be obsolete or just needs a fresh set of eyes Type: Bug The code does not produce the intended behavior.
Projects
None yet
Development

No branches or pull requests

7 participants