A bit more better, for sure a C# script allows some more robust grooves. It is so simple it must exist in a plugin (mesh+, Pufferfish …)
Rapid explanation, understand who can understand
I take a quad mesh face and I subdivide it and displace it
Lets say alpha is a coefficient that is 0 on point A, and 1 on point B
Interpolated points between A and B are calculated with
For the number of subdivision i from 0 to n-1
alpha = i/(n-1)
point = ptA + (ptB - ptA) * alpha;
normal = vA + (vB - vA) * alpha
displacement is maxDisplacement *Math.Pow(Math.Abs(alpha - 0.5) * 2, factor);