CNC Surface Finish API
CNC surface-finishing maths as an API, computed locally and deterministically — the scallop, stepover and pass numbers a CNC machinist dials in for a smooth finish. The scallop endpoint gives the cusp height a ball-nose tool leaves between passes, h = R − √(R² − (stepover/2)²), so a half-inch ball at a 0.05-inch stepover leaves about a 1.25-thou ridge — tighter stepover, smaller cusp, far more passes. The stepover endpoint inverts it: the stepover for a target scallop height, 2·√(R² − (R−h)²), reported also as a percent of tool diameter (fine finishing runs ~4–10 %) so it carries across jobs — and a bigger finishing ball reaches the same finish at a wider, faster stepover. The passes endpoint turns a surface into work: passes = width ÷ stepover rounded up plus one, the total cutting travel, and the cutting time at a given feed rate — surfacing a 4×6-inch area at a 0.05-inch stepover is 81 passes and 486 inches of travel, under five minutes at 100 ipm. Everything is computed locally and deterministically, so it is instant and private. Ideal for CNC and CAM apps, machinist and toolpath calculators, maker and job-shop tools, and engineering aids. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. For cutting speed, feed and rpm use a machining API.
api.oanor.com/cncfinish-api