GH: Get Point + persistent on surface

Hi,

I need a Grasshopper definition which lets the Rhino user select points on a surface when run with Grasshopper Player.

Is it possible to restrict the points picking to a specific surface within Grasshopper ?
If not, how to do it in Rhino ? The persistent on surface snap seems to reset after every point picking, which makes the operation much longer if there is say 30 points to pick.

Basic example : cylindersOnSurface.gh (5.9 KB)

expected result :

Any solution to this? :frowning: