Evaluating points on a NURBS surface

I’m using NURBS surfaces to create smoothed renderings of landscapes. The typical size of the problem ranges up to about 500 X 500 control points. The rendering is working well but I now need to draw arbitrary polylines over the surfaces between evaluated points at u,v on the surface. I can do this on small sample data sets with Bezier curves in OpenGL using the glMap3f() evaluator and then doing the evaluation with glEvalCoord2f(). Is there any way to do the same thing using the higher-level gluNurbsSurface() function? Any insights or pointers to a better way of doing things would be much appreciated!