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

Decouple Retraction & Wipe (for Wipe only when crossing perimeters) #4293

Open
CuredPrusa opened this issue Jun 2, 2024 · 9 comments
Open

Comments

@CuredPrusa
Copy link

Did I miss something or it's true that checkbox for "Retraction Wipe - Wipe only when crossing perimeters" doesn't work for vast range of SS version, including the latest?

image

I discovered that just recently when I didn't want retraction wipe unless nozzle goes outside the model's wall.

@CuredPrusa
Copy link
Author

Workaround: Retract only when crossing perimeter =true + Wipe while retracting =true + Retract on layer change =false

That brings similar functionality but disables retractions inside the model.
Nevertheless, this checkbox looks dysfunctional.

@supermerill
Copy link
Owner

There was a typo, it needs avoid_crossing_perimeters to be able to be enabled.
other than that, it works as expected:
with
image
without
image

supermerill added a commit that referenced this issue Jun 3, 2024
@CuredPrusa
Copy link
Author

CuredPrusa commented Jun 3, 2024

Yeah, it's a bit awkward.
However, I can not get all retractions inside the model and wipe only when crossing perimeter while crossing perimeter is NOT restricted. That's the whole point of wipe - to make crossing perimeter nicer. If I restrict crossing perimeter, I don't need wipe. If I don't restrict crossing perimeter, I actually need wipe. But I don't want it to wipe at every single retraction. I need wipe only when crossing perimeter, while perimeter crossing is not restricted.
image
image
image
This combination of check boxes gives me this:
image
But I want this, with free crossing perimeter:
image

When I use a workaround, activate avoid_crossing_perimeters together with avoid_crossing_perimeters_max_detour =1mm, then I get something useful, but I don't understand why last retraction has wipe if last travel doesn't cross perimeter:

image
image

@CuredPrusa
Copy link
Author

You can test this on project which I have already sent you (test4) with this modifier:
image

@supermerill
Copy link
Owner

understood, i'll check if the restriction can be lifted without too much work.

@supermerill
Copy link
Owner

The issue is that currently, wipe can only be done with a retraction. To decouple the two, a good amount of work & testing is needed.

@supermerill supermerill changed the title Retraction Wipe, Wipe only when crossing perimeters - dysfunctional Decouple Retraction & Wipe (for Wipe only when crossing perimeters) Jun 4, 2024
supermerill added a commit that referenced this issue Jun 4, 2024
supermerill added a commit that referenced this issue Jun 4, 2024
@CuredPrusa
Copy link
Author

CuredPrusa commented Jun 4, 2024

Well, wipe should be done with a retraction. But retraction should not be done with wipe ;)
I could use a workaround (avoid_crossing_perimeters_max_detour =1mm) .
Is it also difficult to disable wipe at last retraction before travel to seam?
(last screenshot here)
I think that looks like a bug because the command is -wipe only when crossing perimeter- and last travel is not crossing it and there's still a wipe.

@supermerill
Copy link
Owner

if it's the last travel, maybe there is a layer change after, and if the retraction is enforced for the layer change, there will be a wipe?

@CuredPrusa
Copy link
Author

Yes, true, retraction is enforced before layer change. But wipe is not necessary if it is nor crossing perimeter. Wipe only when crossing perimeter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants