-
-
Notifications
You must be signed in to change notification settings - Fork 845
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
[Feature] Introduced experimental option to fully disable solid infill against walls when ensure vertical thickness is turned off #3235
[Feature] Introduced experimental option to fully disable solid infill against walls when ensure vertical thickness is turned off #3235
Conversation
…l when ensure vertical thickness is turned off.
bded521
to
3268b13
Compare
Wow, thank you! |
The code change is pretty simple but I am debating a few things:
The way it is with this PR now, is we have a spectrum of 3 options -
|
It depends... there are many "conservative" users who does not like new things or prefer the old behaviour. For example arachne vs classic perimeter generator :) there are and there will be always two camps of these users. Maybe we should use new "enhanced" code as a default option and behaviour BUT provide an "option" - switch to the old mode. |
Thanks for this PR, I've been waiting for it for a moment ^_^. Just a small thing, it might be better not to add an option but rather to modify the "Ensure vertical shell thickness" option as a drop-down menu (with 3 options like Active, inactive and aggressive) |
Yup, I agree with that in parts. Ensure vertical shell thickness was added back and enabled by default, that is wrong, many users won't even bother to change stuff, but those like us who do, the last thing you want is a feature added back messing things around. This is a somewhat advanced/enhancement feature which users like us can very well enable/disabled it. |
The only problem with the drop down is that it may break I think the printer profiles. But not 100% sure so I’ll wait for softfever to chime in with a review |
I wouldn’t change the default behaviour of ensure vertical shell thickness being on to be honest. Not sure if that’s what you’re thinking here, but it’s the safest option hence the default. Users can mess it up in so many ways (1-2 perimeters with very sloped surfaces for example) that it would be best to keep it turned on |
Good catch! |
Is this with the latest build? |
Also could you please attach your 3mf project file? |
Yes, I'm on build #397. Here the 3mf file. |
There is an interaction between this option and the single wall top perimeter. Set the top surface threshold to 200% or greater and the sloped surface now has partial supporting infill. But in general a model like that with sloped surfaces really does need the ensure vertical shell thickness option turned on to print best - that is what this option is for :) |
There is an alternative way to implement this - prusa3d/PrusaSlicer#11950 Basically disable the combining of holes in the new ensure vertical shell thickness algorithm while retaining the combine surfaces. This removes most of the side wall infill but retains the top layers better. I'll open another PR tomorrow with this approach implemented and we just need to pick one of the two. |
Good catch, anyway quite difficult to say which way is the better one :( I like both approaches |
I’ve opened an alternative PR on this based on the work that vovodroid did for prusa slicer. Waiting for the build to finish in order to upload screenshots. Then we can test both and decide on which one |
@SoftFever ready for review. Will also do a bit more parameter testing specifically this statement to see whether we can go even less with the filtering to make it more conservative.
|
This last build looks good to me. Like you I would prefer to always use this option but it seems that it is not possible, so best of both world I guess ^_^ |
So I've done some more testing with the above parameters. The currently submitted PR is where I'd say I'm happy to leave it for my personal preference. Any less and the slanted top surfaces become risky, any more and the reduction is not as significant as it can be. @SoftFever ready for your review and feedback |
@igiannakas Just curious if your proposed implementation would help for my use case. I print RC airplanes with single wall and some non-zero level of infill. These extra walls trying to enforce top/bottom thickness are driving the weight up ~10 or more percent depending on the file. To me, having an option to specify an angle threshold to determine where it does or does not ensure the vertical wall thickness would be ideal, but maybe that opens up too much potential trouble for the casual user to get into trouble, or maybe it would be too difficult to implement in the code. Anyway, I'd love to hear your take on if your proposed fix will reduce or eliminate extra material on sloped surfaces of ~35-45 degrees on up, specifically, single wall prints with ~5% infill. This... (achieved using height range modifiers) |
Download the build above and let me know what you think. Enable the reduce solid infill and the further reduce option and see the results |
Create a git hub account then download it from the bottom of the page here: https://github.com/SoftFever/OrcaSlicer/actions/runs/7552665935 you can download the portable version which won’t mess with your current install. |
Works great! That will save me a lot of time (and weight) on my airplanes. Thanks a bunch! |
Welcome 😀 |
@igiannakas I am running this version that fixes the chaotic printing by layer order, finally: https://github.com/SoftFever/OrcaSlicer/actions/runs/7529929480?pr=3685 Atm, OrcaSlicer is incapable of printing by layer following the object list creating tons of headache, personally I judge that higher issue but I wanna keep your PR too haha |
I've sent you a DM with a build that contains both, till they are reviewed and merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
Thank you so much for your expceptional contribution!
Welcome 🙏🏻🎉 |
Introduced experimental option to fully disable solid infill printed against sloping walls even when ensure vertical thickness is turned off.
Fixes #3224
Fixes #3016
Fixes #1887
Ensure vertical thickness ON:
We can see solid infill against the walls even on pretty much flat surfaces. This is the most conservative option.
Ensure vertical thickness OFF:
Solid infill greatly reduced in mostly flat areas.
However it is present on sharp sloping surfaces like the below. So this resulted in the total volume of infill to be increased as also increasing the print time. This is because of the more infill applied to high degree sloping surfaces compared to the new ensure vertical thickness algorithm.
With the Further reduce solid infill on walls option ON:
Sloping surfaces infill completely eliminated. Print time is lower now compared to the ensure vertical thickness on and with ensure vertical thickness off as is material use.
This PR respects the need for solid infill where features are printed over bridges so we dont end up with unsupported features when printing external wall features that require internal bridging:
It also doesnt affect the treatment of the first layer over an external bridge:
Before:
After:
Implementation details:
Turns out the discover horizontal shells function that was used when ensure vertical thickness was off allowed for significantly reduced wall solid infill when the infill density was set to 0. This was because it was assumed by the developers that the user would only want to print the hollow object.
With this PR we are piggy backing on that code and enabling the calculation of a reduced solid wall infill even when infill density is >0.