supermerill / SuperSlicer

G-code generator for 3D printers (Prusa, Voron, Creality, etc.)
4.11k stars 519 forks source link

Graph: change node values by formula (Flow compensation, maybe add parametric mode?) #4352

Open Fuechsl opened 3 months ago

Fuechsl commented 3 months ago

Is your feature request related to a problem? Please describe. I'm excited, that you implemented small infill flow compensation, can't wait to try it out. I have a suggestion for an addition to make it easier by adding a "parametric mode".

Describe the solution you'd like I've seen the youtube video on it of teaching tech, https://www.youtube.com/watch?v=1NBtx1K98RU. Here's my comment, I made to Michael:

I wonder though if it's worth going through each value separately or better to just define a function? With a little reverse engineering I found that the original values seem to follow f(x)=0.25/(x-0.25) except for x>=10 where f(x) is simply fixed at 1. So I would suggest using the function f(x)=1-a/(x-a) starting with a=0.25 and then adjusting the value of a to tune the model. Increasing a means lowering the values in the model, which makes the reduction stronger. What do you think?

Describe how it would work So, instead of having to change all the values one by one, you could just change the value 0.25 (default) and the algorithm would adapt all the values automatically.

Describe alternatives you've considered none

Additional context I've added my excel spreadsheet for you to experiment or better understand my idea. Flow Compensation.xlsx

supermerill commented 3 months ago

I guess I can modify the graph widget to allow for formulas... I still need to modify it with