How to find evenly spaced coordinates/point cloud of an object?
A solution is to set particles on the object and to use GRID instead of (default) random in the settings
(Note that also works on Volume, if the case, to fill with points)

Use No for physics to get fixed particles.



To further get the coordinates of those particles use:

gridVectors = [p.location for p in bpy.data.objects['Cube'].particle_systems[0].particles]


that if u need to further use coords in script



Also note that the grid acts a bit weird sometimes, more like the remesh tools, so the particles may or may not be on the faces, but rather at a distance, not quite controllable.

In the pic, I added particles to these meshes with settings as shown.