{"product_id":"2-flute-ballnose-carbide-endmill-for-hardened-steels-60hrc-copy","title":"2 Flute Carbide Ball Nose for Stainless Steels","description":"\u003cul\u003e\n\u003cli\u003eBall nose Endmills for Contour 3D Milling\u003c\/li\u003e\n\u003cli\u003eHigh accuracy\u003c\/li\u003e\n\u003cli\u003eSuitable for Machining of Stainless Steels\u003c\/li\u003e\n\u003cli\u003eSuitable for plane and surface machining\u003cbr\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c!--\nShopify HTML Template (CK-style) — ISO M \/ ISO S\nCARBIDE BALL NOSE (R = D\/2, e.g. 20mm tool = R10)\n\nSURFACE MILLING ONLY\nSame layout + calculator as your \"Perfect\" tools.\n\nUPDATED:\n- Removed Tip Radius (mm) input + box\n- Removed radius sync logic\n- Calculator still uses Ø for RPM (as before)\n--\u003e\n\n\u003cstyle\u003e\n\/* ====== ISO pill colours (your exact hex) ====== *\/\n.ck-isoM{background:#f8e417 !important;color:#111 !important;}\n.ck-isoS{background:#ed8c19 !important;color:#111 !important;}\n\n\/* ====== wrapper ====== *\/\n.ck-wrap{max-width:900px;margin:14px 0;font-family:inherit;}\n\n\/* ====== material “box” ====== *\/\n.ck-box{\n  border:2px solid #444 !important;\n  border-radius:18px !important;\n  padding:14px 16px !important;\n  background:#fff !important;\n  margin:12px 0 !important;\n}\n.ck-boxTop{\n  display:flex !important;\n  justify-content:space-between !important;\n  align-items:flex-start !important;\n  gap:12px !important;\n  flex-wrap:wrap !important;\n}\n.ck-left{min-width:240px !important;}\n.ck-right{\n  min-width:220px !important;\n  text-align:right !important;\n  font-weight:900 !important;\n  line-height:1.25 !important;\n}\n\n.ck-title{font-size:18px !important;font-weight:900 !important;margin:6px 0 2px !important;}\n.ck-sub{font-size:14px !important;font-weight:800 !important;opacity:.9 !important;}\n\n.ck-pill{\n  display:inline-block !important;\n  border:1.5px solid rgba(0,0,0,.35) !important;\n  border-radius:999px !important;\n  padding:4px 10px !important;\n  font-weight:900 !important;\n  font-size:12px !important;\n  margin:0 6px 6px 0 !important;\n  white-space:nowrap !important;\n  cursor:pointer !important;\n}\n\n\/* ====== display box for Vc \/ fz ====== *\/\n.ck-mini{\n  border:2px solid #444 !important;\n  border-radius:16px !important;\n  padding:12px 14px !important;\n  background:#fff !important;\n  margin-top:12px !important;\n}\n.ck-miniGrid{\n  display:grid !important;\n  grid-template-columns:1fr 1fr !important;\n  gap:12px !important;\n}\n.ck-miniCell{\n  border:1.5px solid #bdbdbd !important;\n  border-radius:14px !important;\n  padding:12px 14px !important;\n  background:#fff !important;\n}\n.ck-miniLbl{font-size:12px !important;font-weight:900 !important;opacity:.8 !important;}\n.ck-miniVal{font-size:18px !important;font-weight:900 !important;margin-top:6px !important;}\n\n\/* ====== calculator (your exact style) ====== *\/\n.ck-calc{\n  border:2px dashed #666 !important;\n  border-radius:18px !important;\n  padding:18px 18px !important;\n  background:#fff !important;\n  margin:14px 0 !important;\n  max-width:900px !important;\n}\n.ck-calc h3{\n  margin:0 0 14px !important;\n  font-size:22px !important;\n  font-weight:900 !important;\n  line-height:1.15 !important;\n}\n.ck-grid{\n  display:grid !important;\n  grid-template-columns:1fr 1fr !important;\n  gap:16px !important;\n}\n.ck-field label{\n  display:block !important;\n  font-size:13px !important;\n  font-weight:900 !important;\n  margin:0 0 6px !important;\n}\n.ck-field input{\n  width:100% !important;\n  display:block !important;\n  box-sizing:border-box !important;\n  padding:12px 14px !important;\n  border:1.5px solid #bdbdbd !important;\n  border-radius:14px !important;\n  background:#fff !important;\n  font-size:16px !important;\n  line-height:1.2 !important;\n  box-shadow:none !important;\n  -webkit-appearance:none !important;\n  appearance:none !important;\n}\n\n.ck-outRow{\n  display:flex !important;\n  gap:14px !important;\n  flex-wrap:wrap !important;\n  margin-top:16px !important;\n}\n.ck-outPill{\n  border:1.5px solid #bdbdbd !important;\n  border-radius:999px !important;\n  padding:12px 16px !important;\n  font-weight:900 !important;\n  background:#fff !important;\n  min-width:160px !important;\n}\n\n@media (max-width: 700px){\n  .ck-miniGrid{grid-template-columns:1fr !important;}\n  .ck-grid{grid-template-columns:1fr !important;}\n  .ck-right{text-align:left !important;}\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"ck-wrap\" id=\"ckBall_MS_SURFACE\"\u003e\n\n  \u003cdiv class=\"ck-box\"\u003e\n    \u003cdiv class=\"ck-boxTop\"\u003e\n      \u003cdiv class=\"ck-left\"\u003e\n        \u003cdiv\u003e\n          \u003cspan class=\"ck-pill ck-isoM ck-isoPickBN\" data-iso=\"M\"\u003eISO M\u003c\/span\u003e\n          \u003cspan class=\"ck-pill ck-isoS ck-isoPickBN\" data-iso=\"S\"\u003eISO S\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ck-title\"\u003eCarbide Ball Nose End Mill\u003c\/div\u003e\n        \u003cdiv class=\"ck-sub\" id=\"ckIsoLabelBN\"\u003eStainless Steel (ISO M)\u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ck-right\" id=\"ckQuickBN\"\u003e\n        Vc: — m\/min\u003cbr\u003e\n        fz: — mm\/tooth\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- Surface Milling ONLY --\u003e\n    \u003cdiv class=\"ck-mini\" style=\"margin-top:14px;\"\u003e\n      \u003cdiv class=\"ck-miniGrid\"\u003e\n        \u003cdiv class=\"ck-miniCell\"\u003e\n          \u003cdiv class=\"ck-miniLbl\"\u003eSurface Milling — Vc (m\/min)\u003c\/div\u003e\n          \u003cdiv class=\"ck-miniVal\" id=\"ckVcValBN\"\u003e—\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"ck-miniCell\"\u003e\n          \u003cdiv class=\"ck-miniLbl\"\u003eSurface Milling — fz (mm\/tooth)\u003c\/div\u003e\n          \u003cdiv class=\"ck-miniVal\" id=\"ckFzValBN\"\u003e—\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- ========== CALCULATOR (mm\/tooth) ========== --\u003e\n  \u003cdiv class=\"ck-calc\" id=\"ckMillCalcBN\"\u003e\n    \u003ch3\u003eBall Nose Calculator\u003cbr\u003e(mm\/tooth)\u003c\/h3\u003e\n\n    \u003cdiv class=\"ck-grid\"\u003e\n      \u003cdiv class=\"ck-field\"\u003e\n        \u003clabel\u003eTool Ø (mm)\u003c\/label\u003e\n        \u003cinput id=\"bn_d\" type=\"number\" step=\"0.01\" placeholder=\"e.g. 20\"\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ck-field\"\u003e\n        \u003clabel\u003eVc (m\/min)\u003c\/label\u003e\n        \u003cinput id=\"bn_vc\" type=\"number\" step=\"0.1\" placeholder=\"Auto midpoint\"\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ck-field\"\u003e\n        \u003clabel\u003eFlutes (Z)\u003c\/label\u003e\n        \u003cinput id=\"bn_z\" type=\"number\" step=\"1\" value=\"2\"\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"ck-field\"\u003e\n        \u003clabel\u003efz (mm\/tooth)\u003c\/label\u003e\n        \u003cinput id=\"bn_fz\" type=\"number\" step=\"0.001\" placeholder=\"Auto midpoint\"\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"ck-outRow\"\u003e\n      \u003cdiv class=\"ck-outPill\"\u003eRPM (based on Ø): \u003cspan id=\"bn_rpm\"\u003e—\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"ck-outPill\"\u003eFeed (mm\/min): \u003cspan id=\"bn_feed\"\u003e—\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv style=\"margin-top:10px;font-weight:900;opacity:.8;\"\u003e\n      Tip radius note: For a true ball nose, \u003cspan style=\"white-space:nowrap;\"\u003eR = Ø \/ 2\u003c\/span\u003e (e.g. 20mm → R10).\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  const root = document.getElementById(\"ckBall_MS_SURFACE\");\n  if(!root) return;\n\n  \/\/ =========================\n  \/\/ BALL NOSE — SURFACE MILLING (RANGES)\n  \/\/ ISO M + ISO S\n  \/\/ =========================\n  const CUT_DATA = {\n    M: { label:\"Stainless Steel (ISO M)\",\n         vc:{min:70,  max:130},\n         fz:{min:0.03, max:0.09} },\n\n    S: { label:\"Titanium \/ Superalloys (ISO S)\",\n         vc:{min:35,  max:75},\n         fz:{min:0.02, max:0.06} }\n  };\n\n  let state = { iso:\"M\" };\n\n  const isoPicks = root.querySelectorAll(\".ck-isoPickBN\");\n  const isoLabel = document.getElementById(\"ckIsoLabelBN\");\n\n  const vcVal = document.getElementById(\"ckVcValBN\");\n  const fzVal = document.getElementById(\"ckFzValBN\");\n  const quick = document.getElementById(\"ckQuickBN\");\n\n  \/\/ Calculator inputs\/outputs\n  const d   = document.getElementById(\"bn_d\");\n  const vcI = document.getElementById(\"bn_vc\");\n  const z   = document.getElementById(\"bn_z\");\n  const fzI = document.getElementById(\"bn_fz\");\n\n  const outR = document.getElementById(\"bn_rpm\");\n  const outF = document.getElementById(\"bn_feed\");\n\n  function mid(a,b){ return (Number(a)+Number(b))\/2; }\n  function fmt(n,dec){ return isFinite(Number(n)) ? Number(n).toFixed(dec) : \"—\"; }\n  function rng(rngObj,dec){ return `${fmt(rngObj.min,dec)}–${fmt(rngObj.max,dec)}`; }\n\n  function applySelection(){\n    const data = CUT_DATA[state.iso];\n\n    isoLabel.textContent = data.label;\n\n    vcVal.textContent = rng(data.vc, 0);\n    fzVal.textContent = rng(data.fz, 3);\n\n    quick.innerHTML = `Vc: ${rng(data.vc,0)} m\/min\u003cbr\u003efz: ${rng(data.fz,3)} mm\/tooth`;\n\n    \/\/ Auto-fill calculator midpoint\n    vcI.value = mid(data.vc.min, data.vc.max).toFixed(1);\n    fzI.value = mid(data.fz.min, data.fz.max).toFixed(3);\n\n    calc();\n  }\n\n  function setISO(newISO){\n    state.iso = newISO;\n\n    \/\/ Visual cue\n    isoPicks.forEach(p=\u003e{\n      const on = p.dataset.iso === newISO;\n      p.style.boxShadow = on ? \"0 10px 18px rgba(0,0,0,.18)\" : \"none\";\n      p.style.transform = on ? \"translateY(-1px)\" : \"none\";\n      p.style.borderColor = on ? \"#000\" : \"rgba(0,0,0,.35)\";\n    });\n\n    applySelection();\n  }\n\n  function calc(){\n    const D  = parseFloat(d.value);\n    const Vc = parseFloat(vcI.value);\n    const Z  = parseFloat(z.value);\n    const Fz = parseFloat(fzI.value);\n\n    const rpm  = (D\u003e0 \u0026\u0026 Vc\u003e0) ? (1000*Vc)\/(Math.PI*D) : NaN;\n    const feed = (isFinite(rpm) \u0026\u0026 Z\u003e0 \u0026\u0026 Fz\u003e0) ? rpm*Z*Fz : NaN;\n\n    outR.textContent = isFinite(rpm) ? Math.round(rpm) : \"—\";\n    outF.textContent = isFinite(feed) ? Math.round(feed) : \"—\";\n  }\n\n  \/\/ Bind events\n  isoPicks.forEach(p=\u003ep.addEventListener(\"click\", ()=\u003esetISO(p.dataset.iso)));\n  [d,vcI,z,fzI].forEach(el=\u003eel.addEventListener(\"input\", calc));\n\n  \/\/ Init\n  setISO(\"M\");\n})();\n\u003c\/script\u003e\n","brand":"Carbide King Store","offers":[{"title":"Diameter 2mm x 50mm","offer_id":45223276216377,"sku":"CK02-2B0450SUS","price":11.95,"currency_code":"AUD","in_stock":true},{"title":"Diameter 4mm x 50mm","offer_id":45223276249145,"sku":"CK04-2B0650SUS","price":11.95,"currency_code":"AUD","in_stock":true},{"title":"Diameter 6mm x 50mm","offer_id":45223276281913,"sku":"CK06-2B0950SUS","price":21.95,"currency_code":"AUD","in_stock":true},{"title":"Diameter 8mm x 60mm","offer_id":45223276314681,"sku":"CK08-2B1260SUS","price":36.95,"currency_code":"AUD","in_stock":true},{"title":"Diameter 10mm x 75mm","offer_id":45223276347449,"sku":"CK10-2B1575SUS","price":61.95,"currency_code":"AUD","in_stock":true},{"title":"Diameter 12mm x 75mm","offer_id":45223276380217,"sku":"CK12-2B1875SUS","price":70.95,"currency_code":"AUD","in_stock":true},{"title":"Diameter 16mm x 100mm","offer_id":45223276412985,"sku":"CK16-2B24100SUS","price":129.95,"currency_code":"AUD","in_stock":true},{"title":"Diameter 20mm x 150mm","offer_id":45223276445753,"sku":"CK20-2B30150SUS","price":259.95,"currency_code":"AUD","in_stock":true},{"title":"Diameter 25mm x 150mm","offer_id":45223276478521,"sku":"CK25-2B375150SUS","price":428.95,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0759\/8332\/3193\/files\/GES1.jpg?v=1764812197","url":"https:\/\/carbideking.com.au\/products\/2-flute-ballnose-carbide-endmill-for-hardened-steels-60hrc-copy","provider":"CARBIDE KING","version":"1.0","type":"link"}