{"id":4549,"date":"2026-02-26T10:37:18","date_gmt":"2026-02-26T10:37:18","guid":{"rendered":"https:\/\/idaequipment.com\/?page_id=4549"},"modified":"2026-02-26T10:49:45","modified_gmt":"2026-02-26T10:49:45","slug":"tool-line-sizing-calculator","status":"publish","type":"page","link":"https:\/\/idaequipment.com\/pt\/pesticide-sc-suspension-production-line\/tool-line-sizing-calculator\/","title":{"rendered":"Calculadora de dimensionamento de linha de ferramentas"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-5ccb3c1\" data-block-id=\"5ccb3c1\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-5ccb3c1-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-6d14013\" data-v=\"4\" data-block-id=\"6d14013\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-6d14013-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-6d14013-inner-blocks\">\n<section id=\"ida-line-sizing-module\" class=\"ida-ls-section\">\n<style>\n\/* \u5f15\u5165\u8c37\u6b4c\u5b57\u4f53\u4fdd\u969c\u6392\u7248\u9ad8\u7ea7\u611f\u4e0e\u4e00\u81f4\u6027 *\/\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;600&display=swap');\n\n#ida-line-sizing-module {\n    \/* \u6838\u5fc3\u8272\u5f69\u53d8\u91cf\uff1a\u590d\u523b\u622a\u56fe\u4e2d\u7684 B2B \u5de5\u4e1a\u84dd\u8c03 *\/\n    --ida-primary: #2b6cb0;      \/* \u4e3b\u84dd (\u6309\u94ae\u3001\u9ad8\u4eae\u8282\u70b9) *\/\n    --ida-dark: #1a365d;         \/* \u6df1\u84dd (\u6807\u9898) *\/\n    --ida-accent: #e65100;       \/* \u8f85\u52a9\u6a59\u8272 (\u7ed3\u679c\u5f3a\u8c03) *\/\n    --ida-bg: #f8fafc;\n    --ida-card-bg: #ffffff;\n    --ida-text: #2d3748;\n    --ida-text-light: #718096;\n    --ida-border: #cbd5e0;\n    --ida-border-focus: #3182ce;\n    --ida-mono: 'JetBrains Mono', monospace;\n    \n    max-width: 1050px;\n    margin: 80px auto;\n    padding: 0 20px;\n    font-family: 'Inter', -apple-system, sans-serif;\n    color: var(--ida-text);\n    box-sizing: border-box;\n}\n\n#ida-line-sizing-module *, \n#ida-line-sizing-module *::before, \n#ida-line-sizing-module *::after {\n    box-sizing: border-box;\n}\n\n\/* \u2500\u2500 \u6807\u9898\u4e0e\u8bf4\u660e\u6392\u7248 \u2500\u2500 *\/\n.ida-ls-header {\n    margin-bottom: 40px;\n}\n\n.ida-ls-header h2 {\n    font-size: 32px;\n    color: var(--ida-dark);\n    font-weight: 700;\n    line-height: 1.3;\n    margin: 0 0 15px 0;\n}\n\n.ida-ls-header p {\n    font-size: 16px;\n    color: var(--ida-text-light);\n    line-height: 1.6;\n    margin: 0;\n    max-width: 900px;\n}\n\n\/* \u2500\u2500 \u8868\u5355\u7f51\u683c\u5e03\u5c40 (\u590d\u523b\u622a\u56fe\u76842\u5217\u6392\u7248) \u2500\u2500 *\/\n.ida-ls-form-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 30px;\n    margin-bottom: 35px;\n}\n\n.ida-ls-field {\n    display: flex;\n    flex-direction: column;\n}\n\n.ida-ls-label {\n    font-size: 14px;\n    font-weight: 700;\n    color: var(--ida-dark);\n    text-transform: uppercase;\n    letter-spacing: 0.5px;\n    margin-bottom: 10px;\n}\n\n.ida-ls-hint {\n    font-size: 13px;\n    color: var(--ida-text-light);\n    margin-top: 8px;\n    line-height: 1.4;\n}\n\n\/* \u2500\u2500 \u4e0b\u62c9\u9009\u62e9\u6846\u5b9a\u5236 (\u6e05\u723d\u767d\u5e95\u7070\u8fb9) \u2500\u2500 *\/\n.ida-select-wrap {\n    position: relative;\n}\n\n\/* \u81ea\u5b9a\u4e49\u4e0b\u62c9\u7bad\u5934 *\/\n.ida-select-wrap::after {\n    content: '';\n    position: absolute;\n    right: 15px;\n    top: 50%;\n    transform: translateY(-50%);\n    width: 0;\n    height: 0;\n    border-left: 5px solid transparent;\n    border-right: 5px solid transparent;\n    border-top: 5px solid #a0aec0;\n    pointer-events: none;\n}\n\n.ida-ls-select {\n    width: 100%;\n    height: 48px;\n    appearance: none;\n    -webkit-appearance: none;\n    -moz-appearance: none;\n    border: 1px solid var(--ida-border);\n    border-radius: 4px;\n    padding: 0 40px 0 15px;\n    font-family: var(--ida-mono); \/* \u622a\u56fe\u4e2d\u7684\u7b49\u5bbd\u5b57\u4f53\u611f *\/\n    font-size: 14px;\n    color: var(--ida-text);\n    background: var(--ida-card-bg);\n    cursor: pointer;\n    transition: border-color 0.2s ease, box-shadow 0.2s ease;\n}\n\n.ida-ls-select:focus {\n    outline: none;\n    border-color: var(--ida-border-focus);\n    box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.15);\n}\n\n.ida-ls-select.ida-error {\n    border-color: #e53e3e;\n    box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.15);\n}\n\n\/* \u2500\u2500 \u7c92\u5b50\u5927\u5c0f\u5206\u6bb5\u9009\u62e9\u5668 (Segmented Control) \u2500\u2500 *\/\n.ida-ls-radio-group {\n    display: flex;\n    width: 100%;\n    max-width: 320px; \/* \u9650\u5236\u5bbd\u5ea6\u66f4\u8d34\u8fd1\u622a\u56fe *\/\n}\n\n.ida-ls-radio-option {\n    flex: 1;\n    position: relative;\n}\n\n.ida-ls-radio-option input[type=\"radio\"] {\n    position: absolute;\n    opacity: 0;\n    width: 0;\n    height: 0;\n}\n\n.ida-ls-radio-label {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 48px;\n    font-size: 15px;\n    font-weight: 500;\n    color: var(--ida-text);\n    background: var(--ida-card-bg);\n    border: 1px solid var(--ida-border);\n    border-right: none; \/* \u53bb\u9664\u4e2d\u95f4\u91cd\u53e0\u8fb9\u6846 *\/\n    cursor: pointer;\n    transition: all 0.2s ease;\n}\n\n.ida-ls-radio-option:first-child .ida-ls-radio-label {\n    border-radius: 4px 0 0 4px;\n}\n\n.ida-ls-radio-option:last-child .ida-ls-radio-label {\n    border-right: 1px solid var(--ida-border);\n    border-radius: 0 4px 4px 0;\n}\n\n.ida-ls-radio-label:hover {\n    background: #f8fafc;\n}\n\n\/* \u9009\u4e2d\u72b6\u6001\u590d\u523b\u622a\u56fe\uff1a\u6df1\u84dd\u5e95\uff0c\u767d\u5b57 *\/\n.ida-ls-radio-option input[type=\"radio\"]:checked + .ida-ls-radio-label {\n    background: var(--ida-primary);\n    color: #fff;\n    border-color: var(--ida-primary);\n    font-weight: 600;\n}\n\/* \u4fee\u590d\u9009\u4e2d\u72b6\u6001\u4e0b\u5bf9\u76f8\u90bb\u5143\u7d20\u7684\u8fb9\u6846\u5f71\u54cd *\/\n.ida-ls-radio-option input[type=\"radio\"]:checked + .ida-ls-radio-label + .ida-ls-radio-option .ida-ls-radio-label {\n    border-left-color: var(--ida-primary); \n}\n\n\/* \u2500\u2500 \u5e95\u90e8\u8ba1\u7b97\u6309\u94ae \u2500\u2500 *\/\n.ida-btn-calc {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    height: 50px;\n    padding: 0 35px;\n    font-size: 16px;\n    font-weight: 600;\n    color: #fff;\n    background: var(--ida-primary);\n    border: none;\n    border-radius: 4px;\n    cursor: pointer;\n    transition: background 0.2s ease, transform 0.1s;\n}\n\n.ida-btn-calc:hover {\n    background: var(--ida-dark);\n}\n\n.ida-btn-calc:active {\n    transform: scale(0.98);\n}\n\n\/* \u2500\u2500 \u7ed3\u679c\u9762\u677f (\u9ad8\u7ea7\u62a5\u8868\u98ce) \u2500\u2500 *\/\n.ida-ls-results {\n    display: none;\n    margin-top: 50px;\n    padding-top: 40px;\n    border-top: 2px solid var(--ida-border);\n    animation: slideUpFade 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n@keyframes slideUpFade {\n    from { opacity: 0; transform: translateY(20px); }\n    to { opacity: 1; transform: translateY(0); }\n}\n\n.ida-res-header {\n    display: flex;\n    align-items: center;\n    gap: 15px;\n    margin-bottom: 30px;\n}\n\n.ida-res-badge {\n    padding: 6px 14px;\n    font-family: var(--ida-mono);\n    font-size: 13px;\n    font-weight: 700;\n    background: var(--ida-primary);\n    color: #fff;\n    border-radius: 4px;\n    letter-spacing: 0.5px;\n}\n\n.ida-res-title {\n    font-size: 24px;\n    font-weight: 700;\n    color: var(--ida-dark);\n    margin: 0;\n}\n\n.ida-ls-results h3 {\n    font-size: 18px;\n    color: var(--ida-dark);\n    margin: 0 0 20px 0;\n    font-weight: 600;\n    border-bottom: 1px solid var(--ida-border);\n    padding-bottom: 10px;\n}\n\n\/* \u2500\u2500 \u6d41\u7a0b\u56fe \u2500\u2500 *\/\n.ida-flow-diagram {\n    display: flex;\n    align-items: center;\n    gap: 0;\n    padding: 25px;\n    background: var(--ida-bg);\n    border-radius: 8px;\n    border: 1px solid var(--ida-border);\n    margin-bottom: 35px;\n    overflow-x: auto;\n}\n\n.ida-flow-step {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 10px;\n    min-width: 110px;\n    flex-shrink: 0;\n}\n\n.ida-flow-icon {\n    width: 48px;\n    height: 48px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: var(--ida-card-bg);\n    color: var(--ida-primary);\n    border: 2px solid var(--ida-primary);\n    font-size: 18px;\n    border-radius: 50%;\n    font-weight: 700;\n    box-shadow: 0 2px 6px rgba(0,0,0,0.05);\n}\n\n.ida-flow-icon.ida-accent {\n    background: var(--ida-accent);\n    color: #fff;\n    border-color: var(--ida-accent);\n}\n\n.ida-flow-name {\n    font-size: 13px;\n    font-weight: 600;\n    color: var(--ida-text);\n    text-align: center;\n    line-height: 1.4;\n}\n\n.ida-flow-model {\n    font-family: var(--ida-mono);\n    font-size: 12px;\n    color: var(--ida-text-light);\n    text-align: center;\n}\n\n.ida-flow-arrow {\n    min-width: 30px;\n    text-align: center;\n    color: #a0aec0;\n    font-size: 14px;\n}\n\n\/* \u2500\u2500 \u8bbe\u5907\u6e05\u5355\u5361\u7247 \u2500\u2500 *\/\n.ida-equip-list {\n    display: flex;\n    flex-direction: column;\n    gap: 15px;\n    margin-bottom: 35px;\n}\n\n.ida-equip-card {\n    display: grid;\n    grid-template-columns: 60px 1fr auto;\n    gap: 20px;\n    align-items: center;\n    padding: 20px;\n    background: var(--ida-card-bg);\n    border: 1px solid var(--ida-border);\n    border-left: 4px solid var(--ida-primary);\n    border-radius: 6px;\n    transition: box-shadow 0.2s;\n}\n\n.ida-equip-card:hover {\n    box-shadow: 0 4px 12px rgba(0,0,0,0.04);\n}\n\n.ida-equip-icon {\n    width: 50px;\n    height: 50px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: #edf2f7;\n    border-radius: 6px;\n    font-size: 24px;\n}\n\n.ida-equip-info h4 {\n    font-size: 16px;\n    font-weight: 600;\n    color: var(--ida-dark);\n    margin: 0 0 5px 0;\n}\n\n.ida-equip-model {\n    font-family: var(--ida-mono);\n    font-size: 14px;\n    font-weight: 600;\n    color: var(--ida-primary);\n}\n\n.ida-equip-spec {\n    font-size: 14px;\n    color: var(--ida-text-light);\n    margin-top: 4px;\n    line-height: 1.5;\n}\n\n.ida-equip-qty {\n    font-family: var(--ida-mono);\n    font-size: 16px;\n    font-weight: 700;\n    color: var(--ida-text);\n    text-align: right;\n}\n\n\/* \u6807\u7b7e *\/\n.ida-tag-ex {\n    background: #fffaf0;\n    color: #dd6b20;\n    border: 1px solid #fbd38d;\n    padding: 2px 6px;\n    font-size: 11px;\n    border-radius: 3px;\n    margin-left: 8px;\n    vertical-align: text-bottom;\n}\n.ida-tag-series {\n    background: #f0fff4;\n    color: #38a169;\n    border: 1px solid #9ae6b4;\n    padding: 2px 6px;\n    font-size: 11px;\n    border-radius: 3px;\n    margin-left: 8px;\n    vertical-align: text-bottom;\n}\n\n\/* \u2500\u2500 \u6838\u5fc3\u6570\u636e\u603b\u7ed3\u533a \u2500\u2500 *\/\n.ida-summary-grid {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 20px;\n    margin-bottom: 35px;\n}\n\n.ida-summary-card {\n    padding: 20px;\n    background: var(--ida-bg);\n    border: 1px solid var(--ida-border);\n    border-radius: 6px;\n}\n\n.ida-summary-label {\n    font-size: 12px;\n    font-weight: 700;\n    text-transform: uppercase;\n    color: var(--ida-text-light);\n    margin-bottom: 8px;\n}\n\n.ida-summary-value {\n    font-family: var(--ida-mono);\n    font-size: 22px;\n    font-weight: 600;\n    color: var(--ida-dark);\n}\n\n.ida-summary-note {\n    font-size: 12px;\n    color: #a0aec0;\n    margin-top: 6px;\n}\n\n\/* \u2500\u2500 \u5de5\u7a0b\u5e08\u63d0\u793a \u2500\u2500 *\/\n.ida-notes-box {\n    padding: 20px;\n    background: #ebf8ff;\n    border-left: 4px solid #319795;\n    border-radius: 0 6px 6px 0;\n    margin-bottom: 35px;\n}\n\n.ida-notes-box p {\n    font-size: 14px;\n    line-height: 1.6;\n    color: var(--ida-text);\n    margin: 0;\n}\n.ida-notes-box strong { color: #276749; }\n\n\/* \u2500\u2500 \u7ed3\u679c\u9875\u5e95\u90e8 \u2500\u2500 *\/\n.ida-res-footer {\n    text-align: center;\n}\n\n.ida-btn-reset {\n    display: inline-flex;\n    align-items: center;\n    height: 40px;\n    padding: 0 20px;\n    font-size: 14px;\n    font-weight: 600;\n    color: var(--ida-text-light);\n    background: transparent;\n    border: 1px solid var(--ida-border);\n    border-radius: 4px;\n    cursor: pointer;\n    transition: all 0.2s;\n}\n\n.ida-btn-reset:hover {\n    color: var(--ida-text);\n    background: var(--ida-bg);\n}\n\n\/* \u2500\u2500 \u54cd\u5e94\u5f0f \u2500\u2500 *\/\n@media (max-width: 860px) {\n    .ida-ls-form-grid { grid-template-columns: 1fr; gap: 20px;}\n    .ida-equip-card { grid-template-columns: 50px 1fr; gap: 15px; }\n    .ida-equip-qty { grid-column: 1 \/ -1; text-align: left; padding-left: 65px; }\n    .ida-summary-grid { grid-template-columns: 1fr 1fr; }\n    .ida-flow-diagram { padding: 15px; }\n}\n@media (max-width: 480px) {\n    .ida-ls-radio-label { font-size: 13px; padding: 0 10px; }\n    .ida-summary-grid { grid-template-columns: 1fr; }\n}\n<\/style>\n\n<header class=\"ida-ls-header\">\n    <h2>Pesticide Production Line Sizing Calculator<\/h2>\n    <p>Select your formulation type, target production capacity, and particle size requirement. This calculator recommends the right IDA bead mill model, disperser size, reactor volume, and filling speed for your pesticide manufacturing line.<\/p>\n<\/header>\n\n<div class=\"ida-ls-form-grid\">\n    <div class=\"ida-ls-field\">\n        <label class=\"ida-ls-label\" for=\"ida-ls-formulation\">Formulation Type<\/label>\n        <div class=\"ida-select-wrap\">\n            <select class=\"ida-ls-select\" id=\"ida-ls-formulation\">\n                <option value=\"\">&#8212; Select formulation &#8212;<\/option>\n                <option value=\"SC\">SC (Suspension Concentrate)<\/option>\n                <option value=\"EC\">EC (Emulsifiable Concentrate)<\/option>\n                <option value=\"SL\">SL (Soluble Liquid)<\/option>\n                <option value=\"OD\">OD (Oil Dispersion)<\/option>\n            <\/select>\n        <\/div>\n        <span class=\"ida-ls-hint\">Determines whether bead milling is required<\/span>\n    <\/div>\n\n    <div class=\"ida-ls-field\">\n        <label class=\"ida-ls-label\" for=\"ida-ls-capacity\">Target Capacity (L\/H)<\/label>\n        <div class=\"ida-select-wrap\">\n            <select class=\"ida-ls-select\" id=\"ida-ls-capacity\">\n                <option value=\"\">&#8212; Select target output &#8212;<\/option>\n                <option value=\"200\">200 L\/h<\/option>\n                <option value=\"400\">400 L\/h<\/option>\n                <option value=\"600\">600 L\/h<\/option>\n                <option value=\"800\">800 L\/h<\/option>\n                <option value=\"1000\">1,000 L\/h<\/option>\n                <option value=\"1500\">1,500 L\/h<\/option>\n                <option value=\"2000\">2,000 L\/h<\/option>\n                <option value=\"3000\">3,000 L\/h<\/option>\n            <\/select>\n        <\/div>\n        <span class=\"ida-ls-hint\">Continuous throughput at the milling stage<\/span>\n    <\/div>\n\n    <div class=\"ida-ls-field\">\n        <label class=\"ida-ls-label\">Target Particle Size (D50)<\/label>\n        <div class=\"ida-ls-radio-group\">\n            <div class=\"ida-ls-radio-option\">\n                <input type=\"radio\" name=\"ida-ls-particle\" id=\"ida-p5\" value=\"5\">\n                <label class=\"ida-ls-radio-label\" for=\"ida-p5\">&lt; 5 &mu;m<\/label>\n            <\/div>\n            <div class=\"ida-ls-radio-option\">\n                <input type=\"radio\" name=\"ida-ls-particle\" id=\"ida-p3\" value=\"3\" checked>\n                <label class=\"ida-ls-radio-label\" for=\"ida-p3\">&lt; 3 &mu;m<\/label>\n            <\/div>\n            <div class=\"ida-ls-radio-option\">\n                <input type=\"radio\" name=\"ida-ls-particle\" id=\"ida-p2\" value=\"2\">\n                <label class=\"ida-ls-radio-label\" for=\"ida-p2\">&lt; 2 &mu;m<\/label>\n            <\/div>\n            <div class=\"ida-ls-radio-option\">\n                <input type=\"radio\" name=\"ida-ls-particle\" id=\"ida-p1\" value=\"1\">\n                <label class=\"ida-ls-radio-label\" for=\"ida-p1\">&lt; 1 &mu;m<\/label>\n            <\/div>\n        <\/div>\n        <span class=\"ida-ls-hint\">Finer targets may require 2 mills in series<\/span>\n    <\/div>\n\n    <div class=\"ida-ls-field\">\n        <label class=\"ida-ls-label\" for=\"ida-ls-container\">Filling Container<\/label>\n        <div class=\"ida-select-wrap\">\n            <select class=\"ida-ls-select\" id=\"ida-ls-container\">\n                <option value=\"\">&#8212; Select container &#8212;<\/option>\n                <option value=\"1\">1 L Bottle<\/option>\n                <option value=\"5\">5 L Jug<\/option>\n                <option value=\"20\">20 L Drum<\/option>\n                <option value=\"200\">200 L Drum<\/option>\n                <option value=\"1000\">1,000 L IBC<\/option>\n            <\/select>\n        <\/div>\n        <span class=\"ida-ls-hint\">Affects filling line speed recommendation<\/span>\n    <\/div>\n\n    <div class=\"ida-ls-field\">\n        <label class=\"ida-ls-label\" for=\"ida-ls-batch\">Batch Volume (L)<\/label>\n        <div class=\"ida-select-wrap\">\n            <select class=\"ida-ls-select\" id=\"ida-ls-batch\">\n                <option value=\"\">&#8212; Select batch volume &#8212;<\/option>\n                <option value=\"500\">500 L<\/option>\n                <option value=\"1000\">1,000 L<\/option>\n                <option value=\"2000\">2,000 L<\/option>\n                <option value=\"3000\">3,000 L<\/option>\n                <option value=\"5000\">5,000 L<\/option>\n                <option value=\"10000\">10,000 L<\/option>\n            <\/select>\n        <\/div>\n        <span class=\"ida-ls-hint\">Pre-mix batch size per reactor charge<\/span>\n    <\/div>\n<\/div>\n\n<div>\n    <button type=\"button\" class=\"ida-btn-calc\" id=\"ida-btn-calculate\">Size My Production Line<\/button>\n<\/div>\n\n<div class=\"ida-ls-results\" id=\"ida-ls-results-panel\">\n    <div class=\"ida-res-header\">\n        <span class=\"ida-res-badge\" id=\"ida-res-badge\"><\/span>\n        <h3 class=\"ida-res-title\" id=\"ida-res-title\"><\/h3>\n    <\/div>\n\n    <h3>Recommended Line Flow<\/h3>\n    <div class=\"ida-flow-diagram\" id=\"ida-flow-diagram\"><\/div>\n\n    <h3>Core Equipment List<\/h3>\n    <div class=\"ida-equip-list\" id=\"ida-equip-list\"><\/div>\n\n    <h3>Operational Summary<\/h3>\n    <div class=\"ida-summary-grid\" id=\"ida-summary-grid\"><\/div>\n\n    <div class=\"ida-notes-box\">\n        <p id=\"ida-notes-text\"><\/p>\n    <\/div>\n\n    <div class=\"ida-res-footer\">\n        <button type=\"button\" class=\"ida-btn-reset\" id=\"ida-btn-reset\">&larr; Modify Parameters<\/button>\n    <\/div>\n<\/div>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    var scope = document.getElementById('ida-line-sizing-module');\n    if (!scope) return;\n\n    var selForm = scope.querySelector('#ida-ls-formulation');\n    var selCap = scope.querySelector('#ida-ls-capacity');\n    var selContainer = scope.querySelector('#ida-ls-container');\n    var selBatch = scope.querySelector('#ida-ls-batch');\n    var btnCalc = scope.querySelector('#ida-btn-calculate');\n    var resultsPanel = scope.querySelector('#ida-ls-results-panel');\n    var btnReset = scope.querySelector('#ida-btn-reset');\n\n    function getParticle(){\n        var r = scope.querySelector('input[name=\"ida-ls-particle\"]:checked');\n        return r ? parseFloat(r.value) : 3;\n    }\n\n    \/* ---- \u6838\u5fc3\u7b97\u6cd5\u6570\u636e (\u5b8c\u5168\u4fdd\u7559) ---- *\/\n    var MILLS = [\n        {model:'IBS-5',  vol:5,  kw:7.5,  rpm:2800, outMin:100,  outMax:300},\n        {model:'IBS-15', vol:15, kw:22,   rpm:2200, outMin:300,  outMax:600},\n        {model:'IBS-30', vol:30, kw:37,   rpm:1800, outMin:500,  outMax:1200},\n        {model:'IBS-50', vol:50, kw:55,   rpm:1500, outMin:800,  outMax:2000}\n    ];\n\n    function disperserSize(capacityLh){\n        if(capacityLh <= 300) return {model:'IDA IGF-7.5', kw:7.5, desc:'7.5 kW high-speed disperser'};\n        if(capacityLh <= 600) return {model:'IDA IGF-15', kw:15, desc:'15 kW high-speed disperser'};\n        if(capacityLh <= 1200) return {model:'IDA IGF-22', kw:22, desc:'22 kW high-speed disperser'};\n        if(capacityLh <= 2000) return {model:'IDA IGF-37', kw:37, desc:'37 kW high-speed disperser'};\n        return {model:'IDA IGF-55', kw:55, desc:'55 kW heavy-duty disperser'};\n    }\n\n    function mixerSize(capacityLh){\n        if(capacityLh <= 500) return {model:'IDA IHM-7.5', kw:7.5, desc:'7.5 kW high-shear mixer (rotor-stator)'};\n        if(capacityLh <= 1000) return {model:'IDA IHM-15', kw:15, desc:'15 kW high-shear mixer (rotor-stator)'};\n        if(capacityLh <= 2000) return {model:'IDA IHM-22', kw:22, desc:'22 kW inline high-shear mixer'};\n        return {model:'IDA IHM-37', kw:37, desc:'37 kW inline high-shear mixer'};\n    }\n\n    function fillingSpec(containerL, capacityLh){\n        var containersPerHour = Math.ceil(capacityLh \/ containerL);\n        var cpm = Math.ceil(containersPerHour \/ 60);\n        var heads = 1;\n        if(containerL <= 1){ heads = cpm > 30 ? 4 : (cpm > 15 ? 2 : 1); }\n        else if(containerL <= 5){ heads = cpm > 10 ? 2 : 1; }\n        else if(containerL <= 20){ heads = cpm > 5 ? 2 : 1; }\n        else { heads = 1; }\n        var actualCpm = Math.ceil(cpm \/ heads);\n        return {\n            containersPerHour: containersPerHour,\n            cpm: cpm,\n            heads: heads,\n            actualCpmPerHead: actualCpm,\n            containerLabel: containerL + 'L',\n            desc: heads + '-head filling machine, ' + containerL + 'L containers'\n        };\n    }\n\n    function selectMill(capacityLh, particleD50, formType){\n        var needsMill = (formType === 'SC' || formType === 'OD');\n        if(!needsMill) return null;\n\n        var seriesMode = (particleD50 < 2);\n        var bestSingle = null;\n        var bestIdx = -1;\n\n        for(var i = 0; i < MILLS.length; i++){\n            if(capacityLh >= MILLS[i].outMin && capacityLh <= MILLS[i].outMax){\n                bestSingle = MILLS[i];\n                bestIdx = i;\n                break;\n            }\n        }\n\n        if(!bestSingle){\n            var largest = MILLS[MILLS.length - 1];\n            if(capacityLh > largest.outMax){\n                var count = Math.ceil(capacityLh \/ largest.outMax);\n                return { mill: largest, count: count, series: seriesMode, totalCount: seriesMode ? count * 2 : count, arrangement: seriesMode ? count + ' parallel lines, 2 in series each' : count + ' mills in parallel', effectiveOutput: largest.outMax * count, achievableD50: seriesMode ? '< 1' : (particleD50 <= 3 ? '< 3' : '< 5') };\n            }\n            for(var j = 0; j < MILLS.length; j++){\n                if(MILLS[j].outMax >= capacityLh){ bestSingle = MILLS[j]; bestIdx = j; break; }\n            }\n            if(!bestSingle){ bestSingle = MILLS[MILLS.length - 1]; bestIdx = MILLS.length - 1; }\n        }\n\n        if(seriesMode){\n            return { mill: bestSingle, count: 1, series: true, totalCount: 2, arrangement: '2 mills in series (coarse + fine pass)', effectiveOutput: Math.round(bestSingle.outMax * 0.7), achievableD50: '< 1' };\n        }\n\n        return { mill: bestSingle, count: 1, series: false, totalCount: 1, arrangement: 'Single mill', effectiveOutput: bestSingle.outMax, achievableD50: particleD50 <= 3 ? '< 3' : '< 5' };\n    }\n\n    function sizeLine(formType, capacityLh, particleD50, containerL, batchL){\n        var equip = [];\n        var flowSteps = [];\n        var notes = [];\n        var lineLabel = '';\n        var carrier = '';\n\n        switch(formType){\n            case 'SC': lineLabel = 'SC Suspension Concentrate Line'; carrier = 'Water'; break;\n            case 'EC': lineLabel = 'EC Emulsifiable Concentrate Line'; carrier = 'Organic solvent'; break;\n            case 'SL': lineLabel = 'SL Soluble Liquid Line'; carrier = 'Water'; break;\n            case 'OD': lineLabel = 'OD Oil Dispersion Line'; carrier = 'Oil-based'; break;\n        }\n\n        var reactorVol = batchL * 2; \n        var reactorModel = 'IDA IRV-' + (reactorVol >= 10000 ? '10K' : (reactorVol >= 5000 ? '5K' : (reactorVol >= 2000 ? '2K' : '1K')));\n        equip.push({ category: 'Premix Reactor', model: reactorModel, qty: 1, icon: '\u2b22', spec: reactorVol.toLocaleString() + 'L total | ' + batchL.toLocaleString() + 'L working', note: carrier + ' carrier, jacketed with agitator' });\n        flowSteps.push({name:'Premix\\nReactor', model:reactorModel, icon:'1', accent:false});\n\n        var premixCapacity = Math.round(capacityLh * 1.5); \n        var disp = disperserSize(premixCapacity);\n        equip.push({ category: 'High-Speed Disperser', model: disp.model, qty: 1, icon: '\u2699', spec: disp.kw + ' kW | Pre-mix cap: ' + premixCapacity + ' L\/h', note: disp.desc });\n        flowSteps.push({name:'High-Speed\\nDisperser', model:disp.model.replace('IDA ',''), icon:'2', accent:false});\n\n        if(formType === 'SC' || formType === 'OD'){\n            var millResult = selectMill(capacityLh, particleD50, formType);\n            if(millResult){\n                var millSpec = millResult.mill.vol + 'L chamber | ' + millResult.mill.kw + ' kW | ' + millResult.mill.rpm + ' rpm max | ' + millResult.mill.outMin + '-' + millResult.mill.outMax + ' L\/h';\n                equip.push({ category: 'Bead Mill', model: 'IDA ' + millResult.mill.model, qty: millResult.totalCount, icon: '\u26ab', spec: millSpec, note: millResult.arrangement + ' | D50: ' + millResult.achievableD50 + ' \\u03BCm', series: millResult.series });\n\n                if(millResult.series){\n                    flowSteps.push({name:'Bead Mill\\n(Coarse)', model:millResult.mill.model, icon:'3a', accent:true});\n                    flowSteps.push({name:'Bead Mill\\n(Fine)', model:millResult.mill.model, icon:'3b', accent:true});\n                } else if(millResult.totalCount > 1){\n                    flowSteps.push({name:'Bead Mills\\n(\\u00D7' + millResult.totalCount + ')', model:millResult.mill.model, icon:'3', accent:true});\n                } else {\n                    flowSteps.push({name:'Bead Mill', model:millResult.mill.model, icon:'3', accent:true});\n                }\n\n                if(formType === 'OD') notes.push('<strong>OD formulations:<\/strong> Target D50 is typically < 3 \\u03BCm. Oil-based carrier demands explosion-proof motors and inert gas blanketing.');\n                else notes.push('<strong>SC formulations:<\/strong> Zirconia beads (0.3-0.8 mm) are recommended for sub-3 \\u03BCm grinding in water carrier.');\n\n                if(particleD50 < 2) notes.push('<strong>Sub-2 \\u03BCm target:<\/strong> Two mills in series provide a coarse pass followed by a fine pass to reach D50 < 1 \\u03BCm.');\n            }\n        } else if(formType === 'EC'){\n            var hsMixer = mixerSize(capacityLh);\n            equip.push({ category: 'High-Shear Mixer', model: hsMixer.model, qty: 1, icon: '\u21bb', spec: hsMixer.kw + ' kW | Rotor-stator for emulsion', note: hsMixer.desc + ' | No bead milling needed for EC' });\n            flowSteps.push({name:'High-Shear\\nMixer', model:hsMixer.model.replace('IDA ',''), icon:'3', accent:true});\n            notes.push('<strong>EC formulations:<\/strong> Dissolve active ingredient in organic solvent and use a high-shear mixer for emulsification. Explosion-proof equipment is mandatory.');\n        } else {\n            equip.push({ category: 'Dissolving Tank', model: 'IDA IDT-' + (batchL >= 5000 ? '5K' : (batchL >= 2000 ? '2K' : '1K')), qty: 1, icon: '\u21bb', spec: batchL.toLocaleString() + 'L | Low-speed paddle agitator', note: 'Simple dissolving stage | No milling needed' });\n            flowSteps.push({name:'Dissolving\\nTank', model:'IDT', icon:'3', accent:false});\n            notes.push('<strong>SL formulations:<\/strong> Water-soluble and only require a dissolving tank with gentle agitation. Most cost-effective production line.');\n        }\n\n        equip.push({ category: 'Holding Tank', model: 'IDA IHT-' + (batchL >= 5000 ? '5K' : (batchL >= 2000 ? '2K' : '1K')), qty: 1, icon: '\u25a0', spec: batchL.toLocaleString() + 'L | Low-speed agitator', note: 'QC sampling point, pH adjustment' });\n        flowSteps.push({name:'Holding\\nTank', model:'IHT', icon:'4', accent:false});\n\n        var fill = fillingSpec(containerL, capacityLh);\n        equip.push({ category: 'Filling Machine', model: 'IDA IFM-' + fill.heads + 'H', qty: 1, icon: '\u25bc', spec: fill.heads + ' head(s) | ' + fill.containersPerHour + ' containers\/hr', note: fill.desc });\n        flowSteps.push({name:'Filling\\nMachine', model:'IFM-' + fill.heads + 'H', icon:'5', accent:false});\n\n        if(formType === 'EC' || formType === 'OD'){\n            notes.push('<strong>Safety Requirement:<\/strong> All electrical equipment must be ATEX\/IECEx rated for hazardous atmospheres.');\n        }\n\n        var effectiveThroughput = capacityLh;\n        if(formType === 'SC' || formType === 'OD'){\n            var mr = selectMill(capacityLh, particleD50, formType);\n            if(mr) effectiveThroughput = Math.min(capacityLh, mr.effectiveOutput);\n        }\n\n        return { lineLabel: lineLabel, equip: equip, flowSteps: flowSteps, notes: notes, throughput: effectiveThroughput, particle: particleD50, formType: formType, batchL: batchL, containerL: containerL, fill: fill };\n    }\n\n    function renderFlow(steps, container){\n        container.innerHTML = '';\n        for(var i = 0; i < steps.length; i++){\n            if(i > 0){\n                var arrow = document.createElement('div');\n                arrow.className = 'ida-flow-arrow';\n                arrow.innerHTML = '\u25b6';\n                container.appendChild(arrow);\n            }\n            var step = document.createElement('div');\n            step.className = 'ida-flow-step';\n            var iconCls = steps[i].accent ? 'ida-flow-icon ida-accent' : 'ida-flow-icon';\n            step.innerHTML = '<div class=\"' + iconCls + '\">' + steps[i].icon + '<\/div>' +\n                '<div class=\"ida-flow-name\">' + steps[i].name.replace(\/\\n\/g,'<br>') + '<\/div>' +\n                '<div class=\"ida-flow-model\">' + steps[i].model + '<\/div>';\n            container.appendChild(step);\n        }\n    }\n\n    function render(cfg){\n        scope.querySelector('#ida-res-badge').textContent = cfg.formType;\n        scope.querySelector('#ida-res-title').textContent = cfg.lineLabel;\n\n        renderFlow(cfg.flowSteps, scope.querySelector('#ida-flow-diagram'));\n\n        var equipList = scope.querySelector('#ida-equip-list');\n        equipList.innerHTML = '';\n        var totalUnits = 0;\n        for(var i = 0; i < cfg.equip.length; i++){\n            var e = cfg.equip[i];\n            totalUnits += e.qty;\n            var badges = '';\n            if(e.series) badges += '<span class=\"ida-tag-series\">SERIES<\/span>';\n            if(cfg.formType === 'EC' && e.category === 'High-Shear Mixer') badges += '<span class=\"ida-tag-ex\">EX-PROOF<\/span>';\n            if((cfg.formType === 'EC' || cfg.formType === 'OD') && e.category === 'High-Speed Disperser') badges += '<span class=\"ida-tag-ex\">EX-PROOF<\/span>';\n\n            var card = document.createElement('div');\n            card.className = 'ida-equip-card';\n            card.innerHTML = '<div class=\"ida-equip-icon\">' + e.icon + '<\/div>' +\n                '<div class=\"ida-equip-info\">' +\n                    '<h4>' + e.category + '<\/h4>' +\n                    '<div class=\"ida-equip-model\">' + e.model + badges + '<\/div>' +\n                    '<div class=\"ida-equip-spec\">' + e.spec + '<\/div>' +\n                    (e.note ? '<div class=\"ida-equip-spec\" style=\"font-style:italic;\">' + e.note + '<\/div>' : '') +\n                '<\/div>' +\n                '<div class=\"ida-equip-qty\">&times; ' + e.qty + '<\/div>';\n            equipList.appendChild(card);\n        }\n\n        var summaryGrid = scope.querySelector('#ida-summary-grid');\n        summaryGrid.innerHTML = '';\n        var throughputStr = cfg.throughput.toLocaleString() + ' L\/h';\n        var batchTime = Math.round(cfg.batchL \/ cfg.throughput * 60);\n        var achievable = cfg.formType === 'SC' || cfg.formType === 'OD' ? 'D50 < ' + cfg.particle + ' \\u03BCm' : 'N\/A';\n        var cards = [\n            {label:'Throughput', value: throughputStr, note: 'Effective processing output'},\n            {label:'Particle Size', value: achievable, note: 'Achievable with config'},\n            {label:'Batch Cycle', value: batchTime + ' min', note: cfg.batchL.toLocaleString() + 'L batch time'},\n            {label:'Equipment', value: totalUnits + ' units', note: 'Core processing modules'}\n        ];\n        for(var s = 0; s < cards.length; s++){\n            var sc = document.createElement('div');\n            sc.className = 'ida-summary-card';\n            sc.innerHTML = '<div class=\"ida-summary-label\">' + cards[s].label + '<\/div>' +\n                '<div class=\"ida-summary-value\">' + cards[s].value + '<\/div>' +\n                '<div class=\"ida-summary-note\">' + cards[s].note + '<\/div>';\n            summaryGrid.appendChild(sc);\n        }\n\n        scope.querySelector('#ida-notes-text').innerHTML = cfg.notes.join('<br><br>');\n\n        resultsPanel.style.display = 'block';\n        setTimeout(function(){\n            resultsPanel.scrollIntoView({behavior:'smooth', block:'start'});\n        }, 100);\n    }\n\n    btnCalc.addEventListener('click', function(){\n        var formType = selForm.value;\n        var capacity = selCap.value;\n        var container = selContainer.value;\n        var batch = selBatch.value;\n        var particle = getParticle();\n\n        var valid = true;\n        if(!formType){ selForm.classList.add('ida-error'); valid = false; }\n        if(!capacity){ selCap.classList.add('ida-error'); valid = false; }\n        if(!container){ selContainer.classList.add('ida-error'); valid = false; }\n        if(!batch){ selBatch.classList.add('ida-error'); valid = false; }\n        if(!valid) return;\n\n        selForm.classList.remove('ida-error');\n        selCap.classList.remove('ida-error');\n        selContainer.classList.remove('ida-error');\n        selBatch.classList.remove('ida-error');\n\n        var cfg = sizeLine(formType, parseInt(capacity), particle, parseInt(container), parseInt(batch));\n        render(cfg);\n    });\n\n    \/\/ \u79fb\u9664\u62a5\u9519\u7ea2\u6846\n    [selForm, selCap, selContainer, selBatch].forEach(function(el) {\n        el.addEventListener('change', function(){ this.classList.remove('ida-error'); });\n    });\n\n    btnReset.addEventListener('click', function(){\n        resultsPanel.style.display = 'none';\n        scope.scrollIntoView({behavior:'smooth', block:'start'});\n    });\n});\n<\/script>\n<\/section>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Pesticide Production Line Sizing Calculator Select your formulation type, target production capacity, and particle size requirement. This calculator recommends the right IDA bead mill model, disperser size, reactor volume, and filling speed for your pesticide manufacturing line. Formulation Type &#8212; Select formulation &#8212;SC (Suspension Concentrate)EC (Emulsifiable Concentrate)SL (Soluble Liquid)OD (Oil Dispersion) Determines whether bead milling [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":4423,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-4549","page","type-page","status-publish","hentry"],"blocksy_meta":{"has_hero_section":"disabled","styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"_links":{"self":[{"href":"https:\/\/idaequipment.com\/pt\/wp-json\/wp\/v2\/pages\/4549","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/idaequipment.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/idaequipment.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/idaequipment.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/idaequipment.com\/pt\/wp-json\/wp\/v2\/comments?post=4549"}],"version-history":[{"count":0,"href":"https:\/\/idaequipment.com\/pt\/wp-json\/wp\/v2\/pages\/4549\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/idaequipment.com\/pt\/wp-json\/wp\/v2\/pages\/4423"}],"wp:attachment":[{"href":"https:\/\/idaequipment.com\/pt\/wp-json\/wp\/v2\/media?parent=4549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}