{"id":25041,"date":"2026-11-05T06:31:09","date_gmt":"2026-11-05T06:31:09","guid":{"rendered":"https:\/\/www.mechstream.com\/?p=25041"},"modified":"2026-11-05T06:31:11","modified_gmt":"2026-11-05T06:31:11","slug":"surface-roughness-ra-estimator-calculator","status":"publish","type":"post","link":"https:\/\/www.mechstream.com\/es\/surface-roughness-ra-estimator-calculator\/","title":{"rendered":"Surface Roughness Ra Estimator Calculator"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Surface Roughness Ra Estimator Calculator<\/strong> helps machinists estimate theoretical surface roughness during turning based on feed rate and tool nose radius. Enter your cutting parameters to calculate the estimated Ra value in micrometers (\u00b5m) and microinches (\u00b5in). This free machining calculator provides a quick reference for process planning, tool selection, and surface finish evaluation. Actual results may vary depending on the workpiece material, machine condition, tool geometry, vibration, and cutting conditions.<\/p>\n\n\n\n<div id=\"sra-calculator\" class=\"sra-root\" data-sra-widget=\"surface-roughness-ra-estimator\">\n<style>\n#sra-calculator,#sra-calculator *,#sra-calculator *::before,#sra-calculator *::after{box-sizing:border-box}\n#sra-calculator{\n  --sra-bg:#f4f6f9;--sra-card:#ffffff;--sra-navy:#0f2342;--sra-text:#1f2b3b;--sra-muted:#55667c;--sra-soft:#6b7a8f;\n  --sra-line:#cdd6e1;--sra-line-soft:#e2e8f0;--sra-accent:#1d64c8;--sra-accent-dark:#154c9a;--sra-accent-soft:#e8f0fb;\n  --sra-err:#b3261e;--sra-err-soft:#fdecea;--sra-warn-soft:#fff6e0;--sra-ok:#16704f;--sra-ok-soft:#eaf6f0;\n  display:block;width:100%;max-width:880px;margin:24px auto;padding:32px;background:var(--sra-bg);color:var(--sra-text);\n  border-radius:22px;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;\n  font-size:16px;line-height:1.55;font-weight:400;letter-spacing:normal;text-transform:none;text-indent:0;word-spacing:normal;-webkit-font-smoothing:antialiased;text-align:left;position:relative\n}\n#sra-calculator .sra-wrap{container-type:inline-size;container-name:sra;width:100%}\n#sra-calculator h1,#sra-calculator h2,#sra-calculator h3,#sra-calculator p,#sra-calculator ul,#sra-calculator li,#sra-calculator fieldset,#sra-calculator legend,#sra-calculator label,#sra-calculator section,#sra-calculator header{\n  margin:0;padding:0;border:0;background:none;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;font-style:normal;line-height:inherit;text-indent:0;text-transform:none;letter-spacing:normal;text-shadow:none;box-shadow:none;float:none;width:auto;max-width:none;text-align:left\n}\n#sra-calculator ul{list-style:none}\n#sra-calculator sup{font-size:.72em;line-height:0;position:relative;vertical-align:baseline;top:-.5em}\n#sra-calculator [hidden]{display:none!important}\n#sra-calculator .sra-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px;padding:0;border:0}\n\/* cards *\/\n#sra-calculator .sra-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}\n#sra-calculator .sra-card{background:var(--sra-card);border:1px solid var(--sra-line-soft);border-radius:18px;padding:22px;box-shadow:0 1px 2px rgba(15,35,66,.05),0 4px 14px rgba(15,35,66,.04);min-width:0}\n#sra-calculator .sra-card-title{margin:0 0 16px;color:var(--sra-navy);font-size:18px;font-weight:650;line-height:1.25;display:flex;align-items:center;gap:10px}\n#sra-calculator .sra-step{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--sra-accent-soft);color:var(--sra-accent);font-size:12.8px;font-weight:700}\n#sra-calculator .sra-inputs{container-type:inline-size;container-name:srain}\n#sra-calculator .sra-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}\n#sra-calculator .sra-field{min-width:0}\n#sra-calculator .sra-span{grid-column:1\/-1}\n\/* labels *\/\n#sra-calculator .sra-label,#sra-calculator .sra-seg-label{display:block;font-size:14.4px;font-weight:600;color:var(--sra-navy);line-height:1.3;margin:0 0 6px}\n#sra-calculator .sra-hint{display:block;color:var(--sra-soft);font-size:13px;margin-top:6px;line-height:1.45}\n#sra-calculator .sra-error{display:block;color:var(--sra-err);font-size:13.3px;font-weight:500;margin-top:5px;line-height:1.4}\n#sra-calculator .sra-error:empty{display:none}\n\/* controls *\/\n#sra-calculator .sra-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto);gap:8px;align-items:stretch}\n#sra-calculator input[type=number],#sra-calculator select{\n  -webkit-appearance:none;appearance:none;display:block;width:100%;min-height:46px;height:auto;margin:0;padding:10px 14px;font:inherit;font-size:16px;line-height:1.3;\n  color:var(--sra-text);background-color:#fff;border:1px solid var(--sra-line);border-radius:12px;box-shadow:none;outline:none;max-width:none;transition:border-color .15s ease,box-shadow .15s ease\n}\n#sra-calculator select{padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,#55667c 50%),linear-gradient(135deg,#55667c 50%,transparent 50%);background-position:calc(100% - 19px) 20px,calc(100% - 14px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}\n#sra-calculator input[type=number]:focus,#sra-calculator select:focus{border-color:var(--sra-accent);box-shadow:0 0 0 4px rgba(29,100,200,.22)}\n#sra-calculator input[type=number]::placeholder{color:#8a97a8;opacity:1}\n#sra-calculator .sra-invalid{border-color:var(--sra-err)!important;box-shadow:0 0 0 3px rgba(179,38,30,.14)!important}\n#sra-calculator .sra-seg{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;min-width:0;width:100%;gap:4px;padding:4px;background:#e9eef4;border-radius:13px;border:0;margin:0;position:relative}\n#sra-calculator .sra-seg legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}\n#sra-calculator .sra-seg input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}\n#sra-calculator .sra-seg label{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;padding:6px;border-radius:10px;font-size:14.4px;font-weight:600;color:var(--sra-muted);cursor:pointer;text-align:center;line-height:1.2;transition:background .15s,color .15s,box-shadow .15s;margin:0}\n#sra-calculator .sra-seg label small{display:block;font-size:12px;font-weight:500;color:var(--sra-soft);margin-top:2px}\n#sra-calculator .sra-seg input:checked+label{background:#fff;color:var(--sra-navy);box-shadow:0 1px 3px rgba(15,35,66,.18)}\n#sra-calculator .sra-seg input:focus-visible+label{outline:3px solid var(--sra-accent);outline-offset:1px}\n\/* buttons *\/\n#sra-calculator .sra-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;justify-content:center}\n#sra-calculator .sra-btn{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:120px;margin:0;padding:10px 20px;border-radius:999px;border:1px solid var(--sra-line);background:#fff;color:var(--sra-navy);font:inherit;font-size:15px;font-weight:600;line-height:1.2;cursor:pointer;text-decoration:none;text-transform:none;letter-spacing:normal;box-shadow:none;width:auto;height:auto;transition:background .15s,border-color .15s,color .15s}\n#sra-calculator .sra-btn:hover{border-color:var(--sra-accent);color:var(--sra-accent)}\n#sra-calculator .sra-btn-primary{background:var(--sra-accent);border-color:var(--sra-accent);color:#fff;min-width:150px}\n#sra-calculator .sra-btn-primary:hover{background:var(--sra-accent-dark);border-color:var(--sra-accent-dark);color:#fff}\n#sra-calculator .sra-btn:focus-visible{outline:3px solid var(--sra-accent);outline-offset:2px}\n#sra-calculator .sra-form-msg{color:var(--sra-err);font-size:14px;font-weight:500;margin-top:12px;text-align:center}\n#sra-calculator .sra-form-msg:empty{display:none}\n\/* results *\/\n#sra-calculator .sra-results:focus{outline:none}\n#sra-calculator .sra-results:focus-visible{outline:3px solid var(--sra-accent);outline-offset:2px}\n#sra-calculator .sra-kpis{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}\n#sra-calculator .sra-hero{border-radius:16px;padding:18px 20px;background:var(--sra-accent-soft);border:1px solid #c9dbf3;min-width:0}\n#sra-calculator .sra-hero-alt{background:#f7f9fc;border-color:var(--sra-line-soft)}\n#sra-calculator .sra-hero-label{font-size:13.6px;font-weight:600;color:var(--sra-muted)}\n#sra-calculator .sra-hero-value{font-size:clamp(30px,5.4vw,44px);font-weight:750;color:var(--sra-navy);letter-spacing:-.02em;line-height:1.1;margin-top:4px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}\n#sra-calculator .sra-hero-alt .sra-hero-value{font-size:clamp(24px,4.2vw,34px)}\n#sra-calculator .sra-badge{display:inline-flex;align-items:center;gap:6px;margin-top:16px;padding:6px 12px;border-radius:999px;font-size:13.6px;font-weight:700}\n#sra-calculator .sra-badge-fine{background:var(--sra-ok-soft);color:var(--sra-ok);border:1px solid #bfe3d2}\n#sra-calculator .sra-badge-moderate{background:var(--sra-accent-soft);color:var(--sra-accent-dark);border:1px solid #c9dbf3}\n#sra-calculator .sra-badge-coarse{background:var(--sra-warn-soft);color:#5c4300;border:1px solid #f0dca6}\n#sra-calculator .sra-interp{margin-top:10px;font-size:14.6px;color:var(--sra-text);line-height:1.55}\n#sra-calculator .sra-sec{color:var(--sra-navy);font-size:15px;font-weight:650;margin:20px 0 8px}\n#sra-calculator .sra-formula{padding:12px 14px;border-radius:11px;background:#f7f9fc;border:1px dashed var(--sra-line);font-size:14px;color:var(--sra-text);overflow-wrap:anywhere;line-height:1.7;font-variant-numeric:tabular-nums}\n#sra-calculator .sra-formula span{display:block}\n#sra-calculator .sra-warn{margin-top:12px;padding:10px 13px;border-radius:10px;background:var(--sra-warn-soft);color:#5c4300;font-size:13.6px;border:1px solid #f0dca6;line-height:1.5}\n#sra-calculator .sra-disclaimer{margin-top:18px;padding:12px 14px;border-radius:11px;background:#f7f9fc;border:1px solid var(--sra-line-soft);color:var(--sra-muted);font-size:13.3px;line-height:1.5}\n#sra-calculator .sra-disclaimer strong{color:var(--sra-navy);font-weight:650}\n\/* responsive *\/\n@container srain (min-width:520px){#sra-calculator .sra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}\n@container sra (min-width:560px){#sra-calculator .sra-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}\n@media (max-width:700px){\n  #sra-calculator{padding:18px 14px;border-radius:16px;margin:12px auto}\n  #sra-calculator .sra-card{padding:18px 15px;border-radius:16px}\n  }\n@media (prefers-reduced-motion:reduce){#sra-calculator *{transition:none!important}}\n<\/style>\n<div class=\"sra-wrap\">\n<div class=\"sra-layout\">\n<form class=\"sra-card sra-inputs\" id=\"sra-form\" novalidate onsubmit=\"return false;\" aria-labelledby=\"sra-h-in\">\n<h3 class=\"sra-card-title\" id=\"sra-h-in\"><span class=\"sra-step\" aria-hidden=\"true\">1<\/span>Input parameters<\/h3>\n<div class=\"sra-grid\">\n<div class=\"sra-field sra-span\">\n<span class=\"sra-seg-label\" aria-hidden=\"true\">Calculation unit<\/span>\n<fieldset class=\"sra-seg\">\n<legend>Calculation unit<\/legend>\n<input type=\"radio\" id=\"sra-sys-m\" name=\"sra-system\" value=\"metric\" checked><label for=\"sra-sys-m\">Metric<small>mm\/rev, mm, &#x3bc;m<\/small><\/label>\n<input type=\"radio\" id=\"sra-sys-i\" name=\"sra-system\" value=\"imperial\"><label for=\"sra-sys-i\">Imperial<small>in\/rev, in, &#x3bc;in<\/small><\/label>\n<\/fieldset>\n<span class=\"sra-hint\">Sets both unit selectors below and the main result unit. You can still set each input unit separately.<\/span>\n<\/div>\n<div class=\"sra-field\">\n<label class=\"sra-label\" for=\"sra-f\">Feed Rate (f)<\/label>\n<div class=\"sra-row\">\n<input id=\"sra-f\" name=\"feed\" type=\"number\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 0.2\" aria-describedby=\"sra-f-hint sra-f-err\">\n<select id=\"sra-f-unit\" name=\"feedUnit\" aria-label=\"Feed rate unit\"><option value=\"mm\" selected>mm\/rev<\/option><option value=\"in\">in\/rev<\/option><\/select>\n<\/div>\n<span class=\"sra-hint\" id=\"sra-f-hint\">Distance the tool advances per spindle revolution. Typical finishing: 0.05&#x2013;0.3 mm\/rev.<\/span>\n<span class=\"sra-error\" id=\"sra-f-err\" aria-live=\"polite\"><\/span>\n<\/div>\n<div class=\"sra-field\">\n<label class=\"sra-label\" for=\"sra-r\">Tool Nose Radius (r)<\/label>\n<div class=\"sra-row\">\n<input id=\"sra-r\" name=\"radius\" type=\"number\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 0.8\" aria-describedby=\"sra-r-hint sra-r-err\">\n<select id=\"sra-r-unit\" name=\"radiusUnit\" aria-label=\"Tool nose radius unit\"><option value=\"mm\" selected>mm<\/option><option value=\"in\">in<\/option><\/select>\n<\/div>\n<span class=\"sra-hint\" id=\"sra-r-hint\">Insert corner radius. Common sizes: 0.2, 0.4, 0.8, 1.2 mm.<\/span>\n<span class=\"sra-error\" id=\"sra-r-err\" aria-live=\"polite\"><\/span>\n<\/div>\n<\/div>\n<div class=\"sra-actions\">\n<button type=\"button\" class=\"sra-btn sra-btn-primary\" id=\"sra-calc\">Calculate<\/button>\n<\/div>\n<p class=\"sra-form-msg\" id=\"sra-form-msg\" role=\"alert\"><\/p>\n<\/form>\n<section class=\"sra-card sra-results\" id=\"sra-results\" aria-labelledby=\"sra-h-res\" tabindex=\"-1\" hidden>\n<h3 class=\"sra-card-title\" id=\"sra-h-res\"><span class=\"sra-step\" aria-hidden=\"true\">2<\/span>Results<\/h3>\n<div class=\"sra-kpis\">\n<div class=\"sra-hero\" id=\"sra-hero-1\"><div class=\"sra-hero-label\" id=\"sra-l1\"><\/div><div class=\"sra-hero-value\" id=\"sra-v1\"><\/div><\/div>\n<div class=\"sra-hero sra-hero-alt\" id=\"sra-hero-2\"><div class=\"sra-hero-label\" id=\"sra-l2\"><\/div><div class=\"sra-hero-value\" id=\"sra-v2\"><\/div><\/div>\n<\/div>\n<p class=\"sra-badge\" id=\"sra-badge\"><\/p>\n<p class=\"sra-interp\" id=\"sra-interp\"><\/p>\n<h4 class=\"sra-sec\">Formula used<\/h4>\n<p class=\"sra-formula\" id=\"sra-formula\"><\/p>\n<p class=\"sra-warn\" id=\"sra-warn\" hidden><\/p>\n<p class=\"sra-disclaimer\"><strong>Note:<\/strong> This calculator provides a theoretical estimate for turning. Actual surface roughness may vary due to material properties, tool geometry, machine condition, vibration, and cutting conditions.<\/p>\n<\/section>\n<\/div>\n<\/div>\n<script>\n(function () {\n  \"use strict\";\n  var MM_PER_IN = 25.4;          \/* 1 in = 25.4 mm = 25,400 um *\/\n  var UM_PER_MM = 1000;          \/* 1 mm = 1000 um *\/\n  var UIN_PER_UM = 39.3701;      \/* 1 um = 39.3701 uin *\/\n  \/* Pure engine: inputs in their own units, returns Ra in um and uin *\/\n  function estimateRa(f, fUnit, r, rUnit) {\n    var fmm = fUnit === \"in\" ? f * MM_PER_IN : f;\n    var rmm = rUnit === \"in\" ? r * MM_PER_IN : r;\n    var raMm = (fmm * fmm) \/ (32 * rmm);\n    var raUm = raMm * UM_PER_MM;\n    return { fmm: fmm, rmm: rmm, raUm: raUm, raUin: raUm * UIN_PER_UM };\n  }\n  function classify(raUm) {\n    if (raUm <= 0.8) { return { key: \"fine\", label: \"Relatively fine\", text: \"An Ra at or below 0.8 \u00b5m (about 32 \u00b5in) is a fine turned finish, typical of finishing passes for bearing seats, sealing surfaces and precision fits.\" }; }\n    if (raUm <= 3.2) { return { key: \"moderate\", label: \"Moderate\", text: \"An Ra between 0.8 and 3.2 \u00b5m (about 32\u2013125 \u00b5in) is a moderate, general-purpose machined finish suited to most functional surfaces.\" }; }\n    return { key: \"coarse\", label: \"Coarse\", text: \"An Ra above 3.2 \u00b5m (about 125 \u00b5in) is a coarse finish, typical of roughing or semi-finishing. Reduce the feed rate or use a larger nose radius for a smoother surface.\" };\n  }\n  function fmt(v, maxD) {\n    if (!isFinite(v)) { return \"\u2014\"; }\n    var a = Math.abs(v), d = maxD;\n    if (d === undefined) { d = a >= 100 ? 1 : (a >= 1 ? 3 : (a >= 0.01 ? 4 : 6)); }\n    return v.toLocaleString(\"en-US\", { minimumFractionDigits: 0, maximumFractionDigits: d });\n  }\n  function init() {\n    var root = document.getElementById(\"sra-calculator\");\n    if (!root || root.getAttribute(\"data-sra-init\") === \"1\") { return; }\n    root.setAttribute(\"data-sra-init\", \"1\");\n    root.sraEngine = { estimateRa: estimateRa, classify: classify };\n    function $(id) { return root.querySelector(\"#\" + id); }\n    var el = {\n      f: $(\"sra-f\"), fu: $(\"sra-f-unit\"), r: $(\"sra-r\"), ru: $(\"sra-r-unit\"),\n      calc: $(\"sra-calc\"), msg: $(\"sra-form-msg\"),\n      results: $(\"sra-results\"), l1: $(\"sra-l1\"), v1: $(\"sra-v1\"), l2: $(\"sra-l2\"), v2: $(\"sra-v2\"),\n      badge: $(\"sra-badge\"), interp: $(\"sra-interp\"), formula: $(\"sra-formula\"), warn: $(\"sra-warn\")\n    };\n    function system() { var s = root.querySelector('input[name=\"sra-system\"]:checked'); return s ? s.value : \"metric\"; }\n    function setSystem(v) { var s = root.querySelector('input[name=\"sra-system\"][value=\"' + v + '\"]'); if (s) { s.checked = true; } }\n    function updatePlaceholders() {\n      el.f.placeholder = el.fu.value === \"in\" ? \"e.g. 0.008\" : \"e.g. 0.2\";\n      el.r.placeholder = el.ru.value === \"in\" ? \"e.g. 0.031\" : \"e.g. 0.8\";\n    }\n    function setErr(input, msg) {\n      $(input.id + \"-err\").textContent = msg || \"\";\n      if (msg) { input.classList.add(\"sra-invalid\"); input.setAttribute(\"aria-invalid\", \"true\"); }\n      else { input.classList.remove(\"sra-invalid\"); input.removeAttribute(\"aria-invalid\"); }\n      return !msg;\n    }\n    function check(input, name) {\n      var s = String(input.value).trim();\n      if (s === \"\") {\n        if (input.validity && input.validity.badInput) { setErr(input, name + \" must be a valid number.\"); return null; }\n        setErr(input, name + \" is required.\"); return null;\n      }\n      var v = Number(s);\n      if (!isFinite(v)) { setErr(input, name + \" must be a valid number.\"); return null; }\n      if (v === 0) { setErr(input, name + \" must be greater than zero.\"); return null; }\n      if (v < 0) { setErr(input, name + \" cannot be negative.\"); return null; }\n      setErr(input, \"\"); return v;\n    }\n    function calculate() {\n      el.msg.textContent = \"\";\n      var f = check(el.f, \"Feed rate\"), r = check(el.r, \"Tool nose radius\");\n      if (f === null || r === null) {\n        el.results.hidden = true;\n        el.msg.textContent = \"Please correct the highlighted fields.\";\n        (f === null ? el.f : el.r).focus();\n        return;\n      }\n      var res = estimateRa(f, el.fu.value, r, el.ru.value);\n      if (!isFinite(res.raUm)) {\n        el.results.hidden = true;\n        el.msg.textContent = \"The inputs produce an invalid result. Check the values and units.\";\n        return;\n      }\n      var um = fmt(res.raUm) + \" \u00b5m\", uin = fmt(res.raUin, res.raUin >= 100 ? 1 : 2) + \" \u00b5in\";\n      if (system() === \"imperial\") {\n        el.l1.textContent = \"Estimated Ra (microinches)\"; el.v1.textContent = uin;\n        el.l2.textContent = \"Equivalent Ra (micrometers)\"; el.v2.textContent = um;\n      } else {\n        el.l1.textContent = \"Estimated Ra (micrometers)\"; el.v1.textContent = um;\n        el.l2.textContent = \"Equivalent Ra (microinches)\"; el.v2.textContent = uin;\n      }\n      var c = classify(res.raUm);\n      el.badge.className = \"sra-badge sra-badge-\" + c.key;\n      el.badge.textContent = c.label + \" finish\";\n      el.interp.textContent = c.text;\n      var fu = el.fu.value === \"in\" ? \"in\/rev\" : \"mm\/rev\", ru = el.ru.value === \"in\" ? \"in\" : \"mm\";\n      var lines = [\n        \"Ra = f\u00b2 \/ (32 \u00d7 r)\",\n        \"f = \" + fmt(f, 6) + \" \" + fu + (el.fu.value === \"in\" ? \" = \" + fmt(res.fmm, 6) + \" mm\/rev\" : \"\") + \",  r = \" + fmt(r, 6) + \" \" + ru + (el.ru.value === \"in\" ? \" = \" + fmt(res.rmm, 6) + \" mm\" : \"\"),\n        \"Ra = (\" + fmt(res.fmm, 6) + \")\u00b2 \/ (32 \u00d7 \" + fmt(res.rmm, 6) + \") = \" + fmt(res.raUm \/ UM_PER_MM, 8) + \" mm\",\n        \"Ra = \" + fmt(res.raUm \/ UM_PER_MM, 8) + \" mm \u00d7 1000 = \" + um + \"  \u2248  \" + uin\n      ];\n      while (el.formula.firstChild) { el.formula.removeChild(el.formula.firstChild); }\n      lines.forEach(function (t) { var s = document.createElement(\"span\"); s.textContent = t; el.formula.appendChild(s); });\n      if (res.fmm > res.rmm) {\n        el.warn.textContent = \"The feed rate is larger than the nose radius. The formula assumes the nose radius alone forms the cutting profile (feed well below the radius), so this estimate is less reliable.\";\n        el.warn.hidden = false;\n      } else { el.warn.textContent = \"\"; el.warn.hidden = true; }\n      el.results.hidden = false;\n      try { el.results.focus({ preventScroll: true }); } catch (e) { \/* ignore *\/ }\n      var rect = el.results.getBoundingClientRect(), vh = window.innerHeight || document.documentElement.clientHeight;\n      if ((rect.top < 0 || rect.top > vh * 0.6) && el.results.scrollIntoView) { el.results.scrollIntoView({ behavior: \"smooth\", block: \"start\" }); }\n    }\n    function clearErrors() { setErr(el.f, \"\"); setErr(el.r, \"\"); el.msg.textContent = \"\"; }\n    function initState() {\n      setSystem(\"metric\"); el.f.value = \"\"; el.r.value = \"\"; el.fu.value = \"mm\"; el.ru.value = \"mm\";\n      clearErrors(); updatePlaceholders(); el.results.hidden = true;\n    }\n    root.addEventListener(\"change\", function (e) {\n      var t = e.target;\n      if (t.name === \"sra-system\") {\n        var u = t.value === \"imperial\" ? \"in\" : \"mm\";\n        el.fu.value = u; el.ru.value = u; updatePlaceholders();\n      } else if (t === el.fu || t === el.ru) { updatePlaceholders(); }\n    });\n    [el.f, el.r].forEach(function (i) {\n      i.addEventListener(\"input\", function () { if (i.classList.contains(\"sra-invalid\")) { setErr(i, \"\"); } });\n      i.addEventListener(\"keydown\", function (e) { if (e.key === \"Enter\") { e.preventDefault(); calculate(); } });\n    });\n    el.calc.addEventListener(\"click\", calculate);\n    initState();\n  }\n  if (document.readyState === \"loading\") { document.addEventListener(\"DOMContentLoaded\", init); } else { init(); }\n})();\n<\/script>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Surface Roughness Ra Estimator Calculator helps machinists estimate theoretical surface roughness during turning based on feed rate and tool nose radius. Enter your cutting parameters&#8230;<\/p>","protected":false},"author":2,"featured_media":25043,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"pmpro_default_level":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[8808],"tags":[8469,8828,8831,8829,8830],"class_list":["post-25041","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-manufacturing-and-processes","tag-machining-calculator","tag-ra-calculator","tag-surface-finish","tag-surface-roughness","tag-turning-parameters","pmpro-has-access"],"acf":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/www.mechstream.com\/wp-content\/uploads\/2026\/11\/Surface-Roughness-Ra-Estimator-Calculator.png","_links":{"self":[{"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/posts\/25041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/comments?post=25041"}],"version-history":[{"count":1,"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/posts\/25041\/revisions"}],"predecessor-version":[{"id":25044,"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/posts\/25041\/revisions\/25044"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/media\/25043"}],"wp:attachment":[{"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/media?parent=25041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/categories?post=25041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/tags?post=25041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}