Rhino command: SwMoveOnSurface
Use this function to move an object along a surface while keeping the distance and the orientation to the surface constant. First select the object(s) you want to move. Next select the surface and then you have to define if the original object should be copied or not. If copy is set to true, then you can go on and place as many copies as you want. Finish by pressing ESC key or right mouse button.