hmmm- got me there jimmy....I would suggest projecting curves onto surface, and patterning the points along the curves...that would allow the maintained distance of 5mm...reminds me of the days of reverse engineering printless5axis tooling from point clouds...ahhhhhh, glad its over
Mathematically, I don't think you can maintain an exact spacing between all points unless:
a) the projected surface is planar
b) the projected surface has a constant curvature value(a sphere)
As soon as you get into any other shaped surface, some points will need to be closer or father apart than others (to create the curvature)
Consider taking a thousand pieces of paper shaped like equilateral triangles with 5 mm sides and trying to approximate your surface with them. You might be able to get something close to what you want, but the peaks and valleys will probably be higher or lower than what you want.
Brian is basically correct with just one exception
Points on a plane is the most basic solution.
Three of the Euclid solids, tetrahedron, octahedron, and icosahedron
are spherically based convex arrangements of equilateral triangles.
By taking sub-sections of these solids you may theoretically be able to
arrange them into a multi-concave/convex surface that meets the
original requirements but at best they can only be described as
highly restricted special cases.
Try projecting the pattern of curves onto the surface. Then use BMX to optimize the length of each of the individual projected curves to the desired length. It will be time consuming if you have a lot of curvesbut will give you the desired curve lengths.