Milling and routing flat surfaces is pretty much the point of a CNC router ... attached to the router scans a curved part, applies bilinear interpolation to a G-Code file, and then starts machining.