Feature: Ability to change flow ratios by extrusion path types (Code + Docs)#10641
Conversation
|
Hello, @SoftFever. Sorry for poking you directly. This is my first PR in the project, which is probably why the automatic checks are not running for it. Can you please approve them? |
8714092 to
73f086d
Compare
It should work the same way as But the logic of new parameters should be exactly the same as for top/bottom surface flow ratios. |
|
@boromyr I double-checked the code and ensured that the parameters I added work the same as the existing ones. At first, objects' and filaments' multipliers are taken into account, and then any of the others, depending on the path roles. So the question is, how can I rename the "override" checkbox to avoid confusion?
|
|
Maybe it's better to follow Orca's logic and remove overrides, maybe just "enabling other flow ratios" would suffice. |
How about “set other flow ratios”? Or “apply”. |
|
I believe both are correct and all three are valid options, but the final decision is up to you, the author. In my opinion, "enable" and "set" both sound good. |
73f086d to
7e15f28
Compare
|
Maybe only the flow for the first layer is missing; I usually increase it especially for ASA and ABS. |
It should be already covered by |
|
Actually, that value influences all the lower surfaces, not just the first layer, and it doesn't act on the brims. I found an alternative solution. { if (layer_num==0)}
M221 S110
{endif}
{if (layer_num==1)}
M221 S100
{endif} |
I think the first layer's flow ratio option can be covered in a separate PR. It appears that I need to separate the logic for bottom surfaces to accommodate the first-layer flow ratio case. So, I will look into it separately. Thanks for the heads up. Note: I want to avoid overcomplicating this PR with complex changes, as it is my first PR in this project. |
7e15f28 to
5557a04
Compare
|
@boromyr I double-checked the code, and I can easily add a multiplier for the first layer. The final flow ratio for a path will be a multiplication of It will follow the logic of the other multipliers, but for the first layer, infill, brim/skirt, outer, and inner walls will have different flow ratios. Is it okay, or do we want FR to be equal for all the paths on the first layer? Unfortunately, it's not easy to add a FR multiplier for brims and skirts. |
|
No I think it's fine like this, if I understood correctly the effect would be equivalent to M221 S110. Even if they have different roles, they will have different values throughout the print, only for the first layer they will be multiplied by a common factor which is what is needed. After all, the first layer is only for adhesion or for those with over-extrusion issues. |
|
Okay, then I will add a multiplier for the first layer as well. |
5557a04 to
84d7575
Compare
|
@boromyr, FYI. I have added the support of the first layer and the gap fill flow ratios. |
|
Okay, thanks, I'll compile it and try it out. |
|
Would it be possible to also adjust the flow rate for solid infill that is ironed? This would be especially useful for zero-flow ironing (PR #10350), where one might want to increase the flow. As @pi-squared-studio suggested in the discussion of that PR, one might also want to decrease the infill flow to allow for a higher ironing flow. I tried this by setting the top-surface flow ratio to 0.8 and the ironing flow to 21%, and it worked very well. However, the top-surface flow ratio applies to all top surfaces, not just the ironed ones, so modifiers must be set carefully. Having an option to adjust the flow of the ironed infill separately would resolve this issue. |
|
@TomPcz Hey, it looks interesting, but this is a special case that would be better covered in a separate PR. I want to look into it, but it'd also be great to merge the current PR first. |
|
By the way, try this PR #10622 |
|
I didn't understand the need for this PR a bit. Then I didn't understand what it was "wrinkles effect"... A long time ago, I tried to print in layers of 0.08, but I refused because it was very slow, and I observed a similar effect when a thin layer of plastic formed a "smashed ribbon". But I didn't think then that this effect was due to a shortage of plastic, but mostly to the quality of the filament and insufficient cooling of the entire model. It may be affected by the fact that as the layer decreases, its shape changes, and it becomes more rectangular, and it requires a different mathematical model of plastic consumption. It seems to me that there is more scope for experiments and observations of the physics of processes than just a solution in the form of a "golden pill" and which will be difficult for ordinary users to understand. But, in any case, this is a useful observation. And, perhaps, it will be valuable for the implementation of such project: #8443 |
b459eb7 to
0859524
Compare
…+ Docs) This new feature allows users to override flow ratios for the following extrusion path types: * First layer (excluding Brims and Skirts) * Outer walls * Inner walls * Overhang perimeters * Sparse infill * Internal solid infill * Gap fill * Support * Support interfaces
0859524 to
722a0bd
Compare
|
@valerii-bokhan While the exact cause of the artifacts is still unclear, the mitigation you demonstrated seems to work very well. |
|
@boromyr FYI BTW, this is my current number: The less FR for infill, internal bridges, and inner walls, the less they push outer walls. So less wrinkles and outer wall is cleaner, and seams too. |
|
My settings:
|
* main: (21 commits) Add Coex 3D filament profiles to Orcaslicer (OrcaSlicer#10924) Fix Z offset for 1st layer (OrcaSlicer#11011) Feature: Ability to change flow ratios by extrusion path types (Code + Docs) (OrcaSlicer#10641) Fix: A proper handling of the `support_base_pattern_spacing = 0` for the `Tree Slim` support (OrcaSlicer#11084) Limit Shrinkage values (OrcaSlicer#10930) Set Ironing angle setting to be a relative degree offset from top surface infill direction (OrcaSlicer#10841) Input Shaping Calib: Types, RepRap + Improvements (OrcaSlicer#10913) Wiki 13: Layer time variability + Minor Improvements (OrcaSlicer#10677) Validation Action comment Remove + Improvement (OrcaSlicer#10617) Material Type standarization + Technical Filament Types (OrcaSlicer#10553) Optimize and simplify MarchingSquares.hpp. (OrcaSlicer#10747) Fix several imgui UTF8 related issues (OrcaSlicer#11078) Make top resizing grabber larger on Windows (OrcaSlicer#11023) Preferences dialog redesign / improvements / fixes (OrcaSlicer#10665) Add the u8 marker to UTF-8 strings (OrcaSlicer#10666) Add static assert for bed number related values (OrcaSlicer#11035) BUG-FIX avoid crossing perimeters ingonore holes <=2mm (OrcaSlicer#10942) [Profiles] Fix Prusa XL overhang speed (OrcaSlicer#10931) (OrcaSlicer#10933) overflow inital setup screen (OrcaSlicer#11007) Clarify warning about malicious websites ...
* opt-filltpmsfk: (21 commits) Add Coex 3D filament profiles to Orcaslicer (OrcaSlicer#10924) Fix Z offset for 1st layer (OrcaSlicer#11011) Feature: Ability to change flow ratios by extrusion path types (Code + Docs) (OrcaSlicer#10641) Fix: A proper handling of the `support_base_pattern_spacing = 0` for the `Tree Slim` support (OrcaSlicer#11084) Limit Shrinkage values (OrcaSlicer#10930) Set Ironing angle setting to be a relative degree offset from top surface infill direction (OrcaSlicer#10841) Input Shaping Calib: Types, RepRap + Improvements (OrcaSlicer#10913) Wiki 13: Layer time variability + Minor Improvements (OrcaSlicer#10677) Validation Action comment Remove + Improvement (OrcaSlicer#10617) Material Type standarization + Technical Filament Types (OrcaSlicer#10553) Optimize and simplify MarchingSquares.hpp. (OrcaSlicer#10747) Fix several imgui UTF8 related issues (OrcaSlicer#11078) Make top resizing grabber larger on Windows (OrcaSlicer#11023) Preferences dialog redesign / improvements / fixes (OrcaSlicer#10665) Add the u8 marker to UTF-8 strings (OrcaSlicer#10666) Add static assert for bed number related values (OrcaSlicer#11035) BUG-FIX avoid crossing perimeters ingonore holes <=2mm (OrcaSlicer#10942) [Profiles] Fix Prusa XL overhang speed (OrcaSlicer#10931) (OrcaSlicer#10933) overflow inital setup screen (OrcaSlicer#11007) Clarify warning about malicious websites ...
|
I slightly revised my attitude towards this PR when I development of a new calibration test. Regarding overhangs, I am also convinced that this is a problem of low-flow material with ultra-thin layers. |
I partially agree, and I was thinking of adding these settings in the filament section. Also, the rest of the flow ratio settings, such as top/bottom infill FR and FR for bridges, are scattered across the different sections of the main profile settings. Right now, I set FR to 1 in the filament setting and tweak all the numbers in the settings I added (since I have it somewhat organized in one place now). I believe there should be a better way to organize all of them, but it requires a lot of code changes. But in the end, I decided that it would be better to make this change as simple as possible. |
…+ Docs) (OrcaSlicer#10641) This new feature allows users to override flow ratios for the following extrusion path types: * First layer (excluding Brims and Skirts) * Outer walls * Inner walls * Overhang perimeters * Sparse infill * Internal solid infill * Gap fill * Support * Support interfaces
…+ Docs) (OrcaSlicer#10641) This new feature allows users to override flow ratios for the following extrusion path types: * First layer (excluding Brims and Skirts) * Outer walls * Inner walls * Overhang perimeters * Sparse infill * Internal solid infill * Gap fill * Support * Support interfaces
…+ Docs) (OrcaSlicer#10641) This new feature allows users to override flow ratios for the following extrusion path types: * First layer (excluding Brims and Skirts) * Outer walls * Inner walls * Overhang perimeters * Sparse infill * Internal solid infill * Gap fill * Support * Support interfaces
|
Hi all, thanks @valerii-bokhan for implementing this. One improvement I'd like to see regarding this is per-filament settings. IMO this option would be more useful in the filament settings instead of global print settings, because the flow is heavily material dependent. For example, I'd like to be able to set the first layer flow ratio to 0.90 for just one filament, which has over-extrusion problems on the first layer due to much higher first layer temperature. (230 vs 200 on other layers, Polyterra PLA. Lowering first layer temps reduces adhesion drastically). Would this be doable? Thanks! |
Hi! This idea was mentioned in this thread already and I completely agree with you - it's a great idea. Let me look into it. I will use ironing settings per filament as an example. |












Description
This new feature allows users to override flow ratios for the following extrusion path types:
If the checkbox is disabled in UI, all the new fields will be hidden, and the values will not be applied.
Use case example: My goal was to eliminate the "wrinkles effect" on the outer walls when printing with low layer heights, such as, e.g., 0.04mm. Instead of increasing the temperature, I adjusted the flow ratio for the outer walls only to address the issue.
Screenshots
How UI looks when the feature is disabled:

How UI looks when the feature is enabled:

Tests
I tested it by checking the values in the slicer (that the multiplicators were applied). Additionally, I tested it on my Bambu Lab A1 mini, printing before and after values with overriding.