OrcaSlicer icon indicating copy to clipboard operation
OrcaSlicer copied to clipboard

Add configurable short wall/perimeter cleaning for Arachne

Open scottmudge opened this issue 2 years ago • 28 comments
trafficstars

See issue #2774 for the motivation behind this change, but it has helped me significantly in reducing print times and producing cleaner prints with less stringing/blobs.

The default value is the existing hard-coded value, and the existing hard-coded value is used on top-most layers to prevent unwanted gaps.

scottmudge avatar Nov 18 '23 20:11 scottmudge

How come you're not using this variable for the top most layer?

igiannakas avatar Nov 19 '23 12:11 igiannakas

How come you're not using this variable for the top most layer?

Avoid leaving holes/gaps on top surface. He added an comment in the codes to explain it.

SoftFever avatar Nov 19 '23 13:11 SoftFever

How come you're not using this variable for the top most layer?

Avoid leaving holes/gaps on top surface. He added an comment in the codes to explain it.

Should the same also apply for bottom layers? Or the option isn’t active? Sorry for the silly questions, just checking this won’t cause a side effect to perceived quality

igiannakas avatar Nov 19 '23 13:11 igiannakas

How come you're not using this variable for the top most layer?

Avoid leaving holes/gaps on top surface. He added an comment in the codes to explain it.

Should the same also apply for bottom layers? Or the option isn’t active? Sorry for the silly questions, just checking this won’t cause a side effect to perceived quality

Nah, it's very good point. I think we should exclude bottom surface as well. @scottmudge

Meanwhile, I checked the gcode again, I think there is an issue of the way how it check top surface. See my code review comment for details

How come you're not using this variable for the top most layer?

Avoid leaving holes/gaps on top surface. He added an comment in the codes to explain it.

Should the same also apply for bottom layers? Or the option isn’t active? Sorry for the silly questions, just checking this won’t cause a side effect to perceived quality

It's very good point. I think we should exclude bottom surface as well. @scottmudge

Meanwhile, I checked the code again, I think there is an issue of the way how it check top surface. See my code review comment for details

SoftFever avatar Nov 19 '23 14:11 SoftFever

Alright I've made the changes requested.

It no longer affects bottom surfaces, or any top-surfaces (rather than just top-most).

I had to adjust the logic in PerimeterGenerator.cpp, as that point in the code that you noted @SoftFever (line 1926) was only reached when only_one_wall_top was enabled, while this setting should not affect top surfaces even when that is disabled.

I also allowed the "One wall threshold" setting to be visible if this new setting is set above the default value of 0.5, as users may want to adjust what is considered a "Top surface". Correspondingly, I renamed "One wall threshold" to "Top-surface threshold" for clarity, as it has multiple uses now (and that's really what the setting is underneath, anyway).

scottmudge avatar Nov 20 '23 16:11 scottmudge

Also, I confirmed the setting is only visible if Arachne is enabled.

scottmudge avatar Nov 20 '23 16:11 scottmudge

Have been testing this for a week or so with my current model printing for Christmas and it appears to be working OK. Looks good!

igiannakas avatar Nov 27 '23 10:11 igiannakas

@scottmudge any chance you could take a look to resolve latest conflicts and implement the change by Softfever? This is a great piece of work, would love to see it merged in :)

igiannakas avatar Dec 03 '23 10:12 igiannakas

@scottmudge I've resolved the merge conflict and implemented Softfever's comment above here:

https://github.com/igiannakas/OrcaSlicer/commit/4502e60f43f1cb05e0f82e1e22107e4cb9b6a6ec

You can cherry pick the changes and merge them in your PR :) Hope this helps!!

igiannakas avatar Dec 03 '23 12:12 igiannakas

Would be really nice to get this merged

Eldenroot avatar Dec 17 '23 09:12 Eldenroot

@scottmudge @SoftFever I've been using this feature daily and its in my default profiles now. @scottmudge if you dont have the time to implement the above changes, would you like me to open a PR to get them in and merged in the main branch? Happy to help!

igiannakas avatar Dec 21 '23 10:12 igiannakas

Would be nice, looks really promising and handy in some cases.

Do you have any photos with the results?

I am interested in :)

Eldenroot avatar Dec 21 '23 11:12 Eldenroot

Would be nice, looks really promising and handy in some cases.

Do you have any photos with the results?

I am interested in :)

No impact to quality (at least on the X1C) but it does help reduce print time a bit where small extrusions are present as the print, retract, wipe, move, unretract is skipped.

igiannakas avatar Dec 21 '23 11:12 igiannakas

OK, thats nice. How much does it help (I know depends on model) but about 10-15 % down?

Eldenroot avatar Dec 21 '23 11:12 Eldenroot

OK, thats nice. How much does it help (I know depends on model) but about 10-15 % down?

Disabled: image

Enabled: image

igiannakas avatar Dec 21 '23 11:12 igiannakas

OK, every saved second is important :)

Eldenroot avatar Dec 21 '23 11:12 Eldenroot

OK, every saved second is important :)

it can also theoretically improve quality as the retraction and detraction and print are done over a very small area and if your printer does not have excellent extrusion control it can result in tiny blobs and strings. But personally I haven't seen this as the X1C is pretty good at extrusion control.

igiannakas avatar Dec 21 '23 11:12 igiannakas

Yeah, I was thinking about this too :) Isnt "edits from maintainers" enabled for this PR?

Eldenroot avatar Dec 21 '23 11:12 Eldenroot

Yeah, I was thinking about this too :) Isnt "edits from maintainers" enabled for this PR?

I’m not a maintainer (at least I think so? 🤣)

igiannakas avatar Dec 21 '23 12:12 igiannakas

I probably can push changes if it's not disabled by the author. But perhaps it's best to be patient for now. 🙂 Rule number 1 in hobby open source world: be patient ;-)

SoftFever avatar Dec 21 '23 15:12 SoftFever

Will be added into 1.9beta?

Eldenroot avatar Dec 24 '23 10:12 Eldenroot

I probably can push changes if it's not disabled by the author. But perhaps it's best to be patient for now. 🙂 Rule number 1 in hobby open source world: be patient ;-)

Will you push the changes from @igiannakas ? I think it is worth to have this alongside with other important changes which were merged lately. Thank you

Eldenroot avatar Dec 27 '23 17:12 Eldenroot

Hey guys, apologies. Got covid for the first time a while back and it took me out for a while, then the holidays, etc.

I'll work on getting the PR updated and ready for being merged. Should be done tonight or early tomorrow.

scottmudge avatar Dec 27 '23 22:12 scottmudge

Hey guys, apologies. Got covid for the first time a while back and it took me out for a while, then the holidays, etc.

I'll work on getting the PR updated and ready for being merged. Should be done tonight or early tomorrow.

Hope you're ok! COVID can still be a right ******

igiannakas avatar Dec 28 '23 00:12 igiannakas

Take care !

Eldenroot avatar Dec 28 '23 20:12 Eldenroot

I've merged with the latest tip, so conflicts should be resolved, and used a copy of input_params as discussed. So it should be good to go!

scottmudge avatar Dec 28 '23 23:12 scottmudge

Thank you, will test tomorrow

Eldenroot avatar Dec 30 '23 22:12 Eldenroot

I've merged with the latest tip, so conflicts should be resolved, and used a copy of input_params as discussed. So it should be good to go!

Fantastic! I've been using this for a month + now so to me it looks like it works well. Thank you Scott!

igiannakas avatar Dec 31 '23 11:12 igiannakas

Merged. Thanks for nice feature and patience!

SoftFever avatar Jan 01 '24 22:01 SoftFever