A data conversion system configured to provide a new tool path, comprising: an interface to receive path data of a tool of a computer numerical control, CNC, machine comprising an internal machine lattice coordinate system; a memory to store a computer-executable program including a lattice full algorithm and a dynamic programing algorithm; an output interface; and a processor, in connection with the memory, configured to execute the computer-executable program, wherein the program is configured to cause the processor to perform steps comprising: providing the internal machine lattice coordinate system including admissible points; and forming, from the path data, a target polyline on the internal machine lattice coordinate system, wherein the target polyline represents an approximated surface line of an object; characterized in that the program is further configured to cause the processor to perform steps comprising: dividing the target polyline into line segments; generating a set of rational vectors by approximating slopes of the line segments based on the lattice full algorithm; arranging the rational vectors to form lower convex hull lines arranged on or above corresponding line segments, wherein the lower convex hull lines are arranged onto the admissible points, wherein the admissible points are internal machine lattice coordinates that are on or above the corresponding line segments; selecting a set of endpoints of the lower convex hull lines; forming a final polyline by merging the endpoints based on the dynamic programing algorithm, wherein the final polyline is arranged to lay on or above the target polyline; and transmitting via the output interface data of the final polyline to the CNC machine. an interface to receive path data of a tool of a computer numerical control, CNC, machine comprising an internal machine lattice coordinate system; a memory to store a computer-executable program including a lattice full algorithm and a dynamic programing algorithm; an output interface; and a processor, in connection with the memory, configured to execute the computer-executable program, wherein the program is configured to cause the processor to perform steps comprising: providing the internal machine lattice coordinate system including admissible points; and forming, from the path data, a target polyline on the internal machine lattice coordinate system, wherein the target polyline represents an approximated surface line of an object; characterized in that the program is further configured to cause the processor to perform steps comprising: dividing the target polyline into line segments; generating a set of rational vectors by approximating slopes of the line segments based on the lattice full algorithm; arranging the rational vectors to form lower convex hull lines arranged on or above corresponding line segments, wherein the lower convex hull lines are arranged onto the admissible points, wherein the admissible points are internal machine lattice coordinates that are on or above the corresponding line segments; selecting a set of endpoints of the lower convex hull lines; forming a final polyline by merging the endpoints based on the dynamic programing algorithm, wherein the final polyline is arranged to lay on or above the target polyline; and transmitting via the output interface data of the final polyline to the CNC machine. providing the internal machine lattice coordinate system including admissible points; and forming, from the path data, a target polyline on the internal machine lattice coordinate system, wherein the target polyline represents an approximated surface line of an object; characterized in that the program is further configured to cause the processor to perform steps comprising: dividing the target polyline into line segments; generating a set of rational vectors by approximating slopes of the line segments based on the lattice full algorithm; arranging the rational vectors to form lower convex hull lines arranged on or above corresponding line segments, wherein the lower convex hull lines are arranged onto the admissible points, wherein the admissible points are internal machine lattice coordinates that are on or above the corresponding line segments; selecting a set of endpoints of the lower convex hull lines; forming a final polyline by merging the endpoints based on the dynamic programing algorithm, wherein the final polyline is arranged to lay on or above the target polyline; and transmitting via the output interface data of the final polyline to the CNC machine. dividing the target polyline into line segments; generating a set of rational vectors by approximating slopes of the line segments based on the lattice full algorithm; arranging the rational vectors to form lower convex hull lines arranged on or above corresponding line segments, wherein the lower convex hull lines are arranged onto the admissible points, wherein the admissible points are internal machine lattice coordinates that are on or above the corresponding line segments; selecting a set of endpoints of the lower convex hull lines; forming a final polyline by merging the endpoints based on the dynamic programing algorithm, wherein the final polyline is arranged to lay on or above the target polyline; and transmitting via the output interface data of the final polyline to the CNC machine.