Nurbs Surface to Cloud of Points

I wish to fit a NURBS surface to a dense nonuniform cloud of X,Y,Z points and the interpolate the surface for the Z value at specific X,Y points. I am new to OpenCascade so I would appreciate some hints on how to use OC in a DLL to accomplish this.
I will be milling a surface by moving a vertically oriented tool in a predetermined X,Y spiral pattern. The surface is defined as a cloud of points. The tool path must be offset normal to the surface by the radius of the tool tip. This will define a new surface through which the center of the tool passes. The X,Y positions of the spiral pattern will be input and the Z position for the center of the tool must be computed.
Any assistance is greatly appreciated. Any examples available?

altezza's picture

The sample of plate may be helpful.