2dbsplinecurve b1 3 5 0 4 1 1 2 1 3 1 4 4  0 0 0.8  1 0.5 0.6   2 1 0.5  2 2 1  3 1.5 1  4 1.5 1   5 2 1 
2dcvalue b1 2.0 x y  dx dy 
set delta 0.01
set yvalue [dval y] 
repeat 100 {
    cmovetangent b1 2.0  x $yvalue  dx dy  1
    set yvalue [expr $yvalue + $delta ]
    repaint
}
copy b1 result
checklength result -l 6.9832866524628034