{"id":25026,"date":"2026-10-30T06:17:02","date_gmt":"2026-10-30T06:17:02","guid":{"rendered":"https:\/\/www.mechstream.com\/?p=25026"},"modified":"2026-10-30T06:44:38","modified_gmt":"2026-10-30T06:44:38","slug":"tool-life-calculator","status":"publish","type":"post","link":"https:\/\/www.mechstream.com\/fr\/tool-life-calculator\/","title":{"rendered":"Tool Life Calculator"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The <strong>Tool Life Calculator<\/strong> uses Taylor\u2019s tool life equation to estimate how long a cutting tool can operate under specified machining conditions. Enter the cutting speed, tool life, Taylor exponent, and constant to calculate the value you need. This calculator supports machining process planning and tool selection; actual tool life may vary with the workpiece material, tool coating, feed rate, depth of cut, coolant, and machine conditions.<\/p>\n\n\n\n<iframe class=\"tlc-frame skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" title=\"Tool Life Calculator (Taylor's Equation)\" scrolling=\"no\" style=\"display:block !important;width:100% !important;max-width:1000px !important;height:1100px;border:0 !important;margin:0 auto !important;padding:0 !important;overflow:hidden;background:transparent;float:none !important\" srcdoc=\"&lt;!DOCTYPE html&gt;&#10;&lt;html lang=&quot;en&quot;&gt;&#10;&lt;head&gt;&#10;&lt;meta charset=&quot;UTF-8&quot;&gt;&#10;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;&#10;&lt;title&gt;Tool Life Calculator (Taylor&#x27;s Equation)&lt;\/title&gt;&#10;&lt;style&gt;&#10;\/* =====================================================================&#10;   Tool Life Calculator \u2014 all selectors scoped under .tlc-root&#10;   so the calculator never changes how the rest of a page looks.&#10;   ===================================================================== *\/&#10;.tlc-root{&#10;  --tlc-blue:#1e3a8a;--tlc-blue-2:#1d4ed8;--tlc-blue-soft:#e8eefb;--tlc-blue-line:#c7d4f0;&#10;  --tlc-bg:#f3f5f8;--tlc-card:#ffffff;--tlc-text:#1f2937;--tlc-heading:#111827;--tlc-muted:#5b6574;&#10;  --tlc-border:#d6dce5;--tlc-field:#fbfcfe;--tlc-danger:#b42318;--tlc-danger-bg:#fef3f2;&#10;  --tlc-radius:12px;--tlc-shadow:0 1px 2px rgba(16,24,40,.06),0 6px 16px rgba(16,24,40,.06);&#10;  font-family:system-ui,-apple-system,&quot;Segoe UI&quot;,Roboto,&quot;Helvetica Neue&quot;,Arial,&quot;Noto Sans&quot;,sans-serif;&#10;  font-size:16px;line-height:1.55;color:var(--tlc-text);background:var(--tlc-bg);&#10;  max-width:1000px;margin:0 auto;padding:28px 16px 36px;text-align:left;border-radius:16px;&#10;  -webkit-text-size-adjust:100%;&#10;}&#10;.tlc-root *,.tlc-root *::before,.tlc-root *::after{box-sizing:border-box}&#10;.tlc-root [hidden]{display:none !important}&#10;.tlc-root h2,.tlc-root h3{font-family:inherit;color:var(--tlc-heading);line-height:1.25;margin:0 0 .5em;padding:0;letter-spacing:normal;text-transform:none;font-weight:700;border:0;background:none}&#10;.tlc-root h2{font-size:clamp(1.2rem,2.2vw,1.45rem)}&#10;.tlc-root h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--tlc-blue);margin:0 0 12px}&#10;.tlc-root p{margin:0 0 .85em;padding:0}&#10;.tlc-root ul,.tlc-root ol{margin:0;padding-left:1.25em}&#10;.tlc-root li{margin:0 0 .3em}&#10;&#10;\/* ---------- layout ---------- *\/&#10;.tlc-root .tlc-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}&#10;.tlc-root .tlc-card{background:var(--tlc-card);border:1px solid var(--tlc-border);border-radius:var(--tlc-radius);box-shadow:var(--tlc-shadow);padding:22px}&#10;.tlc-root .tlc-card-title{margin-bottom:6px}&#10;.tlc-root .tlc-card-title h2{margin:0}&#10;.tlc-root .tlc-lead{color:var(--tlc-muted);font-size:.9rem;margin:0 0 18px}&#10;.tlc-root .tlc-eq{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;color:var(--tlc-blue);white-space:nowrap}&#10;.tlc-root .tlc-group{border:1px solid var(--tlc-border);border-radius:10px;padding:16px 16px 4px;margin:0 0 16px;min-width:0}&#10;.tlc-root .tlc-group legend{padding:0 6px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tlc-blue)}&#10;.tlc-root .tlc-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}&#10;&#10;\/* ---------- mode selector (radio segmented control) ---------- *\/&#10;.tlc-root .tlc-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}&#10;.tlc-root .tlc-mode{position:relative;display:block;margin:0}&#10;.tlc-root .tlc-mode input{position:absolute;opacity:0;width:1px;height:1px;margin:0}&#10;.tlc-root .tlc-mode span{display:block;height:100%;padding:10px 12px;border:1px solid var(--tlc-border);border-radius:8px;background:var(--tlc-field);cursor:pointer;font-size:.9rem;font-weight:600;line-height:1.3;transition:border-color .15s,background .15s,box-shadow .15s}&#10;.tlc-root .tlc-mode small{display:block;font-weight:500;font-size:.78rem;color:var(--tlc-muted);margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}&#10;.tlc-root .tlc-mode span:hover{border-color:#b6c0ce}&#10;.tlc-root .tlc-mode input:checked + span{border-color:var(--tlc-blue);background:var(--tlc-blue-soft);color:var(--tlc-blue);box-shadow:inset 0 0 0 1px var(--tlc-blue)}&#10;.tlc-root .tlc-mode input:focus-visible + span{outline:2px solid var(--tlc-blue-2);outline-offset:2px}&#10;&#10;\/* ---------- fields ---------- *\/&#10;.tlc-root .tlc-field{margin:0 0 14px;min-width:0}&#10;.tlc-root .tlc-field &gt; label{display:block;font-size:.86rem;font-weight:600;color:var(--tlc-text);margin:0 0 5px;line-height:1.3}&#10;.tlc-root .tlc-input,.tlc-root .tlc-select{&#10;  display:block;width:100%;height:42px;margin:0;padding:8px 12px;font:inherit;font-size:15px;line-height:1.3;color:var(--tlc-text);&#10;  background-color:var(--tlc-field);border:1px solid var(--tlc-border);border-radius:8px;box-shadow:none;outline:none;&#10;  transition:border-color .15s,box-shadow .15s;max-width:none;min-height:0;text-transform:none;letter-spacing:normal}&#10;.tlc-root .tlc-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;cursor:pointer;&#10;  background-image:url(&quot;data:image\/svg+xml,%3Csvg xmlns=&#x27;http:\/\/www.w3.org\/2000\/svg&#x27; width=&#x27;12&#x27; height=&#x27;8&#x27; viewBox=&#x27;0 0 12 8&#x27;%3E%3Cpath d=&#x27;M1 1.5l5 5 5-5&#x27; fill=&#x27;none&#x27; stroke=&#x27;%231e3a8a&#x27; stroke-width=&#x27;1.8&#x27; stroke-linecap=&#x27;round&#x27; stroke-linejoin=&#x27;round&#x27;\/%3E%3C\/svg%3E&quot;);&#10;  background-repeat:no-repeat;background-position:right 11px center;background-size:12px 8px}&#10;.tlc-root .tlc-input:hover,.tlc-root .tlc-select:hover{border-color:#b6c0ce}&#10;.tlc-root .tlc-input:focus,.tlc-root .tlc-select:focus{border-color:var(--tlc-blue-2);box-shadow:0 0 0 3px rgba(29,78,216,.18);background-color:#fff}&#10;.tlc-root .tlc-input.tlc-invalid{border-color:var(--tlc-danger);background-color:var(--tlc-danger-bg)}&#10;.tlc-root .tlc-input.tlc-invalid:focus{box-shadow:0 0 0 3px rgba(180,35,24,.15)}&#10;.tlc-root .tlc-err{color:var(--tlc-danger);font-size:.82rem;margin:5px 0 0;line-height:1.35}&#10;.tlc-root .tlc-help{color:var(--tlc-muted);font-size:.8rem;margin:5px 0 0;line-height:1.35}&#10;.tlc-root .tlc-suffix{position:relative}&#10;.tlc-root .tlc-suffix .tlc-input{padding-right:70px}&#10;.tlc-root .tlc-suffix-u{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.85rem;color:var(--tlc-muted);pointer-events:none}&#10;.tlc-root .tlc-units{max-width:320px}&#10;.tlc-root .tlc-consistency{font-size:.84rem;color:var(--tlc-muted);background:#f6f8fb;border-left:3px solid var(--tlc-blue-line);padding:8px 11px;border-radius:0 8px 8px 0;margin:0 0 16px}&#10;&#10;\/* ---------- buttons ---------- *\/&#10;.tlc-root .tlc-actions{display:flex !important;flex-wrap:wrap;justify-content:center;gap:10px;margin:6px 0 0 !important;padding:0 !important;float:none !important;clear:both}&#10;.tlc-root .tlc-btn{display:inline-flex !important;align-items:center;justify-content:center;float:none !important;width:auto !important;min-width:180px;height:42px;padding:0 20px;margin:0 !important;&#10;  position:static !important;font:inherit;font-size:.95rem;font-weight:650;line-height:1;border-radius:8px;border:1px solid var(--tlc-blue);background:var(--tlc-blue);color:#fff;cursor:pointer;&#10;  text-decoration:none;text-transform:none;letter-spacing:normal;box-shadow:none;transition:background .15s,border-color .15s,color .15s}&#10;.tlc-root .tlc-btn:hover{background:#172f73;border-color:#172f73;color:#fff}&#10;.tlc-root .tlc-btn.tlc-btn-2{background:#fff;color:var(--tlc-blue);border-color:var(--tlc-blue-line)}&#10;.tlc-root .tlc-btn.tlc-btn-2:hover{background:var(--tlc-blue-soft);border-color:var(--tlc-blue);color:var(--tlc-blue)}&#10;.tlc-root .tlc-btn:focus-visible{outline:2px solid var(--tlc-blue-2);outline-offset:2px}&#10;&#10;\/* ---------- results ---------- *\/&#10;.tlc-root .tlc-alert{border:1px solid #fecdca;background:var(--tlc-danger-bg);color:var(--tlc-danger);border-radius:10px;padding:12px 14px;margin:0;font-size:.9rem}&#10;.tlc-root .tlc-alert ul{margin:6px 0 0;padding-left:1.2em}&#10;.tlc-root .tlc-rmain{background:linear-gradient(135deg,#1e3a8a 0%,#1d4ed8 100%);border-radius:12px;padding:18px 20px;color:#fff}&#10;.tlc-root .tlc-rlabel{display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.9;margin-bottom:4px}&#10;.tlc-root .tlc-rvalue{font-size:clamp(2rem,5vw,2.7rem);font-weight:800;line-height:1.1;word-break:break-word;font-variant-numeric:tabular-nums}&#10;.tlc-root .tlc-runit{font-size:.45em;font-weight:700;margin-left:6px;opacity:.92}&#10;.tlc-root .tlc-rsub{font-size:.88rem;margin-top:6px;opacity:.92;font-variant-numeric:tabular-nums}&#10;.tlc-root .tlc-formula{background:#0f1f45;color:#e6edff;border-radius:10px;padding:14px 16px;margin:14px 0 0}&#10;.tlc-root .tlc-formula-block{margin:0 0 12px}&#10;.tlc-root .tlc-formula-block:last-child{margin-bottom:0}&#10;.tlc-root .tlc-formula-label{display:block;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#a9bbe6;margin-bottom:4px}&#10;.tlc-root .tlc-formula-main{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1rem;font-weight:700;margin:0;word-break:break-word}&#10;.tlc-root .tlc-steps{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;color:#c3d0f2;margin:0;padding-left:1.4em}&#10;.tlc-root .tlc-steps li{margin:0 0 4px;word-break:break-word}&#10;.tlc-root .tlc-note{font-size:.84rem;color:var(--tlc-muted);background:#f6f8fb;border-left:3px solid var(--tlc-blue-line);padding:8px 11px;border-radius:0 8px 8px 0;margin:14px 0 0}&#10;&#10;\/* ---------- responsive ---------- *\/&#10;@media (max-width:760px){&#10;  .tlc-root .tlc-modes{grid-template-columns:minmax(0,1fr)}&#10;}&#10;@media (max-width:560px){&#10;  .tlc-root{padding:20px 12px 28px;border-radius:0}&#10;  .tlc-root .tlc-card{padding:16px}&#10;  .tlc-root .tlc-group{padding:14px 12px 2px}&#10;  .tlc-root .tlc-row{grid-template-columns:minmax(0,1fr)}&#10;}&#10;@media (prefers-reduced-motion:reduce){&#10;  .tlc-root *{transition:none !important}&#10;}&#10;html,body{margin:0;padding:0;background:transparent}&#10;&lt;\/style&gt;&#10;&lt;\/head&gt;&#10;&lt;body&gt;&#10;&#10;&lt;div class=&quot;tlc-root&quot; id=&quot;tlc-app&quot;&gt;&#10;  &lt;div class=&quot;tlc-stack&quot;&gt;&#10;&#10;    &lt;!-- ================= INPUT PANEL ================= --&gt;&#10;    &lt;section class=&quot;tlc-card&quot; aria-label=&quot;Tool life calculator inputs&quot;&gt;&#10;      &lt;form id=&quot;tlc-form&quot; novalidate autocomplete=&quot;off&quot;&gt;&#10;&#10;        &lt;!-- Mode --&gt;&#10;        &lt;fieldset class=&quot;tlc-group&quot;&gt;&#10;          &lt;legend&gt;What do you want to calculate?&lt;\/legend&gt;&#10;          &lt;div class=&quot;tlc-modes&quot; role=&quot;radiogroup&quot;&gt;&#10;            &lt;label class=&quot;tlc-mode&quot;&gt;&#10;              &lt;input type=&quot;radio&quot; name=&quot;tlc-mode&quot; value=&quot;T&quot; checked&gt;&#10;              &lt;span&gt;Estimate Tool Life&lt;small&gt;T = (C \/ V)^(1\/n)&lt;\/small&gt;&lt;\/span&gt;&#10;            &lt;\/label&gt;&#10;            &lt;label class=&quot;tlc-mode&quot;&gt;&#10;              &lt;input type=&quot;radio&quot; name=&quot;tlc-mode&quot; value=&quot;V&quot;&gt;&#10;              &lt;span&gt;Estimate Cutting Speed&lt;small&gt;V = C \/ T^n&lt;\/small&gt;&lt;\/span&gt;&#10;            &lt;\/label&gt;&#10;            &lt;label class=&quot;tlc-mode&quot;&gt;&#10;              &lt;input type=&quot;radio&quot; name=&quot;tlc-mode&quot; value=&quot;C&quot;&gt;&#10;              &lt;span&gt;Estimate Taylor Constant&lt;small&gt;C = V \u00d7 T^n&lt;\/small&gt;&lt;\/span&gt;&#10;            &lt;\/label&gt;&#10;          &lt;\/div&gt;&#10;        &lt;\/fieldset&gt;&#10;&#10;        &lt;!-- Units --&gt;&#10;        &lt;div class=&quot;tlc-field tlc-units&quot;&gt;&#10;          &lt;label for=&quot;tlc-unit&quot;&gt;Speed unit (applies to V and C)&lt;\/label&gt;&#10;          &lt;select id=&quot;tlc-unit&quot; class=&quot;tlc-select&quot; aria-describedby=&quot;tlc-unit-help&quot;&gt;&#10;            &lt;option value=&quot;m&quot;&gt;m\/min (metric)&lt;\/option&gt;&#10;            &lt;option value=&quot;ft&quot;&gt;ft\/min (imperial)&lt;\/option&gt;&#10;          &lt;\/select&gt;&#10;          &lt;p class=&quot;tlc-help&quot; id=&quot;tlc-unit-help&quot;&gt;Changing the unit converts the V and C values already entered.&lt;\/p&gt;&#10;        &lt;\/div&gt;&#10;        &lt;p class=&quot;tlc-consistency&quot;&gt;&lt;strong&gt;Use consistent units.&lt;\/strong&gt; V and C must use the same speed unit, and T is always in minutes. C and n are not universal \u2014 they depend on the tool material, workpiece material and cutting conditions, and should come from test data or the tool supplier.&lt;\/p&gt;&#10;&#10;        &lt;!-- Cutting conditions --&gt;&#10;        &lt;fieldset class=&quot;tlc-group&quot;&gt;&#10;          &lt;legend&gt;Cutting Conditions&lt;\/legend&gt;&#10;          &lt;div class=&quot;tlc-row&quot;&gt;&#10;            &lt;div class=&quot;tlc-field&quot; id=&quot;tlc-wrap-V&quot;&gt;&#10;              &lt;label for=&quot;tlc-V&quot;&gt;Cutting Speed (V)&lt;\/label&gt;&#10;              &lt;div class=&quot;tlc-suffix&quot;&gt;&#10;                &lt;input id=&quot;tlc-V&quot; class=&quot;tlc-input&quot; type=&quot;text&quot; inputmode=&quot;decimal&quot; aria-describedby=&quot;tlc-V-err tlc-V-help&quot;&gt;&#10;                &lt;span class=&quot;tlc-suffix-u tlc-su&quot; aria-hidden=&quot;true&quot;&gt;m\/min&lt;\/span&gt;&#10;              &lt;\/div&gt;&#10;              &lt;p class=&quot;tlc-err&quot; id=&quot;tlc-V-err&quot; hidden&gt;&lt;\/p&gt;&#10;              &lt;p class=&quot;tlc-help&quot; id=&quot;tlc-V-help&quot;&gt;Surface speed at the cutting edge.&lt;\/p&gt;&#10;            &lt;\/div&gt;&#10;            &lt;div class=&quot;tlc-field&quot; id=&quot;tlc-wrap-T&quot;&gt;&#10;              &lt;label for=&quot;tlc-T&quot;&gt;Tool Life (T)&lt;\/label&gt;&#10;              &lt;div class=&quot;tlc-suffix&quot;&gt;&#10;                &lt;input id=&quot;tlc-T&quot; class=&quot;tlc-input&quot; type=&quot;text&quot; inputmode=&quot;decimal&quot; aria-describedby=&quot;tlc-T-err tlc-T-help&quot;&gt;&#10;                &lt;span class=&quot;tlc-suffix-u&quot; aria-hidden=&quot;true&quot;&gt;min&lt;\/span&gt;&#10;              &lt;\/div&gt;&#10;              &lt;p class=&quot;tlc-err&quot; id=&quot;tlc-T-err&quot; hidden&gt;&lt;\/p&gt;&#10;              &lt;p class=&quot;tlc-help&quot; id=&quot;tlc-T-help&quot;&gt;Cutting time until the wear criterion is reached.&lt;\/p&gt;&#10;            &lt;\/div&gt;&#10;          &lt;\/div&gt;&#10;        &lt;\/fieldset&gt;&#10;&#10;        &lt;!-- Taylor parameters --&gt;&#10;        &lt;fieldset class=&quot;tlc-group&quot;&gt;&#10;          &lt;legend&gt;Taylor Parameters&lt;\/legend&gt;&#10;          &lt;div class=&quot;tlc-row&quot;&gt;&#10;            &lt;div class=&quot;tlc-field&quot; id=&quot;tlc-wrap-n&quot;&gt;&#10;              &lt;label for=&quot;tlc-n&quot;&gt;Taylor Exponent (n)&lt;\/label&gt;&#10;              &lt;input id=&quot;tlc-n&quot; class=&quot;tlc-input&quot; type=&quot;text&quot; inputmode=&quot;decimal&quot; aria-describedby=&quot;tlc-n-err tlc-n-help&quot;&gt;&#10;              &lt;p class=&quot;tlc-err&quot; id=&quot;tlc-n-err&quot; hidden&gt;&lt;\/p&gt;&#10;              &lt;p class=&quot;tlc-help&quot; id=&quot;tlc-n-help&quot;&gt;Dimensionless. Typical: HSS \u2248 0.1\u20130.15, carbide \u2248 0.2\u20130.5, ceramic \u2248 0.5\u20130.7.&lt;\/p&gt;&#10;            &lt;\/div&gt;&#10;            &lt;div class=&quot;tlc-field&quot; id=&quot;tlc-wrap-C&quot;&gt;&#10;              &lt;label for=&quot;tlc-C&quot;&gt;Taylor Constant (C)&lt;\/label&gt;&#10;              &lt;div class=&quot;tlc-suffix&quot;&gt;&#10;                &lt;input id=&quot;tlc-C&quot; class=&quot;tlc-input&quot; type=&quot;text&quot; inputmode=&quot;decimal&quot; aria-describedby=&quot;tlc-C-err tlc-C-help&quot;&gt;&#10;                &lt;span class=&quot;tlc-suffix-u tlc-su&quot; aria-hidden=&quot;true&quot;&gt;m\/min&lt;\/span&gt;&#10;              &lt;\/div&gt;&#10;              &lt;p class=&quot;tlc-err&quot; id=&quot;tlc-C-err&quot; hidden&gt;&lt;\/p&gt;&#10;              &lt;p class=&quot;tlc-help&quot; id=&quot;tlc-C-help&quot;&gt;Cutting speed that gives a tool life of 1 minute.&lt;\/p&gt;&#10;            &lt;\/div&gt;&#10;          &lt;\/div&gt;&#10;        &lt;\/fieldset&gt;&#10;&#10;        &lt;div class=&quot;tlc-actions&quot;&gt;&#10;          &lt;button type=&quot;submit&quot; class=&quot;tlc-btn&quot; id=&quot;tlc-btn-calc&quot;&gt;Calculate&lt;\/button&gt;&#10;        &lt;\/div&gt;&#10;      &lt;\/form&gt;&#10;    &lt;\/section&gt;&#10;&#10;    &lt;!-- ================= RESULTS PANEL ================= --&gt;&#10;    &lt;section class=&quot;tlc-card&quot; aria-labelledby=&quot;tlc-results-title&quot; id=&quot;tlc-results&quot; tabindex=&quot;-1&quot; hidden&gt;&#10;      &lt;div class=&quot;tlc-card-title&quot; style=&quot;margin-bottom:14px&quot;&gt;&lt;h2 id=&quot;tlc-results-title&quot;&gt;Results&lt;\/h2&gt;&lt;\/div&gt;&#10;&#10;      &lt;div class=&quot;tlc-alert&quot; id=&quot;tlc-error&quot; role=&quot;alert&quot; hidden&gt;&lt;\/div&gt;&#10;&#10;      &lt;div id=&quot;tlc-result-body&quot; aria-live=&quot;polite&quot;&gt;&#10;        &lt;div class=&quot;tlc-rmain&quot;&gt;&#10;          &lt;span class=&quot;tlc-rlabel&quot; id=&quot;tlc-r-label&quot;&gt;&lt;\/span&gt;&#10;          &lt;div class=&quot;tlc-rvalue&quot;&gt;&lt;span id=&quot;tlc-r-value&quot;&gt;&lt;\/span&gt;&lt;span class=&quot;tlc-runit&quot; id=&quot;tlc-r-unit&quot;&gt;&lt;\/span&gt;&lt;\/div&gt;&#10;          &lt;div class=&quot;tlc-rsub&quot; id=&quot;tlc-r-sub&quot;&gt;&lt;\/div&gt;&#10;        &lt;\/div&gt;&#10;&#10;        &lt;div class=&quot;tlc-formula&quot;&gt;&#10;          &lt;div class=&quot;tlc-formula-block&quot;&gt;&#10;            &lt;span class=&quot;tlc-formula-label&quot;&gt;Taylor&#x27;s equation&lt;\/span&gt;&#10;            &lt;p class=&quot;tlc-formula-main&quot;&gt;V \u00d7 T^n = C&lt;\/p&gt;&#10;          &lt;\/div&gt;&#10;          &lt;div class=&quot;tlc-formula-block&quot;&gt;&#10;            &lt;span class=&quot;tlc-formula-label&quot;&gt;Rearranged formula used&lt;\/span&gt;&#10;            &lt;p class=&quot;tlc-formula-main&quot; id=&quot;tlc-d-formula&quot;&gt;&lt;\/p&gt;&#10;          &lt;\/div&gt;&#10;          &lt;div class=&quot;tlc-formula-block&quot;&gt;&#10;            &lt;span class=&quot;tlc-formula-label&quot;&gt;Substituted values &amp;amp; steps&lt;\/span&gt;&#10;            &lt;ol class=&quot;tlc-steps&quot; id=&quot;tlc-d-steps&quot;&gt;&lt;\/ol&gt;&#10;          &lt;\/div&gt;&#10;        &lt;\/div&gt;&#10;&#10;        &lt;p class=&quot;tlc-note&quot;&gt;&lt;strong&gt;This is an estimate.&lt;\/strong&gt; Actual tool life can vary with workpiece material, tool material and coating, feed rate, depth of cut, coolant, machine rigidity, and the tool wear criterion used. Taylor&#x27;s basic equation is most reliable within the speed range where C and n were measured.&lt;\/p&gt;&#10;      &lt;\/div&gt;&#10;    &lt;\/section&gt;&#10;&#10;  &lt;\/div&gt;&#10;&lt;\/div&gt;&#10;&#10;&lt;script&gt;&#10;\/* =====================================================================&#10;   Tool Life Calculator \u2014 Taylor&#x27;s equation V\u00b7T^n = C (vanilla JS, no globals)&#10;   ===================================================================== *\/&#10;(function () {&#10;  &#x27;use strict&#x27;;&#10;&#10;  var root = document.getElementById(&#x27;tlc-app&#x27;);&#10;  if (!root || root.getAttribute(&#x27;data-tlc-ready&#x27;) === &#x27;1&#x27;) return;&#10;  root.setAttribute(&#x27;data-tlc-ready&#x27;, &#x27;1&#x27;);&#10;&#10;  function $(id) { return document.getElementById(id); }&#10;&#10;  var FT_PER_M = 1 \/ 0.3048;               \/\/ 1 m = 3.28084 ft&#10;  var UNIT_SYM = { m: &#x27;m\/min&#x27;, ft: &#x27;ft\/min&#x27; };&#10;  var KEYS = [&#x27;V&#x27;, &#x27;T&#x27;, &#x27;n&#x27;, &#x27;C&#x27;];&#10;  var LABEL = { V: &#x27;Cutting speed (V)&#x27;, T: &#x27;Tool life (T)&#x27;, n: &#x27;Taylor exponent (n)&#x27;, C: &#x27;Taylor constant (C)&#x27; };&#10;  \/\/ Inputs needed for each mode (the remaining field is the output)&#10;  var NEEDS = { T: [&#x27;V&#x27;, &#x27;n&#x27;, &#x27;C&#x27;], V: [&#x27;T&#x27;, &#x27;n&#x27;, &#x27;C&#x27;], C: [&#x27;V&#x27;, &#x27;T&#x27;, &#x27;n&#x27;] };&#10;  \/\/ Example: carbide tool turning carbon steel (illustrative values)&#10;  var EXAMPLE = {&#10;    m:  { V: &#x27;200&#x27;, T: &#x27;16&#x27;, n: &#x27;0.25&#x27;, C: &#x27;400&#x27; },&#10;    ft: { V: &#x27;650&#x27;, T: &#x27;16&#x27;, n: &#x27;0.25&#x27;, C: &#x27;1300&#x27; }&#10;  };&#10;&#10;  var unit = &#x27;m&#x27;;&#10;&#10;  \/* ---------- parsing &amp; formatting ---------- *\/&#10;  function parseNum(raw) {&#10;    var s = String(raw == null ? &#x27;&#x27; : raw).trim().replace(\/\\s+\/g, &#x27;&#x27;);&#10;    if (s === &#x27;&#x27;) return { empty: true, ok: false };&#10;    if (\/^[+-]?\\d{1,3}(,\\d{3})+(\\.\\d+)?$\/.test(s)) s = s.replace(\/,\/g, &#x27;&#x27;);&#10;    else if (\/^[+-]?\\d*,\\d+$\/.test(s)) s = s.replace(&#x27;,&#x27;, &#x27;.&#x27;);&#10;    if (!\/^[+-]?(\\d+\\.?\\d*|\\.\\d+)(e[+-]?\\d+)?$\/i.test(s)) return { empty: false, ok: false };&#10;    var n = Number(s);&#10;    if (!isFinite(n)) return { empty: false, ok: false };&#10;    return { empty: false, ok: true, n: n };&#10;  }&#10;  \/** Result display: 2 decimals, or 4 significant figures for very small \/ very large values. *\/&#10;  function fx(n) {&#10;    if (typeof n !== &#x27;number&#x27; || !isFinite(n)) return &#x27;\u2014&#x27;;&#10;    var a = Math.abs(n);&#10;    if (a !== 0 &amp;&amp; (a &lt; 0.01 || a &gt;= 1e9)) return n.toPrecision(4).replace(&#x27;e+&#x27;, &#x27; \u00d7 10^&#x27;).replace(&#x27;e-&#x27;, &#x27; \u00d7 10^-&#x27;);&#10;    return n.toLocaleString(&#x27;en-US&#x27;, { minimumFractionDigits: 2, maximumFractionDigits: 2 });&#10;  }&#10;  \/** Intermediate \/ input display: up to 6 significant figures. *\/&#10;  function g(n) {&#10;    if (typeof n !== &#x27;number&#x27; || !isFinite(n)) return &#x27;\u2014&#x27;;&#10;    var a = Math.abs(n);&#10;    if (a !== 0 &amp;&amp; (a &lt; 1e-4 || a &gt;= 1e9)) return n.toPrecision(6).replace(&#x27;e+&#x27;, &#x27; \u00d7 10^&#x27;).replace(&#x27;e-&#x27;, &#x27; \u00d7 10^-&#x27;);&#10;    return Number(n.toPrecision(6)).toLocaleString(&#x27;en-US&#x27;, { maximumFractionDigits: 8 });&#10;  }&#10;  function esc(s) {&#10;    return String(s).replace(\/[&amp;&lt;&gt;&quot;&#x27;]\/g, function (c) {&#10;      return { &#x27;&amp;&#x27;: &#x27;&amp;amp;&#x27;, &#x27;&lt;&#x27;: &#x27;&amp;lt;&#x27;, &#x27;&gt;&#x27;: &#x27;&amp;gt;&#x27;, &#x27;&quot;&#x27;: &#x27;&amp;quot;&#x27;, &quot;&#x27;&quot;: &#x27;&amp;#39;&#x27; }[c];&#10;    });&#10;  }&#10;&#10;  \/* ---------- mode handling ---------- *\/&#10;  function mode() {&#10;    var r = root.querySelector(&#x27;input[name=&quot;tlc-mode&quot;]:checked&#x27;);&#10;    return r ? r.value : &#x27;T&#x27;;&#10;  }&#10;  function applyMode() {&#10;    var m = mode();&#10;    KEYS.forEach(function (k) {&#10;      var needed = NEEDS[m].indexOf(k) !== -1;&#10;      $(&#x27;tlc-wrap-&#x27; + k).hidden = !needed;&#10;      if (!needed) setErr(k, null);&#10;    });&#10;  }&#10;&#10;  \/* ---------- validation ---------- *\/&#10;  function setErr(key, msg) {&#10;    var el = $(&#x27;tlc-&#x27; + key), er = $(&#x27;tlc-&#x27; + key + &#x27;-err&#x27;);&#10;    if (msg) {&#10;      el.classList.add(&#x27;tlc-invalid&#x27;); el.setAttribute(&#x27;aria-invalid&#x27;, &#x27;true&#x27;);&#10;      er.textContent = msg; er.hidden = false;&#10;    } else {&#10;      el.classList.remove(&#x27;tlc-invalid&#x27;); el.removeAttribute(&#x27;aria-invalid&#x27;);&#10;      er.textContent = &#x27;&#x27;; er.hidden = true;&#10;    }&#10;  }&#10;  function check(key) {&#10;    var p = parseNum($(&#x27;tlc-&#x27; + key).value);&#10;    if (p.empty) return LABEL[key] + &#x27; is required.&#x27;;&#10;    if (!p.ok) return LABEL[key] + &#x27; must be a valid number.&#x27;;&#10;    if (p.n &lt; 0) return LABEL[key] + &#x27; cannot be negative.&#x27;;&#10;    if (p.n === 0) return LABEL[key] + &#x27; must be greater than zero.&#x27;;&#10;    return null;&#10;  }&#10;&#10;  \/* ---------- calculation ---------- *\/&#10;  function compute() {&#10;    var m = mode(), errs = [], v = {};&#10;    KEYS.forEach(function (k) { setErr(k, null); });&#10;    NEEDS[m].forEach(function (k) {&#10;      var msg = check(k);&#10;      setErr(k, msg);&#10;      if (msg) errs.push(msg); else v[k] = parseNum($(&#x27;tlc-&#x27; + k).value).n;&#10;    });&#10;    if (errs.length) { showErrors(errs); return false; }&#10;&#10;    var u = UNIT_SYM[unit], R = { mode: m, u: u, steps: [] };&#10;&#10;    if (m === &#x27;T&#x27;) {&#10;      \/\/ T = (C \/ V)^(1\/n)&#10;      var ratio = v.C \/ v.V, inv = 1 \/ v.n;&#10;      R.value = Math.pow(ratio, inv);&#10;      R.label = &#x27;Estimated Tool Life (T)&#x27;; R.unit = &#x27;min&#x27;;&#10;      R.formula = &#x27;T = (C \/ V)^(1\/n)&#x27;;&#10;      R.steps.push(&#x27;T = (&#x27; + g(v.C) + &#x27; \/ &#x27; + g(v.V) + &#x27;)^(1 \/ &#x27; + g(v.n) + &#x27;)&#x27;);&#10;      R.steps.push(&#x27;C \/ V = &#x27; + g(v.C) + &#x27; \/ &#x27; + g(v.V) + &#x27; = &#x27; + g(ratio));&#10;      R.steps.push(&#x27;1 \/ n = 1 \/ &#x27; + g(v.n) + &#x27; = &#x27; + g(inv));&#10;      R.steps.push(&#x27;T = &#x27; + g(ratio) + &#x27;^&#x27; + g(inv) + &#x27; = &#x27; + fx(R.value) + &#x27; min&#x27;);&#10;      R.sub = &#x27;At V = &#x27; + g(v.V) + &#x27; &#x27; + u + (R.value &gt;= 60 ? &#x27; (\u2248 &#x27; + fx(R.value \/ 60) + &#x27; h)&#x27; : &#x27;&#x27;);&#10;      if (v.V &gt; v.C) R.sub += &#x27; \u00b7 V is above C, so tool life is under 1 minute&#x27;;&#10;    } else if (m === &#x27;V&#x27;) {&#10;      \/\/ V = C \/ T^n&#10;      var tn = Math.pow(v.T, v.n);&#10;      R.value = v.C \/ tn;&#10;      R.label = &#x27;Estimated Cutting Speed (V)&#x27;; R.unit = u;&#10;      R.formula = &#x27;V = C \/ T^n&#x27;;&#10;      R.steps.push(&#x27;V = &#x27; + g(v.C) + &#x27; \/ &#x27; + g(v.T) + &#x27;^&#x27; + g(v.n));&#10;      R.steps.push(&#x27;T^n = &#x27; + g(v.T) + &#x27;^&#x27; + g(v.n) + &#x27; = &#x27; + g(tn));&#10;      R.steps.push(&#x27;V = &#x27; + g(v.C) + &#x27; \/ &#x27; + g(tn) + &#x27; = &#x27; + fx(R.value) + &#x27; &#x27; + u);&#10;      R.sub = &#x27;For a target tool life of &#x27; + g(v.T) + &#x27; min&#x27;;&#10;    } else {&#10;      \/\/ C = V \u00d7 T^n&#10;      var tn2 = Math.pow(v.T, v.n);&#10;      R.value = v.V * tn2;&#10;      R.label = &#x27;Taylor Constant (C)&#x27;; R.unit = u;&#10;      R.formula = &#x27;C = V \u00d7 T^n&#x27;;&#10;      R.steps.push(&#x27;C = &#x27; + g(v.V) + &#x27; \u00d7 &#x27; + g(v.T) + &#x27;^&#x27; + g(v.n));&#10;      R.steps.push(&#x27;T^n = &#x27; + g(v.T) + &#x27;^&#x27; + g(v.n) + &#x27; = &#x27; + g(tn2));&#10;      R.steps.push(&#x27;C = &#x27; + g(v.V) + &#x27; \u00d7 &#x27; + g(tn2) + &#x27; = &#x27; + fx(R.value) + &#x27; &#x27; + u);&#10;      R.sub = &#x27;Cutting speed that would give a 1-minute tool life&#x27;;&#10;    }&#10;&#10;    if (!isFinite(R.value) || R.value &lt;= 0) {&#10;      showErrors([&#x27;The result is outside the numeric range that can be represented (for example, a very small n produces an extremely large exponent). Check the magnitude of your inputs.&#x27;]);&#10;      return false;&#10;    }&#10;    render(R);&#10;    return true;&#10;  }&#10;&#10;  \/* ---------- rendering ---------- *\/&#10;  function showErrors(errs) {&#10;    var box = $(&#x27;tlc-error&#x27;);&#10;    box.innerHTML = &#x27;&lt;strong&gt;Please correct the following input&#x27; + (errs.length &gt; 1 ? &#x27;s&#x27; : &#x27;&#x27;) + &#x27;:&lt;\/strong&gt;&lt;ul&gt;&#x27; +&#10;      errs.map(function (e) { return &#x27;&lt;li&gt;&#x27; + esc(e) + &#x27;&lt;\/li&gt;&#x27;; }).join(&#x27;&#x27;) + &#x27;&lt;\/ul&gt;&#x27;;&#10;    box.hidden = false;&#10;    $(&#x27;tlc-result-body&#x27;).hidden = true;&#10;  }&#10;  function render(R) {&#10;    $(&#x27;tlc-error&#x27;).hidden = true;&#10;    $(&#x27;tlc-result-body&#x27;).hidden = false;&#10;    $(&#x27;tlc-r-label&#x27;).textContent = R.label;&#10;    $(&#x27;tlc-r-value&#x27;).textContent = fx(R.value);&#10;    $(&#x27;tlc-r-unit&#x27;).textContent = R.unit;&#10;    $(&#x27;tlc-r-sub&#x27;).textContent = R.sub;&#10;    $(&#x27;tlc-d-formula&#x27;).textContent = R.formula;&#10;    $(&#x27;tlc-d-steps&#x27;).innerHTML = R.steps.map(function (s) { return &#x27;&lt;li&gt;&#x27; + esc(s) + &#x27;&lt;\/li&gt;&#x27;; }).join(&#x27;&#x27;);&#10;  }&#10;  function hideResults() {&#10;    $(&#x27;tlc-results&#x27;).hidden = true;&#10;    $(&#x27;tlc-error&#x27;).hidden = true;&#10;  }&#10;&#10;  \/* ---------- unit switching: convert V and C so the values stay equivalent ---------- *\/&#10;  function setUnit(newUnit) {&#10;    if (newUnit === unit) return;&#10;    var f = newUnit === &#x27;ft&#x27; ? FT_PER_M : 1 \/ FT_PER_M;&#10;    [&#x27;V&#x27;, &#x27;C&#x27;].forEach(function (k) {&#10;      var p = parseNum($(&#x27;tlc-&#x27; + k).value);&#10;      if (p.ok &amp;&amp; p.n &gt; 0) $(&#x27;tlc-&#x27; + k).value = String(Number((p.n * f).toPrecision(6)));&#10;    });&#10;    unit = newUnit;&#10;    Array.prototype.forEach.call(root.querySelectorAll(&#x27;.tlc-su&#x27;), function (s) { s.textContent = UNIT_SYM[unit]; });&#10;  }&#10;&#10;  \/* ---------- events ---------- *\/&#10;  Array.prototype.forEach.call(root.querySelectorAll(&#x27;input[name=&quot;tlc-mode&quot;]&#x27;), function (r) {&#10;    r.addEventListener(&#x27;change&#x27;, function () { applyMode(); hideResults(); });&#10;  });&#10;&#10;  $(&#x27;tlc-unit&#x27;).addEventListener(&#x27;change&#x27;, function () {&#10;    setUnit(this.value);&#10;    if (!$(&#x27;tlc-results&#x27;).hidden) compute();&#10;  });&#10;&#10;  root.addEventListener(&#x27;input&#x27;, function (e) {&#10;    var t = e.target;&#10;    if (!t.classList || !t.classList.contains(&#x27;tlc-input&#x27;)) return;&#10;    var key = t.id.replace(&#x27;tlc-&#x27;, &#x27;&#x27;);&#10;    if (t.classList.contains(&#x27;tlc-invalid&#x27;) &amp;&amp; !check(key)) setErr(key, null);&#10;  });&#10;&#10;  $(&#x27;tlc-form&#x27;).addEventListener(&#x27;submit&#x27;, function (e) {&#10;    e.preventDefault();&#10;    var res = $(&#x27;tlc-results&#x27;), first = res.hidden;&#10;    res.hidden = false;&#10;    var ok = compute();&#10;    if (!ok) {&#10;      var bad = root.querySelector(&#x27;.tlc-invalid&#x27;);&#10;      if (bad) bad.focus();&#10;    } else if (first &amp;&amp; res.scrollIntoView) {&#10;      res.scrollIntoView({ behavior: &#x27;smooth&#x27;, block: &#x27;nearest&#x27; });&#10;    }&#10;  });&#10;&#10;  \/* ---------- init: pre-fill with example values (carbide on steel) ---------- *\/&#10;  KEYS.forEach(function (k) { $(&#x27;tlc-&#x27; + k).value = EXAMPLE.m[k]; });&#10;  applyMode();&#10;})();&#10;&lt;\/script&gt;&#10;&lt;script&gt;&#10;\/* Auto-fit height when embedded in an iframe (e.g. WordPress via srcdoc). Harmless when opened directly. *\/&#10;(function () {&#10;  var f = null;&#10;  try { f = window.frameElement; } catch (e) { f = null; }&#10;  if (!f) return;&#10;  var root = document.getElementById(&#x27;tlc-app&#x27;);&#10;  function fit() {&#10;    var h = Math.ceil((root || document.body).getBoundingClientRect().height);&#10;    if (h &gt; 0) f.style.setProperty(&#x27;height&#x27;, h + &#x27;px&#x27;, &#x27;important&#x27;);&#10;  }&#10;  fit();&#10;  if (window.ResizeObserver) new ResizeObserver(fit).observe(root || document.body);&#10;  window.addEventListener(&#x27;load&#x27;, fit);&#10;  window.addEventListener(&#x27;resize&#x27;, fit);&#10;  setTimeout(fit, 300);&#10;})();&#10;&lt;\/script&gt;&#10;&lt;\/body&gt;&#10;&lt;\/html&gt;&#10;\"><\/iframe>\n","protected":false},"excerpt":{"rendered":"<p>The Tool Life Calculator uses Taylor\u2019s tool life equation to estimate how long a cutting tool can operate under specified machining conditions. Enter the cutting&#8230;<\/p>","protected":false},"author":2,"featured_media":25027,"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_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[8808],"tags":[3800,8470,8825,8824],"class_list":["post-25026","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-manufacturing-and-processes","tag-cnc-machining","tag-cutting-speed","tag-taylor-equation","tag-tool-life","pmpro-has-access"],"acf":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/www.mechstream.com\/wp-content\/uploads\/2026\/10\/Tool-Life-Calculator.png","_links":{"self":[{"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/posts\/25026","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/comments?post=25026"}],"version-history":[{"count":2,"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/posts\/25026\/revisions"}],"predecessor-version":[{"id":25032,"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/posts\/25026\/revisions\/25032"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/media\/25027"}],"wp:attachment":[{"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/media?parent=25026"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/categories?post=25026"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/tags?post=25026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}