Just a simple and efficient way of creating a point per prim in vex.
Inside an attribute wrangle put those two lines:
addpoint(0, @P); removeprim(0, @primnum, 1);
Make sure to have the wrangle run over the primitives.
You can't modify the primitive's P but you can access it :)