{"id":15908,"date":"2025-05-20T05:50:08","date_gmt":"2025-05-20T05:50:08","guid":{"rendered":"https:\/\/www.mechstream.com\/?p=15908"},"modified":"2025-05-20T06:30:20","modified_gmt":"2025-05-20T06:30:20","slug":"sprocket-profile-design-calculator","status":"publish","type":"post","link":"https:\/\/www.mechstream.com\/fr\/sprocket-profile-design-calculator\/","title":{"rendered":"Calculateur de conception de profil de pignon"},"content":{"rendered":"\n<p>The Sprocket Profile Design Calculator is an essential tool for engineers and designers seeking precision in sprocket creation. By inputting key dimensions, users can effortlessly generate accurate sprocket profiles tailored to their specific needs. This calculator enhances efficiency, reduces design time, and eliminates errors in the manufacturing process. Ideal for applications in mechanical engineering and manufacturing, our calculator supports innovation and optimizes design workflows. Whether you are designing for bicycles, machinery, or custom projects, this tool ensures high-quality, reliable outputs that meet professional standards.<\/p>\n\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Sprocket Profile Design Calculator | Professional Chain Drive Solutions<\/title>\n    <style>\n        \/* Reset and base styles *\/\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n\n        body {\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n            line-height: 1.6;\n            color: #333;\n            \/* Removed max-width, margin, and padding from body *\/\n        }\n\n        .calculator-container {\n            max-width: 1200px;\n            margin: 0 auto;\n            padding: 20px;\n        }\n\n        \/* Section styles *\/\n        .calculator-section {\n            margin-bottom: 30px;\n            background: #fff;\n            border-radius: 8px;\n            padding: 20px;\n            box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n        }\n\n        h2 {\n            color: #000;\n            margin-bottom: 15px;\n            font-size: 1.5em;\n        }\n\n        \/* Parameter explanation styles *\/\n        .parameter-grid {\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n            gap: 15px;\n            margin-bottom: 20px;\n        }\n\n        .parameter-item {\n            background: #f8f9fa;\n            padding: 10px;\n            border-radius: 4px;\n        }\n\n        \/* Diagram styles *\/\n        .diagram-container {\n            text-align: center;\n            margin: 20px 0;\n        }\n\n        .diagram {\n            max-width: 100%;\n            height: auto;\n        }\n\n        \/* Calculator form styles *\/\n        .calculator-form {\n            display: grid;\n            grid-template-columns: repeat(2, 1fr);\n            gap: 15px;\n            margin-bottom: 20px;\n        }\n\n        .input-group {\n            display: flex;\n            flex-direction: column;\n        }\n\n        label {\n            margin-bottom: 5px;\n            font-weight: 500;\n        }\n\n        input, select {\n            padding: 8px;\n            border: 1px solid #ddd;\n            border-radius: 4px;\n            font-size: 16px;\n        }\n\n        \/* Remove border-radius for inputs in the calculator form *\/\n        .calculator-form input, .calculator-form select {\n            border-radius: 0;\n            height: 38px; \/* Added to ensure consistent height *\/\n        }\n\n        .unit {\n            margin-top: 5px;\n            color: #666;\n            font-size: 0.9em;\n        }\n\n        \/* Results section styles *\/\n        .results {\n            display: none;\n            background: #e8f5e9;\n            padding: 20px;\n            border-radius: 4px;\n            margin-top: 20px;\n        }\n\n        .result-item {\n            margin-bottom: 10px;\n            font-weight: 500;\n        }\n\n        \/* Button styles *\/\n        .calculate-btn {\n            background: #2196f3;\n            color: white;\n            border: none;\n            padding: 12px 24px;\n            border-radius: 4px;\n            cursor: pointer;\n            font-size: 16px;\n            transition: background 0.3s;\n            grid-column: 1 \/ -1;\n            width: 25%;\n            justify-self: center;\n        }\n\n        .calculate-btn:hover {\n            background: #1976d2;\n            color: white;\n        }\n\n        \/* Responsive adjustments *\/\n        @media (max-width: 768px) {\n            .calculator-form {\n                grid-template-columns: 1fr;\n            }\n            \n            .parameter-grid {\n                grid-template-columns: 1fr;\n            }\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"calculator-container\">\n        <div class=\"calculator-section\">\n            <h2>Parameters<\/h2>\n            <div class=\"parameter-grid\">\n                <div class=\"parameter-item\">\n                    <strong>Chain Number:<\/strong> Standard chain designation number.\n                <\/div>\n                <div class=\"parameter-item\">\n                    <strong>Number of Teeth (Z):<\/strong> The total number of teeth on the sprocket.\n                <\/div>\n                <div class=\"parameter-item\">\n                    <strong>Pitch (P):<\/strong> The distance between adjacent roller centers.\n                <\/div>\n                <div class=\"parameter-item\">\n                    <strong>Roller Diameter (d1):<\/strong> The diameter of the chain roller.\n                <\/div>\n                <div class=\"parameter-item\">\n                    <strong>Inner Width (b1):<\/strong> The inner width of the chain link.\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"calculator-section\">\n            <h2>Sprocket Diagram<\/h2>\n            <div class=\"diagram-container\">\n                <svg class=\"diagram\" viewBox=\"0 0 600 400\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <!-- Basic Sprocket Outline -->\n                    <circle cx=\"300\" cy=\"200\" r=\"180\" fill=\"none\" stroke=\"#000\" stroke-width=\"1\"\/>\n                    <circle cx=\"300\" cy=\"200\" r=\"100\" fill=\"none\" stroke=\"#000\" stroke-width=\"1\" stroke-dasharray=\"5,5\"\/> <!-- Pitch Circle -->\n\n                    <!-- Representing a Tooth and Roller -->\n                    <circle cx=\"300\" cy=\"20\" r=\"10\" fill=\"#ccc\" stroke=\"#000\" stroke-width=\"1\"\/> <!-- Roller -->\n                    <line x1=\"300\" y1=\"200\" x2=\"300\" y2=\"20\" stroke=\"#000\" stroke-width=\"1\" stroke-dasharray=\"2,2\"\/> <!-- Line to Roller Center -->\n\n                    <!-- Labels and Dimensions (Simplified) -->\n                    <text x=\"310\" y=\"110\" font-size=\"12\" text-anchor=\"start\">d<\/text>\n                    <line x1=\"300\" y1=\"200\" x2=\"300\" y2=\"100\" stroke=\"#000\" stroke-width=\"1\"\/>\n                    <line x1=\"305\" y1=\"100\" x2=\"305\" y2=\"200\" stroke=\"#000\" stroke-width=\"1\"\/>\n                    <text x=\"310\" y=\"150\" font-size=\"12\" text-anchor=\"start\">d\/2<\/text>\n\n                    <text x=\"310\" y=\"30\" font-size=\"12\" text-anchor=\"start\">d1<\/text>\n                    <line x1=\"290\" y1=\"20\" x2=\"310\" y2=\"20\" stroke=\"#f00\" stroke-width=\"1\"\/>\n\n                    <!-- Pitch Representation (Arc) -->\n                    <!-- This is a simplification, exact pitch arc is complex -->\n                    <path d=\"M 300 200 L 300 20 A 180 180 0 0 1 386.6 50\" fill=\"none\" stroke=\"#00f\" stroke-width=\"1\"\/>\n                    <text x=\"340\" y=\"80\" font-size=\"12\" text-anchor=\"middle\">P<\/text>\n                    <text x=\"450\" y=\"210\" font-size=\"12\" text-anchor=\"start\">Z<\/text>\n                    <text x=\"180\" y=\"280\" font-size=\"12\" text-anchor=\"end\">b1<\/text>\n\n                     <!-- Approximate outside and root diameters -->\n                    <circle cx=\"300\" cy=\"200\" r=\"190\" fill=\"none\" stroke=\"#555\" stroke-width=\"1\" stroke-dasharray=\"3,3\"\/> <!-- Approximate Outside -->\n                     <text x=\"495\" y=\"210\" font-size=\"12\" text-anchor=\"start\">damax<\/text>\n\n                    <circle cx=\"300\" cy=\"200\" r=\"90\" fill=\"none\" stroke=\"#555\" stroke-width=\"1\" stroke-dasharray=\"3,3\"\/> <!-- Approximate Root -->\n                     <text x=\"405\" y=\"210\" font-size=\"12\" text-anchor=\"start\">df<\/text>\n\n                <\/svg>\n            <\/div>\n        <\/div>\n\n        <div class=\"calculator-section\">\n            <h2>Calculator<\/h2>\n            <form class=\"calculator-form\" id=\"sprocketForm\">\n                <div class=\"input-group\">\n                    <label for=\"chainNumber\">Chain Number<\/label>\n                    <select id=\"chainNumber\" name=\"chainNumber\" required>\n                        <option value=\"\">Select Chain Number<\/option>\n                        <option value=\"08A\">08A<\/option>\n                        <option value=\"10A\">10A<\/option>\n                        <option value=\"12A\">12A<\/option>\n                        <option value=\"16A\">16A<\/option>\n                        <option value=\"20A\">20A<\/option>\n                        <option value=\"24A\">24A<\/option>\n                        <option value=\"28A\">28A<\/option>\n                        <option value=\"32A\">32A<\/option>\n                        <option value=\"40A\">40A<\/option>\n                        <option value=\"48A\">48A<\/option>\n                        <option value=\"56A\">56A<\/option>\n                        <option value=\"64A\">64A<\/option>\n                    <\/select>\n                <\/div>\n                <div class=\"input-group\">\n                    <label for=\"teeth\">Number of Teeth (Z) <span class=\"unit\">(teeth)<\/span><\/label>\n                    <input type=\"number\" id=\"teeth\" name=\"teeth\" min=\"7\" max=\"150\" required>\n                <\/div>\n                <div class=\"input-group\">\n                    <label for=\"pitch\">Pitch (P) <span class=\"unit\">(mm)<\/span><\/label>\n                    <input type=\"number\" id=\"pitch\" name=\"pitch\" step=\"0.01\" required>\n                <\/div>\n                <div class=\"input-group\">\n                    <label for=\"rollerDiameter\">Roller Diameter (d1) <span class=\"unit\">(mm)<\/span><\/label>\n                    <input type=\"number\" id=\"rollerDiameter\" name=\"rollerDiameter\" step=\"0.01\" required>\n                <\/div>\n                <div class=\"input-group\">\n                    <label for=\"innerWidth\">Inner Width (b1) <span class=\"unit\">(mm)<\/span><\/label>\n                    <input type=\"number\" id=\"innerWidth\" name=\"innerWidth\" step=\"0.01\" required>\n                <\/div>\n                <button type=\"submit\" class=\"calculate-btn\">Calculate<\/button>\n            <\/form>\n\n            <div class=\"results\" id=\"results\">\n                <h3>Calculation Results<\/h3>\n                <div class=\"result-item\">\n                    <strong>Pitch Circle Diameter (d):<\/strong> <span id=\"pitchCircleDiameter\"><\/span> mm\n                <\/div>\n                <div class=\"result-item\">\n                    <strong>Outside Diameter (damax):<\/strong> <span id=\"outsideDiameter\"><\/span> mm\n                <\/div>\n                <div class=\"result-item\">\n                    <strong>Root Diameter (df):<\/strong> <span id=\"rootDiameter\"><\/span> mm\n                <\/div>\n                <div class=\"result-item\">\n                    <strong>Tooth Flank Radius max (remax):<\/strong> <span id=\"toothFlankRadiusMax\"><\/span> mm\n                <\/div>\n                <div class=\"result-item\">\n                    <strong>Tooth Flank Radius min (remin):<\/strong> <span id=\"toothFlankRadiusMin\"><\/span> mm\n                <\/div>\n                <div class=\"result-item\">\n                    <strong>Roller Seating Curve Radius max (rimax):<\/strong> <span id=\"rollerSeatingRadiusMax\"><\/span> mm\n                <\/div>\n                 <div class=\"result-item\">\n                    <strong>Roller Seating Curve Radius min (rimin):<\/strong> <span id=\"rollerSeatingRadiusMin\"><\/span> mm\n                <\/div>\n                 <div class=\"result-item\">\n                    <strong>Roller Seating Angle min (amin):<\/strong> <span id=\"rollerSeatingAngleMin\"><\/span> degrees\n                <\/div>\n                 <div class=\"result-item\">\n                    <strong>Roller Seating Angle max (amax):<\/strong> <span id=\"rollerSeatingAngleMax\"><\/span> degrees\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <script>\n        \/\/ \u94fe\u53f7\u5bf9\u5e94\u7684\u6807\u51c6\u53c2\u6570\n        const chainSpecs = {\n            '08A': { pitch: 12.7, rollerDiameter: 8.51, innerWidth: 7.75 },\n            '10A': { pitch: 15.875, rollerDiameter: 10.16, innerWidth: 9.65 },\n            '12A': { pitch: 19.05, rollerDiameter: 12.07, innerWidth: 11.68 },\n            '16A': { pitch: 25.4, rollerDiameter: 15.88, innerWidth: 17.02 },\n            '20A': { pitch: 31.75, rollerDiameter: 19.05, innerWidth: 19.56 },\n            '24A': { pitch: 38.1, rollerDiameter: 22.23, innerWidth: 25.4 },\n            '28A': { pitch: 44.45, rollerDiameter: 25.4, innerWidth: 30.99 },\n            '32A': { pitch: 50.8, rollerDiameter: 28.58, innerWidth: 30.99 },\n            '40A': { pitch: 63.5, rollerDiameter: 39.68, innerWidth: 38.1 },\n            '48A': { pitch: 76.2, rollerDiameter: 47.63, innerWidth: 45.72 },\n            '56A': { pitch: 88.9, rollerDiameter: 55.56, innerWidth: 53.34 },\n            '64A': { pitch: 101.6, rollerDiameter: 63.5, innerWidth: 60.96 }\n        };\n\n        \/\/ \u5f53\u9009\u62e9\u94fe\u53f7\u65f6\u81ea\u52a8\u586b\u5145\u6807\u51c6\u53c2\u6570\n        document.getElementById('chainNumber').addEventListener('change', function(e) {\n            const selectedChain = e.target.value;\n            if (selectedChain && chainSpecs[selectedChain]) {\n                const specs = chainSpecs[selectedChain];\n                document.getElementById('pitch').value = specs.pitch;\n                document.getElementById('rollerDiameter').value = specs.rollerDiameter;\n                document.getElementById('innerWidth').value = specs.innerWidth;\n            }\n        });\n\n        document.getElementById('sprocketForm').addEventListener('submit', function(e) {\n            e.preventDefault();\n            \n            \/\/ Get input values\n            const pitch = parseFloat(document.getElementById('pitch').value);\n            const rollerDiameter = parseFloat(document.getElementById('rollerDiameter').value);\n            const teeth = parseInt(document.getElementById('teeth').value);\n            const innerWidth = parseFloat(document.getElementById('innerWidth').value);\n\n            \/\/ Calculate results based on provided formulas\n            const pitchCircleDiameter = pitch \/ Math.sin(Math.PI \/ teeth);\n            const outsideDiameter = pitchCircleDiameter + 1.25 * pitch - rollerDiameter; \/\/ Using damax formula\n            const rootDiameter = pitchCircleDiameter - rollerDiameter;\n            \n            \/\/ Tooth Flank Radius\n            const toothFlankRadiusMax = 0.008 * rollerDiameter * (teeth + 180);\n            const toothFlankRadiusMin = 0.12 * rollerDiameter * (teeth + 2);\n\n            \/\/ Roller Seating Curve Radius\n            const rollerSeatingRadiusMax = 0.505 * rollerDiameter + 0.069 * Math.cbrt(rollerDiameter);\n            const rollerSeatingRadiusMin = 0.505 * rollerDiameter;\n\n            \/\/ Roller Seating Angle (convert degrees to radians for Math.sin if needed, but here output is in degrees)\n            const rollerSeatingAngleMin = 120 - (90 \/ teeth);\n            const rollerSeatingAngleMax = 140 - (90 \/ teeth);\n\n            \/\/ Display results\n            document.getElementById('pitchCircleDiameter').textContent = pitchCircleDiameter.toFixed(2);\n            document.getElementById('outsideDiameter').textContent = outsideDiameter.toFixed(2);\n            document.getElementById('rootDiameter').textContent = rootDiameter.toFixed(2);\n            document.getElementById('toothFlankRadiusMax').textContent = toothFlankRadiusMax.toFixed(2);\n            document.getElementById('toothFlankRadiusMin').textContent = toothFlankRadiusMin.toFixed(2);\n            document.getElementById('rollerSeatingRadiusMax').textContent = rollerSeatingRadiusMax.toFixed(2);\n            document.getElementById('rollerSeatingRadiusMin').textContent = rollerSeatingRadiusMin.toFixed(2);\n            document.getElementById('rollerSeatingAngleMin').textContent = rollerSeatingAngleMin.toFixed(2);\n            document.getElementById('rollerSeatingAngleMax').textContent = rollerSeatingAngleMax.toFixed(2);\n\n            \/\/ Show results section\n            document.getElementById('results').style.display = 'block';\n        });\n    <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>The Sprocket Profile Design Calculator is an essential tool for engineers and designers seeking precision in sprocket creation. By inputting key dimensions, users can effortlessly&#8230;<\/p>","protected":false},"author":2,"featured_media":15914,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"pmpro_default_level":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3431],"tags":[3421,3682,3671],"class_list":["post-15908","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sprocket-chain-calculator","tag-engineering-tool","tag-profile-calculator","tag-sprocket-design","pmpro-has-access"],"acf":[],"jetpack_featured_media_url":"https:\/\/www.mechstream.com\/wp-content\/uploads\/2025\/05\/Sprocket-Profile-Design-Calculator.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/posts\/15908","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/comments?post=15908"}],"version-history":[{"count":0,"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/posts\/15908\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/media\/15914"}],"wp:attachment":[{"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/media?parent=15908"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/categories?post=15908"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mechstream.com\/fr\/wp-json\/wp\/v2\/tags?post=15908"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}