{"id":17213,"date":"2026-07-07T02:18:44","date_gmt":"2026-07-07T02:18:44","guid":{"rendered":"https:\/\/www.dgcrane.com\/?p=17213"},"modified":"2026-07-14T08:59:43","modified_gmt":"2026-07-14T08:59:43","slug":"overhead-and-gantry-crane-deflection-calculator","status":"publish","type":"post","link":"https:\/\/www.dgcrane.com\/tr\/overhead-and-gantry-crane-deflection-calculator\/","title":{"rendered":"Tavan ve Portal Vin\u00e7 Sehim Hesaplay\u0131c\u0131s\u0131"},"content":{"rendered":"<!-- WordPress \u53ef\u76f4\u63a5\u7c98\u8d34\u5b8c\u6574\u4ee3\u7801\u5757 -->\n<div id=\"calculator\">\n    <style>\n        \/* \u4ec5\u4f5c\u7528\u4e8e #calculator \u5185\u90e8\uff0c\u65e0\u5168\u5c40\u6837\u5f0f\u6c61\u67d3 *\/\n        #calculator {\n            --primary-color: #0a3487;\n            --primary-hover: #F58423;\n            --error-color: #e53935;\n            --bg-color: #EAEEF7;\n            --text-color: #4a4a4a;\n            max-width: 545px;\n            padding: 30px;\n            background-color: var(--bg-color);\n            color: var(--text-color);\n            box-sizing: border-box;\n        }\n        #calculator .calc-title {\n            font-size: 18px;\n            margin: 0 0 24px 0;\n            font-weight: 600;\n        }\n        #calculator .field-wrap {\n            margin-bottom: 18px;\n        }\n        #calculator label {\n            display: block;\n            font-size: 14px;\n            margin-bottom: 6px;\n        }\n        #calculator input {\n            width: 100%;\n            box-sizing: border-box;\n            height: 36px;\n            font-size: 16px;\n            border: 1px solid #ccc;\n            border-radius: 0;\n            padding: 0 10px;\n            transition: 0.2s ease;\n        }\n        #calculator input:focus {\n            border: 2px solid var(--primary-color);\n            outline: none;\n        }\n        #calculator input.error {\n            border: 2px solid var(--error-color);\n        }\n        #calculator .error-msg {\n            display: none;\n            font-size: 12px;\n            color: var(--error-color);\n            margin-top: 4px;\n        }\n        #calculator .btn-group {\n            display: flex;\n            gap: 12px;\n            margin: 24px 0;\n        }\n        #calculator button {\n            flex: 1;\n            height: 34px;\n            line-height: 34px;\n            font-size: 14px;\n            border: none;\n            border-radius: 0;\n            cursor: pointer;\n            transition: 0.2s ease;\n        }\n        #calculator .calc-btn {\n            background-color: var(--primary-color);\n            color: #fff;\n        }\n        #calculator .calc-btn:hover {\n            background-color: var(--primary-hover);\n        }\n        #calculator .reset-btn {\n            background-color: #999;\n            color: #fff;\n        }\n        #calculator .result-wrap {\n            margin-top: 16px;\n        }\n        #calculator .result-label {\n            font-size: 14px;\n        }\n        #calculator .result-value {\n            font-size: 40px;\n            font-weight: bold;\n            margin-top: 4px;\n            word-break: break-all;\n        }\n        \/* \u79fb\u52a8\u7aef\u9002\u914d max-width:768px *\/\n        @media (max-width: 768px) {\n            #calculator input,\n            #calculator button {\n                height: 0.7rem;\n            }\n            #calculator label,\n            #calculator button,\n            #calculator .result-label {\n                font-size: 0.28rem;\n            }\n            #calculator .btn-group {\n                flex-direction: column;\n            }\n            #calculator button {\n                width: 100%;\n            }\n            #calculator .result-value {\n                font-size: 0.8rem;\n            }\n        }\n    <\/style>\n\n    <div class=\"field-wrap\">\n        <label for=\"calculator-P\">Yo\u011funla\u015ft\u0131r\u0131lm\u0131\u015f Y\u00fck P (N)<\/label>\n        <input type=\"number\" id=\"calculator-P\" placeholder=\"Giri\u015f y\u00fck\u00fc de\u011feri\">\n        <span class=\"error-msg\"><\/span>\n    <\/div>\n    <div class=\"field-wrap\">\n        <label for=\"calculator-L\">A\u00e7\u0131kl\u0131k Uzunlu\u011fu L (m)<\/label>\n        <input type=\"number\" id=\"calculator-L\" placeholder=\"Giri\u015f aral\u0131\u011f\u0131 uzunlu\u011fu\">\n        <span class=\"error-msg\"><\/span>\n    <\/div>\n    <div class=\"field-wrap\">\n        <label for=\"calculator-I\">Eylemsizlik Momenti I (cm\u2074)<\/label>\n        <input type=\"number\" id=\"calculator-I\" placeholder=\"Giri\u015f atalet de\u011feri\">\n        <span class=\"error-msg\"><\/span>\n    <\/div>\n\n    <div class=\"btn-group\">\n        <button id=\"calculator-calcBtn\" class=\"calc-btn\">Hesaplamak<\/button>\n        <button id=\"calculator-resetBtn\" class=\"reset-btn\">S\u0131f\u0131rla<\/button>\n    <\/div>\n\n    <div class=\"result-wrap\">\n        <div class=\"result-label\">Sapma (m)<\/div>\n        <div id=\"calculator-result\" class=\"result-value\">&#8212;<\/div>\n    <\/div>\n\n    <script>\n        (function() {\n            const fieldIds = ['P', 'L', 'I'];\n            const inputEls = {};\n            const errorMsgEls = {};\n            const resultEl = document.getElementById('calculator-result');\n            const calcBtn = document.getElementById('calculator-calcBtn');\n            const resetBtn = document.getElementById('calculator-resetBtn');\n            \/\/ \u94a2\u6750\u6807\u51c6\u5f39\u6027\u6a21\u91cf\u56fa\u5b9a\u503c 2.06\u00d710\u00b9\u00b9 Pa\n            const STEEL_E = 2.06e11;\n\n            \/\/ \u521d\u59cb\u5316DOM\u6620\u5c04\n            function initDomRefs() {\n                fieldIds.forEach(key => {\n                    inputEls[key] = document.getElementById(`calculator-${key}`);\n                    errorMsgEls[key] = inputEls[key].nextElementSibling;\n                    \/\/ \u8f93\u5165\u65f6\u6e05\u9664\u9519\u8bef\n                    inputEls[key].addEventListener('input', () => clearError(inputEls[key], errorMsgEls[key]));\n                });\n            }\n\n            \/\/ \u8bbe\u7f6e\u9519\u8bef\u63d0\u793a\n            function setError(inputEl, msgEl, message) {\n                inputEl.classList.add('error');\n                msgEl.textContent = message;\n                msgEl.style.display = 'block';\n            }\n\n            \/\/ \u6e05\u9664\u9519\u8bef\u63d0\u793a\n            function clearError(inputEl, msgEl) {\n                inputEl.classList.remove('error');\n                msgEl.textContent = '';\n                msgEl.style.display = 'none';\n            }\n\n            \/\/ \u6821\u9a8c\u5355\u4e2a\u8f93\u5165\n            function validateInput(inputEl, msgEl, fieldName) {\n                const val = parseFloat(inputEl.value.trim());\n                if(inputEl.value.trim() === '') {\n                    setError(inputEl, msgEl, `${fieldName} field cannot be empty`);\n                    return false;\n                }\n                if(isNaN(val) || val <= 0) {\n                    setError(inputEl, msgEl, `${fieldName} must be positive number`);\n                    return false;\n                }\n                clearError(inputEl, msgEl);\n                return true;\n            }\n\n            \/\/ \u6279\u91cf\u6821\u9a8c\u5168\u90e8\u5b57\u6bb5\n            function validateAllFields() {\n                let isValid = true;\n                const fieldNames = {\n                    P: 'Load P',\n                    L: 'Span L',\n                    I: 'Inertia I'\n                };\n                fieldIds.forEach(key => {\n                    const pass = validateInput(inputEls[key], errorMsgEls[key], fieldNames[key]);\n                    if(!pass) isValid = false;\n                });\n                return isValid;\n            }\n\n            \/\/ \u6838\u5fc3\u8ba1\u7b97\u903b\u8f91\n            \/\/ I\u8f93\u5165cm\u2074\uff0c\u8f6c\u6362 m\u2074\uff1a1 cm\u2074 = 1e-8 m\u2074\n            \/\/ f = (P * L^3) \/ (48 * E * I_m4)\n            function runCalculation() {\n                if(!validateAllFields()) {\n                    resultEl.textContent = '--';\n                    return;\n                }\n                const P = parseFloat(inputEls.P.value);\n                const L = parseFloat(inputEls.L.value);\n                const I_cm4 = parseFloat(inputEls.I.value);\n                \/\/ cm\u2074 \u8f6c m\u2074\n                const I_m4 = I_cm4 * Math.pow(10, -8);\n\n                const numerator = P * Math.pow(L, 3);\n                const denominator = 48 * STEEL_E * I_m4;\n                const deflection = numerator \/ denominator;\n                \/\/ \u7ed3\u679c\u4fdd\u75592\u4f4d\u5c0f\u6570\n                resultEl.textContent = deflection.toFixed(2);\n            }\n\n            \/\/ \u91cd\u7f6e\u5168\u90e8\n            function resetAll() {\n                fieldIds.forEach(key => {\n                    inputEls[key].value = '';\n                    clearError(inputEls[key], errorMsgEls[key]);\n                });\n                resultEl.textContent = '--';\n            }\n\n            \/\/ \u7ed1\u5b9a\u4e8b\u4ef6\n            function bindEvents() {\n                calcBtn.addEventListener('click', runCalculation);\n                resetBtn.addEventListener('click', resetAll);\n            }\n\n            \/\/ \u521d\u59cb\u5316\u5165\u53e3\n            function init() {\n                initDomRefs();\n                bindEvents();\n            }\n\n            window.BeamDeflectionCalc = {\n                init: init\n            };\n        })();\n\n        \/\/ \u9875\u9762\u52a0\u8f7d\u5b8c\u6210\u521d\u59cb\u5316\u8ba1\u7b97\u5668\n        document.addEventListener('DOMContentLoaded', function() {\n            BeamDeflectionCalc.init();\n        });\n    <\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Tavan ve Portal Vin\u00e7 Sehim Hesaplama Form\u00fcl\u00fc<\/h2>\n\n\n\n<style>\n    .formula {\n        font-family: \"Microsoft YaHei\", sans-serif;\n        font-size: 1.2em;\n        margin: 20px 0;\n        padding: 15px;\n        background: #ffffff;\n        border-radius: 8px;\n        text-align: left;\n    }\n    .math-frac {\n        display: inline-block;\n        vertical-align: middle;\n        text-align: center;\n        margin: 0 6px;\n    }\n    .frac-numerator {\n        display: block;\n        padding: 0 10px;\n        border-bottom: 2px solid #222;\n    }\n    .frac-denominator {\n        display: block;\n        padding: 0 10px;\n    }\n    .sup-pow {\n        font-size: 0.6em;\n        line-height: 0;\n        position: relative;\n        top: -0.6em;\n    }\n<\/style>\n<div class=\"formula\">\n    f = <span class=\"math-frac\">\n        <span class=\"frac-numerator\">PL<span class=\"sup-pow\">3<\/span><\/span>\n        <span class=\"frac-denominator\">48EI<\/span>\n    <\/span>\n<\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li>f: Maksimum sapma (birim: m)<\/li>\n\n\n\n<li>P: Tekerlek y\u00fck\u00fc (birim: N)<\/li>\n\n\n\n<li>L: Ana kiri\u015f a\u00e7\u0131kl\u0131\u011f\u0131 (birim: m)<\/li>\n\n\n\n<li>E: Elastikiyet mod\u00fcl\u00fc (birim: Pa, genellikle 2,06 \u00d7 10\u00b9\u00b9 Pa olarak al\u0131n\u0131r)<\/li>\n\n\n\n<li>I: Atalet Momenti (birim: m)<sup>4<\/sup>) <\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Notlar<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Uluslararas\u0131 standart hesaplamalarda, \u00e7eli\u011fin elastik mod\u00fcl\u00fcn\u00fcn birimi otomatik olarak Pa&#39;ya d\u00f6n\u00fc\u015ft\u00fcr\u00fcl\u00fcr.<\/li>\n\n\n\n<li>Hesaplama sonu\u00e7lar\u0131 \u015funlardan elde edilir: <a href=\"https:\/\/www.dgcrane.com\/tr\/crane-main-girder-section-moment-of-inertia-calculator\/\">Vin\u00e7 Ana Kiri\u015f Kesitinin Atalet Momenti Hesaplay\u0131c\u0131s\u0131<\/a> De\u011ferler cm\u2074 cinsindendir, ancak hesaplama i\u015flemi s\u0131ras\u0131nda otomatik olarak SI birimi m\u2074&#39;ye d\u00f6n\u00fc\u015ft\u00fcr\u00fcl\u00fcr.<\/li>\n\n\n\n<li>Bu tavan ve portal vin\u00e7 sehim hesaplay\u0131c\u0131s\u0131, \u00f6ncelikle dikd\u00f6rtgen i\u00e7i bo\u015f kesitli ana kiri\u015fler i\u00e7in ge\u00e7erlidir.<\/li>\n\n\n\n<li>Bu tavan ve portal vin\u00e7 sapma hesaplay\u0131c\u0131s\u0131nda kullan\u0131lan y\u00fck, orta a\u00e7\u0131kl\u0131kta yo\u011funla\u015ft\u0131r\u0131lm\u0131\u015f bir y\u00fckt\u00fcr (araba en elveri\u015fsiz konumda yerle\u015ftirilmi\u015f halde).<\/li>\n\n\n\n<li>Sadece dikey statik sapma hesaplan\u0131r ve dinamik y\u00fck katsay\u0131s\u0131 dikkate al\u0131nmaz.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Uygulanabilir Vin\u00e7ler<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>K\u00f6pr\u00fc vin\u00e7leri (a\u00e7\u0131kl\u0131k \u2264 30 m)<\/li>\n\n\n\n<li>Portal vin\u00e7ler (a\u00e7\u0131kl\u0131k \u2264 30 m ve konsol kolu yok veya konsol kolu uzunlu\u011fu \u2264 0,15L)<\/li>\n\n\n\n<li>Yar\u0131 portal vin\u00e7ler (a\u00e7\u0131kl\u0131k \u2264 30 m ve konsol yok veya konsol uzunlu\u011fu \u2264 0,15L)<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"Tavan ve portal vin\u00e7 sehim hesaplay\u0131c\u0131s\u0131, kald\u0131rma kapasitesi, a\u00e7\u0131kl\u0131k, araba a\u011f\u0131rl\u0131\u011f\u0131 ve kesit parametreleri girilerek y\u00fckl\u00fc kiri\u015flerin dikey sehimini do\u011fru bir \u015fekilde hesaplar, kiri\u015f rijitli\u011fini ve yap\u0131sal performans\u0131n\u0131 de\u011ferlendirir. Bu tavan ve portal vin\u00e7 sehim hesaplay\u0131c\u0131s\u0131 ayr\u0131ca ray a\u015f\u0131nmas\u0131n\u0131, kal\u0131c\u0131 deformasyonu ve karars\u0131z \u00e7al\u0131\u015fmay\u0131 \u00f6nler, yap\u0131sal tasar\u0131m\u0131 ve a\u011f\u0131rl\u0131\u011f\u0131 optimize eder. Son olarak, sehim de\u011ferlerinin ISO ve FEM standartlar\u0131n\u0131n belirledi\u011fi s\u0131n\u0131rlara uygun olup olmad\u0131\u011f\u0131n\u0131 do\u011frular. Hesaplaman\u0131n amac\u0131, g\u00fcvenli vin\u00e7 i\u015fletimini sa\u011flamak, yap\u0131sal yorgunlu\u011fu azaltmak ve hizmet \u00f6mr\u00fcn\u00fc uzatmakt\u0131r.","protected":false},"author":8,"featured_media":17216,"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-17213","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-online-tools"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.dgcrane.com\/tr\/wp-json\/wp\/v2\/posts\/17213"}],"collection":[{"href":"https:\/\/www.dgcrane.com\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dgcrane.com\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/tr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/tr\/wp-json\/wp\/v2\/comments?post=17213"}],"version-history":[{"count":6,"href":"https:\/\/www.dgcrane.com\/tr\/wp-json\/wp\/v2\/posts\/17213\/revisions"}],"predecessor-version":[{"id":17249,"href":"https:\/\/www.dgcrane.com\/tr\/wp-json\/wp\/v2\/posts\/17213\/revisions\/17249"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dgcrane.com\/tr\/wp-json\/wp\/v2\/media\/17216"}],"wp:attachment":[{"href":"https:\/\/www.dgcrane.com\/tr\/wp-json\/wp\/v2\/media?parent=17213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dgcrane.com\/tr\/wp-json\/wp\/v2\/categories?post=17213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dgcrane.com\/tr\/wp-json\/wp\/v2\/tags?post=17213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}