-
-
Notifications
You must be signed in to change notification settings - Fork 964
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
Enhancement: Do not slow down external perimeters to meet minimum layer time #5148
Enhancement: Do not slow down external perimeters to meet minimum layer time #5148
Conversation
Really hope to see this integrated! |
Currently does not seem to be working. Can't wait for this to be a thing. |
New version is up, waiting for the build. Screenshots are up showing the difference. |
…yer time" This reverts commit d84ff93.
Big idea! I hope it is implemented soon. |
No idea why nobody came up with this idea till now, and why I didn't come up with this till I modded my 3d printer to print so fast that almost all things I print have to slow down due to cooling XD. |
Found one case where this would be extremely useful. When printing with "infill combination" on, the layers with infill would take significantly more time than non-infill layers, causing uneven outer surface. Printing the test model right now. |
In this case, the outer wall in 2.0.0 would slow down just enough to hit the VFA speed of my printer causing resonance, while with no outer wall slowdown POC, the outer surface is much smoother. ========================================== ========================================== |
Thank you! |
…rimeters-to-meet-minimum-layer-time
Wow! |
I’ll spend a bit of time working this feature as it’s by far incomplete right now, to get it to a better testing state ;) |
…o-meet-minimum-layer-time
…rimeters-to-meet-minimum-layer-time
…rimeters-to-meet-minimum-layer-time
…rimeters-to-meet-minimum-layer-time
…rimeters-to-meet-minimum-layer-time
@igiannakas let me know if you need some testing like I did for #4333 ;) |
Yes please - testing requirements are in the top post together with limitations. Please disable slowdown for overhangs as it doesn’t play well with it yet. Also try a small model - benchy is a good one as it has layer time variations accross the board (hull, top part where the windows are). This PR is not ready for daily use and only in a controlled environment as there are many things that don’t work yet - trying to demonstrate value and then I can devote time to productionise it. please be aware that there is no option to enable yet - it’s always on in this Pr. So the before and after need to be done between the current nightly and this. |
…rimeters-to-meet-minimum-layer-time
…o-meet-minimum-layer-time
…o-meet-minimum-layer-time
…rimeters-to-meet-minimum-layer-time
…o-meet-minimum-layer-time
…rimeters-to-meet-minimum-layer-time
Just want to add I've been using this extensively for the last couple weeks. It's been amazing. I've been getting the best large ASA parts I've ever printed. So far I haven't seen any strange behavior from slowing down for overhangs. But with ASA, my overhangs aren't a ton slower than the external walls anyway unless basically bridging. I've only had one issue that I'm testing. With thin [basically 6 layer widths thick or less] walls that can't hit minimum time unless outer wall is slowed, and scarf around entire wall, there seems to be some strange behavior. I don't want to speculate too much. I need to ensure it's something else. Probably just a scarf or general slicing bug. I'll check against latest live now that I have a model that seems to show this more often than not. If it does end up related, I'll post some pictures. Other that whatever that issue is, this has been the biggest increase in ABS/ASA print quality from any feature I've seen in a long time. |
…rimeters-to-meet-minimum-layer-time
…o-meet-minimum-layer-time
…o-meet-minimum-layer-time
…o-meet-minimum-layer-time
@igiannakas |
Awesome 🎉🎉🎉 |
Agree with you that speed is more of a factor compared to layer time- also because there is the factor of extrusion variation the faster you go. Typically the nozzle flow is not constant. Ie the faster you go the more you under extrude which can show as slightly thinner the extrusions, appearing like external wall artefacts. Cnc kitchen has plenty of graphs that show extrusion flow rate compared to the ideal flow rate . It’s fairly typical to have a 2-3% variation in flow which would translate to a difference between a 0.42 and 0.4 extrusion line width. Some times and with some filaments that is easily visible… then you also have variation in pressure advance with speed - I’ve seen deltas between 0.04 and 0.023 between a 50mm/sec and 200mm/sec print speed. So this would also play a factor especially for artefacts that show around corners. So all in all, trying to keep speed as constant as possible for the surfaces that are visible I think is a big win :) But I do wonder why this has not been implemented before! In retrospect it’s so obvious! |
A bit off topic, but, this is something I've always thought about where concept of cooling and time/shift was thought of backwards when it comes to 3d printing. All of this is a calculation math/science well beyond my capacity. I don't know if I'm making sense or not. |
This feature made a huge difference on my K1-Max prints. I had everything dialed in and still had a slight ringing on the outer walls. After this setting was enabled the ringing is gone. |
I have been getting failed prints when this feature is active for two reasons I think:
For example: I've tried to print twice the mouse 002 shell from bambulab and get failed at the same part even after brim added. Could we think in a way to bypass this option when the minimum layer time is not respected? This would avoid some of my problems, I think |
This failure is related to bed adhesion, not minimum layer time. The minimum layer time artefacts show as “melted” perimeters where they have normally solidified. In this case I don’t see any perimeters suffering from low cooling - they are shaped correctly. Suggest a few of things that will help you:
|
Yeah, I know that improving bed adhesion can help with this print. The thing is that I've rerun the print with the default slowing down and it printed flawlessly. I'm not trying to accuse anything but I thought it could have room for improvement for some cases if you haven't though about that. I understand also that with such high speed external perimeters, the drag forces during extruding would be enough to tip the part off.... |
Yes of course, the reason it printed flawlessly when slowdown is enabled for all surfaces, is because the print was slower hence there were less forces on the part to knock it over. However what really needs to be addressed is the underlying reason for the failure. If the wall speeds are too fast for the nature of the model, the solution should be to reduce the wall speeds in the profile to something that better matches the model, not create exceptions in this feature. Why I’m saying this? Imagine you printed 3-4 copies of this model on the same plate. Then the speeds on the top would not be slowed down due to minimum layer time, at all. Because you’re printing more copies, the others have time to cool down. To make matters worse the internal perimeters would also be printed at full speed too! So your model would still fail because the profile speed is too fast and the nozzle would knock it over anyway, even though minimum layer time is effectively inactive. no offence taken at all :) I just think the approach suggested above is backwards. Enable this option and just reduce the wall speeds to 100mm/sec or so which would allow you to both have excellent surface finish, consistent shine and address the bed adhesion issue :) |
This makes completely sense. You are right! |
Hi @igiannakas |
There are many factors that influence external print appearance, one of them being speed. This PR addresses the external wall speed only - and as such works best for shine variations. However as the internal perimeters are still printed slowly there will be or may be some deformation of the external perimeter if printing in inner outer mode. id be curious to see your test results with this change using orca and report back if you can? |
Ready for review - PR description updated 5th June '24.
This PR aims to allow the user to skip adjusting the speed of external perimeters to meet the minimum layer time threshold.
Problem statement:
When printing gloss like material, variations in external wall speed can cause significant change in wall shine, as the filament has less time to melt in the extruder.
The external wall speed variation can be caused by several factors:
The artefact can be seen below. PLA print, at 220C where some areas are printed faster than others, causing a variation in gloss.
Equally, having uneven external wall print speeds between layers can cause uneven extrusion as the extruder flow rate is not always ideal and it tends to under extrude the faster you print. In addition it can cause uneven material shrinkage resulting in what appears like "z banding".
Also different speeds tend to have slightly different optimal PA value which would cause slight variance in the external corner appearance.
What this PR does:
This PR enables the user to opt out of slowing down the external perimeter to meet minimum layer time targets. The outcome is a consistent external wall print speed (excluding slowdowns for overhangs) which should materially improve surface finish.
This option is available per filament as some filaments may benefit from this more than others and is consistent with the current convention of defining cooling parameters on a per filament basis.
Results:
Before:
(notice how the speed variations caused by the minimum layer time cause the external wall surface to create "bands". These may be visible as z banding in the final print. these are caused by the slight difference in time each internal sparse infill takes to print)
After:
Notice how the external walls are not slowed down but the internal features are.
Before:
After:
It is also compatible with multi material printing:
The white filament is with this setting on.
The white filament external perimeter speed is not slowed down
The feature respects slowdown for overhangs and extrusion rate smoothing as seen below:
Fixes #5147
Fixes #5573