-
-
Notifications
You must be signed in to change notification settings - Fork 519
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
Independent linear/pressure advance for internal and external perimeters. #3998
Comments
this is already on my "to-do list"
|
Amazing! I'll run it on a couple of prints. Any specific testing you're looking for that I can contribute? |
There's nothing really to test, aslong as you edit my snipit appropriately it should work flawlessly for you. Yes it did take a hour or two to get the PA values. Example; internal perimeter ER is 400mms and 30k Accel. If your other ER changes alot you would need a PA values for each. |
Work's great, especially great for solid infill as I'm now seeing less bulging since I can tune my PA for separate cases better and much more! |
if you find it more convenient, you can also move these values to custom variables. in start gcode:
in "in between extrusion role change G-code"
in your print/filament->notes->custom variables (if none, the default from start gcode will be taken): (
You can also add a multiplier in the print config, and use it to multiply the value in the "in between extrusion role change G-code" |
I'll start working on this when the new release is finished. User would just need to select what ER to generate a test for and slice it then print it. |
That would be amazing, anything that helps speed up tuning in new filaments is welcome. Would also be very cool if multiple ER's could be combined in a single calibration print. |
I have an idea that is very much related to this issue, and might be the most elegant solution to it, which I have not seen in any other slicer yet. @supermerill you added a post showing your PA value for different accelerations. Let's assume that you always run the same smooth time, and you run a PA test for following accelerations: Adding in a second data point, smooth time, would then simply make it a 3d graph, which would require some more data points, maybe 5 or 6 + some assumptions on what the graph looks like (linear/exponential/..) to get good estimations of non-tested combinations. Testing the conceptThis process can already be done manually today to verify if there is an underlying predictable PA behavior which can be taken advantage of, let me know if you think this idea makes sense, in which case I will try to invest the time to do this. Feature valueIf this works, it would mean that Superslicer can pick the right PA for every single acceleration, and require no re-tuning if you modify your accels, such as is common for different qualities (quality/draft), and layer heights Dreaming ahead
|
Adding several models for the single plate should be fine, currently the code wipes the plate each time you make a model, easy enough change to make. I'm wanting to add in a option that would make a model for all ER and it will make several lines just so the user can easily identify what needs adjusting. |
Aswell as individual boxes for each ER value, I'm also wanting to add exactly what you've mentioned. A kind of " auto adjustment for PA, but the math for this one could be a bit tricky to implement. I've still got a bit of work to do for the PA calibration tool to be finished.i might have to make the GUI injection part for PA at another time. |
I'm not sure the PA math would be all that complicated it's essentially just fitting a graph to data points. I can do this test: |
If you want a fast calibration print, maybe you can print just a line in "L" shape (one for each acceleration). |
I just want to say that I was about to post a request for this feature exactly "variable pressure advance for different speeds and accelerations". I am really glad to see that there is already interest in this feature. |
I did some calibrations and I do think there is underlying behavior that can be taken advantage of, however, I did it with a 0.6 nozzle thinking it would be easier to spot PA, but it actually made it harder, I don't think for example the 7000 and 10000 acc values make sense, but for those there is much less difference between 0.01, 0.02... they all look the same. |
AFAIK know, smooth time should be kept as low as possible, but is introduced to avoid asking the extruder to do things which it can't do, such as very fast retract and deretracts. |
i've partially completed the PA calibration tool #4115 on the topic of adding in PA values that would be injected into the gcode
i'm thinking the best place for them is possibility 2 |
Is your feature request related to a problem? Please describe.
Bulging on seams, especially for thick layers.
Bulging on seams is reduced by tuning linear/pressure advance. However, these values are tuned for a specific speed, acceleration, ... Specifically, it's recommended to tune these for the external perimeter settings. This means that the linear advance values are not tuned for the internal perimeters.
Most of the time this is not an issue, but on thick layer lines (0.4mm layer w. 0.6 nozzle), the bulging of the internal perimeters pushes out the seam of the external perimeter.
The more internal wall perimeters, the more obvious this issue should become.
Describe the solution you'd like
I believe if the internal perimeters could have a different PA value, tuning could be done separately for internal and external perimeters, having more filament being put down with it's optimal PA value..
Describe how it would work
The slicer would simply have to emit a gcode value whenever it switches between internal/external perimeters.
There might be even cooler implementations where a PA curve is used for different speeds... but that's getting a bit out there.
Describe alternatives you've considered
There are other solutions regarding flow around the seems, such as stopping earlier, coasting, ... although they work in practice, they are more of a patch on underlying differences between the modeled flow and actual flow.
Additional context
None for now, let me know if there is any additional investigation/information which I can add which would be of use here.
Unfortunately I can't test the separate PA values in practice yet because it's not trivial to add these gcode commands manually as far as I know.
The text was updated successfully, but these errors were encountered: