{"id":29865,"date":"2025-11-20T11:04:34","date_gmt":"2025-11-20T03:04:34","guid":{"rendered":"https:\/\/penangindustrial.com\/jisuanqi\/cangku-rongliang-jisuanqi\/"},"modified":"2025-12-02T15:53:56","modified_gmt":"2025-12-02T07:53:56","slug":"cangku-rongliang-jisuanqi","status":"publish","type":"page","link":"https:\/\/penangindustrial.com\/zh-hans\/jisuanqi\/cangku-rongliang-jisuanqi\/","title":{"rendered":"\u4ed3\u5e93\u5bb9\u91cf\u8ba1\u7b97\u5668"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"29865\" class=\"elementor elementor-29865 elementor-29694\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f4089c7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f4089c7\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8e836a4\" data-id=\"8e836a4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ff6d2f3 elementor-widget elementor-widget-heading\" data-id=\"ff6d2f3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u4ed3\u5e93\u5bb9\u91cf\u8ba1\u7b97\u5668<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5e54386 elementor-widget elementor-widget-text-editor\" data-id=\"5e54386\" data-element_type=\"widget\" data-e-type=\"widget\" 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>\u6839\u636e\u5730\u9762\u9762\u79ef\u3001\u5382\u623f\u9ad8\u5ea6\u548c\u8d27\u67b6\u914d\u7f6e\uff08\u9009\u62e9\u5f0f\u3001VNA \u6216\u5806\u579b\uff09\u4f30\u7b97\u603b\u6258\u76d8\u4f4d\u3002<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-24a01d1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"24a01d1\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ba37bd1\" data-id=\"ba37bd1\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-45a068e elementor-widget elementor-widget-html\" data-id=\"45a068e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pi-tool-a3\">\r\n    <div class=\"pi-watermark-overlay\"><\/div>\r\n    <div class=\"pi-print-header\">\u4ed3\u5e93\u5bb9\u91cf\u62a5\u544a (Warehouse Capacity Report)<\/div>\r\n\r\n    <div class=\"pi-a3-content\">\r\n        \r\n        <div class=\"pi-section-title\">1. \u8bbe\u65bd\u5c3a\u5bf8 (Facility Dimensions)<\/div>\r\n        <div class=\"pi-a3-grid\">\r\n            <div class=\"pi-a3-wrapper\">\r\n                <label class=\"pi-a3-label\">\u9762\u79ef (\u5e73\u65b9\u82f1\u5c3a - Sq.Ft)<\/label> \r\n                <input type=\"number\" id=\"inp_sqft\" class=\"pi-a3-input\" placeholder=\"10000\" oninput=\"pi_sync_area('sqft')\">\r\n            <\/div>\r\n            <div class=\"pi-a3-wrapper\">\r\n                <label class=\"pi-a3-label\">\u9762\u79ef (\u5e73\u65b9\u7c73 - m\u00b2)<\/label>\r\n                <input type=\"number\" id=\"inp_sqm\" class=\"pi-a3-input\" placeholder=\"929\" oninput=\"pi_sync_area('sqm')\">\r\n            <\/div>\r\n            <div class=\"pi-a3-wrapper\">\r\n                <label class=\"pi-a3-label\">\u9ad8\u5ea6 (\u82f1\u5c3a - Ft)<\/label> \r\n                <input type=\"number\" id=\"inp_h_ft\" class=\"pi-a3-input\" placeholder=\"30\" oninput=\"pi_sync_height('ft')\">\r\n            <\/div>\r\n            <div class=\"pi-a3-wrapper\">\r\n                <label class=\"pi-a3-label\">\u9ad8\u5ea6 (\u7c73 - m)<\/label>\r\n                <input type=\"number\" id=\"inp_h_m\" class=\"pi-a3-input\" placeholder=\"9.1\" oninput=\"pi_sync_height('m')\">\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"pi-section-title\">2. \u7269\u6d41\u914d\u7f6e (Logistics Config)<\/div>\r\n        <div class=\"pi-a3-grid\">\r\n            <div class=\"pi-a3-wrapper pi-span-full\">\r\n                <label class=\"pi-a3-label\">\u8d27\u67b6\u7cfb\u7edf (Racking System)<\/label>\r\n                <select id=\"inp_rack\" class=\"pi-a3-select\" onchange=\"pi_calc_a3()\">\r\n                    <option value=\"selective\">\u9009\u62e9\u6027\u8d27\u67b6 (Selective Racking)<\/option>\r\n                    <option value=\"vna\">\u7a84\u5df7\u9053\u8d27\u67b6 (VNA)<\/option>\r\n                    <option value=\"block\">\u5730\u5806 (Block Stacking)<\/option>\r\n                <\/select>\r\n            <\/div>\r\n            <div class=\"pi-a3-wrapper\">\r\n                <label class=\"pi-a3-label\">\u6258\u76d8\u5c3a\u5bf8 (Pallet Size)<\/label>\r\n                <select id=\"inp_base\" class=\"pi-a3-select\" onchange=\"pi_toggle_custom()\">\r\n                    <option value=\"1.2\">1.2\u7c73 x 1.0\u7c73<\/option>\r\n                    <option value=\"1.21\">1.1\u7c73 x 1.1\u7c73<\/option>\r\n                    <option value=\"custom\">\u81ea\u5b9a\u4e49 (Custom)...<\/option>\r\n                <\/select>\r\n            <\/div>\r\n            <div class=\"pi-a3-wrapper\">\r\n                <label class=\"pi-a3-label\">\u8d27\u7269\u9ad8\u5ea6 (\u7c73)<\/label>\r\n                <input type=\"number\" id=\"inp_load_h\" class=\"pi-a3-input\" value=\"1.5\" step=\"0.1\" oninput=\"pi_calc_a3()\">\r\n            <\/div>\r\n             <div class=\"pi-a3-wrapper pi-span-full pi-note-row\" style=\"justify-content:center; margin-top: -2px;\">\r\n                <span style=\"font-size:0.6rem; color:#94a3b8; font-style:italic; text-align:center; line-height:1.2;\">\r\n                    *\u5305\u62ec\u6258\u76d8 + \u8d27\u7269 + \u6a2a\u6881\u9ad8\u5ea6<br>(Incl. Pallet + Goods + Beam)\r\n                <\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div id=\"row_custom_dims\">\r\n            <div class=\"pi-a3-wrapper\">\r\n                <label class=\"pi-a3-label\">\u81ea\u5b9a\u4e49\u5bbd\u5ea6 (\u7c73)<\/label>\r\n                <input type=\"number\" id=\"inp_cust_w\" class=\"pi-a3-input\" placeholder=\"1.2\" oninput=\"pi_calc_a3()\">\r\n            <\/div>\r\n            <div class=\"pi-a3-wrapper\">\r\n                <label class=\"pi-a3-label\">\u81ea\u5b9a\u4e49\u6df1\u5ea6 (\u7c73)<\/label>\r\n                <input type=\"number\" id=\"inp_cust_d\" class=\"pi-a3-input\" placeholder=\"1.0\" oninput=\"pi_calc_a3()\">\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"pi-a3-result-box\">\r\n            <span id=\"res_total\" class=\"pi-res-main\">-<\/span>\r\n            <span class=\"pi-res-label\">\u603b\u6258\u76d8\u4f4d (\u9884\u4f30) Total Pallet Positions<\/span>\r\n            \r\n            <div class=\"pi-res-details\">\r\n                <div class=\"pi-detail-item\">\r\n                    <span id=\"res_levels\" class=\"pi-detail-val\">-<\/span>\r\n                    <span class=\"pi-detail-lbl\">\u5806\u53e0\u5c42\u6570 (Levels)<\/span>\r\n                <\/div>\r\n                <div class=\"pi-detail-item\">\r\n                    <span id=\"res_density\" class=\"pi-detail-val\">-<\/span>\r\n                    <span class=\"pi-detail-lbl\">\u5bc6\u5ea6 (\u6bcf m\u00b2)<\/span>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <button class=\"pi-print-btn\" onclick=\"startPiPrint()\">\r\n            <svg width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewBox=\"0 0 24 24\"><path d=\"M6 9V2h12v7M6 18H4a2 2 0 01-2-2v-5a2 2 0 012-2h16a2 2 0 012 2v5a2 2 0 01-2 2h-2\"><\/path><path d=\"M6 14h12v8H6z\"><\/path><\/svg>\r\n            \u6253\u5370\u4f30\u7b97 (Print Estimate)\r\n        <\/button>\r\n    <\/div>\r\n\r\n    <div class=\"pi-print-footer\">\r\n        \u7531 PenangIndustrial.com \u7f16\u5236 | Ng Teng Huat | 016-4787118\r\n    <\/div>\r\n<\/div>\r\n\r\n<style>\r\n\/* --- 1. GLOBAL FIXES --- *\/\r\n#hfe-promo-notice { display: none !important; }\r\n\r\n\/* --- 2. MAIN TOOL STYLING (SCREEN) --- *\/\r\n.pi-tool-a3 {\r\n    font-family: 'Inter', 'Montserrat', sans-serif;\r\n    max-width: 800px;\r\n    margin: 0 auto;\r\n    background: #ffffff;\r\n    border: 1px solid #e2e8f0;\r\n    border-radius: 12px;\r\n    padding: 20px;\r\n    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\r\n    position: relative;\r\n    overflow: hidden;\r\n}\r\n\r\n\/* Watermark *\/\r\n.pi-watermark-overlay {\r\n    position: absolute; top: 0; left: 0; width: 100%; height: 100%;\r\n    background-image: url(\"data:image\/svg+xml,%3Csvg width='300' height='300' viewBox='0 0 300 300' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Ctext x='50%25' y='50%25' fill='%23334155' opacity='0.12' font-family='Arial' font-size='24' font-weight='bold' transform='rotate(-45 150 150)' text-anchor='middle'%3EPenangIndustrial.com%3C\/text%3E%3C\/svg%3E\");\r\n    pointer-events: none; z-index: 0; background-repeat: repeat;\r\n}\r\n.pi-a3-content { position: relative; z-index: 1; }\r\n\r\n\/* Sections *\/\r\n.pi-section-title {\r\n    font-size: 0.75rem; font-weight: 700; color: #94a3b8; text-transform: uppercase; \r\n    margin-bottom: 6px; border-bottom: 1px solid #f1f5f9; padding-bottom: 4px; \r\n    letter-spacing: 0.05em; margin-top: 12px;\r\n}\r\n.pi-section-title:first-child { margin-top: 0; }\r\n\r\n\/* Grid *\/\r\n.pi-a3-grid {\r\n    display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px;\r\n}\r\n.pi-span-full { grid-column: span 2; }\r\n.pi-a3-wrapper { display: flex; flex-direction: column; }\r\n\r\n\/* Labels & Inputs *\/\r\n.pi-a3-label {\r\n    font-size: 0.7rem; font-weight: 700; color: #475569; margin-bottom: 3px;\r\n    \/* Allow wrapping to prevent clipping *\/\r\n    white-space: normal; \r\n    line-height: 1.2;\r\n}\r\n\r\n.pi-a3-input, .pi-a3-select {\r\n    padding: 0 10px; \/* Horizontal padding only *\/\r\n    font-size: 0.95rem; border: 1px solid #cbd5e1; border-radius: 6px;\r\n    outline: none; width: 100%; background: #fff; color: #1e293b; font-weight: 600;\r\n    height: 40px; \/* Fixed height to prevent clipping *\/\r\n    line-height: 40px; \/* Center text vertically *\/\r\n    transition: border 0.2s;\r\n}\r\n.pi-a3-input:focus, .pi-a3-select:focus { border-color: #B48C44; }\r\n\r\n\/* Custom Dims *\/\r\n#row_custom_dims {\r\n    display: none; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; background: #f8fafc; padding: 8px; border-radius: 8px; border: 1px dashed #cbd5e1;\r\n}\r\n\r\n\/* Results Box *\/\r\n.pi-a3-result-box {\r\n    background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 10px; text-align: center; margin-top: 12px;\r\n}\r\n.pi-res-main {\r\n    font-size: 2rem; font-weight: 800; color: #0f172a; line-height: 1; display: block;\r\n}\r\n.pi-res-label {\r\n    font-size: 0.7rem; color: #64748b; font-weight: 600; text-transform: uppercase; margin-top: 2px; display: block;\r\n}\r\n.pi-res-details {\r\n    display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 8px; border-top: 1px dashed #cbd5e1; padding-top: 8px;\r\n}\r\n.pi-detail-item span { display: block; }\r\n.pi-detail-val { font-weight: 700; color: #334155; font-size: 1rem; }\r\n.pi-detail-lbl { font-size: 0.65rem; color: #94a3b8; text-transform: uppercase; }\r\n\r\n\/* Print Button *\/\r\n.pi-print-btn {\r\n    margin-top: 10px; width: 100%; padding: 8px; background: #fff; border: 1px solid #cbd5e1; border-radius: 6px; color: #64748b; font-weight: 600; cursor: pointer; display: flex; justify-content: center; align-items: center; gap: 6px; font-size: 0.8rem;\r\n}\r\n.pi-print-btn:hover { background: #f1f5f9; color: #0f172a; }\r\n.pi-print-header, .pi-print-footer { display: none; }\r\n\r\n\/* --- MOBILE COMPACT MODE (Screen Only) --- *\/\r\n@media (max-width: 480px) {\r\n    .pi-tool-a3 { \r\n        margin: 0 -10px; \r\n        width: calc(100% + 20px); \r\n        padding: 12px; \/* Reduced Padding *\/\r\n        border: none; box-shadow: none; border-radius: 0;\r\n    }\r\n    \r\n    \/* Tighter Grid *\/\r\n    .pi-a3-grid { gap: 8px; margin-bottom: 8px; }\r\n    \r\n    \/* Smaller Inputs *\/\r\n    .pi-a3-input, .pi-a3-select { \r\n        height: 36px; \r\n        line-height: 36px; \r\n        font-size: 0.85rem; \r\n        padding: 0 8px;\r\n    }\r\n    \r\n    \/* Smaller Labels *\/\r\n    .pi-a3-label { font-size: 0.65rem; margin-bottom: 2px; }\r\n    \r\n    \/* Smaller Result Box *\/\r\n    .pi-a3-result-box { padding: 8px; margin-top: 10px; }\r\n    .pi-res-main { font-size: 1.6rem; }\r\n    .pi-res-label { font-size: 0.65rem; }\r\n    .pi-detail-val { font-size: 0.9rem; }\r\n    .pi-detail-lbl { font-size: 0.6rem; }\r\n    \r\n    \/* Smaller Button *\/\r\n    .pi-print-btn { padding: 8px; font-size: 0.75rem; margin-top: 8px; }\r\n}\r\n\r\n@media (min-width: 768px) {\r\n    .pi-tool-a3 { padding: 32px; }\r\n    .pi-a3-grid { gap: 16px; margin-bottom: 24px; }\r\n    .pi-a3-input, .pi-a3-select { padding: 0 14px; height: 42px; line-height: 42px; font-size: 1rem; }\r\n    .pi-res-main { font-size: 2.5rem; }\r\n}\r\n\r\n\/* --- 3. UNIVERSAL PRINT OVERLAY ENGINE (A4 Safe) --- *\/\r\n@media print {\r\n    @page { size: A4; margin: 1cm; }\r\n    \r\n    \/* Hide Real Body *\/\r\n    body.pi-print-mode > * { display: none !important; }\r\n\r\n    \/* Show Overlay *\/\r\n    body.pi-print-mode #pi-print-overlay {\r\n        display: block !important; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 999999; background: white;\r\n    }\r\n\r\n    \/* Reset Container *\/\r\n    #pi-print-overlay .pi-tool-a3 {\r\n        border: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; max-width: 100% !important; overflow: visible !important;\r\n    }\r\n\r\n    \/* Header *\/\r\n    #pi-print-overlay .pi-print-header {\r\n        display: block; font-size: 24pt; font-weight: 800; color: #1e293b; margin-bottom: 1cm; border-bottom: 3px solid #B48C44; padding-bottom: 10px; text-align: center;\r\n    }\r\n\r\n    \/* Input Grid -> Results Text *\/\r\n    #pi-print-overlay .pi-a3-grid {\r\n        display: grid; grid-template-columns: 1fr 1fr; gap: 1cm; margin-bottom: 1cm;\r\n    }\r\n    #pi-print-overlay .pi-a3-wrapper {\r\n        border: 1px solid #e2e8f0; padding: 10px; border-radius: 6px;\r\n    }\r\n    #pi-print-overlay .pi-span-full { grid-column: span 2; }\r\n    \r\n    \/* Input Styling for Print *\/\r\n    #pi-print-overlay .pi-a3-input, \r\n    #pi-print-overlay .pi-a3-select {\r\n        border: none; background: transparent; font-size: 14pt; font-weight: 700; padding: 0; height: auto; line-height: normal; appearance: none; -webkit-appearance: none;\r\n    }\r\n    #pi-print-overlay .pi-a3-label { font-size: 10pt; letter-spacing: 1px; }\r\n\r\n    \/* Results Box *\/\r\n    #pi-print-overlay .pi-a3-result-box {\r\n        border: 3px solid #e2e8f0; padding: 20px; margin-top: 1cm;\r\n    }\r\n    #pi-print-overlay .pi-res-main { font-size: 36pt; }\r\n    #pi-print-overlay .pi-res-label { font-size: 14pt; }\r\n    #pi-print-overlay .pi-detail-val { font-size: 18pt; }\r\n    #pi-print-overlay .pi-detail-lbl { font-size: 10pt; }\r\n\r\n    \/* Footer & Watermark *\/\r\n    #pi-print-overlay .pi-print-footer {\r\n        display: block; margin-top: 2cm; border-top: 1px solid #cbd5e1; padding-top: 10px; font-size: 10pt; text-align: center; color: #64748b;\r\n    }\r\n    #pi-print-overlay .pi-tool-a3::before {\r\n        content: \"\u521d\u6b65\u4f30\u7b97 (ESTIMATE)\"; position: absolute; top: 40%; left: 50%; transform: translate(-50%,-50%) rotate(-45deg); font-size: 50pt; opacity: 0.05; font-weight: 900; white-space: nowrap; z-index: -1;\r\n    }\r\n\r\n    \/* Hide Controls *\/\r\n    #pi-print-overlay .pi-print-btn, \r\n    #pi-print-overlay .pi-watermark-overlay,\r\n    #pi-print-overlay .pi-note-row { display: none !important; }\r\n}\r\n<\/style>\r\n\r\n<script>\r\n(function() {\r\n    \/\/ --- CALC LOGIC ---\r\n    const SQFT_TO_SQM = 0.092903;\r\n    const FT_TO_M = 0.3048;\r\n    const SPRINKLER_CLEARANCE = 1.5; \/\/ meters\r\n    const BEAM_HEIGHT = 0.15; \/\/ meters\r\n    const EFFICIENCY = { 'selective': 0.40, 'vna': 0.60, 'block': 0.70 };\r\n\r\n    window.pi_toggle_custom = function() {\r\n        let selection = document.getElementById('inp_base').value;\r\n        let customRow = document.getElementById('row_custom_dims');\r\n        if(selection === 'custom') {\r\n            customRow.style.display = 'grid';\r\n        } else {\r\n            customRow.style.display = 'none';\r\n        }\r\n        pi_calc_a3();\r\n    }\r\n\r\n    window.pi_sync_area = function(src) {\r\n        let val = parseFloat(document.getElementById('inp_' + src).value);\r\n        if(isNaN(val)) return;\r\n        if(src === 'sqft') document.getElementById('inp_sqm').value = (val * SQFT_TO_SQM).toFixed(0);\r\n        if(src === 'sqm') document.getElementById('inp_sqft').value = (val \/ SQFT_TO_SQM).toFixed(0);\r\n        pi_calc_a3();\r\n    }\r\n\r\n    window.pi_sync_height = function(src) {\r\n        let val = parseFloat(document.getElementById('inp_h_' + src).value);\r\n        if(isNaN(val)) return;\r\n        if(src === 'ft') document.getElementById('inp_h_m').value = (val * FT_TO_M).toFixed(1);\r\n        if(src === 'm') document.getElementById('inp_h_ft').value = (val \/ FT_TO_M).toFixed(1);\r\n        pi_calc_a3();\r\n    }\r\n\r\n    window.pi_calc_a3 = function() {\r\n        let area_m2 = parseFloat(document.getElementById('inp_sqm').value);\r\n        let height_m = parseFloat(document.getElementById('inp_h_m').value);\r\n        let rack_type = document.getElementById('inp_rack').value;\r\n        let base_selection = document.getElementById('inp_base').value;\r\n        let load_h = parseFloat(document.getElementById('inp_load_h').value);\r\n\r\n        if(!area_m2 || !height_m || !load_h) {\r\n            document.getElementById('res_total').innerText = \"-\";\r\n            document.getElementById('res_levels').innerText = \"-\";\r\n            document.getElementById('res_density').innerText = \"-\";\r\n            return;\r\n        }\r\n\r\n        let pallet_base_area = 0;\r\n        if(base_selection === 'custom') {\r\n            let w = parseFloat(document.getElementById('inp_cust_w').value);\r\n            let d = parseFloat(document.getElementById('inp_cust_d').value);\r\n            if(w && d) pallet_base_area = w * d;\r\n            else return;\r\n        } else {\r\n            pallet_base_area = parseFloat(base_selection);\r\n        }\r\n\r\n        let usable_h = height_m - SPRINKLER_CLEARANCE;\r\n        if(usable_h < load_h) usable_h = 0;\r\n        let levels = Math.floor(usable_h \/ (load_h + BEAM_HEIGHT));\r\n        if(levels < 1) levels = 1;\r\n\r\n        let usable_area = area_m2 * EFFICIENCY[rack_type];\r\n        let pallet_footprint = pallet_base_area * 1.1;\r\n        let pallets_per_level = Math.floor(usable_area \/ pallet_footprint);\r\n        let total_pallets = pallets_per_level * levels;\r\n\r\n        document.getElementById('res_total').innerText = total_pallets.toLocaleString();\r\n        document.getElementById('res_levels').innerText = levels;\r\n        let dens = total_pallets \/ area_m2;\r\n        document.getElementById('res_density').innerText = dens.toFixed(2);\r\n    }\r\n\r\n    \/\/ --- UNIVERSAL PRINT OVERLAY ENGINE ---\r\n    window.startPiPrint = function() {\r\n        var content = document.querySelector('.pi-tool-a3').cloneNode(true);\r\n        \r\n        \/\/ 1. Copy Inputs\r\n        var originalInputs = document.querySelectorAll('.pi-tool-a3 input');\r\n        var clonedInputs = content.querySelectorAll('input');\r\n        for (var i = 0; i < originalInputs.length; i++) {\r\n            clonedInputs[i].value = originalInputs[i].value;\r\n        }\r\n\r\n        \/\/ 2. Copy Selects\r\n        var originalSelects = document.querySelectorAll('.pi-tool-a3 select');\r\n        var clonedSelects = content.querySelectorAll('select');\r\n        for (var i = 0; i < originalSelects.length; i++) {\r\n            clonedSelects[i].value = originalSelects[i].value;\r\n        }\r\n\r\n        var overlay = document.createElement('div');\r\n        overlay.id = 'pi-print-overlay';\r\n        overlay.appendChild(content);\r\n        \r\n        document.body.appendChild(overlay);\r\n        document.body.classList.add('pi-print-mode');\r\n\r\n        setTimeout(function() { window.print(); }, 50);\r\n\r\n        window.onafterprint = function() { cleanupPrint(); };\r\n        setTimeout(cleanupPrint, 2000);\r\n    };\r\n\r\n    function cleanupPrint() {\r\n        var overlay = document.getElementById('pi-print-overlay');\r\n        if (overlay) {\r\n            document.body.removeChild(overlay);\r\n            document.body.classList.remove('pi-print-mode');\r\n        }\r\n    }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5d9ffc9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5d9ffc9\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5c3cf36\" data-id=\"5c3cf36\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e134bc4 elementor-widget elementor-widget-spacer\" data-id=\"e134bc4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fc4bee4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fc4bee4\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-10f442b\" data-id=\"10f442b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e1e504f elementor-widget elementor-widget-heading\" data-id=\"e1e504f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u7269\u6d41\u903b\u8f91\u4e0e\u89c4\u5212\u9650\u5236<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-edf9ada elementor-widget elementor-widget-text-editor\" data-id=\"edf9ada\" data-element_type=\"widget\" data-e-type=\"widget\" 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 data-path-to-node=\"27\"><b>\u89c4\u5212\u903b\u8f91\u4e0e\u5b89\u5168\u9650\u5236<\/b><\/p><ol><li data-path-to-node=\"28,0,1\">\u53ef\u7528\u5782\u76f4\u9ad8\u5ea6\uff1a\u8ba1\u7b97\u5668\u4f1a\u81ea\u52a8\u4ece\u60a8\u8f93\u5165\u7684\u5382\u623f\u9ad8\u5ea6\u4e2d\u6263\u9664 1.5 \u7c73\uff0c\u4ee5\u7b26\u5408\u9a6c\u6765\u897f\u4e9a\u6d88\u62ef\u5c40 (BOMBA) \u5173\u4e8e\u6d88\u9632\u55b7\u6dcb\u51c0\u8ddd\u7684\u89c4\u5b9a\u3002<\/li><li data-path-to-node=\"28,1,0\">\u901a\u9053\u6548\u7387\u7cfb\u6570\uff1a\u53ef\u7528\u5730\u9762\u9762\u79ef\u5c06\u6839\u636e\u6240\u9009\u7684\u8d27\u67b6\u7cfb\u7edf\u8fdb\u884c\u6263\u51cf\uff1a<ul><li data-path-to-node=\"28,1,1,0,1\">\u9009\u62e9\u5f0f\u8d27\u67b6\uff1a60% \u901a\u9053\u5360\u7528\uff0840% \u53ef\u7528\uff09\u3002<\/li><li data-path-to-node=\"28,1,1,0,1\">VNA\uff08\u7a84\u5df7\u9053\u8d27\u67b6\uff09\uff1a40% \u901a\u9053\u5360\u7528\uff0860% \u53ef\u7528\uff09\u3002<\/li><li data-path-to-node=\"28,1,1,0,1\">\u5806\u579b\uff1a30% \u64cd\u4f5c\u7a7a\u95f4\u5360\u7528\uff0870% \u53ef\u7528\uff09\u3002<\/li><\/ul><\/li><li>\u6258\u76d8\u5c3a\u5bf8\uff1a\u6807\u51c6\u57fa\u7840\u8ba1\u7b97\u5047\u8bbe\u5360\u5730\u9762\u79ef\u4e3a 1200mm x 1000mm\uff0c\u5e76\u9884\u7559 10% \u7684\u7f13\u51b2\u7a7a\u95f4\u7528\u4e8e\u70df\u9053\u95f4\u9699\u548c\u8d27\u7269\u60ac\u5782\u3002<\/li><\/ol><p data-path-to-node=\"29\"><b>\u514d\u8d23\u58f0\u660e<\/b><\/p><p data-path-to-node=\"30,0,0\">\u6b64\u4f30\u7b97\u5047\u8bbe\u5730\u53f0\u4e3a\u5b8c\u7f8e\u7684\u77e9\u5f62\uff0c\u672a\u8003\u8651\u7ed3\u6784\u67f1\u3001\u88c5\u5378\u533a\u6216\u529e\u516c\u5ba4\u9694\u65ad\u3002\u5b9e\u9645\u5bb9\u91cf\u53ef\u80fd\u4f1a\u6839\u636e\u6700\u7ec8\u5efa\u7b51\u5e03\u5c40\u6709 +\/- 15% \u7684\u5dee\u5f02\u3002 <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b324ad3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b324ad3\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5369919\" data-id=\"5369919\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-35e2924 elementor-widget elementor-widget-text-editor\" data-id=\"35e2924\" data-element_type=\"widget\" data-e-type=\"widget\" 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><b>\u4e00\u822c\u514d\u8d23\u58f0\u660e<\/b>\uff1aPenangIndustrial.com \u63d0\u4f9b\u7684\u5de5\u5177\u3001\u8ba1\u7b97\u5668\u53ca\u6570\u636e\u6a21\u62df\u4ec5\u4f9b\u521d\u6b65\u4f30\u7b97\u548c\u6218\u7565\u89c4\u5212\u4e4b\u7528\u3002\u867d\u7136\u6211\u4eec\u5df2\u5c3d\u4e00\u5207\u52aa\u529b\u786e\u4fdd\u4f9d\u636e\u5f53\u524d\u9a6c\u6765\u897f\u4e9a\u6807\u51c6\u548c JUPEM \u6307\u5357\u7684\u51c6\u786e\u6027\uff0c\u4f46\u8fd9\u4e9b\u7ed3\u679c\u4e0d\u6784\u6210\u5b98\u65b9\u571f\u5730\u6d4b\u91cf\u3001\u7ed3\u6784\u5de5\u7a0b\u8ba4\u8bc1\u6216\u8d22\u52a1\u5efa\u8bae\u3002\u5f3a\u70c8\u5efa\u8bae\u7528\u6237\u5728\u505a\u51fa\u6700\u7ec8\u6295\u8d44\u6216\u8fd0\u8425\u51b3\u7b56\u4e4b\u524d\uff0c\u54a8\u8be2\u5177\u6709\u8d44\u8d28\u7684\u4e13\u4e1a\u4eba\u58eb\uff08\u6d4b\u91cf\u5e08\u3001\u5de5\u7a0b\u5e08\u3001\u4f1a\u8ba1\u5e08\u6216\u5f8b\u5e08\uff09\u3002PenangIndustrial.com \u5bf9\u57fa\u4e8e\u8fd9\u4e9b\u4f30\u7b97\u6240\u4ea7\u751f\u7684\u9519\u8bef\u3001\u9057\u6f0f\u6216\u51b3\u7b56\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002   <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u4ed3\u5e93\u5bb9\u91cf\u8ba1\u7b97\u5668 \u6839\u636e\u5730\u9762\u9762\u79ef\u3001\u5382\u623f\u9ad8\u5ea6\u548c\u8d27\u67b6\u914d\u7f6e\uff08\u9009\u62e9\u5f0f\u3001VNA \u6216\u5806\u579b\uff09\u4f30\u7b97\u603b\u6258\u76d8\u4f4d\u3002 \u4ed3\u5e93\u5bb9\u91cf\u62a5\u544a (Wa [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"parent":29841,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-29865","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/penangindustrial.com\/zh-hans\/wp-json\/wp\/v2\/pages\/29865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/penangindustrial.com\/zh-hans\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/penangindustrial.com\/zh-hans\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/penangindustrial.com\/zh-hans\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/penangindustrial.com\/zh-hans\/wp-json\/wp\/v2\/comments?post=29865"}],"version-history":[{"count":9,"href":"https:\/\/penangindustrial.com\/zh-hans\/wp-json\/wp\/v2\/pages\/29865\/revisions"}],"predecessor-version":[{"id":30322,"href":"https:\/\/penangindustrial.com\/zh-hans\/wp-json\/wp\/v2\/pages\/29865\/revisions\/30322"}],"up":[{"embeddable":true,"href":"https:\/\/penangindustrial.com\/zh-hans\/wp-json\/wp\/v2\/pages\/29841"}],"wp:attachment":[{"href":"https:\/\/penangindustrial.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=29865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}