{"id":24586,"date":"2026-08-11T00:32:46","date_gmt":"2026-08-11T00:32:46","guid":{"rendered":"https:\/\/www.mechstream.com\/?p=24586"},"modified":"2026-08-11T00:33:17","modified_gmt":"2026-08-11T00:33:17","slug":"gear-life-estimation-calculator","status":"publish","type":"post","link":"https:\/\/www.mechstream.com\/es\/gear-life-estimation-calculator\/","title":{"rendered":"Gear Life Estimation Calculator"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The <strong>Gear Life Estimation Calculator<\/strong> is a practical engineering tool designed to estimate the expected service life of gears under specific operating conditions. By entering key parameters such as rotational speed, operating hours, load cycles, material properties, and gear loading conditions, users can quickly evaluate gear durability and expected fatigue life. The <strong>Gear Life Estimation Calculator<\/strong> helps engineers and designers assess gear reliability, compare design options, plan maintenance intervals, and reduce the risk of premature gear failure. It is suitable for gearboxes, industrial machinery, automotive transmissions, and other mechanical power transmission systems. Whether you are developing a new gear system or evaluating an existing design, this calculator provides a convenient way to support gear life analysis and improve the reliability and efficiency of mechanical equipment.<\/p>\n\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Gear Life Estimation Calculator | ISO 6336 \/ AGMA<\/title>\n  <style>\n    \/* Scoped styles \u2014 safe for WordPress embed; does not affect page outside #gear-life-calculator *\/\n    #gear-life-calculator,\n    #gear-life-calculator *,\n    #gear-life-calculator *::before,\n    #gear-life-calculator *::after {\n      box-sizing: border-box;\n    }\n\n    #gear-life-calculator {\n      --glc-bg-primary: #0f1419;\n      --glc-bg-secondary: #1a2332;\n      --glc-bg-card: #1e2a3a;\n      --glc-bg-input: #152030;\n      --glc-border: #2d3f56;\n      --glc-border-focus: #3b82f6;\n      --glc-text-primary: #e8edf4;\n      --glc-text-secondary: #94a3b8;\n      --glc-text-muted: #64748b;\n      --glc-accent: #3b82f6;\n      --glc-accent-hover: #2563eb;\n      --glc-accent-glow: rgba(59, 130, 246, 0.25);\n      --glc-success: #22c55e;\n      --glc-warning: #f59e0b;\n      --glc-danger: #ef4444;\n      --glc-success-bg: rgba(34, 197, 94, 0.12);\n      --glc-warning-bg: rgba(245, 158, 11, 0.12);\n      --glc-danger-bg: rgba(239, 68, 68, 0.12);\n      --glc-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);\n      --glc-radius: 12px;\n      --glc-radius-sm: 8px;\n      --glc-font-mono: Consolas, Monaco, 'Courier New', monospace;\n      --glc-transition: 0.2s ease;\n      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n      background: var(--glc-bg-primary);\n      color: var(--glc-text-primary);\n      line-height: 1.6;\n      width: 100%;\n      max-width: 1000px;\n      margin: 0 auto;\n      isolation: isolate;\n    }\n\n    #gear-life-calculator[data-theme=\"light\"] {\n      --glc-bg-primary: #ffffff;\n      --glc-bg-secondary: #ffffff;\n      --glc-bg-card: #ffffff;\n      --glc-bg-input: #f8fafc;\n      --glc-border: #cbd5e1;\n      --glc-border-focus: #2563eb;\n      --glc-text-primary: #0f172a;\n      --glc-text-secondary: #475569;\n      --glc-text-muted: #94a3b8;\n      --glc-accent-glow: rgba(37, 99, 235, 0.15);\n      --glc-shadow: 0 4px 24px rgba(15, 23, 42, 0.08);\n    }\n\n    #gear-life-calculator .glc-main-container {\n      width: 100%;\n      padding: 1.5rem;\n      display: flex;\n      flex-direction: column;\n      gap: 1.5rem;\n    }\n\n    #gear-life-calculator .glc-panel {\n      background: var(--glc-bg-card);\n      border: 1px solid var(--glc-border);\n      border-radius: var(--glc-radius);\n      box-shadow: var(--glc-shadow);\n      overflow: hidden;\n    }\n\n    #gear-life-calculator .glc-panel-header {\n      padding: 1rem 1.25rem;\n      border-bottom: 1px solid var(--glc-border);\n      display: flex;\n      align-items: center;\n      gap: 0.5rem;\n      font-weight: 600;\n      font-size: 0.95rem;\n      width: 100%;\n    }\n\n    #gear-life-calculator .glc-panel-header .glc-badge {\n      font-size: 0.65rem;\n      font-weight: 600;\n      text-transform: uppercase;\n      letter-spacing: 0.06em;\n      background: var(--glc-accent-glow);\n      color: var(--glc-accent);\n      padding: 0.15rem 0.5rem;\n      border-radius: 4px;\n    }\n\n    #gear-life-calculator .glc-panel-body { padding: 1.25rem; }\n\n    #gear-life-calculator .glc-form-grid {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 1rem;\n    }\n\n    @media (max-width: 600px) {\n      #gear-life-calculator .glc-form-grid { grid-template-columns: 1fr; }\n    }\n\n    #gear-life-calculator .glc-form-group {\n      display: flex;\n      flex-direction: column;\n      gap: 0.35rem;\n    }\n\n    #gear-life-calculator .glc-form-group.glc-full-width { grid-column: 1 \/ -1; }\n\n    #gear-life-calculator label {\n      font-size: 0.8rem;\n      font-weight: 500;\n      color: var(--glc-text-secondary);\n      margin: 0;\n    }\n\n    #gear-life-calculator label .glc-symbol {\n      font-family: var(--glc-font-mono);\n      color: var(--glc-accent);\n      font-weight: 600;\n    }\n\n    #gear-life-calculator input,\n    #gear-life-calculator select {\n      background: var(--glc-bg-input);\n      border: 1px solid var(--glc-border);\n      border-radius: var(--glc-radius-sm);\n      padding: 0.6rem 0.75rem;\n      color: var(--glc-text-primary);\n      font-size: 0.9rem;\n      transition: border-color var(--glc-transition), box-shadow var(--glc-transition);\n      width: 100%;\n      margin: 0;\n      line-height: normal;\n    }\n\n    #gear-life-calculator input:focus,\n    #gear-life-calculator select:focus {\n      outline: none;\n      border-color: var(--glc-border-focus);\n      box-shadow: 0 0 0 3px var(--glc-accent-glow);\n    }\n\n    #gear-life-calculator .glc-input-row {\n      display: flex;\n      gap: 0.5rem;\n      align-items: stretch;\n    }\n\n    #gear-life-calculator .glc-input-row input { flex: 1; }\n\n    #gear-life-calculator .glc-unit-select {\n      width: auto;\n      min-width: 72px;\n      flex-shrink: 0;\n    }\n\n    #gear-life-calculator .glc-toggle-group {\n      display: flex;\n      background: var(--glc-bg-input);\n      border: 1px solid var(--glc-border);\n      border-radius: var(--glc-radius-sm);\n      overflow: hidden;\n    }\n\n    #gear-life-calculator .glc-toggle-btn {\n      flex: 1;\n      padding: 0.55rem 0.75rem;\n      border: none;\n      background: transparent;\n      color: var(--glc-text-secondary);\n      font-size: 0.82rem;\n      cursor: pointer;\n      transition: background var(--glc-transition), color var(--glc-transition);\n      font-family: inherit;\n    }\n\n    #gear-life-calculator .glc-toggle-btn.glc-active {\n      background: var(--glc-accent);\n      color: #fff;\n      font-weight: 600;\n    }\n\n    #gear-life-calculator .glc-section-divider {\n      grid-column: 1 \/ -1;\n      border-top: 1px solid var(--glc-border);\n      margin: 0.25rem 0;\n      padding-top: 0.75rem;\n      font-size: 0.75rem;\n      font-weight: 600;\n      text-transform: uppercase;\n      letter-spacing: 0.05em;\n      color: var(--glc-text-muted);\n    }\n\n    #gear-life-calculator .glc-diameter-fields,\n    #gear-life-calculator .glc-module-fields { display: contents; }\n\n    #gear-life-calculator .glc-diameter-fields.glc-hidden,\n    #gear-life-calculator .glc-module-fields.glc-hidden,\n    #gear-life-calculator .glc-hidden { display: none !important; }\n\n    #gear-life-calculator .glc-calc-btn {\n      grid-column: 1 \/ -1;\n      width: 33.333%;\n      justify-self: center;\n      background: linear-gradient(135deg, var(--glc-accent), #6366f1);\n      color: #fff;\n      border: none;\n      border-radius: var(--glc-radius-sm);\n      padding: 0.875rem 1.5rem;\n      font-size: 1rem;\n      font-weight: 600;\n      cursor: pointer;\n      transition: transform 0.15s ease, box-shadow var(--glc-transition);\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      margin-top: 0.5rem;\n      font-family: inherit;\n    }\n\n    #gear-life-calculator .glc-calc-btn:hover {\n      transform: translateY(-1px);\n      box-shadow: 0 6px 20px var(--glc-accent-glow);\n    }\n\n    #gear-life-calculator .glc-calc-btn:active { transform: translateY(0); }\n\n    #gear-life-calculator .glc-theme-toggle {\n      background: var(--glc-bg-input);\n      border: 1px solid var(--glc-border);\n      border-radius: var(--glc-radius-sm);\n      padding: 0.4rem 0.75rem;\n      cursor: pointer;\n      color: var(--glc-text-primary);\n      font-size: 0.8rem;\n      display: flex;\n      align-items: center;\n      gap: 0.4rem;\n      transition: border-color var(--glc-transition), background var(--glc-transition);\n      margin-left: auto;\n      font-family: inherit;\n    }\n\n    #gear-life-calculator .glc-theme-toggle:hover { border-color: var(--glc-accent); }\n\n    #gear-life-calculator .glc-results-grid {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 1rem;\n    }\n\n    @media (max-width: 600px) {\n      #gear-life-calculator .glc-results-grid { grid-template-columns: 1fr; }\n    }\n\n    #gear-life-calculator .glc-result-card {\n      background: var(--glc-bg-input);\n      border: 1px solid var(--glc-border);\n      border-radius: var(--glc-radius-sm);\n      padding: 1rem;\n    }\n\n    #gear-life-calculator .glc-result-card.glc-full-width { grid-column: 1 \/ -1; }\n\n    #gear-life-calculator .glc-result-card h3 {\n      font-size: 0.75rem;\n      text-transform: uppercase;\n      letter-spacing: 0.05em;\n      color: var(--glc-text-muted);\n      margin: 0 0 0.5rem;\n      font-weight: 600;\n    }\n\n    #gear-life-calculator .glc-result-value {\n      font-size: 1.75rem;\n      font-weight: 700;\n      font-family: var(--glc-font-mono);\n      letter-spacing: -0.02em;\n      line-height: 1.2;\n      margin: 0;\n    }\n\n    #gear-life-calculator .glc-result-sub {\n      font-size: 0.82rem;\n      color: var(--glc-text-secondary);\n      margin-top: 0.25rem;\n    }\n\n    #gear-life-calculator .glc-stress-bar-container { margin-top: 0.75rem; }\n\n    #gear-life-calculator .glc-stress-bar-label {\n      display: flex;\n      justify-content: space-between;\n      font-size: 0.78rem;\n      margin-bottom: 0.3rem;\n    }\n\n    #gear-life-calculator .glc-stress-bar-label span:first-child { color: var(--glc-text-secondary); }\n    #gear-life-calculator .glc-stress-bar-label span:last-child {\n      font-family: var(--glc-font-mono);\n      font-weight: 600;\n    }\n\n    #gear-life-calculator .glc-stress-bar {\n      height: 10px;\n      background: var(--glc-border);\n      border-radius: 5px;\n      overflow: hidden;\n    }\n\n    #gear-life-calculator .glc-stress-bar-fill {\n      height: 100%;\n      border-radius: 5px;\n      transition: width 0.4s ease, background 0.4s ease;\n      width: 0%;\n    }\n\n    #gear-life-calculator .glc-stress-bar-fill.glc-safe { background: linear-gradient(90deg, var(--glc-success), #4ade80); }\n    #gear-life-calculator .glc-stress-bar-fill.glc-warning { background: linear-gradient(90deg, var(--glc-warning), #fbbf24); }\n    #gear-life-calculator .glc-stress-bar-fill.glc-danger { background: linear-gradient(90deg, var(--glc-danger), #f87171); }\n\n    #gear-life-calculator .glc-safety-badge {\n      display: inline-flex;\n      align-items: center;\n      gap: 0.5rem;\n      padding: 0.5rem 1rem;\n      border-radius: var(--glc-radius-sm);\n      font-weight: 600;\n      font-size: 0.9rem;\n      margin-top: 0.5rem;\n    }\n\n    #gear-life-calculator .glc-safety-badge.glc-safe { background: var(--glc-success-bg); color: var(--glc-success); }\n    #gear-life-calculator .glc-safety-badge.glc-warning { background: var(--glc-warning-bg); color: var(--glc-warning); }\n    #gear-life-calculator .glc-safety-badge.glc-danger { background: var(--glc-danger-bg); color: var(--glc-danger); }\n\n    #gear-life-calculator .glc-safety-icon { font-size: 1.2rem; }\n\n    #gear-life-calculator .glc-gauge-container {\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      padding: 0.5rem 0;\n    }\n\n    #gear-life-calculator .glc-gauge-svg { width: 100%; max-width: 260px; height: auto; }\n\n    #gear-life-calculator .glc-gauge-value {\n      font-size: 1.5rem;\n      font-weight: 700;\n      font-family: var(--glc-font-mono);\n      margin-top: -0.5rem;\n    }\n\n    #gear-life-calculator .glc-gauge-label {\n      font-size: 0.78rem;\n      color: var(--glc-text-muted);\n      text-transform: uppercase;\n      letter-spacing: 0.05em;\n    }\n\n    #gear-life-calculator .glc-chart-container {\n      position: relative;\n      width: 100%;\n      height: 220px;\n    }\n\n    #gear-life-calculator .glc-chart-container canvas {\n      width: 100% !important;\n      height: 100% !important;\n    }\n\n    #gear-life-calculator .glc-chart-legend {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 1rem;\n      margin-top: 0.75rem;\n      font-size: 0.75rem;\n      color: var(--glc-text-secondary);\n    }\n\n    #gear-life-calculator .glc-legend-item {\n      display: flex;\n      align-items: center;\n      gap: 0.35rem;\n    }\n\n    #gear-life-calculator .glc-legend-dot {\n      width: 10px;\n      height: 10px;\n      border-radius: 50%;\n    }\n\n    #gear-life-calculator .glc-detail-table {\n      width: 100%;\n      border-collapse: collapse;\n      font-size: 0.82rem;\n      margin-top: 0.5rem;\n    }\n\n    #gear-life-calculator .glc-detail-table td {\n      padding: 0.4rem 0;\n      border-bottom: 1px solid var(--glc-border);\n    }\n\n    #gear-life-calculator .glc-detail-table td:first-child { color: var(--glc-text-secondary); }\n    #gear-life-calculator .glc-detail-table td:last-child {\n      text-align: right;\n      font-family: var(--glc-font-mono);\n      font-weight: 500;\n    }\n  <\/style>\n<\/head>\n<body>\n  <!-- WordPress: copy everything inside this div (including style & script) into a Custom HTML block -->\n  <div id=\"gear-life-calculator\" data-theme=\"light\">\n    <main class=\"glc-main-container\">\n      <section class=\"glc-panel glc-input-section\">\n        <div class=\"glc-panel-header\">\n          <span>Input Parameters<\/span>\n          <span class=\"glc-badge\">Engineering<\/span>\n          <button type=\"button\" class=\"glc-theme-toggle\" id=\"glc-themeToggle\" aria-label=\"Toggle theme\">\n            <span id=\"glc-themeIcon\">\u2600<\/span>\n            <span id=\"glc-themeLabel\">Light Mode<\/span>\n          <\/button>\n        <\/div>\n        <div class=\"glc-panel-body\">\n          <form id=\"glc-gearForm\" class=\"glc-form-grid\" novalidate>\n            <div class=\"glc-form-group glc-full-width\">\n              <label for=\"glc-gearType\">Gear Type<\/label>\n              <select id=\"glc-gearType\">\n                <option value=\"spur\" selected>Spur Gear<\/option>\n                <option value=\"helical\">Helical Gear<\/option>\n                <option value=\"bevel\">Bevel Gear<\/option>\n              <\/select>\n            <\/div>\n\n            <div class=\"glc-section-divider\">Power &amp; Speed<\/div>\n\n            <div class=\"glc-form-group\">\n              <label for=\"glc-power\">Applied Power <span class=\"glc-symbol\">P<\/span><\/label>\n              <div class=\"glc-input-row\">\n                <input type=\"number\" id=\"glc-power\" value=\"15\" min=\"0.01\" step=\"0.1\">\n                <select id=\"glc-powerUnit\" class=\"glc-unit-select\">\n                  <option value=\"kW\" selected>kW<\/option>\n                  <option value=\"HP\">HP<\/option>\n                <\/select>\n              <\/div>\n            <\/div>\n\n            <div class=\"glc-form-group\">\n              <label for=\"glc-speed\">Rotational Speed <span class=\"glc-symbol\">n<\/span> (RPM)<\/label>\n              <input type=\"number\" id=\"glc-speed\" value=\"1450\" min=\"1\" step=\"1\">\n            <\/div>\n\n            <div class=\"glc-section-divider\">Geometry<\/div>\n\n            <div class=\"glc-form-group glc-full-width\">\n              <label>Size Input Method<\/label>\n              <div class=\"glc-toggle-group\" id=\"glc-sizeMethodToggle\">\n                <button type=\"button\" class=\"glc-toggle-btn glc-active\" data-method=\"diameter\">Pitch Diameter (d)<\/button>\n                <button type=\"button\" class=\"glc-toggle-btn\" data-method=\"module\">Module &amp; Teeth (m, Z)<\/button>\n              <\/div>\n            <\/div>\n\n            <div class=\"glc-form-group glc-diameter-fields\" id=\"glc-diameterGroup\">\n              <label for=\"glc-pitchDiameter\">Pitch Diameter <span class=\"glc-symbol\">d<\/span> (mm)<\/label>\n              <input type=\"number\" id=\"glc-pitchDiameter\" value=\"120\" min=\"1\" step=\"0.1\">\n            <\/div>\n\n            <div class=\"glc-form-group glc-module-fields glc-hidden\" id=\"glc-moduleGroup\">\n              <label for=\"glc-module\">Module <span class=\"glc-symbol\">m<\/span> (mm)<\/label>\n              <input type=\"number\" id=\"glc-module\" value=\"3\" min=\"0.5\" step=\"0.5\">\n            <\/div>\n\n            <div class=\"glc-form-group glc-module-fields glc-hidden\" id=\"glc-teethGroup\">\n              <label for=\"glc-teeth\">Number of Teeth <span class=\"glc-symbol\">Z<\/span><\/label>\n              <input type=\"number\" id=\"glc-teeth\" value=\"40\" min=\"6\" step=\"1\">\n            <\/div>\n\n            <div class=\"glc-form-group\">\n              <label for=\"glc-faceWidth\">Face Width <span class=\"glc-symbol\">b<\/span> (mm)<\/label>\n              <input type=\"number\" id=\"glc-faceWidth\" value=\"30\" min=\"1\" step=\"1\">\n            <\/div>\n\n            <div class=\"glc-section-divider\">Material &amp; Factors<\/div>\n\n            <div class=\"glc-form-group\">\n              <label>Material Strength Input<\/label>\n              <div class=\"glc-toggle-group\" id=\"glc-strengthMethodToggle\">\n                <button type=\"button\" class=\"glc-toggle-btn glc-active\" data-method=\"yield\">Yield Strength (S<sub>y<\/sub>)<\/button>\n                <button type=\"button\" class=\"glc-toggle-btn\" data-method=\"hardness\">Hardness (HB\/HRC)<\/button>\n              <\/div>\n            <\/div>\n\n            <div class=\"glc-form-group\" id=\"glc-yieldGroup\">\n              <label for=\"glc-yieldStrength\">Yield Strength <span class=\"glc-symbol\">S<sub>y<\/sub><\/span> (MPa)<\/label>\n              <input type=\"number\" id=\"glc-yieldStrength\" value=\"850\" min=\"100\" step=\"10\">\n            <\/div>\n\n            <div class=\"glc-form-group glc-hidden\" id=\"glc-hardnessGroup\">\n              <label for=\"glc-hardness\">Hardness Value<\/label>\n              <div class=\"glc-input-row\">\n                <input type=\"number\" id=\"glc-hardness\" value=\"300\" min=\"100\" step=\"1\">\n                <select id=\"glc-hardnessUnit\" class=\"glc-unit-select\">\n                  <option value=\"HB\" selected>HB<\/option>\n                  <option value=\"HRC\">HRC<\/option>\n                <\/select>\n              <\/div>\n            <\/div>\n\n            <div class=\"glc-form-group\">\n              <label for=\"glc-serviceFactor\">Service Factor <span class=\"glc-symbol\">K<sub>a<\/sub><\/span> (1.0 \u2013 2.0)<\/label>\n              <input type=\"number\" id=\"glc-serviceFactor\" value=\"1.25\" min=\"1.0\" max=\"2.0\" step=\"0.05\">\n            <\/div>\n\n            <div class=\"glc-form-group\">\n              <label for=\"glc-lubrication\">Lubrication Quality<\/label>\n              <select id=\"glc-lubrication\">\n                <option value=\"poor\">Poor<\/option>\n                <option value=\"average\" selected>Average<\/option>\n                <option value=\"excellent\">Excellent<\/option>\n              <\/select>\n            <\/div>\n\n            <button type=\"submit\" class=\"glc-calc-btn\" id=\"glc-calcBtn\">Calculate<\/button>\n          <\/form>\n        <\/div>\n      <\/section>\n\n      <section class=\"glc-panel glc-results-section\" id=\"glc-resultsSection\" style=\"display:none;\">\n        <div class=\"glc-panel-header\">\n          <span>Analysis Results<\/span>\n          <span class=\"glc-badge\">Output<\/span>\n        <\/div>\n        <div class=\"glc-panel-body\" id=\"glc-resultsBody\">\n          <div id=\"glc-resultsContent\">\n            <div class=\"glc-results-grid\">\n              <div class=\"glc-result-card\">\n                <h3>Estimated Life (Hours)<\/h3>\n                <div class=\"glc-result-value\" id=\"glc-lifeHours\">\u2014<\/div>\n                <div class=\"glc-result-sub\" id=\"glc-lifeYears\">\u2014<\/div>\n              <\/div>\n              <div class=\"glc-result-card\">\n                <h3>Total Load Cycles (N)<\/h3>\n                <div class=\"glc-result-value\" id=\"glc-loadCycles\">\u2014<\/div>\n                <div class=\"glc-result-sub\" id=\"glc-cyclesFormatted\">\u2014<\/div>\n              <\/div>\n\n              <div class=\"glc-result-card glc-full-width\">\n                <h3>Transmitted Tangential Force<\/h3>\n                <div class=\"glc-result-value\" id=\"glc-tangentialForce\">\u2014<\/div>\n                <div class=\"glc-result-sub\">F<sub>t<\/sub> = 2T \/ d<\/div>\n              <\/div>\n\n              <div class=\"glc-result-card glc-full-width\">\n                <h3>Stress Analysis<\/h3>\n                <div class=\"glc-stress-bar-container\">\n                  <div class=\"glc-stress-bar-label\">\n                    <span>Bending Stress \u03c3<sub>b<\/sub><\/span>\n                    <span id=\"glc-bendingStressVal\">\u2014 MPa<\/span>\n                  <\/div>\n                  <div class=\"glc-stress-bar\">\n                    <div class=\"glc-stress-bar-fill glc-safe\" id=\"glc-bendingBar\"><\/div>\n                  <\/div>\n                <\/div>\n                <div class=\"glc-stress-bar-container\">\n                  <div class=\"glc-stress-bar-label\">\n                    <span>Contact Stress \u03c3<sub>c<\/sub><\/span>\n                    <span id=\"glc-contactStressVal\">\u2014 MPa<\/span>\n                  <\/div>\n                  <div class=\"glc-stress-bar\">\n                    <div class=\"glc-stress-bar-fill glc-safe\" id=\"glc-contactBar\"><\/div>\n                  <\/div>\n                <\/div>\n              <\/div>\n\n              <div class=\"glc-result-card glc-full-width\">\n                <h3>Safety Margin Assessment<\/h3>\n                <div class=\"glc-gauge-container\">\n                  <svg class=\"glc-gauge-svg\" viewBox=\"0 0 260 150\" id=\"glc-safetyGauge\">\n                    <defs>\n                      <linearGradient id=\"glc-gaugeGrad\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\">\n                        <stop offset=\"0%\" style=\"stop-color:#ef4444\"\/>\n                        <stop offset=\"50%\" style=\"stop-color:#f59e0b\"\/>\n                        <stop offset=\"100%\" style=\"stop-color:#22c55e\"\/>\n                      <\/linearGradient>\n                    <\/defs>\n                    <path d=\"M 30 130 A 100 100 0 0 1 230 130\" fill=\"none\" stroke=\"var(--glc-border)\" stroke-width=\"18\" stroke-linecap=\"round\"\/>\n                    <path id=\"glc-gaugeArc\" d=\"M 30 130 A 100 100 0 0 1 230 130\" fill=\"none\" stroke=\"url(#glc-gaugeGrad)\" stroke-width=\"18\" stroke-linecap=\"round\" stroke-dasharray=\"314.16\" stroke-dashoffset=\"314.16\"\/>\n                    <line id=\"glc-gaugeNeedle\" x1=\"130\" y1=\"130\" x2=\"130\" y2=\"45\" stroke=\"var(--glc-text-primary)\" stroke-width=\"3\" stroke-linecap=\"round\" transform=\"rotate(-90 130 130)\"\/>\n                    <circle cx=\"130\" cy=\"130\" r=\"8\" fill=\"var(--glc-text-primary)\"\/>\n                  <\/svg>\n                  <div class=\"glc-gauge-value\" id=\"glc-safetyFactorVal\">\u2014<\/div>\n                  <div class=\"glc-gauge-label\">Fatigue Safety Factor (SF)<\/div>\n                <\/div>\n                <div class=\"glc-safety-badge glc-safe\" id=\"glc-safetyBadge\">\n                  <span class=\"glc-safety-icon\" id=\"glc-safetyIcon\">\u2713<\/span>\n                  <span id=\"glc-safetyText\">\u2014<\/span>\n                <\/div>\n              <\/div>\n\n              <div class=\"glc-result-card glc-full-width\">\n                <h3>S-N Curve \u2014 Stress vs. Life<\/h3>\n                <div class=\"glc-chart-container\">\n                  <canvas id=\"glc-snChart\"><\/canvas>\n                <\/div>\n                <div class=\"glc-chart-legend\">\n                  <div class=\"glc-legend-item\">\n                    <div class=\"glc-legend-dot\" style=\"background:#3b82f6;\"><\/div>\n                    <span>S-N Curve (Bending)<\/span>\n                  <\/div>\n                  <div class=\"glc-legend-item\">\n                    <div class=\"glc-legend-dot\" style=\"background:#ef4444;\"><\/div>\n                    <span>Operating Point<\/span>\n                  <\/div>\n                  <div class=\"glc-legend-item\">\n                    <div class=\"glc-legend-dot\" style=\"background:#22c55e;\"><\/div>\n                    <span>Endurance Limit<\/span>\n                  <\/div>\n                <\/div>\n              <\/div>\n\n              <div class=\"glc-result-card glc-full-width\">\n                <h3>Calculation Details<\/h3>\n                <table class=\"glc-detail-table\" id=\"glc-detailTable\">\n                  <tbody><\/tbody>\n                <\/table>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/section>\n    <\/main>\n  <\/div>\n\n  <script>\n    (function () {\n      'use strict';\n\n      var root = document.getElementById('gear-life-calculator');\n      if (!root) return;\n\n      function $(id) { return root.querySelector('#' + id); }\n\n      var GEAR_TYPE_FACTORS = { spur: 1.0, helical: 0.88, bevel: 1.12 };\n      var LUBRICATION_FACTORS = { poor: 1.30, average: 1.00, excellent: 0.82 };\n      var HP_TO_KW = 0.7457;\n      var SN_EXPONENT = 9.0;\n      var SN_REF_CYCLES = 1e6;\n      var CONTACT_SN_EXPONENT = 11.0;\n\n      function lewisFormFactor(Z) {\n        if (Z < 12) return 0.22;\n        if (Z < 17) return 0.28;\n        if (Z < 25) return 0.32;\n        if (Z < 35) return 0.36;\n        if (Z < 50) return 0.40;\n        if (Z < 80) return 0.43;\n        return 0.46;\n      }\n\n      function hardnessToYield(hb, unit) {\n        if (unit === 'HRC') {\n          var hbEquiv = hb < 20 ? 228 : Math.pow(10, (hb + 12.5) \/ 10) * 1.1;\n          return 0.36 * hbEquiv + 180;\n        }\n        return 0.36 * hb + 180;\n      }\n\n      var form = $('glc-gearForm');\n      var themeToggle = $('glc-themeToggle');\n      var themeIcon = $('glc-themeIcon');\n      var themeLabel = $('glc-themeLabel');\n      var resultsSection = $('glc-resultsSection');\n      var resultsContent = $('glc-resultsContent');\n      var snCanvas = $('glc-snChart');\n      var snCtx = snCanvas.getContext('2d');\n\n      var sizeMethod = 'diameter';\n      var strengthMethod = 'yield';\n      var hasCalculated = false;\n      var lastResults = null;\n\n      function initTheme() {\n        var saved = localStorage.getItem('glcGearCalcTheme') || 'light';\n        root.setAttribute('data-theme', saved);\n        updateThemeUI(saved);\n      }\n\n      function updateThemeUI(theme) {\n        if (theme === 'light') {\n          themeIcon.textContent = '\ud83c\udf19';\n          themeLabel.textContent = 'Dark Mode';\n        } else {\n          themeIcon.textContent = '\u2600';\n          themeLabel.textContent = 'Light Mode';\n        }\n      }\n\n      themeToggle.addEventListener('click', function () {\n        var current = root.getAttribute('data-theme');\n        var next = current === 'dark' ? 'light' : 'dark';\n        root.setAttribute('data-theme', next);\n        localStorage.setItem('glcGearCalcTheme', next);\n        updateThemeUI(next);\n        if (hasCalculated) drawSNChart(lastResults);\n      });\n\n      $('glc-sizeMethodToggle').addEventListener('click', function (e) {\n        var btn = e.target.closest('.glc-toggle-btn');\n        if (!btn) return;\n        sizeMethod = btn.dataset.method;\n        this.querySelectorAll('.glc-toggle-btn').forEach(function (b) { b.classList.remove('glc-active'); });\n        btn.classList.add('glc-active');\n        var isDiameter = sizeMethod === 'diameter';\n        $('glc-diameterGroup').classList.toggle('glc-hidden', !isDiameter);\n        root.querySelectorAll('.glc-module-fields').forEach(function (el) {\n          el.classList.toggle('glc-hidden', isDiameter);\n        });\n      });\n\n      $('glc-strengthMethodToggle').addEventListener('click', function (e) {\n        var btn = e.target.closest('.glc-toggle-btn');\n        if (!btn) return;\n        strengthMethod = btn.dataset.method;\n        this.querySelectorAll('.glc-toggle-btn').forEach(function (b) { b.classList.remove('glc-active'); });\n        btn.classList.add('glc-active');\n        var isYield = strengthMethod === 'yield';\n        $('glc-yieldGroup').classList.toggle('glc-hidden', !isYield);\n        $('glc-hardnessGroup').classList.toggle('glc-hidden', isYield);\n      });\n\n      function readInputs() {\n        var powerVal = parseFloat($('glc-power').value);\n        var powerUnit = $('glc-powerUnit').value;\n        var P_kW = powerUnit === 'HP' ? powerVal * HP_TO_KW : powerVal;\n\n        var n = parseFloat($('glc-speed').value);\n        var gearType = $('glc-gearType').value;\n        var b = parseFloat($('glc-faceWidth').value);\n        var Ka = parseFloat($('glc-serviceFactor').value);\n        var lubrication = $('glc-lubrication').value;\n\n        var d, m, Z;\n        if (sizeMethod === 'diameter') {\n          d = parseFloat($('glc-pitchDiameter').value);\n          m = d \/ 40;\n          Z = 40;\n        } else {\n          m = parseFloat($('glc-module').value);\n          Z = parseInt($('glc-teeth').value, 10);\n          d = m * Z;\n        }\n\n        var Sy;\n        if (strengthMethod === 'yield') {\n          Sy = parseFloat($('glc-yieldStrength').value);\n        } else {\n          Sy = hardnessToYield(parseFloat($('glc-hardness').value), $('glc-hardnessUnit').value);\n        }\n\n        return { P_kW: P_kW, n: n, d: d, m: m, Z: Z, b: b, Sy: Sy, Ka: Ka, gearType: gearType, lubrication: lubrication };\n      }\n\n      function validateInputs(inp) {\n        return inp.P_kW > 0 && inp.n > 0 && inp.d > 0 && inp.b > 0 && inp.Sy > 0 && inp.Ka >= 1.0 && inp.Ka <= 2.0;\n      }\n\n      function calculate() {\n        var inp = readInputs();\n        if (!validateInputs(inp)) return null;\n\n        var P_kW = inp.P_kW, n = inp.n, d = inp.d, m = inp.m, Z = inp.Z, b = inp.b;\n        var Sy = inp.Sy, Ka = inp.Ka, gearType = inp.gearType, lubrication = inp.lubrication;\n\n        var T = 9550 * P_kW \/ n;\n        var Ft = 2000 * T \/ d;\n        var Y = lewisFormFactor(Z);\n        var gearFactor = GEAR_TYPE_FACTORS[gearType] || 1.0;\n        var lubFactor = LUBRICATION_FACTORS[lubrication] || 1.0;\n        var sigma_b = (Ft \/ (b * m * Y)) * Ka * gearFactor;\n\n        var E = 210000;\n        var rho = d \/ 2;\n        var sigma_c = Math.sqrt((2 * E * Ft) \/ (Math.PI * b * rho)) * Ka * lubFactor * gearFactor;\n\n        var sigma_b_end = 0.45 * Sy;\n        var sigma_c_end = 0.55 * Sy;\n        var sigma_b_allow = sigma_b_end \/ (Ka * lubFactor);\n        var sigma_c_allow = sigma_c_end \/ (Ka * lubFactor);\n        var SF_bending = sigma_b_allow \/ Math.max(sigma_b, 0.001);\n        var SF_contact = sigma_c_allow \/ Math.max(sigma_c, 0.001);\n        var SF = Math.min(SF_bending, SF_contact);\n\n        function cyclesFromStress(stress, endurance, exponent) {\n          if (stress <= endurance) return Infinity;\n          return SN_REF_CYCLES * Math.pow(endurance \/ stress, exponent);\n        }\n\n        var N_bending = cyclesFromStress(sigma_b, sigma_b_end, SN_EXPONENT);\n        var N_contact = cyclesFromStress(sigma_c, sigma_c_end, CONTACT_SN_EXPONENT);\n        var N = Math.min(N_bending, N_contact);\n        var L_h = isFinite(N) ? N \/ (60 * n) : Infinity;\n        var L_years = isFinite(L_h) ? L_h \/ (365.25 * 24) : Infinity;\n        var bendingRatio = Math.min((sigma_b \/ sigma_b_end) * 100, 150);\n        var contactRatio = Math.min((sigma_c \/ sigma_c_end) * 100, 150);\n\n        return {\n          T: T, Ft: Ft, sigma_b: sigma_b, sigma_c: sigma_c,\n          sigma_b_end: sigma_b_end, sigma_c_end: sigma_c_end,\n          SF: SF, SF_bending: SF_bending, SF_contact: SF_contact,\n          N: N, L_h: L_h, L_years: L_years,\n          bendingRatio: bendingRatio, contactRatio: contactRatio,\n          Y: Y, gearFactor: gearFactor, lubFactor: lubFactor, Ka: Ka,\n          inp: inp\n        };\n      }\n\n      function fmtNum(val, decimals) {\n        if (!isFinite(val)) return '\u221e';\n        if (val >= 1e9) return (val \/ 1e9).toFixed(2) + 'B';\n        if (val >= 1e6) return (val \/ 1e6).toFixed(2) + 'M';\n        if (val >= 1e3) return (val \/ 1e3).toFixed(2) + 'K';\n        return val.toFixed(decimals !== undefined ? decimals : 2);\n      }\n\n      function fmtLifeHours(h) {\n        if (!isFinite(h)) return '\u221e (Unlimited)';\n        if (h >= 8760) return fmtNum(h, 0) + ' h';\n        return h.toFixed(0) + ' h';\n      }\n\n      function stressBarClass(ratio) {\n        if (ratio <= 70) return 'glc-safe';\n        if (ratio <= 95) return 'glc-warning';\n        return 'glc-danger';\n      }\n\n      function safetyAssessment(sf) {\n        if (sf >= 1.5) return { cls: 'glc-safe', icon: '\u2713', text: 'Safe \u2014 Adequate fatigue margin' };\n        if (sf >= 1.0) return { cls: 'glc-warning', icon: '\u26a0', text: 'Warning \u2014 Marginal safety margin' };\n        return { cls: 'glc-danger', icon: '\u2715', text: 'High Fatigue Risk \u2014 Redesign recommended' };\n      }\n\n      function updateResults(r) {\n        if (!r) return;\n        lastResults = r;\n        hasCalculated = true;\n        resultsSection.style.display = 'block';\n        resultsContent.style.display = 'block';\n\n        $('glc-lifeHours').textContent = fmtLifeHours(r.L_h);\n        $('glc-lifeYears').textContent = isFinite(r.L_years)\n          ? '\u2248 ' + r.L_years.toFixed(2) + ' years continuous operation'\n          : 'Beyond practical service life';\n\n        $('glc-loadCycles').textContent = fmtNum(r.N, 0);\n        $('glc-cyclesFormatted').textContent = isFinite(r.N) ? r.N.toExponential(3) + ' cycles' : '\u2014';\n        $('glc-tangentialForce').textContent = fmtNum(r.Ft, 1) + ' N';\n        $('glc-bendingStressVal').textContent = r.sigma_b.toFixed(1) + ' MPa';\n        $('glc-contactStressVal').textContent = r.sigma_c.toFixed(1) + ' MPa';\n\n        var bendBar = $('glc-bendingBar');\n        bendBar.style.width = Math.min(r.bendingRatio, 100) + '%';\n        bendBar.className = 'glc-stress-bar-fill ' + stressBarClass(r.bendingRatio);\n\n        var contBar = $('glc-contactBar');\n        contBar.style.width = Math.min(r.contactRatio, 100) + '%';\n        contBar.className = 'glc-stress-bar-fill ' + stressBarClass(r.contactRatio);\n\n        $('glc-safetyFactorVal').textContent = r.SF.toFixed(2);\n\n        var assess = safetyAssessment(r.SF);\n        $('glc-safetyBadge').className = 'glc-safety-badge ' + assess.cls;\n        $('glc-safetyIcon').textContent = assess.icon;\n        $('glc-safetyText').textContent = assess.text;\n\n        updateGauge(r.SF);\n        drawSNChart(r);\n        updateDetailTable(r);\n      }\n\n      function updateGauge(sf) {\n        var clampedSF = Math.max(0, Math.min(sf, 3));\n        var fraction = clampedSF \/ 3;\n        $('glc-gaugeArc').setAttribute('stroke-dashoffset', 314.16 * (1 - fraction));\n        $('glc-gaugeNeedle').setAttribute('transform', 'rotate(' + (-90 + fraction * 180) + ' 130 130)');\n      }\n\n      function drawSNChart(r) {\n        var dpr = window.devicePixelRatio || 1;\n        var rect = snCanvas.parentElement.getBoundingClientRect();\n        snCanvas.width = rect.width * dpr;\n        snCanvas.height = rect.height * dpr;\n        snCtx.setScale(dpr, dpr);\n\n        var W = rect.width;\n        var H = rect.height;\n        var pad = { top: 20, right: 20, bottom: 40, left: 55 };\n        var plotW = W - pad.left - pad.right;\n        var plotH = H - pad.top - pad.bottom;\n        var isDark = root.getAttribute('data-theme') === 'dark';\n        var gridColor = isDark ? '#2d3f56' : '#e2e8f0';\n        var textColor = isDark ? '#94a3b8' : '#64748b';\n        var logNMin = 3;\n        var logNMax = 8;\n        var stressMax = Math.max(r.sigma_b_end * 2.5, r.sigma_b * 1.5, 100);\n\n        function xMap(logN) { return pad.left + ((logN - logNMin) \/ (logNMax - logNMin)) * plotW; }\n        function yMap(stress) { return pad.top + plotH - (stress \/ stressMax) * plotH; }\n\n        snCtx.clearRect(0, 0, W, H);\n        snCtx.strokeStyle = gridColor;\n        snCtx.lineWidth = 1;\n\n        var i, logN, x, y, s;\n        for (i = 0; i <= 5; i++) {\n          logN = logNMin + (i \/ 5) * (logNMax - logNMin);\n          x = xMap(logN);\n          snCtx.beginPath();\n          snCtx.moveTo(x, pad.top);\n          snCtx.lineTo(x, pad.top + plotH);\n          snCtx.stroke();\n        }\n        for (i = 0; i <= 4; i++) {\n          s = (i \/ 4) * stressMax;\n          y = yMap(s);\n          snCtx.beginPath();\n          snCtx.moveTo(pad.left, y);\n          snCtx.lineTo(pad.left + plotW, y);\n          snCtx.stroke();\n        }\n\n        snCtx.fillStyle = textColor;\n        snCtx.font = '11px sans-serif';\n        snCtx.textAlign = 'center';\n        for (i = 0; i <= 5; i++) {\n          logN = logNMin + (i \/ 5) * (logNMax - logNMin);\n          snCtx.fillText('10' + superscript(Math.round(logN)), xMap(logN), H - 10);\n        }\n        snCtx.save();\n        snCtx.translate(14, pad.top + plotH \/ 2);\n        snCtx.rotate(-Math.PI \/ 2);\n        snCtx.fillText('Stress \u03c3 (MPa)', 0, 0);\n        snCtx.restore();\n        snCtx.textAlign = 'right';\n        for (i = 0; i <= 4; i++) {\n          s = (i \/ 4) * stressMax;\n          snCtx.fillText(s.toFixed(0), pad.left - 8, yMap(s) + 4);\n        }\n\n        snCtx.setLineDash([6, 4]);\n        snCtx.strokeStyle = '#22c55e';\n        snCtx.lineWidth = 1.5;\n        snCtx.beginPath();\n        snCtx.moveTo(pad.left, yMap(r.sigma_b_end));\n        snCtx.lineTo(pad.left + plotW, yMap(r.sigma_b_end));\n        snCtx.stroke();\n        snCtx.setLineDash([]);\n\n        snCtx.strokeStyle = '#3b82f6';\n        snCtx.lineWidth = 2.5;\n        snCtx.beginPath();\n        var sigmaRef = r.sigma_b_end * 1.8;\n        for (logN = logNMin; logN <= logNMax; logN += 0.05) {\n          var sigma = r.sigma_b_end * Math.pow(Math.pow(10, logN) \/ SN_REF_CYCLES, -1 \/ SN_EXPONENT);\n          x = xMap(logN);\n          y = yMap(Math.min(sigma, sigmaRef));\n          if (logN === logNMin) snCtx.moveTo(x, y);\n          else snCtx.lineTo(x, y);\n        }\n        snCtx.stroke();\n\n        if (isFinite(r.N)) {\n          var opLogN = Math.log10(r.N);\n          if (opLogN >= logNMin && opLogN <= logNMax) {\n            snCtx.fillStyle = '#ef4444';\n            snCtx.beginPath();\n            snCtx.arc(xMap(opLogN), yMap(r.sigma_b), 6, 0, Math.PI * 2);\n            snCtx.fill();\n            snCtx.strokeStyle = '#fff';\n            snCtx.lineWidth = 2;\n            snCtx.stroke();\n          }\n        }\n\n        snCtx.fillStyle = textColor;\n        snCtx.textAlign = 'center';\n        snCtx.fillText('Load Cycles N', pad.left + plotW \/ 2, H - 2);\n      }\n\n      function superscript(n) {\n        var map = { '0': '\u2070', '1': '\u00b9', '2': '\u00b2', '3': '\u00b3', '4': '\u2074', '5': '\u2075', '6': '\u2076', '7': '\u2077', '8': '\u2078', '9': '\u2079' };\n        return String(n).split('').map(function (c) { return map[c] || c; }).join('');\n      }\n\n      function updateDetailTable(r) {\n        var rows = [\n          ['Torque T', r.T.toFixed(2) + ' N\u00b7m'],\n          ['Pitch Diameter d', r.inp.d.toFixed(2) + ' mm'],\n          ['Module m', r.inp.m.toFixed(2) + ' mm'],\n          ['Teeth Z', r.inp.Z],\n          ['Lewis Factor Y', r.Y.toFixed(3)],\n          ['Gear Type Factor', r.gearFactor.toFixed(2)],\n          ['Lubrication Factor', r.lubFactor.toFixed(2)],\n          ['Service Factor K_a', r.Ka.toFixed(2)],\n          ['Bending Endurance \u03c3_b,lim', r.sigma_b_end.toFixed(1) + ' MPa'],\n          ['Contact Endurance \u03c3_c,lim', r.sigma_c_end.toFixed(1) + ' MPa'],\n          ['SF (Bending)', r.SF_bending.toFixed(2)],\n          ['SF (Contact)', r.SF_contact.toFixed(2)],\n          ['Governing Failure Mode', r.SF_bending <= r.SF_contact ? 'Bending Fatigue' : 'Contact Fatigue']\n        ];\n        $('glc-detailTable').querySelector('tbody').innerHTML = rows.map(function (row) {\n          return '<tr><td>' + row[0] + '<\/td><td>' + row[1] + '<\/td><\/tr>';\n        }).join('');\n      }\n\n      form.addEventListener('submit', function (e) {\n        e.preventDefault();\n        var r = calculate();\n        if (r) updateResults(r);\n      });\n\n      window.addEventListener('resize', function () {\n        if (hasCalculated) drawSNChart(lastResults);\n      });\n\n      initTheme();\n    })();\n  <\/script>\n<\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"<p>The Gear Life Estimation Calculator is a practical engineering tool designed to estimate the expected service life of gears under specific operating conditions. By entering&#8230;<\/p>","protected":false},"author":2,"featured_media":24588,"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":[8520],"tags":[3673,3560,8554,8555,8556],"class_list":["post-24586","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mechanical-basic-component-design","tag-gear-calculator","tag-gear-design","tag-gear-fatigue","tag-gear-life","tag-service-life","pmpro-has-access"],"acf":[],"jetpack_featured_media_url":"https:\/\/www.mechstream.com\/wp-content\/uploads\/2026\/08\/Gear-Life-Estimation-Calculator.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/posts\/24586","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=24586"}],"version-history":[{"count":2,"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/posts\/24586\/revisions"}],"predecessor-version":[{"id":24590,"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/posts\/24586\/revisions\/24590"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/media\/24588"}],"wp:attachment":[{"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/media?parent=24586"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/categories?post=24586"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mechstream.com\/es\/wp-json\/wp\/v2\/tags?post=24586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}