{"id":55462,"date":"2024-12-07T07:59:32","date_gmt":"2024-12-07T07:59:32","guid":{"rendered":"https:\/\/www.harsle.com\/?page_id=55462"},"modified":"2024-12-19T03:49:23","modified_gmt":"2024-12-19T03:49:23","slug":"bend-allowance-calculator","status":"publish","type":"page","link":"https:\/\/www.harsle.com\/pl\/bend-allowance-calculator\/","title":{"rendered":"Kalkulator naddatku na zginanie"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"55462\" class=\"elementor elementor-55462\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"wd-negative-gap elementor-element elementor-element-12fc35c e-flex e-con-boxed e-con e-parent\" data-id=\"12fc35c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-d237f9d e-con-full e-flex e-con e-child\" data-id=\"d237f9d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-be8d970 elementor-widget elementor-widget-image\" data-id=\"be8d970\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1882\" height=\"1440\" src=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2024\/12\/bend-allowance-e1733722149199.png\" class=\"attachment-full size-full wp-image-55582\" alt=\"bend allowance calculator\" srcset=\"https:\/\/www.harsle.com\/wp-content\/uploads\/2024\/12\/bend-allowance-e1733722149199.png 1882w, https:\/\/www.harsle.com\/wp-content\/uploads\/2024\/12\/bend-allowance-e1733722149199-392x300.png 392w, https:\/\/www.harsle.com\/wp-content\/uploads\/2024\/12\/bend-allowance-e1733722149199-1046x800.png 1046w, https:\/\/www.harsle.com\/wp-content\/uploads\/2024\/12\/bend-allowance-e1733722149199-768x588.png 768w, https:\/\/www.harsle.com\/wp-content\/uploads\/2024\/12\/bend-allowance-e1733722149199-1536x1175.png 1536w, https:\/\/www.harsle.com\/wp-content\/uploads\/2024\/12\/bend-allowance-e1733722149199-430x329.png 430w, https:\/\/www.harsle.com\/wp-content\/uploads\/2024\/12\/bend-allowance-e1733722149199-700x536.png 700w, https:\/\/www.harsle.com\/wp-content\/uploads\/2024\/12\/bend-allowance-e1733722149199-150x115.png 150w\" sizes=\"(max-width: 1882px) 100vw, 1882px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3955eff e-con-full e-flex e-con e-child\" data-id=\"3955eff\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f9cc123 color-scheme-inherit text-left elementor-widget elementor-widget-text-editor\" data-id=\"f9cc123\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The HARSLE Bend Allowance Calculator is a specialized tool designed to help you calculate the precise bend allowance for your metalworking projects. Whether you&#8217;re bending steel, aluminum, or other materials, this calculator ensures accurate results for determining how much extra length is needed to compensate for the bend radius and angle. Bend Allowance (<strong>BA<\/strong>) represents the length of the arc along the neutral axis of the material during a bend. The formula is:<\/p><p style=\"text-align: center;\"><strong>BA=\u03c0\u00d7(R+K\u00d7T)\u00d7\u03b8\/180<\/strong><\/p><p style=\"text-align: center;\"><strong>L=A+B+BA<\/strong><\/p><ul><li><strong>R<\/strong>= Bend Radius<\/li><li><strong>T<\/strong>= Thickness<\/li><li><strong>K<\/strong>= K-Factor<\/li><li><strong>\u03b8<\/strong>= Bend Angle<\/li><li><strong>A<\/strong>= Length A<\/li><li><strong>B<\/strong>= Length B<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"wd-negative-gap elementor-element elementor-element-d29cd91 e-flex e-con-boxed e-con e-parent\" data-id=\"d29cd91\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c055ac6 elementor-widget elementor-widget-html\" data-id=\"c055ac6\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"bend-calculator\" style=\"max-width: 800px; margin: 0 auto; padding: 20px; background-color: #f8f9fa; font-family: Arial, sans-serif;\">\n    <h2 style=\"text-align: center; font-size: 24px; margin-bottom: 20px;\">Bend Allowance Calculator<\/h2>\n    \n    <div style=\"background: white; padding: 20px; border-radius: 4px; box-shadow: 0 1px 3px rgba(0,0,0,0.1);\">\n        <!-- Material Selection -->\n        <div style=\"margin-bottom: 15px;\">\n            <label style=\"display: block; margin-bottom: 5px;\">Material:<\/label>\n            <select id=\"calc-material\" onchange=\"updateKFactor()\" style=\"width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 4px;\">\n                <option value=\"Mild Steel\">Mild Steel<\/option>\n                <option value=\"Stainless Steel\">Stainless Steel<\/option>\n                <option value=\"Aluminum\">Aluminum<\/option>\n                <option value=\"Copper\">Copper<\/option>\n                <option value=\"Brass\">Brass<\/option>\n                <option value=\"Titanium\">Titanium<\/option>\n                <option value=\"Nickel Alloys\">Nickel Alloys<\/option>\n                <option value=\"High-Strength Steel\">High-Strength Steel<\/option>\n                <option value=\"Alloy Steel\">Alloy Steel<\/option>\n            <\/select>\n        <\/div>\n\n        <!-- Unit Selection -->\n        <div style=\"margin-bottom: 15px;\">\n            <label style=\"display: block; margin-bottom: 5px;\">Unit:<\/label>\n            <div style=\"background: #f1f1f1; border-radius: 4px; padding: 10px; position: relative; height: 40px;\">\n                <label style=\"position: absolute; left: 33.33%; transform: translateX(-50%); display: flex; align-items: center;\">\n                    <input type=\"radio\" name=\"calc-unit\" value=\"mm\" checked onchange=\"updateUnits()\">\n                    <span style=\"margin-left: 5px;\">mm<\/span>\n                <\/label>\n                <label style=\"position: absolute; left: 66.66%; transform: translateX(-50%); display: flex; align-items: center;\">\n                    <input type=\"radio\" name=\"calc-unit\" value=\"inch\" onchange=\"updateUnits()\">\n                    <span style=\"margin-left: 5px;\">inch<\/span>\n                <\/label>\n            <\/div>\n        <\/div>\n\n        <!-- Thickness -->\n        <div style=\"margin-bottom: 15px;\">\n            <label style=\"display: block; margin-bottom: 5px;\">Thickness:<\/label>\n            <div style=\"display: flex; align-items: center;\">\n                <input type=\"number\" id=\"calc-thickness\" oninput=\"updateKFactor()\" style=\"flex: 1; padding: 8px; border: 1px solid #ddd; border-radius: 4px 0 0 4px;\">\n                <span class=\"unit-label\" style=\"padding: 8px 12px; background: #f1f1f1; border: 1px solid #ddd; border-left: none; border-radius: 0 4px 4px 0;\">mm<\/span>\n            <\/div>\n        <\/div>\n\n        <!-- Bend Radius -->\n        <div style=\"margin-bottom: 15px;\">\n            <label style=\"display: block; margin-bottom: 5px;\">Bend Radius:<\/label>\n            <div style=\"display: flex; align-items: center;\">\n                <input type=\"number\" id=\"calc-bendRadius\" style=\"flex: 1; padding: 8px; border: 1px solid #ddd; border-radius: 4px 0 0 4px;\">\n                <span class=\"unit-label\" style=\"padding: 8px 12px; background: #f1f1f1; border: 1px solid #ddd; border-left: none; border-radius: 0 4px 4px 0;\">mm<\/span>\n            <\/div>\n        <\/div>\n\n        <!-- Bend Angle -->\n        <div style=\"margin-bottom: 15px;\">\n            <label style=\"display: block; margin-bottom: 5px;\">Bend Angle:<\/label>\n            <div style=\"display: flex; align-items: center;\">\n                <input type=\"number\" id=\"calc-bendAngle\" value=\"90\" style=\"flex: 1; padding: 8px; border: 1px solid #ddd; border-radius: 4px 0 0 4px;\">\n                <span style=\"padding: 8px 12px; background: #f1f1f1; border: 1px solid #ddd; border-left: none; border-radius: 0 4px 4px 0;\">degrees<\/span>\n            <\/div>\n        <\/div>\n\n        <!-- Length A -->\n        <div style=\"margin-bottom: 15px;\">\n            <label style=\"display: block; margin-bottom: 5px;\">Length A:<\/label>\n            <div style=\"display: flex; align-items: center;\">\n                <input type=\"number\" id=\"calc-lengthA\" style=\"flex: 1; padding: 8px; border: 1px solid #ddd; border-radius: 4px 0 0 4px;\">\n                <span class=\"unit-label\" style=\"padding: 8px 12px; background: #f1f1f1; border: 1px solid #ddd; border-left: none; border-radius: 0 4px 4px 0;\">mm<\/span>\n            <\/div>\n        <\/div>\n\n        <!-- Length B -->\n        <div style=\"margin-bottom: 15px;\">\n            <label style=\"display: block; margin-bottom: 5px;\">Length B:<\/label>\n            <div style=\"display: flex; align-items: center;\">\n                <input type=\"number\" id=\"calc-lengthB\" style=\"flex: 1; padding: 8px; border: 1px solid #ddd; border-radius: 4px 0 0 4px;\">\n                <span class=\"unit-label\" style=\"padding: 8px 12px; background: #f1f1f1; border: 1px solid #ddd; border-left: none; border-radius: 0 4px 4px 0;\">mm<\/span>\n            <\/div>\n        <\/div>\n\n        <!-- K-Factor Display -->\n        <div id=\"k-factor\" style=\"margin-bottom: 15px; padding: 15px; background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 4px;\">\n            K-Factor: <span style=\"font-weight: bold; color: #0066cc;\">0<\/span>\n        <\/div>\n\n        <!-- Calculate Button -->\n        <button onclick=\"calculate()\" style=\"width: 100%; padding: 10px; background: #0066cc; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 16px;\">Calculate<\/button>\n\n        <!-- Results -->\n        <div id=\"calc-results\" style=\"display: none; margin-top: 20px; padding: 20px; background: linear-gradient(to right, #e6f3ff, #f0f7ff); border: 1px solid #b3d7ff; border-radius: 4px;\">\n            <h3 style=\"margin: 0 0 15px 0; color: #0052cc; font-size: 18px;\">Results<\/h3>\n            <div style=\"display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #b3d7ff;\">\n                <span>Bend Allowance (BA):<\/span>\n                <span id=\"bendAllowanceResult\" style=\"font-size: 18px; font-weight: bold; color: #0066cc;\"><\/span>\n            <\/div>\n            <div style=\"display: flex; justify-content: space-between; padding-top: 10px;\">\n                <span>Flat Length (L):<\/span>\n                <span id=\"flatLengthResult\" style=\"font-size: 18px; font-weight: bold; color: #0066cc;\"><\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\n\/\/ K-factor lookup table\nconst kFactorTable = {\n    'Mild Steel': [\n        { range: [0.5, 2], kRange: [0.33, 0.36] },\n        { range: [2, 5], kRange: [0.34, 0.38] },\n        { range: [5, 10], kRange: [0.36, 0.40] },\n        { range: [10, Infinity], kRange: [0.40, 0.45] }\n    ],\n    'Stainless Steel': [\n        { range: [0.5, 2], kRange: [0.33, 0.36] },\n        { range: [2, 5], kRange: [0.34, 0.38] },\n        { range: [5, 10], kRange: [0.36, 0.40] },\n        { range: [10, Infinity], kRange: [0.40, 0.45] }\n    ],\n    'Aluminum': [\n        { range: [0.5, 2], kRange: [0.33, 0.35] },\n        { range: [2, 5], kRange: [0.34, 0.37] },\n        { range: [5, 10], kRange: [0.36, 0.40] },\n        { range: [10, Infinity], kRange: [0.40, 0.45] }\n    ],\n    \/\/ ... [rest of the materials with their ranges]\n};\n\n\/\/ Update K-factor when thickness or material changes\nfunction updateKFactor() {\n    const material = document.getElementById('calc-material').value;\n    const thickness = parseFloat(document.getElementById('calc-thickness').value);\n    const unit = document.querySelector('input[name=\"calc-unit\"]:checked').value;\n    \n    if (!thickness || isNaN(thickness)) {\n        document.getElementById('k-factor').innerHTML = 'K-Factor: <span style=\"font-weight: bold; color: #0066cc;\">0<\/span>';\n        return 0;\n    }\n    \n    const thicknessInMm = unit === 'inch' ? thickness * 25.4 : thickness;\n    const ranges = kFactorTable[material];\n    let kFactor = 0;\n    \n    for (const range of ranges) {\n        if (thicknessInMm >= range.range[0] && thicknessInMm < range.range[1]) {\n            kFactor = (range.kRange[0] + range.kRange[1]) \/ 2;\n            break;\n        }\n    }\n    \n    document.getElementById('k-factor').innerHTML = `K-Factor: <span style=\"font-weight: bold; color: #0066cc;\">${kFactor.toFixed(3)}<\/span>`;\n    return kFactor;\n}\n\n\/\/ Update unit labels when unit selection changes\nfunction updateUnits() {\n    const unit = document.querySelector('input[name=\"calc-unit\"]:checked').value;\n    const labels = document.getElementsByClassName('unit-label');\n    for (let label of labels) {\n        label.textContent = unit;\n    }\n    updateKFactor();\n}\n\n\/\/ Calculate results\nfunction calculate() {\n    const material = document.getElementById('calc-material').value;\n    const unit = document.querySelector('input[name=\"calc-unit\"]:checked').value;\n    const thickness = parseFloat(document.getElementById('calc-thickness').value);\n    const bendRadius = parseFloat(document.getElementById('calc-bendRadius').value);\n    const bendAngle = parseFloat(document.getElementById('calc-bendAngle').value);\n    const lengthA = parseFloat(document.getElementById('calc-lengthA').value);\n    const lengthB = parseFloat(document.getElementById('calc-lengthB').value);\n\n    if (isNaN(thickness) || isNaN(bendRadius) || isNaN(bendAngle) || isNaN(lengthA) || isNaN(lengthB)) {\n        alert('Please fill in all fields with valid numbers');\n        return;\n    }\n\n    const kFactor = updateKFactor();\n    \n    const t = unit === 'inch' ? thickness * 25.4 : thickness;\n    const r = unit === 'inch' ? bendRadius * 25.4 : bendRadius;\n    const angleInRadians = (bendAngle * Math.PI) \/ 180;\n    \n    let ba = (Math.PI * (r + kFactor * t) * angleInRadians) \/ Math.PI;\n    let flatLength = lengthA + ba + lengthB;\n    \n    if (unit === 'inch') {\n        ba = ba \/ 25.4;\n        flatLength = flatLength \/ 25.4;\n    }\n\n    document.getElementById('calc-results').style.display = 'block';\n    document.getElementById('bendAllowanceResult').textContent = `${ba.toFixed(2)} ${unit}`;\n    document.getElementById('flatLengthResult').textContent = `${flatLength.toFixed(2)} ${unit}`;\n}\n\n\/\/ Initialize on page load\nwindow.addEventListener('DOMContentLoaded', function() {\n    updateKFactor();\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Kalkulator tolerancji gi\u0119cia HARSLE to specjalistyczne narz\u0119dzie opracowane z my\u015bl\u0105 o pomocy w obliczeniu dok\u0142adnego marginesu gi\u0119cia dla Twojego<\/p>","protected":false},"author":1,"featured_media":55582,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-55462","page","type-page","status-publish","has-post-thumbnail","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.harsle.com\/pl\/wp-json\/wp\/v2\/pages\/55462","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.harsle.com\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.harsle.com\/pl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.harsle.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.harsle.com\/pl\/wp-json\/wp\/v2\/comments?post=55462"}],"version-history":[{"count":0,"href":"https:\/\/www.harsle.com\/pl\/wp-json\/wp\/v2\/pages\/55462\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.harsle.com\/pl\/wp-json\/wp\/v2\/media\/55582"}],"wp:attachment":[{"href":"https:\/\/www.harsle.com\/pl\/wp-json\/wp\/v2\/media?parent=55462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}