Linear advance calibration technique Marlin has a Linear Advance calibration pattern generator, but I find it's hard to use because:


It only prints the initial layer on the bed, where bed irregularities interfere with accurate reading of it.
It doesn't do proper retraction and priming, so a mess of strings and underextruded initial segments/non-adhesion mess up the results.
It's hard to visually evaluate.
Getting a very wide range of K values involves multiple runs.
It's hard to clean up.


Is there a better procedure for calibration of K value for linear advance?
The same effect as Marlin's test pattern, with alternation between fast and slow segments, can be achieved with a skewed tower and Cura's overhang settings, providing the opportunity to interactively adjust K value during the print, or insert changes at particular layers in the gcode for automated test towers.

I'm using the following OpenSCAD to make a skewed cylinder:

multmatrix(
   [[1,0,1/8,0],
    [0,1,0,0],
    [0,0,1,0],
    [0,0,0,1]])
cylinder(d=40,h=40);


with Cura set to:


no top/bottom layers or infill
single walls
treat walls with 1° overhang as overhangs
print overhangs at 25% speed


These values can of course be tuned, but the extreme low overhang angle and 8/1 slope is to prevent actual physical overhang-printing considerations from messing up the test.

Vase mode might work even better for this if it supports overhang settings, since it would avoid the layer seam.