{"id":17375,"date":"2026-09-20T07:01:59","date_gmt":"2026-09-20T07:01:59","guid":{"rendered":"https:\/\/www.dgcrane.com\/?p=17375"},"modified":"2026-09-20T07:02:02","modified_gmt":"2026-09-20T07:02:02","slug":"crane-travelling-static-resistance-calculator","status":"publish","type":"post","link":"https:\/\/www.dgcrane.com\/hi\/crane-travelling-static-resistance-calculator\/","title":{"rendered":"\u0915\u094d\u0930\u0947\u0928 \u092f\u093e\u0924\u094d\u0930\u093e \u0938\u094d\u0925\u0948\u0924\u093f\u0915 \u092a\u094d\u0930\u0924\u093f\u0930\u094b\u0927 \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f\u0930"},"content":{"rendered":"<div id=\"calculator\">\n  <div class=\"calculator-shell\">\n    <form id=\"calculator-form\" novalidate action=\"\">\n      <span class=\"calculator-sr-only\">\u0917\u0923\u0928\u093e \u0915\u093e \u0906\u0927\u093e\u0930: EN 13135:2026\u0964 \u0915\u093e\u0930\u094d\u092f\u0915\u094d\u0937\u0947\u0924\u094d\u0930: \u0938\u094d\u091f\u0940\u0932 \u0930\u0947\u0932 \u092a\u0930 \u0930\u094b\u0932\u0930 \u092c\u093f\u092f\u0930\u093f\u0902\u0917 \u0935\u093e\u0932\u0947 \u0938\u094d\u091f\u0940\u0932 \u0915\u0947 \u092a\u0939\u093f\u092f\u0947\u0964 \u0907\u0938 \u0938\u092e\u0940\u0915\u0930\u0923 \u0915\u0947 \u0932\u093f\u090f ISO 8686-1:2012 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0928\u0939\u0940\u0902 \u0915\u093f\u092f\u093e \u0917\u092f\u093e \u0939\u0948\u0964 \u0938\u0924\u094d\u092f\u093e\u092a\u0928 \u0924\u093f\u0925\u093f: 2026-09-17\u0964<\/span>\n\n      <section class=\"calculator-section\">\n        <div class=\"calculator-grid\">\n          <div class=\"calculator-field\">\n            <label for=\"calculator-loadMass\">\u0930\u0947\u091f\u0947\u0921 \u0932\u094b\u0921, \u091c\u0940<sub>\u090f\u0928<\/sub> (\u0915\u093f\u0932\u094b\u0917\u094d\u0930\u093e\u092e)<\/label>\n            <input id=\"calculator-loadMass\" name=\"loadMass\" type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"1000000000\" step=\"any\" value=\"10000\" aria-describedby=\"calculator-loadMass-error\">\n            <span id=\"calculator-loadMass-error\" class=\"error-msg\" aria-live=\"polite\"><\/span>\n          <\/div>\n\n          <div class=\"calculator-field\">\n            <label for=\"calculator-gravity\">\u0917\u0941\u0930\u0941\u0924\u094d\u0935\u093e\u0915\u0930\u094d\u0937\u0923, g (N\/kg)<\/label>\n            <input id=\"calculator-gravity\" name=\"gravity\" type=\"number\" inputmode=\"decimal\" min=\"1\" max=\"20\" step=\"any\" value=\"10\" aria-describedby=\"calculator-gravity-error\">\n            <span id=\"calculator-gravity-error\" class=\"error-msg\" aria-live=\"polite\"><\/span>\n          <\/div>\n\n          <div class=\"calculator-field\">\n            <label for=\"calculator-gradient\">\u090a\u092a\u0930 \u0915\u0940 \u0913\u0930 \u0922\u0932\u093e\u0928, i (\u2030)<\/label>\n            <input id=\"calculator-gradient\" name=\"gradient\" type=\"number\" inputmode=\"decimal\" min=\"0\" max=\"100\" step=\"any\" value=\"1\" aria-describedby=\"calculator-gradient-error\">\n            <span id=\"calculator-gradient-error\" class=\"error-msg\" aria-live=\"polite\"><\/span>\n          <\/div>\n\n          <div class=\"calculator-field\">\n            <label for=\"calculator-wheelType\">\u092a\u0939\u093f\u092f\u093e \u0928\u093f\u0930\u094d\u092e\u093e\u0923<\/label>\n            <select id=\"calculator-wheelType\" name=\"wheelType\">\n              <option value=\"flanged\" selected>\u092b\u094d\u0932\u0948\u0902\u0917\u094d\u0921 \u092a\u0939\u093f\u090f<\/option>\n              <option value=\"flangeless\">\u092b\u094d\u0932\u0947\u0902\u091c \u0930\u0939\u093f\u0924 \u092a\u0939\u093f\u090f<\/option>\n            <\/select>\n            <span id=\"calculator-wheelType-error\" class=\"error-msg\" aria-live=\"polite\"><\/span>\n          <\/div>\n\n          <div class=\"calculator-field\">\n            <label for=\"calculator-craneMass\">\u0915\u094d\u0930\u0947\u0928 \u0915\u093e \u0938\u094d\u0935\u092f\u0902 \u0915\u093e \u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928, G (\u0915\u093f\u0932\u094b\u0917\u094d\u0930\u093e\u092e)<\/label>\n            <input id=\"calculator-craneMass\" name=\"craneMass\" type=\"number\" inputmode=\"decimal\" min=\"0.000001\" max=\"1000000000\" step=\"any\" value=\"20000\" aria-describedby=\"calculator-craneMass-error\">\n            <span id=\"calculator-craneMass-error\" class=\"error-msg\" aria-live=\"polite\"><\/span>\n          <\/div>\n\n          <div class=\"calculator-field\">\n            <label for=\"calculator-trolleyMass\">\u091f\u094d\u0930\u0949\u0932\u0940 \u0915\u093e \u0938\u094d\u0935-\u0926\u094d\u0930\u0935\u094d\u092f\u092e\u093e\u0928, \u091c\u0940<sub>1<\/sub> (\u0915\u093f\u0932\u094b\u0917\u094d\u0930\u093e\u092e)<\/label>\n            <input id=\"calculator-trolleyMass\" name=\"trolleyMass\" type=\"number\" inputmode=\"decimal\" min=\"0.000001\" max=\"1000000000\" step=\"any\" value=\"2000\" aria-describedby=\"calculator-trolleyMass-error\">\n            <span id=\"calculator-trolleyMass-error\" class=\"error-msg\" aria-live=\"polite\"><\/span>\n          <\/div>\n\n          <div class=\"calculator-field\">\n            <label for=\"calculator-craneDiameter\">\u0915\u094d\u0930\u0947\u0928 \u0935\u094d\u0939\u0940\u0932 \u0921\u0940<sub>\u0921\u092c\u094d\u0932\u094d\u092f\u0942<\/sub> (\u092e\u093f\u092e\u0940)<\/label>\n            <select id=\"calculator-craneDiameter\" name=\"craneDiameter\">\n              <option value=\"50\">50<\/option>\n              <option value=\"80\">80<\/option>\n              <option value=\"100\">100<\/option>\n              <option value=\"125\">125<\/option>\n              <option value=\"160\">160<\/option>\n              <option value=\"250\">250<\/option>\n              <option value=\"320\">320<\/option>\n              <option value=\"400\" selected>400<\/option>\n              <option value=\"630\">630 \u0914\u0930 \u0907\u0938\u0938\u0947 \u092c\u0921\u093c\u0947<\/option>\n            <\/select>\n            <span id=\"calculator-craneDiameter-error\" class=\"error-msg\" aria-live=\"polite\"><\/span>\n          <\/div>\n\n          <div class=\"calculator-field\">\n            <label for=\"calculator-craneFactor\">\u0915\u094d\u0930\u0947\u0928 \u0915\u093e\u0930\u0915, F<sub>\u0906\u0930<\/sub><\/label>\n            <select id=\"calculator-craneFactor\" name=\"craneFactor\" aria-describedby=\"calculator-craneFactor-error\"><\/select>\n            <span id=\"calculator-craneFactor-error\" class=\"error-msg\" aria-live=\"polite\"><\/span>\n          <\/div>\n\n          <div class=\"calculator-field\">\n            <label for=\"calculator-trolleyDiameter\">\u091f\u094d\u0930\u0949\u0932\u0940 \u0915\u093e \u092a\u0939\u093f\u092f\u093e D<sub>\u0921\u092c\u094d\u0932\u094d\u092f\u0942<\/sub> (\u092e\u093f\u092e\u0940)<\/label>\n            <select id=\"calculator-trolleyDiameter\" name=\"trolleyDiameter\">\n              <option value=\"50\">50<\/option>\n              <option value=\"80\">80<\/option>\n              <option value=\"100\">100<\/option>\n              <option value=\"125\">125<\/option>\n              <option value=\"160\" selected>160<\/option>\n              <option value=\"250\">250<\/option>\n              <option value=\"320\">320<\/option>\n              <option value=\"400\">400<\/option>\n              <option value=\"630\">630 \u0914\u0930 \u0907\u0938\u0938\u0947 \u092c\u0921\u093c\u0947<\/option>\n            <\/select>\n            <span id=\"calculator-trolleyDiameter-error\" class=\"error-msg\" aria-live=\"polite\"><\/span>\n          <\/div>\n\n          <div class=\"calculator-field\">\n            <label for=\"calculator-trolleyFactor\">\u091f\u094d\u0930\u0949\u0932\u0940 \u0915\u093e\u0930\u0915, F<sub>\u0906\u0930<\/sub><\/label>\n            <select id=\"calculator-trolleyFactor\" name=\"trolleyFactor\" aria-describedby=\"calculator-trolleyFactor-error\"><\/select>\n            <span id=\"calculator-trolleyFactor-error\" class=\"error-msg\" aria-live=\"polite\"><\/span>\n          <\/div>\n        <\/div>\n      <\/section>\n\n      <div id=\"calculator-error-summary\" class=\"calculator-error-summary\" role=\"alert\" tabindex=\"-1\"><\/div>\n\n      <div class=\"calculator-actions\">\n        <button type=\"submit\">\u0917\u0923\u0928\u093e<\/button>\n        <button type=\"reset\" class=\"calculator-reset\">\u0930\u0940\u0938\u0947\u091f \u0915\u0930\u0947\u0902<\/button>\n      <\/div>\n    <input type=\"hidden\" name=\"trp-form-language\" value=\"hi\"\/><\/form>\n\n    <section class=\"calculator-results\" aria-live=\"polite\" aria-atomic=\"true\">\n      <div class=\"calculator-result-card calculator-result-main\">\n        <span>\u0915\u094d\u0930\u0947\u0928 \u0915\u0940 \u092f\u093e\u0924\u094d\u0930\u093e \u0915\u093e \u0938\u094d\u0925\u0948\u0924\u093f\u0915 \u092a\u094d\u0930\u0924\u093f\u0930\u094b\u0927, F<sub>\u0938\u0947\u0902\u091f,\u092e\u0948\u0915\u094d\u0938<\/sub><\/span>\n        <strong id=\"calculator-craneTotal\">\u2014<\/strong>\n      <\/div>\n\n      <div class=\"calculator-result-card\">\n        <span>\u091f\u094d\u0930\u0949\u0932\u0940 \u0915\u0940 \u092f\u093e\u0924\u094d\u0930\u093e \u0915\u093e \u0938\u094d\u0925\u0948\u0924\u093f\u0915 \u092a\u094d\u0930\u0924\u093f\u0930\u094b\u0927, F<sub>\u0938\u0947\u0902\u091f,\u092e\u0948\u0915\u094d\u0938<\/sub><\/span>\n        <strong id=\"calculator-trolleyTotal\">\u2014<\/strong>\n      <\/div>\n    <\/section>\n  <\/div>\n\n  <style>\n    #calculator {\n      --primary-color: #0a3487;\n      --primary-hover: #F58423;\n      --error-color: #e53935;\n      --bg-color: #EAEEF7;\n      --text-color: #4a4a4a;\n      --surface-color: #ffffff;\n      --border-color: #cccccc;\n      --soft-primary: #edf2ff;\n      --soft-error: #fff3f2;\n      --focus-shadow: rgba(10, 52, 135, 0.18);\n\n      max-width: 545px;\n      margin: 0 auto;\n      padding: 30px;\n      color: var(--text-color);\n      background: var(--bg-color);\n      font-family: Arial, Helvetica, sans-serif;\n      line-height: 1.5;\n      box-sizing: border-box;\n    }\n\n    #calculator *,\n    #calculator *::before,\n    #calculator *::after {\n      box-sizing: border-box;\n    }\n\n    #calculator .calculator-shell {\n      padding: 24px;\n      border-top: 5px solid var(--primary-color);\n      background: var(--surface-color);\n    }\n\n    #calculator .calculator-sr-only {\n      position: absolute;\n      width: 1px;\n      height: 1px;\n      padding: 0;\n      margin: -1px;\n      overflow: hidden;\n      clip: rect(0, 0, 0, 0);\n      white-space: nowrap;\n      border: 0;\n    }\n\n    #calculator .calculator-section {\n      margin: 0 0 16px;\n      padding: 16px;\n      background: var(--bg-color);\n    }\n\n    #calculator .calculator-grid {\n      display: grid;\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 12px 14px;\n      align-items: start;\n    }\n\n    #calculator .calculator-field {\n      min-width: 0;\n    }\n\n    #calculator label,\n    #calculator button,\n    #calculator select {\n      font-size: 14px;\n    }\n\n    #calculator label {\n      display: flex;\n      min-height: 38px;\n      margin-bottom: 5px;\n      align-items: flex-end;\n      font-weight: 700;\n    }\n\n    #calculator input,\n    #calculator select,\n    #calculator button {\n      width: 100%;\n      border-radius: 0;\n      transition: 0.2s ease;\n    }\n\n    #calculator input,\n    #calculator select {\n      height: 36px;\n      padding: 5px 9px;\n      border: 1px solid var(--border-color);\n      color: var(--text-color);\n      background: var(--surface-color);\n      font-size: 16px;\n    }\n\n    #calculator input:focus,\n    #calculator select:focus {\n      border: 2px solid var(--primary-color);\n      outline: 0;\n      box-shadow: 0 0 0 3px var(--focus-shadow);\n    }\n\n    #calculator input.error,\n    #calculator select.error,\n    #calculator input.error:focus,\n    #calculator select.error:focus {\n      border: 2px solid var(--error-color);\n      box-shadow: none;\n    }\n\n    #calculator .error-msg {\n      display: none;\n      margin-top: 5px;\n      color: var(--error-color);\n      font-size: 12px;\n      font-weight: 700;\n    }\n\n    #calculator .error-msg.visible {\n      display: block;\n    }\n\n    #calculator .calculator-error-summary {\n      display: none;\n      margin-bottom: 14px;\n      padding: 10px;\n      border-left: 4px solid var(--error-color);\n      color: var(--error-color);\n      background: var(--soft-error);\n      font-weight: 700;\n    }\n\n    #calculator .calculator-error-summary.visible {\n      display: block;\n    }\n\n    #calculator .calculator-actions {\n      display: flex;\n      gap: 12px;\n      margin-top: 4px;\n    }\n\n    #calculator button {\n      height: 34px;\n      padding: 0 16px;\n      border: 0;\n      color: var(--surface-color);\n      background: var(--primary-color);\n      font-weight: 700;\n      line-height: 34px;\n      cursor: pointer;\n    }\n\n    #calculator button:hover,\n    #calculator button:focus-visible {\n      background: var(--primary-hover);\n      outline: 2px solid var(--primary-color);\n      outline-offset: 2px;\n    }\n\n    #calculator button.calculator-reset {\n      color: var(--primary-color);\n      background: var(--surface-color);\n      border: 1px solid var(--primary-color);\n    }\n\n    #calculator button.calculator-reset:hover,\n    #calculator button.calculator-reset:focus-visible {\n      color: var(--surface-color);\n      background: var(--primary-hover);\n    }\n\n    #calculator .calculator-results {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 12px;\n      margin-top: 18px;\n    }\n\n    #calculator .calculator-result-card {\n      margin: 0;\n      padding: 14px;\n      border-left: 4px solid var(--primary-color);\n      background: var(--soft-primary);\n    }\n\n    #calculator .calculator-result-card > span {\n      display: block;\n      font-size: 13px;\n      font-weight: 700;\n    }\n\n    #calculator .calculator-result-card strong {\n      display: block;\n      margin: 4px 0 10px;\n      color: var(--primary-color);\n      font-size: 32px;\n      line-height: 1.15;\n      overflow-wrap: anywhere;\n    }\n\n    @media (max-width: 768px) {\n      #calculator {\n        padding: 0.3rem;\n      }\n\n      #calculator .calculator-shell {\n        padding: 0.3rem;\n      }\n\n      #calculator label,\n      #calculator input,\n      #calculator select,\n      #calculator button {\n        font-size: 0.28rem;\n      }\n\n      #calculator input,\n      #calculator select,\n      #calculator button {\n        min-height: 0.7rem;\n        height: 0.7rem;\n      }\n\n      #calculator button {\n        line-height: 0.7rem;\n      }\n\n      #calculator .calculator-actions {\n        flex-direction: column;\n      }\n\n      #calculator .calculator-actions button {\n        width: 100%;\n      }\n\n      #calculator .calculator-grid {\n        grid-template-columns: repeat(2, minmax(0, 1fr));\n        gap: 0.24rem;\n      }\n\n      #calculator label {\n        min-height: 0.7rem;\n      }\n\n      #calculator .calculator-results {\n        grid-template-columns: 1fr;\n      }\n    }\n\n    @media (prefers-reduced-motion: reduce) {\n      #calculator *,\n      #calculator *::before,\n      #calculator *::after {\n        transition: none;\n      }\n    }\n  <\/style>\n\n  <script>\n    (() => {\n      \"use strict\";\n\n      const root = document.getElementById(\"calculator\");\n      if (!root) return;\n\n      const form = root.querySelector(\"#calculator-form\");\n      const summary = root.querySelector(\"#calculator-error-summary\");\n\n      const diameterPoints = [\n        50, 80, 100, 125, 160, 250, 320, 400, 630\n      ];\n\n      const factorSets = {\n        flanged: [\n          0.013, 0.011, 0.010, 0.009, 0.008,\n          0.0065, 0.006, 0.0055, 0.005\n        ],\n        flangeless: [\n          0.011, 0.0095, 0.0085, 0.0075, 0.007,\n          0.0055, 0.0052, 0.005, 0.0045\n        ]\n      };\n\n      const fields = {\n        loadMass: root.querySelector(\"#calculator-loadMass\"),\n        gravity: root.querySelector(\"#calculator-gravity\"),\n        gradient: root.querySelector(\"#calculator-gradient\"),\n        wheelType: root.querySelector(\"#calculator-wheelType\"),\n        craneMass: root.querySelector(\"#calculator-craneMass\"),\n        craneDiameter: root.querySelector(\"#calculator-craneDiameter\"),\n        craneFactor: root.querySelector(\"#calculator-craneFactor\"),\n        trolleyMass: root.querySelector(\"#calculator-trolleyMass\"),\n        trolleyDiameter: root.querySelector(\"#calculator-trolleyDiameter\"),\n        trolleyFactor: root.querySelector(\"#calculator-trolleyFactor\")\n      };\n\n      const outputs = {\n        craneTotal: root.querySelector(\"#calculator-craneTotal\"),\n        trolleyTotal: root.querySelector(\"#calculator-trolleyTotal\")\n      };\n\n      function setError(fieldName, message) {\n        const input = fields[fieldName];\n        const error = root.querySelector(\n          `#calculator-${fieldName}-error`\n        );\n\n        input.classList.add(\"error\");\n        input.setAttribute(\"aria-invalid\", \"true\");\n\n        if (error) {\n          error.textContent = message;\n          error.classList.add(\"visible\");\n        }\n      }\n\n      function clearError(fieldName) {\n        const input = fields[fieldName];\n        const error = root.querySelector(\n          `#calculator-${fieldName}-error`\n        );\n\n        input.classList.remove(\"error\");\n        input.removeAttribute(\"aria-invalid\");\n\n        if (error) {\n          error.textContent = \"\";\n          error.classList.remove(\"visible\");\n        }\n      }\n\n      function validateInput(\n        fieldName,\n        label,\n        minimum,\n        maximum,\n        allowZero\n      ) {\n        const input = fields[fieldName];\n        const value = Number.parseFloat(input.value);\n\n        clearError(fieldName);\n\n        if (\n          input.value.trim() === \"\" ||\n          !Number.isFinite(value)\n        ) {\n          setError(\n            fieldName,\n            `${label} is required and must be a finite number.`\n          );\n          return null;\n        }\n\n        if (\n          (!allowZero && value <= minimum) ||\n          (allowZero &#038;&#038; value < minimum) ||\n          value > maximum\n        ) {\n          const relation = allowZero\n            ? `from ${minimum}`\n            : `greater than ${minimum}`;\n\n          setError(\n            fieldName,\n            `${label} must be ${relation} and no more than ${maximum}.`\n          );\n          return null;\n        }\n\n        return value;\n      }\n\n      function rollingFactor(wheelType, diameter) {\n        const factors = factorSets[wheelType];\n\n        if (!factors) {\n          throw new Error(\"Unsupported wheel construction.\");\n        }\n\n        const index = diameterPoints.indexOf(Number(diameter));\n\n        if (index === -1) {\n          throw new Error(\n            \"Unsupported wheel diameter selection.\"\n          );\n        }\n\n        return factors[index];\n      }\n\n      function calculateTravelResistance(\n        loadMass,\n        selfMass,\n        gravity,\n        gradientPerMille,\n        factor\n      ) {\n        const normalForce =\n          (loadMass + selfMass) * gravity;\n\n        const rolling =\n          normalForce * factor;\n\n        const grade =\n          normalForce * gradientPerMille \/ 1000;\n\n        return {\n          total: rolling + grade\n        };\n      }\n\n      function clearResults() {\n        outputs.craneTotal.textContent = \"\u2014\";\n        outputs.trolleyTotal.textContent = \"\u2014\";\n      }\n\n      function formatForce(value) {\n        return `${value.toLocaleString(\"en-US\", {\n          minimumFractionDigits: 2,\n          maximumFractionDigits: 2\n        })} N`;\n      }\n\n      function formatFactor(value) {\n        return value\n          .toFixed(6)\n          .replace(\/0+$\/, \"\")\n          .replace(\/\\.$\/, \"\");\n      }\n\n      function populateFactorOptions(prefix) {\n        const wheelType = fields.wheelType.value;\n        const diameter =\n          Number(fields[`${prefix}Diameter`].value);\n\n        const factorSelect =\n          fields[`${prefix}Factor`];\n\n        const factors = factorSets[wheelType];\n\n        const options = factors.map((factor) => {\n          const option =\n            document.createElement(\"option\");\n\n          option.value = String(factor);\n          option.textContent =\n            formatFactor(factor);\n\n          return option;\n        });\n\n        factorSelect.replaceChildren(...options);\n\n        factorSelect.value = String(\n          rollingFactor(wheelType, diameter)\n        );\n      }\n\n      function syncWheelSelectors(\n        prefix,\n        changedField\n      ) {\n        const wheelType =\n          fields.wheelType.value;\n\n        const diameterSelect =\n          fields[`${prefix}Diameter`];\n\n        const factorSelect =\n          fields[`${prefix}Factor`];\n\n        if (changedField === \"type\") {\n          populateFactorOptions(prefix);\n          return;\n        }\n\n        if (changedField === \"factor\") {\n          const factor =\n            Number(factorSelect.value);\n\n          const index =\n            factorSets[wheelType].findIndex(\n              (candidate) => candidate === factor\n            );\n\n          if (index !== -1) {\n            diameterSelect.value =\n              String(diameterPoints[index]);\n          }\n\n          return;\n        }\n\n        factorSelect.value = String(\n          rollingFactor(\n            wheelType,\n            Number(diameterSelect.value)\n          )\n        );\n      }\n\n      function readAndValidate() {\n        const values = {\n          loadMass: validateInput(\n            \"loadMass\",\n            \"Rated load\",\n            0,\n            1000000000,\n            true\n          ),\n\n          gravity: validateInput(\n            \"gravity\",\n            \"Gravity\",\n            1,\n            20,\n            false\n          ),\n\n          gradient: validateInput(\n            \"gradient\",\n            \"Uphill gradient\",\n            0,\n            100,\n            true\n          ),\n\n          craneMass: validateInput(\n            \"craneMass\",\n            \"Crane self mass\",\n            0,\n            1000000000,\n            false\n          ),\n\n          craneDiameter:\n            Number(fields.craneDiameter.value),\n\n          craneFactor:\n            Number(fields.craneFactor.value),\n\n          trolleyMass: validateInput(\n            \"trolleyMass\",\n            \"Trolley self mass\",\n            0,\n            1000000000,\n            false\n          ),\n\n          trolleyDiameter:\n            Number(fields.trolleyDiameter.value),\n\n          trolleyFactor:\n            Number(fields.trolleyFactor.value),\n\n          wheelType:\n            fields.wheelType.value\n        };\n\n        const linkedSelectionsValid =\n          values.craneFactor === rollingFactor(\n            values.wheelType,\n            values.craneDiameter\n          ) &&\n          values.trolleyFactor === rollingFactor(\n            values.wheelType,\n            values.trolleyDiameter\n          );\n\n        const invalid =\n          Object.entries(values).filter(\n            ([name, value]) =>\n              name !== \"wheelType\" &&\n              (\n                value === null ||\n                !Number.isFinite(value)\n              )\n          );\n\n        if (!linkedSelectionsValid) {\n          setError(\n            \"craneFactor\",\n            \"Wheel construction, diameter and factor must match.\"\n          );\n\n          setError(\n            \"trolleyFactor\",\n            \"Wheel construction, diameter and factor must match.\"\n          );\n\n          return null;\n        }\n\n        return invalid.length ? null : values;\n      }\n\n      function showResults(crane, trolley) {\n        outputs.craneTotal.textContent =\n          formatForce(crane.total);\n\n        outputs.trolleyTotal.textContent =\n          formatForce(trolley.total);\n      }\n\n      populateFactorOptions(\"crane\");\n      populateFactorOptions(\"trolley\");\n\n      fields.wheelType.addEventListener(\n        \"change\",\n        () => {\n          syncWheelSelectors(\"crane\", \"type\");\n          syncWheelSelectors(\"trolley\", \"type\");\n        }\n      );\n\n      fields.craneDiameter.addEventListener(\n        \"change\",\n        () => syncWheelSelectors(\n          \"crane\",\n          \"diameter\"\n        )\n      );\n\n      fields.craneFactor.addEventListener(\n        \"change\",\n        () => syncWheelSelectors(\n          \"crane\",\n          \"factor\"\n        )\n      );\n\n      fields.trolleyDiameter.addEventListener(\n        \"change\",\n        () => syncWheelSelectors(\n          \"trolley\",\n          \"diameter\"\n        )\n      );\n\n      fields.trolleyFactor.addEventListener(\n        \"change\",\n        () => syncWheelSelectors(\n          \"trolley\",\n          \"factor\"\n        )\n      );\n\n      Object.keys(fields).forEach(\n        (fieldName) => {\n          fields[fieldName].addEventListener(\n            \"input\",\n            () => clearError(fieldName)\n          );\n\n          fields[fieldName].addEventListener(\n            \"change\",\n            () => clearError(fieldName)\n          );\n        }\n      );\n\n      form.addEventListener(\n        \"submit\",\n        (event) => {\n          event.preventDefault();\n\n          summary.textContent = \"\";\n          summary.classList.remove(\"visible\");\n\n          const values = readAndValidate();\n\n          if (!values) {\n            clearResults();\n\n            summary.textContent =\n              \"Please correct the highlighted fields.\";\n\n            summary.classList.add(\"visible\");\n            summary.focus();\n            return;\n          }\n\n          const crane =\n            calculateTravelResistance(\n              values.loadMass,\n              values.craneMass,\n              values.gravity,\n              values.gradient,\n              values.craneFactor\n            );\n\n          const trolley =\n            calculateTravelResistance(\n              values.loadMass,\n              values.trolleyMass,\n              values.gravity,\n              values.gradient,\n              values.trolleyFactor\n            );\n\n          showResults(crane, trolley);\n        }\n      );\n\n      form.addEventListener(\n        \"reset\",\n        () => {\n          window.setTimeout(() => {\n            Object.keys(fields).forEach(\n              clearError\n            );\n\n            summary.textContent = \"\";\n            summary.classList.remove(\"visible\");\n\n            populateFactorOptions(\"crane\");\n            populateFactorOptions(\"trolley\");\n            clearResults();\n          }, 0);\n        }\n      );\n    })();\n  <\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u0915\u094d\u0930\u0947\u0928 \u0915\u0940 \u092f\u093e\u0924\u094d\u0930\u093e \u0915\u0947 \u0932\u093f\u090f \u0938\u094d\u0925\u0948\u0924\u093f\u0915 \u092a\u094d\u0930\u0924\u093f\u0930\u094b\u0927 \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f\u0930 \u0915\u093e \u0938\u0942\u0924\u094d\u0930<\/h2>\n\n\n\n<div id=\"travel-resistance-formulas\">\n  <div class=\"formula\">\n    \u090f\u092b<sub>\u090f\u092b<\/sub>\n    = (\u091c\u0940<sub>\u090f\u0928<\/sub> + \u091c\u0940) \u00d7 \u091c\u0940 \u00d7 \u090f\u092b<sub>\u0906\u0930<\/sub>\n  <\/div>\n\n  <div class=\"formula\">\n    \u090f\u092b<sub>\u090f\u0938<\/sub>\n    = (\u091c\u0940<sub>\u090f\u0928<\/sub> + \u091c\u0940) \u00d7 \u091c\u0940 \u00d7 \u0906\u0908\n    <span class=\"formula-condition\">\n    <\/span>\n  <\/div>\n\n  <div class=\"formula formula-total\">\n    \u090f\u092b<sub>\u0938\u0947\u0902\u091f,\u092e\u0948\u0915\u094d\u0938<\/sub>\n    = \u090f\u092b<sub>\u090f\u092b<\/sub>\n    + \u090f\u092b<sub>\u090f\u0938<\/sub>\n  <\/div>\n\n  <style>\n    #travel-resistance-formulas {\n      --text-color: #4a4a4a;\n\n      width: 100%;\n      margin: 0;\n      padding: 0;\n      color: var(--text-color);\n      box-sizing: border-box;\n    }\n\n    #travel-resistance-formulas *,\n    #travel-resistance-formulas *::before,\n    #travel-resistance-formulas *::after {\n      box-sizing: border-box;\n    }\n\n    #travel-resistance-formulas .formula {\n      padding: 7px 0;\n      color: var(--text-color);\n      font-family: \"Segoe UI\", Arial, Helvetica, sans-serif;\n      font-size: 20px;\n      font-style: normal;\n      font-weight: 400;\n      line-height: 1.55;\n      text-align: left;\n      white-space: nowrap;\n    }\n\n    #travel-resistance-formulas .formula sub {\n      font-size: 65%;\n      font-style: normal;\n      vertical-align: -0.3em;\n    }\n\n    #travel-resistance-formulas .formula-condition {\n      margin-left: 8px;\n      font-size: 16px;\n      font-style: normal;\n      font-weight: 400;\n    }\n\n    #travel-resistance-formulas .formula-total {\n      color: var(--text-color);\n      font-size: 20px;\n      font-style: normal;\n      font-weight: 600;\n    }\n\n    @media (max-width: 520px) {\n      #travel-resistance-formulas {\n        overflow-x: auto;\n      }\n\n      #travel-resistance-formulas .formula {\n        font-size: 18px;\n      }\n\n      #travel-resistance-formulas .formula-condition {\n        font-size: 14px;\n      }\n\n      #travel-resistance-formulas .formula-total {\n        font-size: 18px;\n      }\n    }\n  <\/style>\n<\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u091c\u0940<sub>\u090f\u0928<\/sub>\u0915\u094d\u0930\u0947\u0928 \u0915\u0940 \u0928\u093f\u0930\u094d\u0927\u093e\u0930\u093f\u0924 \u092d\u093e\u0930 \u0915\u094d\u0937\u092e\u0924\u093e, \u0907\u0915\u093e\u0908: \u0915\u093f\u0932\u094b\u0917\u094d\u0930\u093e\u092e<\/li>\n\n\n\n<li>G: \u0915\u094d\u0930\u0947\u0928 \u0915\u093e \u0938\u094d\u0935-\u092d\u093e\u0930, \u0907\u0915\u093e\u0908: \u0915\u093f\u0932\u094b\u0917\u094d\u0930\u093e\u092e<\/li>\n\n\n\n<li>\u091c\u0940<sub>1<\/sub>\u091f\u094d\u0930\u0949\u0932\u0940 \u0915\u093e \u0938\u094d\u0935\u092f\u0902 \u0915\u093e \u092d\u093e\u0930, \u0907\u0915\u093e\u0908: \u0915\u093f\u0932\u094b\u0917\u094d\u0930\u093e\u092e<\/li>\n\n\n\n<li>g: \u0917\u0941\u0930\u0941\u0924\u094d\u0935\u093e\u0915\u0930\u094d\u0937\u0923 (\u0907\u0938\u0915\u093e \u092e\u093e\u0928 10 N\/kg \u0932\u093f\u092f\u093e \u0917\u092f\u093e \u0939\u0948)<\/li>\n\n\n\n<li>\u090f\u092b<sub>\u0906\u0930<\/sub>\u0930\u094b\u0932\u093f\u0902\u0917 \u0918\u0930\u094d\u0937\u0923 \u0915\u093e\u0930\u0915<\/li>\n\n\n\n<li>i: \u0905\u0928\u0941\u092e\u093e\u0928\u093f\u0924 \u0922\u0932\u093e\u0928<\/li>\n\n\n\n<li>\u090f\u092b<sub>\u090f\u092b<\/sub>\u0918\u0930\u094d\u0937\u0923 \u092a\u094d\u0930\u0924\u093f\u0930\u094b\u0927, \u0907\u0915\u093e\u0908: N<\/li>\n\n\n\n<li>Fs: \u0917\u094d\u0930\u0947\u0921\u093f\u090f\u0902\u091f \u092a\u094d\u0930\u0924\u093f\u0930\u094b\u0927, \u0907\u0915\u093e\u0908: N<\/li>\n\n\n\n<li>\u090f\u092b<sub>\u0938\u0947\u0902\u091f, \u092e\u0948\u0915\u094d\u0938<\/sub>\u0915\u094d\u0930\u0947\u0928 \u0915\u093e \u0938\u094d\u0925\u093f\u0930 \u092a\u094d\u0930\u0924\u093f\u0930\u094b\u0927, \u0907\u0915\u093e\u0908: N<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u0928\u094b\u091f\u094d\u0938<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0932\u093e\u0928\u0924 \u0939\u094b\u0928\u093e<sub>\u0906\u0930<\/sub> \u0917\u0941\u0923\u093e\u0902\u0915 \u0935\u093e\u0938\u094d\u0924\u0935 \u092e\u0947\u0902 \u092a\u0939\u093f\u090f \u0915\u0947 \u0918\u0942\u092e\u0928\u0947 \u0915\u0947 \u092a\u094d\u0930\u0924\u093f\u0930\u094b\u0927 \u0914\u0930 \u092a\u0939\u093f\u090f \u0915\u0947 \u092c\u0947\u092f\u0930\u093f\u0902\u0917 \u0915\u0947 \u0918\u0930\u094d\u0937\u0923 \u0915\u0947 \u0938\u093e\u0925-\u0938\u093e\u0925 \u092a\u0939\u093f\u090f \u0915\u0947 \u092b\u094d\u0932\u0947\u0902\u091c \u0938\u0947 \u091c\u0941\u0921\u093c\u0947 \u0905\u0924\u093f\u0930\u093f\u0915\u094d\u0924 \u092a\u094d\u0930\u092d\u093e\u0935\u094b\u0902 \u0915\u093e \u092a\u094d\u0930\u0924\u093f\u0928\u093f\u0927\u093f\u0924\u094d\u0935 \u0915\u0930\u0924\u093e \u0939\u0948\u0964<\/li>\n\n\n\n<li>\u0938\u093e\u092e\u093e\u0928\u094d\u092f\u0924\u0903, \u0915\u094d\u0930\u0947\u0928 \u0915\u0947 \u091a\u0932\u0928\u0947 \u0935\u093e\u0932\u0947 \u0924\u0902\u0924\u094d\u0930 \u0915\u0947 \u092a\u0939\u093f\u092f\u094b\u0902 \u0915\u093e \u0935\u094d\u092f\u093e\u0938 \u091f\u094d\u0930\u0949\u0932\u0940 \u0915\u0947 \u091a\u0932\u0928\u0947 \u0935\u093e\u0932\u0947 \u0924\u0902\u0924\u094d\u0930 \u0915\u0947 \u092a\u0939\u093f\u092f\u094b\u0902 \u0915\u0947 \u0935\u094d\u092f\u093e\u0938 \u0938\u0947 \u0905\u0927\u093f\u0915 \u0939\u094b\u0924\u093e \u0939\u0948\u0964 \u0907\u0938\u0932\u093f\u090f, \u092f\u0939 \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f\u0930 \u0938\u0902\u092c\u0902\u0927\u093f\u0924 \u092e\u093e\u092a\u0926\u0902\u0921\u094b\u0902 \u0915\u0947 \u0906\u0927\u093e\u0930 \u092a\u0930 \u0905\u0932\u0917-\u0905\u0932\u0917 \u0917\u0923\u0928\u093e \u0915\u0930\u0928\u0947 \u0915\u0940 \u0938\u0941\u0935\u093f\u0927\u093e \u0926\u0947\u0924\u093e \u0939\u0948\u0964<\/li>\n\n\n\n<li>\u091a\u0932\u0928\u0947 \u0935\u093e\u0932\u0947 \u0924\u0902\u0924\u094d\u0930\u094b\u0902 \u0914\u0930 \u0935\u093f\u0926\u094d\u092f\u0941\u0924 \u092e\u094b\u091f\u0930\u094b\u0902 \u0915\u0947 \u0932\u093f\u090f, \u092c\u093f\u091c\u0932\u0940 \u0915\u0940 \u0906\u0935\u0936\u094d\u092f\u0915\u0924\u093e\u090f\u0901 \u0905\u092a\u0947\u0915\u094d\u0937\u093e\u0915\u0943\u0924 \u0938\u0902\u0935\u0947\u0926\u0928\u0936\u0940\u0932 \u0939\u094b\u0924\u0940 \u0939\u0948\u0902\u0964 \u092e\u093e\u0924\u094d\u0930 1\u2030 \u0915\u093e \u0922\u0932\u093e\u0928 \u092d\u0940 \u0935\u093e\u0938\u094d\u0924\u0935\u093f\u0915 \u091a\u0932\u0928\u0947 \u0915\u093e \u092a\u094d\u0930\u0924\u093f\u0930\u094b\u0927 \u0909\u0924\u094d\u092a\u0928\u094d\u0928 \u0915\u0930\u0924\u093e \u0939\u0948\u0964 \u0907\u0938\u0932\u093f\u090f, \u0938\u0902\u092f\u0902\u0924\u094d\u0930 \u0938\u0947 \u092a\u094d\u0930\u093e\u092a\u094d\u0924 \u092e\u093e\u092a\u0947 \u0917\u090f \u0921\u0947\u091f\u093e \u0915\u0940 \u0905\u0928\u0941\u092a\u0932\u092c\u094d\u0927\u0924\u093e \u092e\u0947\u0902, \u0915\u092e \u0906\u0915\u093e\u0930 \u0915\u0940 \u092e\u094b\u091f\u0930 \u0938\u0947 \u092c\u091a\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u090f\u0915 \u0905\u0928\u0941\u092e\u093e\u0928\u093f\u0924 \u0922\u0932\u093e\u0928 \u0915\u094b \u0936\u093e\u092e\u093f\u0932 \u0915\u093f\u092f\u093e \u091c\u093e\u0924\u093e \u0939\u0948\u0964<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u0932\u093e\u0917\u0942 \u0915\u094d\u0930\u0947\u0928<\/h2>\n\n\n\n<p>\u0928\u0940\u091a\u0947 \u0938\u0942\u091a\u0940\u092c\u0926\u094d\u0927 \u0909\u0924\u094d\u092a\u093e\u0926 \u092e\u0941\u0916\u094d\u092f \u0930\u0942\u092a \u0938\u0947 \u092c\u0902\u0926 \u0907\u0928\u0921\u094b\u0930 \u092b\u0948\u0915\u094d\u091f\u094d\u0930\u0940 \u0935\u093e\u0924\u093e\u0935\u0930\u0923 \u092e\u0947\u0902 \u0909\u092a\u092f\u094b\u0917 \u0915\u0947 \u0932\u093f\u090f \u0909\u092a\u092f\u0941\u0915\u094d\u0924 \u0939\u0948\u0902\u0964<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0938\u093f\u0902\u0917\u0932-\u0917\u0930\u094d\u0921\u0930 \u0913\u0935\u0930\u0939\u0947\u0921 \u0915\u094d\u0930\u0947\u0928<\/li>\n\n\n\n<li>\u0921\u092c\u0932-\u0917\u0930\u094d\u0921\u0930 \u0913\u0935\u0930\u0939\u0947\u0921 \u0915\u094d\u0930\u0947\u0928<\/li>\n\n\n\n<li>\u0938\u093f\u0902\u0917\u0932-\u0917\u0930\u094d\u0921\u0930 \u0917\u0948\u0928\u094d\u091f\u094d\u0930\u0940 \u0915\u094d\u0930\u0947\u0928 (\u0907\u0928\u0921\u094b\u0930 \u0909\u092a\u092f\u094b\u0917 \u0915\u0947 \u0932\u093f\u090f)<\/li>\n\n\n\n<li>\u0921\u092c\u0932-\u0917\u0930\u094d\u0921\u0930 \u0917\u0948\u0928\u094d\u091f\u094d\u0930\u0940 \u0915\u094d\u0930\u0947\u0928 (\u0907\u0928\u0921\u094b\u0930 \u0909\u092a\u092f\u094b\u0917 \u0915\u0947 \u0932\u093f\u090f)<\/li>\n\n\n\n<li>\u0913\u0935\u0930\u0939\u0947\u0921 \u0915\u094d\u0930\u0947\u0928 \u0915\u0940 \u091f\u094d\u0930\u0949\u0932\u0940<\/li>\n\n\n\n<li>\u0917\u0948\u0928\u094d\u091f\u094d\u0930\u0940 \u0915\u094d\u0930\u0947\u0928 \u0915\u0940 \u091f\u094d\u0930\u0949\u0932\u0940<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"\u0915\u094d\u0930\u0947\u0928 \u0915\u0940 \u0938\u094d\u0925\u093f\u0930 \u092a\u094d\u0930\u0924\u093f\u0930\u094b\u0927 \u0915\u094d\u0937\u092e\u0924\u093e \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f\u0930 \u0938\u093e\u092e\u093e\u0928\u094d\u092f \u0917\u0924\u093f \u0915\u0947 \u0932\u093f\u090f \u0918\u0930\u094d\u0937\u0923 \u0914\u0930 \u091f\u094d\u0930\u0948\u0915 \u0915\u0940 \u0922\u0932\u093e\u0928 \u092a\u0930 \u0915\u093e\u092c\u0942 \u092a\u093e\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0906\u0935\u0936\u094d\u092f\u0915 \u092c\u0932 \u0915\u093e \u0905\u0928\u0941\u092e\u093e\u0928 \u0932\u0917\u093e\u0924\u093e \u0939\u0948\u0964 \u0930\u0947\u091f\u0947\u0921 \u0932\u094b\u0921 \u0914\u0930 \u0915\u094d\u0930\u0947\u0928 \u0915\u0947 \u0921\u0947\u0921 \u0935\u0947\u091f \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0915\u0947, \u092f\u0939 \u091c\u093e\u0902\u091a\u0924\u093e \u0939\u0948 \u0915\u093f \u092e\u094b\u091f\u0930 \u0914\u0930 \u0921\u094d\u0930\u093e\u0907\u0935 \u0915\u094d\u0930\u0947\u0928 \u0915\u094b \u091a\u0932\u093e \u0938\u0915\u0924\u0947 \u0939\u0948\u0902 \u092f\u093e \u0928\u0939\u0940\u0902\u0964 \u092a\u0930\u093f\u0923\u093e\u092e \u0909\u092a\u092f\u0941\u0915\u094d\u0924 \u092e\u094b\u091f\u0930, \u0917\u093f\u092f\u0930\u092c\u0949\u0915\u094d\u0938 \u0914\u0930 \u092a\u0939\u093f\u092f\u094b\u0902 \u0915\u0947 \u091a\u092f\u0928 \u092e\u0947\u0902 \u0938\u0939\u093e\u092f\u0915 \u0939\u094b\u0924\u0947 \u0939\u0948\u0902\u0964 \u0915\u094d\u0930\u0947\u0928 \u0915\u0940 \u0938\u094d\u0925\u093f\u0930 \u092a\u094d\u0930\u0924\u093f\u0930\u094b\u0927 \u0915\u094d\u0937\u092e\u0924\u093e \u0915\u0948\u0932\u0915\u0941\u0932\u0947\u091f\u0930 \u092a\u0939\u093f\u090f \u0915\u0947 \u092b\u093f\u0938\u0932\u0928\u0947 \u0915\u0947 \u091c\u094b\u0916\u093f\u092e \u0915\u093e \u0906\u0915\u0932\u0928 \u0915\u0930\u0928\u0947 \u092e\u0947\u0902 \u092d\u0940 \u092e\u0926\u0926 \u0915\u0930\u0924\u093e \u0939\u0948\u0964 \u0922\u0932\u093e\u0928 \u0935\u093e\u0932\u0947 \u091f\u094d\u0930\u0948\u0915 \u0915\u0947 \u0932\u093f\u090f, \u092f\u0939 \u0917\u0923\u0928\u093e \u0930\u0941\u0915\u0928\u0947 \u0915\u0947 \u092c\u093e\u0926 \u0915\u094d\u0930\u0947\u0928 \u0915\u0947 \u092b\u093f\u0938\u0932\u0928\u0947 \u0915\u0940 \u0938\u0902\u092d\u093e\u0935\u0928\u093e \u0915\u093e \u092e\u0942\u0932\u094d\u092f\u093e\u0902\u0915\u0928 \u0915\u0930\u0924\u0940 \u0939\u0948, \u091c\u093f\u0938\u0938\u0947 \u092c\u0947\u092f\u0930\u093f\u0902\u0917 \u0915\u0940 \u0915\u094d\u0937\u0924\u093f, \u0930\u0947\u0932 \u092e\u0947\u0902 \u092b\u0902\u0938\u0928\u0947 \u0914\u0930 \u0938\u094d\u0925\u093e\u092a\u0928\u093e \u0938\u0902\u092c\u0902\u0927\u0940 \u0938\u092e\u0938\u094d\u092f\u093e\u0913\u0902 \u0938\u0947 \u092c\u091a\u093e\u0935 \u0939\u094b\u0924\u093e \u0939\u0948\u0964","protected":false},"author":8,"featured_media":17373,"parent":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"single-onlinetools.php","format":"standard","meta":{"_acf_changed":false,"rank_math_lock_modified_date":false,"pgc_sgb_lightbox_settings":"","footnotes":""},"categories":[1059],"tags":[],"class_list":["post-17375","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-online-tools"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.dgcrane.com\/hi\/wp-json\/wp\/v2\/posts\/17375"}],"collection":[{"href":"https:\/\/www.dgcrane.com\/hi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dgcrane.com\/hi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/hi\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/hi\/wp-json\/wp\/v2\/comments?post=17375"}],"version-history":[{"count":5,"href":"https:\/\/www.dgcrane.com\/hi\/wp-json\/wp\/v2\/posts\/17375\/revisions"}],"predecessor-version":[{"id":17380,"href":"https:\/\/www.dgcrane.com\/hi\/wp-json\/wp\/v2\/posts\/17375\/revisions\/17380"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/hi\/wp-json\/wp\/v2\/media\/17373"}],"wp:attachment":[{"href":"https:\/\/www.dgcrane.com\/hi\/wp-json\/wp\/v2\/media?parent=17375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dgcrane.com\/hi\/wp-json\/wp\/v2\/categories?post=17375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dgcrane.com\/hi\/wp-json\/wp\/v2\/tags?post=17375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}