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

Addition of flow parameters for ironing layer and previous layer #101

Closed
wants to merge 11 commits into from

Conversation

Matts-Hub
Copy link

Add in ironing flow adjustment parameters

@Matts-Hub Matts-Hub changed the title Patch 1 Addition of flow parameters for ironing layer and previous layer Oct 6, 2019
This reverts commit e1e9844, reversing
changes made to 26952e3.
@domesticatedviking
Copy link

Nice work Matt!

@supermerill
Copy link
Owner

should be mostly merged in 89b2e62
can you review it?

@supermerill supermerill added the awaiting response Further information is requested label Oct 15, 2019
@supermerill
Copy link
Owner

Does my version cover everything? It's in the last release.

@domesticatedviking
Copy link

Does my version cover everything? It's in the last release.

I will check it out! Thank you!

@domesticatedviking
Copy link

Looks good to me so far. Generated gcode looks as it should.

@Matts-Hub
Copy link
Author

Sorry, I just got around to checking this out. The width parameter is great, works exactly as I'd hoped.
However the top fill flow parameter isn't what we're looking for I don't think. It is adjusting the flow of the solid layer below the ironing. I would definitely like to keep this, and then also add in a similar parameter that adjusts the flow of the ironing layer itself. Then it'll be perfect. I've found throughout my testing that its necessary to fine tune both of these parameters for a perfect smooth ironed surface.

MVIMG_20191018_120730

@supermerill
Copy link
Owner

The width parameter is great, works exactly as I'd hoped.

great

However the top fill flow parameter isn't what we're looking for I don't think. It is adjusting the flow of the solid layer below the ironing.

I shouldn't, i code it to modify the % of plastic extruded in all fills that are "on top". In case of ironing, it's increasing the flow of the two steps.

I would definitely like to keep this, and then also add in a similar parameter that adjusts the flow of the ironing layer itself.

The flow distribution between the two ironing steps?

@supermerill supermerill reopened this Oct 18, 2019
@Matts-Hub
Copy link
Author

Matts-Hub commented Oct 18, 2019

I shouldn't, i code it to modify the % of plastic extruded in all fills that are "on top". In case of ironing, it's increasing the flow of the two steps.

Yes sorry you're right. That is the current behavior. It was hard to tell because the ironing layer flow is set so low.

I've spent a fair few hours testing which flow settings give the best results (including closely comparing to the output from cura, which gives great results in my experience) and from over 50 test specimens with a variety of different colours I've found that a flow of 1.1 for the top solid layer, and 0.1 for the ironing layer is great. But results may vary with different filament types.

So for that reason, I think the two layers should be separated with adjustable flow parameters for each of them. OR, alternatively, can I propose we set the percentFlow[0] to 1.0 and percentFlow[1] to 0.1, and leave the top fill flow parameter as is. Then users can bump up the top fill flow parameter if needed (eg. to 1.1). What do you think?

@Matts-Hub
Copy link
Author

As a side note, can I also suggest that the width be set to 25% by default instead of 50%. This gives far better results with very minimal sacrifice of print time.

@supermerill supermerill removed the awaiting response Further information is requested label Oct 18, 2019
@supermerill
Copy link
Owner

I've found that a flow of 1.1 for the top solid layer, and 0.1 for the ironing layer is great. But results may vary with different filament types.

Currently it's 80/20 (before is was 70/30)
You suggest to up that to 90/10 or 91/9 (by default) and to let the user choose the ratio? I'm ok with that, i was a bit hesitant to put a ratio that low, because with a very small layer, the extruder will turn in a very discrete manner, but it's maybe not a problem for this application.
Can you help me to choose a name for this parameter? "ironing second pass flow ratio", "ironing flow distribution" ?

As a side note, can I also suggest that the width be set to 25% by default instead of 50%. This gives far better results with very minimal sacrifice of print time.

will do

@Matts-Hub
Copy link
Author

In my experience, the best ratio has been 110/10. I know this does not add up to 100, so it seems not to make sense. But that's what I've found to work best.

The reason for this is when we print with ratios like 80/20 or 70/30, we are leaving gaps that are then filled by the ironing pass. This results in the surface not being very smooth and kind of like sandpaper texture. The closer you get to 100/0, the smoother it is (but that has its own problems). I tried then increasing the ironing flow even further up until it was visibly over extruding. This helped make the texture smoother, but you can still see the gaps in the layer below. See the attached pictures to see what I mean.

So then I looked at how cura does ironing and I tried to replicate that. It seems to over extrude on the layer before the ironing (thats why I suggest 105 to 110% flow), and then the ironing layer smears it all out smoothly. If the ironing flow is zero then there were still some tiny gaps which I solved by adding 10% flow on the ironing layer.

I know, theoretically this doesn't make sense as any ratio totaling to over 100% is technically over extruding. And my suggestion of 110/10 is over extruding by 20%. But in practice this is what works best. And my extruder is very accurately calibrated. Maybe this is because of all the tiny crevices that need to be filled. Anyhow, that's what I think the defaults should be - 110/10. I encourage you to try this for yourself, it works really nicely.

With regards to naming, I think the current "top fill" parameter that you've got should only affect the layer below the ironing, and then just add another one just called "Ironing" next to it under the flow section.

Pictures:
These photos have been edited to make the fine details more visible / exaggerated. Both prints are identical apart from the adjusted ironing ratios.
Ironing with 90/10 ratio. The surface is smooth to the touch but the lines from the top solid infill layer are visible.
MVIMG_20191019_023153

Ironing with 110/10 ratio. The surface is smooth to the touch and appears extremely uniform too.
MVIMG_20191019_023221

Thanks for taking the time to hear me out with all of this and taking my ideas into consideration :)

@domesticatedviking
Copy link

Incredible results on that second ironing print, Matt. Just excellent!

@wavexx
Copy link

wavexx commented Oct 18, 2019

@Matts-Hub did you try to do 110/10 ironing on small features?
I wonder if this might show more signs of overextrusion

@supermerill
Copy link
Owner

In my experience, the best ratio has been 110/10. I know this does not add up to 100, so it seems not to make sense. But that's what I've found to work best.

For me 110/10 is 91.5/8.5 with 120% (top) flow

110/10 ironing on small features? I wonder if this might show more signs of overextrusion

I removed the infill-perimeter overlap for the first step or ironing, and with the "Enforce 100% fill volume", small features shouldn't over-extrude more than the others.

@Matts-Hub
Copy link
Author

Oh right, then yes that makes sense. So that leaves us with two options I suppose. Either keep the top fill flow parameter as it is (and maybe find a way to set this to 120% when ironing is enabled?), and adjust percentFlow[0] to 0.9, and percentFlow[1] to 0.1.

Or, make separate parameters for both, in which case the defaults should be something like 110/10. What do you think?

@supermerill
Copy link
Owner

I created the top flow because it can be useful for other top pattern. So I prefer option1.

For the "only when ironing is enabled", you can say the same for many many other parameters... But if i do that, it will confuse users. Best way is to let users created their "conditional parameters switches" or things like that with a small macro language, but it's low in my priority list.

@Matts-Hub
Copy link
Author

So I prefer option1

Ok great. I think that's a good solution then!

if i do that, it will confuse users

I think you're right, that might unnecessarily complicate things.

@supermerill supermerill added the fixed for the next version That means that you should be able to test it in the latest nightly build label Oct 29, 2019
supermerill pushed a commit that referenced this pull request Oct 29, 2019
@supermerill
Copy link
Owner

last version should be okay
re-open if not.

@supermerill supermerill closed this Nov 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fixed for the next version That means that you should be able to test it in the latest nightly build
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants