{"id":17629,"date":"2026-06-26T19:09:33","date_gmt":"2026-06-26T11:09:33","guid":{"rendered":"https:\/\/www.plasticmoulds.net\/?p=17629"},"modified":"2026-10-31T09:40:01","modified_gmt":"2026-10-31T01:40:01","slug":"stampaggio-a-iniezione-attrezzature-interattive","status":"publish","type":"post","link":"https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html","title":{"rendered":"simulatore interattivo online di stampaggio a iniezione"},"content":{"rendered":"\n<p>Everything on this page is available as a free, interactive injection molding resource\u2014ready to use online and easy to add to your own website.<\/p><p>Explore a six-stage injection molding cycle simulator and adjust key parameters such as melt temperature, injection speed, and packing pressure to see how they affect part quality and common molding defects in real time. You can also explore practical, interactive guides covering wall thickness, ribs, bosses, draft angles, gates, cooling-system layouts, and essential mold components.<\/p><p>For production and costing, the toolkit includes a clamping-force calculator, landed-cost estimator, and mold-steel selection tool, plus a troubleshooting guide covering 17 common injection molding defects and their potential causes.<\/p><p>Many of these resources also include a ready-to-use embed code. Simply copy and paste the snippet into your website, blog, or WordPress page and provide your visitors with useful molding tools at no cost. A small Topworks credit link is automatically included, so you&#8217;re welcome to share and embed any tool that fits your audience&#8217;s needs.<\/p><div class=\"tw-srg-wrap\" id=\"twsrg547915\" style=\"max-width:1000px;margin:0 auto;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#fff;border:1px solid #d7dee8;border-radius:10px;padding:18px 18px 22px;box-sizing:border-box\"><h3 style=\"margin:0 0 12px;font-size:17px;color:#1e3a5f;font-weight:700\">Sprue, Runner &amp; Gate \u2014 Melt Flow Animation<\/h3><div class=\"tw-srg-stage\" style=\"position:relative;background:#fff;border:1px solid #e6ecf3;border-radius:8px;overflow:hidden\"><svg viewBox=\"0 0 760 360\" width=\"100%\" style=\"display:block;height:auto\" preserveAspectRatio=\"xMidYMid meet\"><defs><clipPath id=\"twsrg547915-cs\"><rect id=\"srg-cs\" x=\"350\" y=\"60\" width=\"64\" height=\"0\"><\/rect><\/clipPath><clipPath id=\"twsrg547915-crl\"><rect id=\"srg-crl\" x=\"363\" y=\"190\" width=\"0\" height=\"46\"><\/rect><\/clipPath><clipPath id=\"twsrg547915-crr\"><rect id=\"srg-crr\" x=\"397\" y=\"190\" width=\"0\" height=\"46\"><\/rect><\/clipPath><clipPath id=\"twsrg547915-cgl\"><rect id=\"srg-cgl\" x=\"150\" y=\"198\" width=\"0\" height=\"30\"><\/rect><\/clipPath><clipPath id=\"twsrg547915-cgr\"><rect id=\"srg-cgr\" x=\"610\" y=\"198\" width=\"0\" height=\"30\"><\/rect><\/clipPath><\/defs><line x1=\"380\" y1=\"30\" x2=\"380\" y2=\"340\" stroke=\"#c3cdda\" stroke-width=\"1\" stroke-dasharray=\"1,4,8,4\"><\/line><path d=\"M380,30 L380,52 M374,44 L380,54 L386,44\" fill=\"none\" stroke=\"#5b6b7f\" stroke-width=\"1.5\" stroke-linecap=\"round\"><\/path><text x=\"392\" y=\"42\" font-size=\"11\" fill=\"#5b6b7f\">Melt from nozzle<\/text><polygon points=\"371,60 389,60 397,222 363,222\" fill=\"#eef2f7\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"><\/polygon><rect x=\"150\" y=\"198\" width=\"213\" height=\"24\" fill=\"#eef2f7\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"><\/rect><rect x=\"397\" y=\"198\" width=\"213\" height=\"24\" fill=\"#eef2f7\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"><\/rect><rect x=\"120\" y=\"205\" width=\"30\" height=\"10\" fill=\"#eef2f7\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"><\/rect><rect x=\"610\" y=\"205\" width=\"30\" height=\"10\" fill=\"#eef2f7\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"><\/rect><polygon points=\"371,60 389,60 397,222 363,222\" fill=\"#f2a33c\" clip-path=\"url(#twsrg547915-cs)\"><\/polygon><rect x=\"150\" y=\"198\" width=\"213\" height=\"24\" fill=\"#f2a33c\" clip-path=\"url(#twsrg547915-crl)\"><\/rect><rect x=\"397\" y=\"198\" width=\"213\" height=\"24\" fill=\"#f2a33c\" clip-path=\"url(#twsrg547915-crr)\"><\/rect><rect x=\"120\" y=\"205\" width=\"30\" height=\"10\" fill=\"#f2a33c\" clip-path=\"url(#twsrg547915-cgl)\"><\/rect><rect x=\"610\" y=\"205\" width=\"30\" height=\"10\" fill=\"#f2a33c\" clip-path=\"url(#twsrg547915-cgr)\"><\/rect><path d=\"M114,210 L96,210 M102,205 L94,210 L102,215\" fill=\"none\" stroke=\"#9aa7b8\" stroke-width=\"1.5\" stroke-linecap=\"round\"><\/path><text x=\"90\" y=\"200\" font-size=\"10\" fill=\"#9aa7b8\" text-anchor=\"end\">to cavity<\/text><path d=\"M646,210 L664,210 M658,205 L666,210 L658,215\" fill=\"none\" stroke=\"#9aa7b8\" stroke-width=\"1.5\" stroke-linecap=\"round\"><\/path><text x=\"670\" y=\"200\" font-size=\"10\" fill=\"#9aa7b8\">to cavity<\/text><line x1=\"402\" y1=\"135\" x2=\"430\" y2=\"135\" stroke=\"#5b6b7f\" stroke-width=\"1\"><\/line><circle cx=\"443\" cy=\"135\" r=\"11\" fill=\"#1e3a5f\" data-badge=\"1\"><\/circle><text x=\"443\" y=\"139\" text-anchor=\"middle\" font-size=\"11\" fill=\"#fff\" style=\"pointer-events:none\">1<\/text><line x1=\"265\" y1=\"196\" x2=\"265\" y2=\"168\" stroke=\"#5b6b7f\" stroke-width=\"1\"><\/line><circle cx=\"265\" cy=\"157\" r=\"11\" fill=\"#1e3a5f\" data-badge=\"2\"><\/circle><text x=\"265\" y=\"161\" text-anchor=\"middle\" font-size=\"11\" fill=\"#fff\" style=\"pointer-events:none\">2<\/text><line x1=\"135\" y1=\"217\" x2=\"135\" y2=\"248\" stroke=\"#5b6b7f\" stroke-width=\"1\"><\/line><circle cx=\"135\" cy=\"259\" r=\"11\" fill=\"#1e3a5f\" data-badge=\"3\"><\/circle><text x=\"135\" y=\"263\" text-anchor=\"middle\" font-size=\"11\" fill=\"#fff\" style=\"pointer-events:none\">3<\/text><text x=\"443\" y=\"166\" text-anchor=\"middle\" font-size=\"12\" fill=\"#1e3a5f\" font-weight=\"600\">SPRUE<\/text><text x=\"265\" y=\"138\" text-anchor=\"middle\" font-size=\"12\" fill=\"#1e3a5f\" font-weight=\"600\">RUNNER<\/text><text x=\"135\" y=\"288\" text-anchor=\"middle\" font-size=\"12\" fill=\"#1e3a5f\" font-weight=\"600\">GATE<\/text><\/svg><div class=\"tw-srg-tip\" style=\"position:absolute;display:none;max-width:215px;background:#1e3a5f;color:#fff;font-size:12px;line-height:1.45;padding:9px 11px;border-radius:6px;pointer-events:none;z-index:5\"><\/div><div style=\"position:absolute;top:10px;left:12px;font-size:11px;color:#5b6b7f;line-height:1.8\"><span style=\"display:inline-block;width:11px;height:11px;background:#f2a33c;margin-right:5px\"><\/span>Melt<br><span style=\"display:inline-block;width:11px;height:11px;background:#eef2f7;border:1px solid #5b6b7f;margin-right:5px\"><\/span>Empty channel <\/div><\/div><div style=\"display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap\"><button type=\"button\" class=\"tw-srg-play\" style=\"font-size:12px;padding:7px 14px;border-radius:6px;border:1px solid #1e3a5f;background:#1e3a5f;color:#fff;cursor:pointer;min-width:66px\">Play<\/button><button type=\"button\" class=\"tw-srg-reset\" style=\"font-size:12px;padding:7px 14px;border-radius:6px;border:1px solid #9aa7b8;background:#fff;color:#5b6b7f;cursor:pointer\">Reset<\/button><input type=\"range\" class=\"tw-srg-scrub\" min=\"0\" max=\"100\" value=\"0\" step=\"1\" style=\"flex:1;min-width:140px\"><span class=\"tw-srg-stagelabel\" style=\"font-size:12px;color:#1e3a5f;font-weight:600;min-width:84px;text-align:right\">Start<\/span><\/div><\/div><script> (function(){ var root = document.getElementById(\"twsrg547915\"); if (!root) { return; } var svg = root.querySelector('svg'); var cs = svg.querySelector('#srg-cs'); var crl = svg.querySelector('#srg-crl'); var crr = svg.querySelector('#srg-crr'); var cgl = svg.querySelector('#srg-cgl'); var cgr = svg.querySelector('#srg-cgr'); var ranges = { sprue: [0, 35], runner: [35, 80], gate: [80, 100] }; function seg(name, p){ var r = ranges[name]; if (p <= r[0]) { return 0; } if (p >= r[1]) { return 1; } return (p - r[0]) \/ (r[1] - r[0]); } var progress = 0, playing = false, timer = null; var scrub = root.querySelector('.tw-srg-scrub'); var playBtn = root.querySelector('.tw-srg-play'); var stageLabel = root.querySelector('.tw-srg-stagelabel'); function render(p){ var sp = seg('sprue', p); cs.setAttribute('height', 162 * sp); var rp = seg('runner', p); crl.setAttribute('x', 363 - 213 * rp); crl.setAttribute('width', 213 * rp); crr.setAttribute('width', 213 * rp); var gp = seg('gate', p); cgl.setAttribute('x', 150 - 30 * gp); cgl.setAttribute('width', 30 * gp); cgr.setAttribute('width', 30 * gp); stageLabel.textContent = p === 0 ? 'Start' : p <= 35 ? 'Sprue' : p <= 80 ? 'Runner' : p < 100 ? 'Gate' : 'Gate filled'; scrub.value = p; } function stop(){ playing = false; playBtn.textContent = 'Play'; if (timer) { clearInterval(timer); timer = null; } } function play(){ if (progress >= 100) { progress = 0; } playing = true; playBtn.textContent = 'Pause'; timer = setInterval(function(){ progress += 1; if (progress >= 100) { progress = 100; stop(); } render(progress); }, 40); } playBtn.addEventListener('click', function(){ if (playing) { stop(); } else { play(); } }); root.querySelector('.tw-srg-reset').addEventListener('click', function(){ stop(); progress = 0; render(0); }); scrub.addEventListener('input', function(){ stop(); progress = parseInt(scrub.value, 10); render(progress); }); var tip = root.querySelector('.tw-srg-tip'); var stage = root.querySelector('.tw-srg-stage'); var tips = { '1': 'Sprue \u2014 the tapered channel carrying melt from the machine nozzle down to the runner. 2-4\u00b0 taper and a polished bore so the slug pulls free. Small end typically \u00d83-4 mm.', '2': 'Runner \u2014 distributes melt from the sprue to every gate. Full-round sections flow best; keep branches equal length so all cavities fill together. Typically \u00d84-8 mm.', '3': 'Gate \u2014 the restriction where melt enters the cavity. It freezes first to seal the part and is the break point when degating. Typically 0.8-1.5 mm, about 50-70% of wall thickness.' }; [].slice.call(svg.querySelectorAll('[data-badge]')).forEach(function(el){ var n = el.getAttribute('data-badge'); el.style.cursor = 'pointer'; function show(){ var r = el.getBoundingClientRect(); var sr = stage.getBoundingClientRect(); tip.textContent = tips[n]; tip.style.display = 'block'; var left = r.left - sr.left + r.width + 10; var top = r.top - sr.top - 8; if (left + 225 > sr.width) { left = r.left - sr.left - 235; } tip.style.left = Math.max(4, left) + 'px'; tip.style.top = Math.max(4, top) + 'px'; } function hide(){ tip.style.display = 'none'; } el.addEventListener('mouseenter', show); el.addEventListener('mouseleave', hide); el.addEventListener('touchstart', function(e){ e.stopPropagation(); show(); setTimeout(hide, 2600); }); }); render(0); if (window.ResizeObserver) { new ResizeObserver(function(){ if (window.parent !== window) { window.parent.postMessage({ twEmbed: 'tw_srg_anim', h: Math.ceil(root.getBoundingClientRect().height) + 18 }, '*'); } }).observe(root); } })(); <\/script><details style=\"max-width:1000px;margin:10px auto 0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;border:1px solid #e6ecf3;border-radius:8px;padding:10px 14px\"><summary style=\"cursor:pointer;font-size:13px;color:#1e3a5f;font-weight:600\">Embed this animation on your site<\/summary><textarea id=\"twsrgbox737845\" readonly style=\"width:100%;height:90px;margin-top:8px;font-size:12px;font-family:monospace;box-sizing:border-box;border:1px solid #d7dee8;border-radius:6px;padding:8px\">&lt;iframe id=&quot;tw-srg-anim&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_srg_anim_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:560px&quot; loading=&quot;lazy&quot; title=&quot;Sprue, Runner and Gate animation&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_srg_anim&quot;){var f=document.getElementById(&quot;tw-srg-anim&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Sprue, Runner &amp;amp; Gate animation by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" onclick=\"(function(b){var t=document.getElementById('twsrgbox737845');try{navigator.clipboard.writeText(t.value);}catch(e){t.select();document.execCommand('copy');}b.textContent='Copied!';setTimeout(function(){b.textContent='Copy embed code';},1800);})(this)\" style=\"margin-top:8px;font-size:12px;padding:6px 12px;border-radius:6px;border:1px solid #1e3a5f;background:#1e3a5f;color:#fff;cursor:pointer\">Copy embed code<\/button><p style=\"font-size:12px;color:#5b6b7f;margin:8px 0 0\">Free to use. Please keep the credit link.<\/p><\/details><div class=\"tw-dfm-anim-wrap\" id=\"twdfma6198\" style=\"max-width:1040px;margin:28px auto;background:#0a111b;border:1px solid #1d2f44;border-radius:14px;padding:18px 18px 22px;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:#dbe6f0;box-sizing:border-box\"><div style=\"display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:4px\"><h3 style=\"margin:0;font-size:21px;line-height:1.25;color:#fff;font-weight:700\">Design for Injection Molding \u2014 animated<\/h3><span style=\"font-size:12px;color:#7d93a8;letter-spacing:.3px\">7 rules \u00b7 what goes wrong vs what to draw<\/span><\/div><p style=\"margin:6px 0 14px;font-size:14px;line-height:1.55;color:#9fb3c8\">Each scene runs the same clock on both halves. Left is the part as engineers usually draw it. Right is the same function, molded correctly. Press play, or drag the timeline to freeze any moment.<\/p><div style=\"display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px\"><button type=\"button\" data-tab=\"0\" style=\"cursor:pointer;border:1px solid #f59e0b;background:#f59e0b;color:#10202e;font-size:13px;font-weight:600;padding:7px 11px;border-radius:7px\">1 \u00b7 Wall thickness<\/button><button type=\"button\" data-tab=\"1\" style=\"cursor:pointer;border:1px solid #294058;background:#111e2c;color:#b9cadb;font-size:13px;font-weight:600;padding:7px 11px;border-radius:7px\">2 \u00b7 Draft angle<\/button><button type=\"button\" data-tab=\"2\" style=\"cursor:pointer;border:1px solid #294058;background:#111e2c;color:#b9cadb;font-size:13px;font-weight:600;padding:7px 11px;border-radius:7px\">3 \u00b7 Corner radii<\/button><button type=\"button\" data-tab=\"3\" style=\"cursor:pointer;border:1px solid #294058;background:#111e2c;color:#b9cadb;font-size:13px;font-weight:600;padding:7px 11px;border-radius:7px\">4 \u00b7 Ribs<\/button><button type=\"button\" data-tab=\"4\" style=\"cursor:pointer;border:1px solid #294058;background:#111e2c;color:#b9cadb;font-size:13px;font-weight:600;padding:7px 11px;border-radius:7px\">5 \u00b7 Bosses<\/button><button type=\"button\" data-tab=\"5\" style=\"cursor:pointer;border:1px solid #294058;background:#111e2c;color:#b9cadb;font-size:13px;font-weight:600;padding:7px 11px;border-radius:7px\">6 \u00b7 Undercuts<\/button><button type=\"button\" data-tab=\"6\" style=\"cursor:pointer;border:1px solid #294058;background:#111e2c;color:#b9cadb;font-size:13px;font-weight:600;padding:7px 11px;border-radius:7px\">7 \u00b7 Gate &amp; weld line<\/button><\/div><div style=\"background:#070d15;border:1px solid #1d2f44;border-radius:10px;padding:8px\"><svg data-scene=\"0\" data-mmax=\"8\" viewBox=\"0 0 780 330\" style=\"display:block;width:100%;height:auto\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><rect x=\"14\" y=\"40\" width=\"368\" height=\"272\" rx=\"10\" fill=\"#0e1824\" stroke=\"#22384f\"\/><rect x=\"398\" y=\"40\" width=\"368\" height=\"272\" rx=\"10\" fill=\"#0e1824\" stroke=\"#22384f\"\/><text x=\"26\" y=\"30\" fill=\"#ff7b6b\" font-size=\"15\" font-weight=\"700\">\u2717 Thick mass hung on a thin wall<\/text><text x=\"410\" y=\"30\" fill=\"#4ade80\" font-size=\"15\" font-weight=\"700\">\u2713 Cored out, one nominal wall<\/text><rect data-m=\"3\" x=\"70\" y=\"196\" width=\"250\" height=\"18\" fill=\"#6c99bc\"\/><rect data-m=\"8\" x=\"168\" y=\"134\" width=\"48\" height=\"62\" fill=\"#6c99bc\"\/><ellipse data-k=\"s1-void\" cx=\"192\" cy=\"166\" rx=\"0\" ry=\"0\" fill=\"#09101a\" stroke=\"#ff6b5a\" stroke-width=\"1.6\"\/><line x1=\"140\" y1=\"214\" x2=\"248\" y2=\"214\" stroke=\"#33485f\" stroke-width=\"1\" stroke-dasharray=\"4 3\"\/><path data-k=\"s1-sink\" d=\"M144 214 Q192 214 244 214\" fill=\"none\" stroke=\"#ff9f43\" stroke-width=\"3\"\/><text x=\"224\" y=\"150\" fill=\"#9fb3c8\" font-size=\"12\">8 mm (0.31 in) mass<\/text><text x=\"70\" y=\"188\" fill=\"#9fb3c8\" font-size=\"12\">3 mm (0.12 in) wall<\/text><text x=\"150\" y=\"246\" fill=\"#ff9f43\" font-size=\"11\">sink mark on the show face<\/text><text data-k=\"s1-lt\" x=\"34\" y=\"282\" fill=\"#ff8f6b\" font-size=\"13\" font-weight=\"600\">core still molten<\/text><text x=\"34\" y=\"300\" fill=\"#7d93a8\" font-size=\"11.5\">Shrinkage pulls inward from the last place to freeze.<\/text><rect data-m=\"3\" x=\"454\" y=\"196\" width=\"250\" height=\"18\" fill=\"#6c99bc\"\/><rect data-m=\"3\" x=\"552\" y=\"134\" width=\"14\" height=\"62\" fill=\"#6c99bc\"\/><rect data-m=\"3\" x=\"604\" y=\"134\" width=\"14\" height=\"62\" fill=\"#6c99bc\"\/><rect data-m=\"3\" x=\"552\" y=\"134\" width=\"66\" height=\"14\" fill=\"#6c99bc\"\/><line x1=\"524\" y1=\"214\" x2=\"632\" y2=\"214\" stroke=\"#33485f\" stroke-width=\"1\" stroke-dasharray=\"4 3\"\/><path d=\"M528 214 Q578 213.2 628 214\" fill=\"none\" stroke=\"#4ade80\" stroke-width=\"3\"\/><text x=\"624\" y=\"150\" fill=\"#9fb3c8\" font-size=\"12\">3 mm (0.12 in) everywhere<\/text><text x=\"536\" y=\"246\" fill=\"#4ade80\" font-size=\"11\">flat \u2014 nothing to see<\/text><text data-k=\"s1-rt\" x=\"418\" y=\"282\" fill=\"#4ade80\" font-size=\"13\" font-weight=\"600\">frozen through<\/text><text x=\"418\" y=\"300\" fill=\"#7d93a8\" font-size=\"11.5\">Same stiffness from a rib, not from solid plastic.<\/text><\/svg><svg data-scene=\"1\" viewBox=\"0 0 780 330\" style=\"display:none;width:100%;height:auto\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><rect x=\"14\" y=\"40\" width=\"368\" height=\"272\" rx=\"10\" fill=\"#0e1824\" stroke=\"#22384f\"\/><rect x=\"398\" y=\"40\" width=\"368\" height=\"272\" rx=\"10\" fill=\"#0e1824\" stroke=\"#22384f\"\/><text x=\"26\" y=\"30\" fill=\"#ff7b6b\" font-size=\"15\" font-weight=\"700\">\u2717 0\u00b0 walls \u2014 part grips the core<\/text><text x=\"410\" y=\"30\" fill=\"#4ade80\" font-size=\"15\" font-weight=\"700\">\u2713 1.5\u00b0 per side \u2014 breaks free at once<\/text><g data-k=\"s2-pL\"><path d=\"M104 268 L104 128 L266 128 L266 268 L250 268 L250 144 L120 144 L120 268 Z\" fill=\"#cbd5e1\" stroke=\"#8fa5bb\"\/><g data-k=\"s2-scuff\" opacity=\"0\"><line x1=\"112\" y1=\"160\" x2=\"112\" y2=\"262\" stroke=\"#ff5a5a\" stroke-width=\"2\" stroke-dasharray=\"7 5\"\/><line x1=\"258\" y1=\"160\" x2=\"258\" y2=\"262\" stroke=\"#ff5a5a\" stroke-width=\"2\" stroke-dasharray=\"7 5\"\/><\/g><\/g><path d=\"M120 282 L120 144 L250 144 L250 282 Z\" fill=\"#27384a\" stroke=\"#4a627c\"\/><text x=\"150\" y=\"200\" fill=\"#7d93a8\" font-size=\"12\">core steel<\/text><path d=\"M186 110 L186 78\" stroke=\"#8fa5bb\" stroke-width=\"2\" marker-end=\"\"\/><path d=\"M186 74 L181 86 L191 86 Z\" fill=\"#8fa5bb\"\/><text x=\"196\" y=\"86\" fill=\"#9fb3c8\" font-size=\"12\">ejection<\/text><text x=\"34\" y=\"296\" fill=\"#7d93a8\" font-size=\"11.5\">Ejector force<\/text><rect x=\"110\" y=\"288\" width=\"190\" height=\"9\" rx=\"4\" fill=\"#1b2a3b\"\/><rect data-k=\"s2-fL\" x=\"110\" y=\"288\" width=\"0\" height=\"9\" rx=\"4\" fill=\"#ff5a5a\"\/><text data-k=\"s2-lt\" x=\"34\" y=\"276\" fill=\"#ff8f6b\" font-size=\"13\" font-weight=\"600\">sticking<\/text><g data-k=\"s2-pR\"><path d=\"M488 268 L498 128 L650 128 L660 268 L644 268 L636 144 L512 144 L504 268 Z\" fill=\"#cbd5e1\" stroke=\"#8fa5bb\"\/><g data-k=\"s2-gapR\" opacity=\"0\"><path d=\"M504 268 L512 144 L516 144 L509 268 Z\" fill=\"#070d15\"\/><path d=\"M644 268 L636 144 L632 144 L639 268 Z\" fill=\"#070d15\"\/><\/g><\/g><path d=\"M512 282 L512 144 L636 144 L636 282 Z\" fill=\"#27384a\" stroke=\"#4a627c\" opacity=\"0\"\/><path d=\"M504 282 L512 144 L636 144 L644 282 Z\" fill=\"#27384a\" stroke=\"#4a627c\"\/><text x=\"540\" y=\"200\" fill=\"#7d93a8\" font-size=\"12\">core steel<\/text><text x=\"418\" y=\"296\" fill=\"#7d93a8\" font-size=\"11.5\">Ejector force<\/text><rect x=\"494\" y=\"288\" width=\"190\" height=\"9\" rx=\"4\" fill=\"#1b2a3b\"\/><rect data-k=\"s2-fR\" x=\"494\" y=\"288\" width=\"0\" height=\"9\" rx=\"4\" fill=\"#4ade80\"\/><text data-k=\"s2-rt\" x=\"418\" y=\"276\" fill=\"#4ade80\" font-size=\"13\" font-weight=\"600\">clean release<\/text><text x=\"560\" y=\"116\" fill=\"#7d93a8\" font-size=\"11\">draft exaggerated \u00d74 for clarity<\/text><\/svg><svg data-scene=\"2\" viewBox=\"0 0 780 330\" style=\"display:none;width:100%;height:auto\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><rect x=\"14\" y=\"40\" width=\"368\" height=\"272\" rx=\"10\" fill=\"#0e1824\" stroke=\"#22384f\"\/><rect x=\"398\" y=\"40\" width=\"368\" height=\"272\" rx=\"10\" fill=\"#0e1824\" stroke=\"#22384f\"\/><text x=\"26\" y=\"30\" fill=\"#ff7b6b\" font-size=\"15\" font-weight=\"700\">\u2717 Sharp inside corner<\/text><text x=\"410\" y=\"30\" fill=\"#4ade80\" font-size=\"15\" font-weight=\"700\">\u2713 Ri = 0.5 \u00d7 wall, Ro = 1.5 \u00d7 wall<\/text><path d=\"M100 86 L118 86 L118 232 L330 232 L330 250 L100 250 Z\" fill=\"#6c99bc\" stroke=\"#8fa5bb\"\/><circle data-k=\"s3-hot\" cx=\"131\" cy=\"237\" r=\"13\" fill=\"#e84e2a\" opacity=\"0.35\"\/><circle cx=\"131\" cy=\"237\" r=\"13\" fill=\"none\" stroke=\"#ff9f43\" stroke-width=\"1\" stroke-dasharray=\"3 3\"\/><text x=\"150\" y=\"276\" fill=\"#ff9f43\" font-size=\"11.5\">corner mass = 1.41 \u00d7 wall \u00b7 stress Kt \u2248 3.0<\/text><path data-k=\"s3-crack\" d=\"M118 232 L128 244\" stroke=\"#ff2d2d\" stroke-width=\"3\" opacity=\"0\" stroke-linecap=\"round\"\/><circle data-k=\"s3-dotL\" cx=\"109\" cy=\"92\" r=\"6\" fill=\"#f59e0b\"\/><circle data-k=\"s3-swirl\" cx=\"131\" cy=\"237\" r=\"9\" fill=\"none\" stroke=\"#f59e0b\" stroke-width=\"2\" opacity=\"0\"\/><text data-k=\"s3-lt\" x=\"34\" y=\"296\" fill=\"#ff8f6b\" font-size=\"13\" font-weight=\"600\">melt turns the corner<\/text><text x=\"200\" y=\"110\" fill=\"#7d93a8\" font-size=\"12\">3 mm (0.12 in) wall<\/text><path d=\"M490 86 L508 86 L508 223 Q508 232 517 232 L720 232 L720 250 L517 250 Q490 250 490 223 Z\" fill=\"#6c99bc\" stroke=\"#8fa5bb\"\/><circle cx=\"521\" cy=\"236\" r=\"9\" fill=\"none\" stroke=\"#4ade80\" stroke-width=\"1\" stroke-dasharray=\"3 3\"\/><text x=\"540\" y=\"276\" fill=\"#4ade80\" font-size=\"11.5\">corner mass \u2248 1.1 \u00d7 wall \u00b7 stress Kt \u2248 1.5<\/text><circle data-k=\"s3-dotR\" cx=\"499\" cy=\"92\" r=\"6\" fill=\"#f59e0b\"\/><text data-k=\"s3-rt\" x=\"418\" y=\"296\" fill=\"#4ade80\" font-size=\"13\" font-weight=\"600\">melt turns the corner<\/text><text x=\"590\" y=\"110\" fill=\"#7d93a8\" font-size=\"12\">Ri 1.5 mm \u00b7 Ro 4.5 mm<\/text><\/svg><svg data-scene=\"3\" data-mmax=\"6\" viewBox=\"0 0 780 330\" style=\"display:none;width:100%;height:auto\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><rect x=\"14\" y=\"40\" width=\"368\" height=\"272\" rx=\"10\" fill=\"#0e1824\" stroke=\"#22384f\"\/><rect x=\"398\" y=\"40\" width=\"368\" height=\"272\" rx=\"10\" fill=\"#0e1824\" stroke=\"#22384f\"\/><text x=\"26\" y=\"30\" fill=\"#ff7b6b\" font-size=\"15\" font-weight=\"700\">\u2717 Rib = 100 % of the wall<\/text><text x=\"410\" y=\"30\" fill=\"#4ade80\" font-size=\"15\" font-weight=\"700\">\u2713 Rib = 60 % of the wall<\/text><text x=\"70\" y=\"104\" fill=\"#9fb3c8\" font-size=\"12\">Class A show face \u2193<\/text><polyline data-k=\"s4-gloss\" points=\"80,122 180,122 204,122 228,122 330,122\" fill=\"none\" stroke=\"#9ad8ff\" stroke-width=\"2\" opacity=\"0.85\"\/><rect data-m=\"3\" x=\"80\" y=\"130\" width=\"250\" height=\"18\" fill=\"#6c99bc\"\/><path data-k=\"s4-sink\" d=\"M180 130 Q204 130 228 130\" fill=\"none\" stroke=\"#ff9f43\" stroke-width=\"3\"\/><rect data-m=\"6\" x=\"195\" y=\"148\" width=\"18\" height=\"76\" fill=\"#6c99bc\"\/><circle cx=\"204\" cy=\"154\" r=\"12\" fill=\"#e84e2a\" opacity=\"0.25\"\/><text x=\"224\" y=\"196\" fill=\"#9fb3c8\" font-size=\"12\">rib 3.0 mm (0.12 in)<\/text><text data-k=\"s4-lt\" x=\"34\" y=\"272\" fill=\"#ff8f6b\" font-size=\"13\" font-weight=\"600\">sink depth 0.00 mm<\/text><text x=\"34\" y=\"292\" fill=\"#7d93a8\" font-size=\"11.5\">Thick rib root freezes last and drags the skin in.<\/text><text x=\"454\" y=\"104\" fill=\"#9fb3c8\" font-size=\"12\">Class A show face \u2193<\/text><polyline data-k=\"s4-glossR\" points=\"464,122 570,122 600,122 630,122 714,122\" fill=\"none\" stroke=\"#9ad8ff\" stroke-width=\"2\" opacity=\"0.85\"\/><rect data-m=\"3\" x=\"464\" y=\"130\" width=\"250\" height=\"18\" fill=\"#6c99bc\"\/><path data-k=\"s4-sinkR\" d=\"M576 130 Q600 130 624 130\" fill=\"none\" stroke=\"#4ade80\" stroke-width=\"3\"\/><polygon data-m=\"3\" points=\"594,148 606,148 604,216 597,216\" fill=\"#6c99bc\"\/><text x=\"620\" y=\"196\" fill=\"#9fb3c8\" font-size=\"12\">rib 1.8 mm \u00b7 H \u2264 3 \u00d7 wall \u00b7 0.5\u20131\u00b0\/side<\/text><text data-k=\"s4-rt\" x=\"418\" y=\"272\" fill=\"#4ade80\" font-size=\"13\" font-weight=\"600\">sink depth 0.000 mm<\/text><text x=\"418\" y=\"292\" fill=\"#7d93a8\" font-size=\"11.5\">Two thin ribs beat one thick rib for the same stiffness.<\/text><\/svg><svg data-scene=\"4\" data-mmax=\"7\" viewBox=\"0 0 780 330\" style=\"display:none;width:100%;height:auto\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><rect x=\"14\" y=\"40\" width=\"368\" height=\"272\" rx=\"10\" fill=\"#0e1824\" stroke=\"#22384f\"\/><rect x=\"398\" y=\"40\" width=\"368\" height=\"272\" rx=\"10\" fill=\"#0e1824\" stroke=\"#22384f\"\/><text x=\"26\" y=\"30\" fill=\"#ff7b6b\" font-size=\"15\" font-weight=\"700\">\u2717 Solid boss blended into the wall<\/text><text x=\"410\" y=\"30\" fill=\"#4ade80\" font-size=\"15\" font-weight=\"700\">\u2713 Cored boss carried by gussets<\/text><rect data-m=\"3\" x=\"76\" y=\"206\" width=\"250\" height=\"18\" fill=\"#6c99bc\"\/><rect data-m=\"7\" x=\"178\" y=\"132\" width=\"44\" height=\"74\" fill=\"#6c99bc\"\/><path data-m=\"7\" d=\"M160 206 Q178 206 178 188 L178 206 Z\" fill=\"#6c99bc\"\/><path data-m=\"7\" d=\"M240 206 Q222 206 222 188 L222 206 Z\" fill=\"#6c99bc\"\/><ellipse data-k=\"s5-void\" cx=\"200\" cy=\"176\" rx=\"0\" ry=\"0\" fill=\"#09101a\" stroke=\"#ff6b5a\" stroke-width=\"1.6\"\/><path data-k=\"s5-sink\" d=\"M156 224 Q200 224 244 224\" fill=\"none\" stroke=\"#ff9f43\" stroke-width=\"3\"\/><text x=\"232\" y=\"150\" fill=\"#9fb3c8\" font-size=\"12\">solid 7 mm (0.28 in)<\/text><text x=\"150\" y=\"252\" fill=\"#ff9f43\" font-size=\"11\">sink + void under the screw<\/text><text data-k=\"s5-lt\" x=\"34\" y=\"286\" fill=\"#ff8f6b\" font-size=\"13\" font-weight=\"600\">core still molten<\/text><text x=\"34\" y=\"304\" fill=\"#7d93a8\" font-size=\"11.5\">The void lands exactly where the screw needs material.<\/text><rect data-m=\"3\" x=\"454\" y=\"206\" width=\"250\" height=\"18\" fill=\"#6c99bc\"\/><rect data-m=\"3\" x=\"566\" y=\"132\" width=\"11\" height=\"74\" fill=\"#6c99bc\"\/><rect data-m=\"3\" x=\"603\" y=\"132\" width=\"11\" height=\"74\" fill=\"#6c99bc\"\/><polygon data-m=\"3\" points=\"566,206 566,172 548,206\" fill=\"#6c99bc\"\/><polygon data-m=\"3\" points=\"614,206 614,172 632,206\" fill=\"#6c99bc\"\/><line x1=\"577\" y1=\"132\" x2=\"603\" y2=\"132\" stroke=\"#44607e\" stroke-width=\"1\" stroke-dasharray=\"3 3\"\/><text x=\"624\" y=\"150\" fill=\"#9fb3c8\" font-size=\"12\">wall 1.8 mm \u00b7 OD \u2248 2.2 \u00d7 hole<\/text><text x=\"528\" y=\"252\" fill=\"#4ade80\" font-size=\"11\">flat face, solid thread engagement<\/text><text data-k=\"s5-rt\" x=\"418\" y=\"286\" fill=\"#4ade80\" font-size=\"13\" font-weight=\"600\">frozen through<\/text><text x=\"418\" y=\"304\" fill=\"#7d93a8\" font-size=\"11.5\">Gussets give the stiffness the solid stem was there for.<\/text><\/svg><svg data-scene=\"5\" viewBox=\"0 0 780 330\" style=\"display:none;width:100%;height:auto\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><rect x=\"14\" y=\"40\" width=\"368\" height=\"272\" rx=\"10\" fill=\"#0e1824\" stroke=\"#22384f\"\/><rect x=\"398\" y=\"40\" width=\"368\" height=\"272\" rx=\"10\" fill=\"#0e1824\" stroke=\"#22384f\"\/><text x=\"26\" y=\"30\" fill=\"#ff7b6b\" font-size=\"15\" font-weight=\"700\">\u2717 Hole in the side wall \u2014 needs a slide<\/text><text x=\"410\" y=\"30\" fill=\"#4ade80\" font-size=\"15\" font-weight=\"700\">\u2713 Same opening, run out to the wall edge<\/text><rect x=\"138\" y=\"112\" width=\"114\" height=\"106\" fill=\"#27384a\" stroke=\"#4a627c\"\/><text x=\"156\" y=\"170\" fill=\"#7d93a8\" font-size=\"12\">core insert<\/text><g data-k=\"s6-partL\"><rect x=\"120\" y=\"112\" width=\"18\" height=\"124\" fill=\"#cbd5e1\" stroke=\"#8fa5bb\"\/><rect x=\"120\" y=\"218\" width=\"150\" height=\"18\" fill=\"#cbd5e1\" stroke=\"#8fa5bb\"\/><rect x=\"252\" y=\"112\" width=\"18\" height=\"38\" fill=\"#cbd5e1\" stroke=\"#8fa5bb\"\/><rect x=\"252\" y=\"174\" width=\"18\" height=\"62\" fill=\"#cbd5e1\" stroke=\"#8fa5bb\"\/><\/g><g data-k=\"s6-slideL\"><path d=\"M270 120 L332 120 L332 246 L270 246 Z\" fill=\"#2f4760\" stroke=\"#5b7793\"\/><rect x=\"252\" y=\"150\" width=\"18\" height=\"24\" fill=\"#2f4760\" stroke=\"#5b7793\"\/><rect data-k=\"s6-ucL\" x=\"250\" y=\"148\" width=\"22\" height=\"28\" fill=\"none\" stroke=\"#ff5a5a\" stroke-width=\"2\"\/><text x=\"284\" y=\"218\" fill=\"#9fb3c8\" font-size=\"11\">slide<\/text><\/g><text x=\"196\" y=\"266\" fill=\"#ff9f43\" font-size=\"11\">core pin shuts off on the core \u2014 hole breaks through on the inside face<\/text><g data-k=\"s6-cavL\"><rect x=\"70\" y=\"76\" width=\"266\" height=\"36\" rx=\"3\" fill=\"#27384a\" stroke=\"#4a627c\"\/><text x=\"84\" y=\"100\" fill=\"#7d93a8\" font-size=\"12\">cavity half<\/text><line x1=\"296\" y1=\"88\" x2=\"331\" y2=\"158\" stroke=\"#8fa5bb\" stroke-width=\"7\" stroke-linecap=\"round\"\/><\/g><text x=\"214\" y=\"70\" fill=\"#9fb3c8\" font-size=\"11\">angle pin 25\u00b0 \u2014 drives the slide out as the mold opens<\/text><rect x=\"70\" y=\"248\" width=\"266\" height=\"34\" rx=\"3\" fill=\"#27384a\" stroke=\"#4a627c\"\/><text x=\"84\" y=\"270\" fill=\"#7d93a8\" font-size=\"12\">core half<\/text><text data-k=\"s6-lt\" x=\"34\" y=\"302\" fill=\"#ff8f6b\" font-size=\"12.5\" font-weight=\"600\">slide must clear before the part can eject<\/text><g data-k=\"s6-cavR\"><rect x=\"454\" y=\"76\" width=\"266\" height=\"36\" rx=\"3\" fill=\"#27384a\" stroke=\"#4a627c\"\/><text x=\"468\" y=\"100\" fill=\"#7d93a8\" font-size=\"12\">cavity half<\/text><\/g><rect x=\"522\" y=\"112\" width=\"114\" height=\"106\" fill=\"#27384a\" stroke=\"#4a627c\"\/><text x=\"540\" y=\"170\" fill=\"#7d93a8\" font-size=\"12\">core insert<\/text><g data-k=\"s6-partR\"><rect x=\"504\" y=\"112\" width=\"18\" height=\"124\" fill=\"#cbd5e1\" stroke=\"#8fa5bb\"\/><rect x=\"504\" y=\"218\" width=\"132\" height=\"18\" fill=\"#cbd5e1\" stroke=\"#8fa5bb\"\/><rect x=\"636\" y=\"112\" width=\"18\" height=\"38\" fill=\"#cbd5e1\" stroke=\"#8fa5bb\"\/><\/g><rect x=\"636\" y=\"150\" width=\"18\" height=\"98\" fill=\"#2f4760\" stroke=\"#5b7793\"\/><rect data-k=\"s6-ucR\" x=\"634\" y=\"148\" width=\"22\" height=\"90\" fill=\"none\" stroke=\"#4ade80\" stroke-width=\"2\" stroke-dasharray=\"5 3\"\/><text x=\"664\" y=\"186\" fill=\"#4ade80\" font-size=\"11\">core steel<\/text><text x=\"664\" y=\"200\" fill=\"#4ade80\" font-size=\"11\">bypasses<\/text><text x=\"664\" y=\"214\" fill=\"#4ade80\" font-size=\"11\">the wall<\/text><rect x=\"454\" y=\"248\" width=\"266\" height=\"34\" rx=\"3\" fill=\"#27384a\" stroke=\"#4a627c\"\/><text x=\"468\" y=\"270\" fill=\"#7d93a8\" font-size=\"12\">core half<\/text><text x=\"476\" y=\"266\" fill=\"#4ade80\" font-size=\"11\">opening now runs to the bottom of the wall \u2014 pulls in the draw direction<\/text><text data-k=\"s6-rt\" x=\"418\" y=\"302\" fill=\"#4ade80\" font-size=\"12.5\" font-weight=\"600\">straight pull \u2014 two plates, no moving steel<\/text><\/svg><svg data-scene=\"6\" viewBox=\"0 0 780 330\" style=\"display:none;width:100%;height:auto\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><defs><clipPath id=\"twdfma6198-c1\"><rect x=\"70\" y=\"96\" width=\"280\" height=\"170\" rx=\"4\"\/><\/clipPath><clipPath id=\"twdfma6198-c2\"><rect x=\"454\" y=\"96\" width=\"280\" height=\"170\" rx=\"4\"\/><\/clipPath><\/defs><rect x=\"14\" y=\"40\" width=\"368\" height=\"272\" rx=\"10\" fill=\"#0e1824\" stroke=\"#22384f\"\/><rect x=\"398\" y=\"40\" width=\"368\" height=\"272\" rx=\"10\" fill=\"#0e1824\" stroke=\"#22384f\"\/><text x=\"26\" y=\"30\" fill=\"#ff7b6b\" font-size=\"15\" font-weight=\"700\">\u2717 Weld line lands on the load point<\/text><text x=\"410\" y=\"30\" fill=\"#4ade80\" font-size=\"15\" font-weight=\"700\">\u2713 Gate moved \u2014 weld line runs to waste<\/text><rect x=\"70\" y=\"96\" width=\"280\" height=\"170\" rx=\"4\" fill=\"#16202c\" stroke=\"#2d4257\"\/><g clip-path=\"url(#twdfma6198-c1)\"><circle data-k=\"s7-meltL\" cx=\"74\" cy=\"181\" r=\"0\" fill=\"#e07b39\" opacity=\"0.55\"\/><polygon data-k=\"s7-shadeL\" points=\"0,0 0,0 0,0 0,0\" fill=\"#16202c\"\/><line data-k=\"s7-weldL\" x1=\"215\" y1=\"181\" x2=\"215\" y2=\"181\" stroke=\"#ff2d2d\" stroke-width=\"3\"\/><\/g><circle cx=\"195\" cy=\"181\" r=\"20\" fill=\"#16202c\" stroke=\"#44607e\"\/><rect x=\"252\" y=\"150\" width=\"86\" height=\"62\" rx=\"4\" fill=\"none\" stroke=\"#ff9f43\" stroke-dasharray=\"5 4\"\/><text x=\"256\" y=\"144\" fill=\"#ff9f43\" font-size=\"11\">snap-fit \u00b7 Class A<\/text><circle cx=\"74\" cy=\"181\" r=\"7\" fill=\"#f59e0b\"\/><text x=\"60\" y=\"288\" fill=\"#9fb3c8\" font-size=\"12\">gate<\/text><text data-k=\"s7-lt\" x=\"34\" y=\"306\" fill=\"#ff8f6b\" font-size=\"12.5\" font-weight=\"600\">filled 0 %<\/text><rect x=\"454\" y=\"96\" width=\"280\" height=\"170\" rx=\"4\" fill=\"#16202c\" stroke=\"#2d4257\"\/><g clip-path=\"url(#twdfma6198-c2)\"><circle data-k=\"s7-meltR\" cx=\"594\" cy=\"262\" r=\"0\" fill=\"#e07b39\" opacity=\"0.55\"\/><polygon data-k=\"s7-shadeR\" points=\"0,0 0,0 0,0 0,0\" fill=\"#16202c\"\/><line data-k=\"s7-weldR\" x1=\"594\" y1=\"161\" x2=\"594\" y2=\"161\" stroke=\"#ff2d2d\" stroke-width=\"3\"\/><\/g><circle cx=\"594\" cy=\"181\" r=\"20\" fill=\"#16202c\" stroke=\"#44607e\"\/><rect x=\"636\" y=\"150\" width=\"86\" height=\"62\" rx=\"4\" fill=\"none\" stroke=\"#4ade80\" stroke-dasharray=\"5 4\"\/><text x=\"640\" y=\"144\" fill=\"#4ade80\" font-size=\"11\">snap-fit \u00b7 Class A<\/text><circle cx=\"594\" cy=\"262\" r=\"7\" fill=\"#f59e0b\"\/><text x=\"572\" y=\"288\" fill=\"#9fb3c8\" font-size=\"12\">gate<\/text><text data-k=\"s7-rt\" x=\"418\" y=\"306\" fill=\"#4ade80\" font-size=\"12.5\" font-weight=\"600\">filled 0 %<\/text><\/svg><\/div><div style=\"display:flex;align-items:center;gap:12px;margin:12px 2px 4px;flex-wrap:wrap\"><button type=\"button\" data-k=\"play\" style=\"cursor:pointer;border:0;background:#f59e0b;color:#10202e;font-size:14px;font-weight:700;padding:9px 18px;border-radius:8px;min-width:92px\">Pause<\/button><span data-k=\"tlabel\" style=\"font-size:12.5px;color:#9fb3c8;min-width:130px\">Cooling time<\/span><input data-k=\"scrub\" type=\"range\" min=\"0\" max=\"1000\" value=\"0\" step=\"1\" style=\"flex:1 1 220px;accent-color:#f59e0b;cursor:pointer\"><span data-k=\"tval\" style=\"font-size:12.5px;color:#f59e0b;font-variant-numeric:tabular-nums;min-width:44px;text-align:right\">0 %<\/span><\/div><div data-note=\"0\" style=\"display:block\"><div style=\"display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px\"><div style=\"background:#1a1116;border:1px solid #5a2a2a;border-radius:9px;padding:12px 14px\"><div style=\"color:#ff7b6b;font-weight:700;font-size:13px;margin-bottom:5px\">What you are watching<\/div><p style=\"margin:0;font-size:13.5px;line-height:1.6;color:#c6d4e2\">Cooling time scales with the square of thickness. An 8 mm (0.31 in) mass needs <b>7.1\u00d7<\/b> longer to freeze than the 3 mm (0.12 in) wall beside it. The skin solidifies first, then the core shrinks away from it \u2014 so you get a sink mark on the outside, a vacuum void on the inside, or both.<\/p><\/div><div style=\"background:#101c15;border:1px solid #275c38;border-radius:9px;padding:12px 14px\"><div style=\"color:#4ade80;font-weight:700;font-size:13px;margin-bottom:5px\">The rule<\/div><p style=\"margin:0;font-size:13.5px;line-height:1.6;color:#c6d4e2\">Hold one nominal wall and keep every transition inside <b>\u00b110 %<\/b>. Core out anything thicker and replace the lost stiffness with ribs. Typical nominal walls: ABS 2.0\u20133.0 mm (0.079\u20130.118 in), PP 1.5\u20133.0 mm (0.059\u20130.118 in), PC 2.0\u20133.5 mm (0.079\u20130.138 in).<\/p><p style=\"margin:7px 0 0;font-size:12.5px;color:#9fb3c8\">Cost hook: cooling is 60\u201380 % of the cycle. Dropping the thickest section from 8 mm to 3 mm can cut a 60 s cycle to 25\u201330 s \u2014 on 100,000 parts that is more money than the mold.<\/p><\/div><\/div><\/div><div data-note=\"1\" style=\"display:none\"><div style=\"display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px\"><div style=\"background:#1a1116;border:1px solid #5a2a2a;border-radius:9px;padding:12px 14px\"><div style=\"color:#ff7b6b;font-weight:700;font-size:13px;margin-bottom:5px\">What you are watching<\/div><p style=\"margin:0;font-size:13.5px;line-height:1.6;color:#c6d4e2\">Plastic shrinks onto the core as it cools, so a 0\u00b0 wall is an interference fit by the time the mold opens. Ejector force spikes, the part hesitates, then tears free with drag marks down the full depth. Push harder and you get stress whitening, blush, or pin punch-through.<\/p><\/div><div style=\"background:#101c15;border:1px solid #275c38;border-radius:9px;padding:12px 14px\"><div style=\"color:#4ade80;font-weight:700;font-size:13px;margin-bottom:5px\">The rule<\/div><p style=\"margin:0;font-size:13.5px;line-height:1.6;color:#c6d4e2\">Minimum <b>1.5\u00b0 per side<\/b> on smooth walls; <b>3\u00b0+<\/b> on deep ribs and cores. Add roughly <b>1.5\u00b0 per 0.025 mm (0.001 in)<\/b> of texture depth. On a 25 mm (0.98 in) deep wall, 1.5\u00b0 opens 0.65 mm (0.026 in) of clearance the moment the part lifts.<\/p><p style=\"margin:7px 0 0;font-size:12.5px;color:#9fb3c8\">Exception: a shallow, polished, 0.5 mm-tall feature can run at 0.5\u00b0 if the toolmaker can draw-polish it. Below that you are paying in scrap.<\/p><\/div><\/div><\/div><div data-note=\"2\" style=\"display:none\"><div style=\"display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px\"><div style=\"background:#1a1116;border:1px solid #5a2a2a;border-radius:9px;padding:12px 14px\"><div style=\"color:#ff7b6b;font-weight:700;font-size:13px;margin-bottom:5px\">What you are watching<\/div><p style=\"margin:0;font-size:13.5px;line-height:1.6;color:#c6d4e2\">A sharp inside corner does three bad things at once. The inscribed circle is <b>1.41\u00d7<\/b> the wall, so the corner is a hot spot. The melt front stalls and shears there. And in service the stress concentration factor is about <b>3.0<\/b>, so the corner is where the part cracks.<\/p><\/div><div style=\"background:#101c15;border:1px solid #275c38;border-radius:9px;padding:12px 14px\"><div style=\"color:#4ade80;font-weight:700;font-size:13px;margin-bottom:5px\">The rule<\/div><p style=\"margin:0;font-size:13.5px;line-height:1.6;color:#c6d4e2\">Inside radius <b>0.5 \u00d7 wall<\/b>, outside radius <b>1.5 \u00d7 wall<\/b> \u2014 that pair keeps the wall constant round the bend. On a 3 mm (0.12 in) wall: Ri 1.5 mm (0.059 in), Ro 4.5 mm (0.177 in). Kt drops from ~3.0 to ~1.5 and impact strength roughly doubles.<\/p><p style=\"margin:7px 0 0;font-size:12.5px;color:#9fb3c8\">Below Ri\/t = 0.3 the Kt curve climbs steeply. Above 0.8 you are only adding mass.<\/p><\/div><\/div><\/div><div data-note=\"3\" style=\"display:none\"><div style=\"display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px\"><div style=\"background:#1a1116;border:1px solid #5a2a2a;border-radius:9px;padding:12px 14px\"><div style=\"color:#ff7b6b;font-weight:700;font-size:13px;margin-bottom:5px\">What you are watching<\/div><p style=\"margin:0;font-size:13.5px;line-height:1.6;color:#c6d4e2\">A full-thickness rib doubles the material at the root. That root freezes last, pulls the opposite skin inward, and the sink shows up as a line in the reflection \u2014 the one place your customer looks. On a 3 mm ABS wall expect roughly 0.08\u20130.12 mm (0.003\u20130.005 in) of sink.<\/p><\/div><div style=\"background:#101c15;border:1px solid #275c38;border-radius:9px;padding:12px 14px\"><div style=\"color:#4ade80;font-weight:700;font-size:13px;margin-bottom:5px\">The rule<\/div><p style=\"margin:0;font-size:13.5px;line-height:1.6;color:#c6d4e2\">Rib thickness <b>0.5\u20130.6 \u00d7 wall<\/b> (0.4 \u00d7 for high-gloss or glass-filled), height <b>\u2264 3 \u00d7 wall<\/b>, draft <b>0.5\u20131\u00b0 per side<\/b>, root radius <b>0.25 \u00d7 wall<\/b>, spacing <b>\u2265 2 \u00d7 wall<\/b>. Need more stiffness? Add ribs, never thickness \u2014 stiffness goes with height cubed.<\/p><p style=\"margin:7px 0 0;font-size:12.5px;color:#9fb3c8\">If the face is cosmetic and the rib still shows, texture the face or move the rib off the sightline before you argue about process.<\/p><\/div><\/div><\/div><div data-note=\"4\" style=\"display:none\"><div style=\"display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px\"><div style=\"background:#1a1116;border:1px solid #5a2a2a;border-radius:9px;padding:12px 14px\"><div style=\"color:#ff7b6b;font-weight:700;font-size:13px;margin-bottom:5px\">What you are watching<\/div><p style=\"margin:0;font-size:13.5px;line-height:1.6;color:#c6d4e2\">A solid boss blended straight into the wall is the thickest point in the part. The void opens right under the screw, so the thread strips at half the torque you designed for, and the sink shows on the outside face directly opposite.<\/p><\/div><div style=\"background:#101c15;border:1px solid #275c38;border-radius:9px;padding:12px 14px\"><div style=\"color:#4ade80;font-weight:700;font-size:13px;margin-bottom:5px\">The rule<\/div><p style=\"margin:0;font-size:13.5px;line-height:1.6;color:#c6d4e2\">Boss OD <b>2.0\u20132.4 \u00d7 hole diameter<\/b>, boss wall <b>0.6 \u00d7 nominal<\/b>, root radius <b>0.25 \u00d7 wall<\/b>, and carry the load with <b>4 gussets<\/b> rather than a solid stem. Stand the boss <b>0.3\u20130.5 mm (0.012\u20130.020 in)<\/b> clear of a side wall and tie it in with a rib instead of merging it.<\/p><p style=\"margin:7px 0 0;font-size:12.5px;color:#9fb3c8\">For a M3 self-tapping screw in ABS: hole 2.5 mm, boss OD 5.5\u20136.0 mm, boss wall ~1.8 mm on a 3 mm wall.<\/p><\/div><\/div><\/div><div data-note=\"5\" style=\"display:none\"><div style=\"display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px\"><div style=\"background:#1a1116;border:1px solid #5a2a2a;border-radius:9px;padding:12px 14px\"><div style=\"color:#ff7b6b;font-weight:700;font-size:13px;margin-bottom:5px\">What you are watching<\/div><p style=\"margin:0;font-size:13.5px;line-height:1.6;color:#c6d4e2\">The hole sits in the middle of a side wall, so its axis is at 90\u00b0 to the draw. A core pin carried on a slide has to pass through the wall and shut off on the core, then withdraw sideways before the part can lift. The angle pin drives it out at 25\u00b0: 36 mm of mold opening buys 18 mm of travel. Every slide adds tooling cost, witness lines on the part, extra opening stroke, and one more thing to wear or seize at 300,000 shots.<\/p><\/div><div style=\"background:#101c15;border:1px solid #275c38;border-radius:9px;padding:12px 14px\"><div style=\"color:#4ade80;font-weight:700;font-size:13px;margin-bottom:5px\">The rule<\/div><p style=\"margin:0;font-size:13.5px;line-height:1.6;color:#c6d4e2\">Before you accept a slide, ask whether the opening can run out to an edge of the wall. Then core steel bypasses the wall from below, forms the same opening, and pulls in the draw direction. Same function, two-plate mold. Where the hole must stay closed on all four sides, the other escapes are a lifter (internal undercuts only) or a hand loader on low volumes. Budget a typical slide at <b>US$1,200\u20133,000<\/b> of tooling plus <b>0.5\u20131 s<\/b> of cycle; a lifter is cheaper but only solves inside undercuts.<\/p><p style=\"margin:7px 0 0;font-size:12.5px;color:#9fb3c8\">Honest exception: a shallow snap in a flexible material can sometimes strip off the core \u2014 roughly \u2264 5 % strain for PP or PE, almost never for glass-filled grades.<\/p><\/div><\/div><\/div><div data-note=\"6\" style=\"display:none\"><div style=\"display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px\"><div style=\"background:#1a1116;border:1px solid #5a2a2a;border-radius:9px;padding:12px 14px\"><div style=\"color:#ff7b6b;font-weight:700;font-size:13px;margin-bottom:5px\">What you are watching<\/div><p style=\"margin:0;font-size:13.5px;line-height:1.6;color:#c6d4e2\">The melt splits round the hole and rejoins behind it. Where the two fronts meet, the chains are already cooling and never fully entangle \u2014 that is the weld line. It runs straight into the snap-fit. Strength there is <b>85\u201395 %<\/b> of base resin for unfilled amorphous grades, but only <b>40\u201360 %<\/b> once the material is glass-filled.<\/p><\/div><div style=\"background:#101c15;border:1px solid #275c38;border-radius:9px;padding:12px 14px\"><div style=\"color:#4ade80;font-weight:700;font-size:13px;margin-bottom:5px\">The rule<\/div><p style=\"margin:0;font-size:13.5px;line-height:1.6;color:#c6d4e2\">You cannot delete a weld line behind a hole \u2014 you can only choose where it ends up. Move the gate so the line points away from loaded or cosmetic areas, keep flow length-to-wall ratio under about <b>150:1<\/b>, and add an overflow or thicker flow leader if it must land somewhere critical.<\/p><p style=\"margin:7px 0 0;font-size:12.5px;color:#9fb3c8\">Fix it in the gate drawing, not at T1. Moving a gate after the mold is cut means welding and re-cutting the cavity.<\/p><\/div><\/div><\/div><div style=\"margin-top:16px;padding:14px 16px;background:#101d2b;border:1px solid #27405a;border-radius:10px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between\"><p style=\"margin:0;font-size:13.5px;line-height:1.55;color:#c6d4e2;flex:1 1 320px\">Send us a STEP file and we will mark up every one of these seven items on your part \u2014 wall map, draft check, rib ratios, gate and weld-line plan \u2014 before any steel is cut.<\/p><a href=\"https:\/\/www.plasticmoulds.net\/contact-us\" style=\"display:inline-block;background:#f59e0b;color:#10202e;font-weight:700;font-size:14px;text-decoration:none;padding:11px 20px;border-radius:8px\">Get a free DFM review<\/a><\/div><div style=\"margin-top:14px;padding:13px 15px;background:#0d1724;border:1px solid #223449;border-radius:10px\"><div style=\"font-size:13px;font-weight:700;color:#dbe6f0;margin-bottom:7px\">Embed this animation on your site<\/div><textarea data-k=\"ebox\" readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;background:#070d15;color:#9fb3c8;border:1px solid #223449;border-radius:7px;padding:9px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.5;resize:vertical\">&lt;iframe id=&quot;tw-dfm-anim&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_dfm_anim_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1040px;height:1180px&quot; loading=&quot;lazy&quot; title=&quot;Interactive DFM animation for injection molding&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_dfm_anim&quot;){var f=document.getElementById(&quot;tw-dfm-anim&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive DFM animation by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><div style=\"display:flex;align-items:center;gap:11px;margin-top:8px;flex-wrap:wrap\"><button type=\"button\" data-k=\"ecopy\" style=\"cursor:pointer;border:0;background:#1e3a5f;color:#dbe6f0;font-size:12.5px;font-weight:600;padding:7px 15px;border-radius:7px\">Copy<\/button><span style=\"font-size:12px;color:#7d93a8\">Free to use. Please keep the credit link.<\/span><\/div><\/div><\/div><script> (function () { var R = document.getElementById('twdfma6198'); if (!R) { return; } var scenes = R.querySelectorAll('[data-scene]'); var tabs = R.querySelectorAll('[data-tab]'); var notes = R.querySelectorAll('[data-note]'); var scrub = R.querySelector('[data-k=\"scrub\"]'); var btn = R.querySelector('[data-k=\"play\"]'); var tlab = R.querySelector('[data-k=\"tlabel\"]'); var tval = R.querySelector('[data-k=\"tval\"]'); var DUR = [4600, 3400, 3800, 4400, 4400, 3800, 3600]; var LAB = ['Cooling time', 'Ejection stroke', 'Flow + service load', 'Cooling time', 'Cooling time', 'Mold opening', 'Cavity fill']; var cur = 0, t = 0, playing = true, last = 0, cache = []; function g(k) { var c = cache[cur] || (cache[cur] = {}); return c[k] || (c[k] = scenes[cur].querySelector('[data-k=\"' + k + '\"]')); } function cl(v) { return v < 0 ? 0 : (v > 1 ? 1 : v); } function sm(x) { x = cl(x); return x * x * (3 - 2 * x); } function mix(a, b, p) { return 'rgb(' + Math.round(a[0] + (b[0] - a[0]) * p) + ',' + Math.round(a[1] + (b[1] - a[1]) * p) + ',' + Math.round(a[2] + (b[2] - a[2]) * p) + ')'; } var HOT = [232, 78, 42], WARM = [235, 158, 61], SOL = [108, 153, 188]; function tcol(p) { return p < 0.5 ? mix(HOT, WARM, p \/ 0.5) : mix(WARM, SOL, (p - 0.5) \/ 0.5); } \/* thermal paint: every [data-m] element solidifies at a rate set by its thickness squared *\/ function paint(tt) { var sc = scenes[cur]; var mmax = parseFloat(sc.getAttribute('data-mmax')) || 8; var els = sc.querySelectorAll('[data-m]'); for (var i = 0; i < els.length; i++) { var m = parseFloat(els[i].getAttribute('data-m')) || mmax; var T = (m \/ mmax) * (m \/ mmax); els[i].setAttribute('fill', tcol(cl(tt \/ T))); } } var UPD = [ \/* ---- 0 wall thickness ---- *\/ function (tt) { paint(tt); var d = 11 * sm(tt); g('s1-sink').setAttribute('d', 'M144 214 Q192 ' + (214 - d).toFixed(1) + ' 244 214'); var v = cl((tt - 0.3) \/ 0.7); g('s1-void').setAttribute('rx', (17 * v).toFixed(1)); g('s1-void').setAttribute('ry', (10 * v).toFixed(1)); g('s1-lt').textContent = tt < 0.96 ? 'core still molten \u2014 ' + Math.round(tt * 100) + ' % of the cooling clock' : 'frozen at last \u2014 sink 0.19 mm, void inside'; g('s1-rt').textContent = tt < 0.14 ? 'solidifying\u2026' : 'frozen through at 14 % of that clock'; }, \/* ---- 1 draft ---- *\/ function (tt) { var liftL = tt < 0.34 ? (tt \/ 0.34) * 3 : 3 + ((tt - 0.34) \/ 0.66) * 84; var jit = (tt > 0.04 && tt < 0.36) ? Math.sin(tt * 210) * 1.3 : 0; g('s2-pL').setAttribute('transform', 'translate(' + jit.toFixed(2) + ',' + (-liftL).toFixed(1) + ')'); g('s2-pR').setAttribute('transform', 'translate(0,' + (-(tt * 87)).toFixed(1) + ')'); g('s2-scuff').setAttribute('opacity', cl(tt * 2.4).toFixed(2)); g('s2-gapR').setAttribute('opacity', cl(tt * 3.5).toFixed(2)); var fL = tt < 0.34 ? (tt \/ 0.34) : 0.3; g('s2-fL').setAttribute('width', (190 * fL).toFixed(0)); g('s2-fR').setAttribute('width', (190 * (tt < 0.1 ? tt * 2 : 0.2)).toFixed(0)); g('s2-lt').textContent = tt < 0.34 ? 'sticking \u2014 force climbing' : 'tore free, drag marks full depth'; g('s2-rt').textContent = tt < 0.1 ? 'lifting' : 'clean release, 0.65 mm clearance open'; }, \/* ---- 2 corner radii ---- *\/ function (tt) { var f1 = 0.376, s, x, y; s = tt < 0.35 ? tt : (tt < 0.55 ? 0.35 + (tt - 0.35) * 0.25 : 0.40 + (tt - 0.55) * 1.3333); s = cl(s); if (s < f1) { x = 109; y = 92 + (s \/ f1) * 149; } else { x = 109 + ((s - f1) \/ (1 - f1)) * 221; y = 241; } g('s3-dotL').setAttribute('cx', x.toFixed(1)); g('s3-dotL').setAttribute('cy', y.toFixed(1)); if (tt < f1) { x = 499; y = 92 + (tt \/ f1) * 149; } else { x = 499 + ((tt - f1) \/ (1 - f1)) * 221; y = 241; } g('s3-dotR').setAttribute('cx', x.toFixed(1)); g('s3-dotR').setAttribute('cy', y.toFixed(1)); g('s3-hot').setAttribute('opacity', (0.25 + 0.3 * Math.abs(Math.sin(tt * 9))).toFixed(2)); g('s3-swirl').setAttribute('opacity', (tt > 0.33 && tt < 0.58) ? (0.9 * Math.abs(Math.sin(tt * 26))).toFixed(2) : '0'); g('s3-crack').setAttribute('opacity', tt > 0.72 ? cl((tt - 0.72) \/ 0.18).toFixed(2) : '0'); g('s3-lt').textContent = tt < 0.35 ? 'melt approaching the corner' : (tt < 0.58 ? 'front stalls \u2014 shear + hot spot' : (tt > 0.72 ? 'service load: crack starts at the corner' : 'past the corner, already sheared')); g('s3-rt').textContent = tt < 0.35 ? 'melt approaching the corner' : (tt < 0.58 ? 'front sweeps through, no stall' : 'service load: stress spreads over the radius'); }, \/* ---- 3 ribs ---- *\/ function (tt) { paint(tt); var d = 7.5 * sm(tt), d2 = 1.3 * sm(tt); g('s4-sink').setAttribute('d', 'M180 130 Q204 ' + (130 + d).toFixed(1) + ' 228 130'); g('s4-gloss').setAttribute('points', '80,122 176,122 204,' + (122 + d * 1.25).toFixed(1) + ' 232,122 330,122'); g('s4-sinkR').setAttribute('d', 'M576 130 Q600 ' + (130 + d2).toFixed(1) + ' 624 130'); g('s4-glossR').setAttribute('points', '464,122 572,122 600,' + (122 + d2 * 1.25).toFixed(1) + ' 628,122 714,122'); g('s4-lt').textContent = 'sink depth \u2248 ' + (0.11 * sm(tt)).toFixed(3) + ' mm (' + (0.11 * sm(tt) \/ 25.4).toFixed(4) + ' in)'; g('s4-rt').textContent = 'sink depth \u2248 ' + (0.016 * sm(tt)).toFixed(3) + ' mm (' + (0.016 * sm(tt) \/ 25.4).toFixed(4) + ' in)'; }, \/* ---- 4 bosses ---- *\/ function (tt) { paint(tt); var d = 9 * sm(tt), v = cl((tt - 0.32) \/ 0.68); g('s5-sink').setAttribute('d', 'M156 224 Q200 ' + (224 - d).toFixed(1) + ' 244 224'); g('s5-void').setAttribute('rx', (13 * v).toFixed(1)); g('s5-void').setAttribute('ry', (16 * v).toFixed(1)); g('s5-lt').textContent = tt < 0.95 ? 'core still molten \u2014 ' + Math.round(tt * 100) + ' %' : 'void sits under the screw boss'; g('s5-rt').textContent = tt < 0.19 ? 'solidifying\u2026' : 'frozen through, full thread engagement'; }, \/* ---- 5 undercuts ---- *\/ function (tt) { var open = tt * 72; g('s6-cavL').setAttribute('transform', 'translate(0,' + (-open).toFixed(1) + ')'); g('s6-cavR').setAttribute('transform', 'translate(0,' + (-open).toFixed(1) + ')'); var slide = Math.min(open * 0.5, 36); \/* 25\u00b0 angle pin: travel = 0.5 \u00d7 opening *\/ g('s6-slideL').setAttribute('transform', 'translate(' + slide.toFixed(1) + ',0)'); g('s6-ucL').setAttribute('stroke', slide >= 18 ? '#4ade80' : '#ff5a5a'); g('s6-partL').setAttribute('transform', 'translate(0,' + (-(cl((tt - 0.64) \/ 0.36) * 44)).toFixed(1) + ')'); g('s6-partR').setAttribute('transform', 'translate(0,' + (-(cl((tt - 0.34) \/ 0.66) * 56)).toFixed(1) + ')'); g('s6-lt').textContent = slide < 18 ? 'core pin still through the wall \u2014 ' + slide.toFixed(0) + ' of 18 mm withdrawn' : 'pin clear of the wall \u2014 only now can the part eject'; g('s6-rt').textContent = tt < 0.34 ? 'mold opening \u2014 nothing to retract sideways' : 'part already lifting \u2014 straight pull'; }, \/* ---- 6 gate & weld line ---- *\/ function (tt) { \/* left: gate at (74,181), hole at (195,181) r20, flow to the right *\/ fill(tt, g('s7-meltL'), g('s7-shadeL'), g('s7-weldL'), 74, 181, 195, 181, 20, 340, 1, 0); \/* right: gate at (594,262), hole at (594,181) r20, flow upward *\/ fill(tt, g('s7-meltR'), g('s7-shadeR'), g('s7-weldR'), 594, 262, 594, 181, 20, 300, 0, -1); g('s7-lt').textContent = tt < 0.48 ? 'filled ' + Math.round(tt * 100) + ' % \u2014 front splitting at the hole' : 'weld line formed across the snap-fit \u2014 40\u201360 % strength'; g('s7-rt').textContent = tt < 0.48 ? 'filled ' + Math.round(tt * 100) + ' % \u2014 front splitting at the hole' : 'weld line runs to the scrap edge, away from the load'; } ]; function fill(tt, melt, shade, weld, gx, gy, hx, hy, rh, reach, dx, dy) { var r = tt * reach; melt.setAttribute('r', r.toFixed(1)); \/* shadow behind the hole, measured from the gate side *\/ var dG = Math.sqrt((hx - gx) * (hx - gx) + (hy - gy) * (hy - gy)); var Lmax = 150; var closed = cl((r - (dG + rh)) \/ 86); var Lsh = Lmax * (1 - closed); var px = -dy, py = dx; \/* perpendicular *\/ var ax = hx + px * rh, ay = hy + py * rh; var bx = hx - px * rh, by = hy - py * rh; shade.setAttribute('points', ax.toFixed(1) + ',' + ay.toFixed(1) + ' ' + bx.toFixed(1) + ',' + by.toFixed(1) + ' ' + (bx + dx * Lsh).toFixed(1) + ',' + (by + dy * Lsh).toFixed(1) + ' ' + (ax + dx * Lsh).toFixed(1) + ',' + (ay + dy * Lsh).toFixed(1)); var w0x = hx + dx * rh, w0y = hy + dy * rh; var wl = Lmax - Lsh; weld.setAttribute('x1', w0x.toFixed(1)); weld.setAttribute('y1', w0y.toFixed(1)); weld.setAttribute('x2', (w0x + dx * wl).toFixed(1)); weld.setAttribute('y2', (w0y + dy * wl).toFixed(1)); } function draw() { UPD[cur](t); tval.textContent = Math.round(t * 100) + ' %'; } function show(i) { cur = i; t = 0; scrub.value = 0; for (var a = 0; a < scenes.length; a++) { scenes[a].style.display = (a === i) ? 'block' : 'none'; } for (var b = 0; b < notes.length; b++) { notes[b].style.display = (b === i) ? 'block' : 'none'; } for (var c = 0; c < tabs.length; c++) { var on = (c === i); tabs[c].style.background = on ? '#f59e0b' : '#111e2c'; tabs[c].style.borderColor = on ? '#f59e0b' : '#294058'; tabs[c].style.color = on ? '#10202e' : '#b9cadb'; } tlab.textContent = LAB[i]; draw(); } for (var k = 0; k < tabs.length; k++) { (function (n) { tabs[n].addEventListener('click', function () { show(n); }); })(k); } btn.addEventListener('click', function () { playing = !playing; btn.textContent = playing ? 'Pause' : 'Play'; }); scrub.addEventListener('input', function () { playing = false; btn.textContent = 'Play'; t = parseInt(scrub.value, 10) \/ 1000; draw(); }); function frame(ts) { if (!last) { last = ts; } var dt = ts - last; last = ts; if (playing) { t += dt \/ DUR[cur]; if (t > 1.12) { t = 0; } scrub.value = Math.round(cl(t) * 1000); draw(); } requestAnimationFrame(frame); } show(0); requestAnimationFrame(frame); \/* ---- embed copy box ---- *\/ var cp = R.querySelector('[data-k=\"ecopy\"]'), bx = R.querySelector('[data-k=\"ebox\"]'); if (cp && bx) { cp.addEventListener('click', function () { var done = function () { cp.textContent = 'Copied!'; setTimeout(function () { cp.textContent = 'Copy'; }, 1800); }; if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(bx.value).then(done, function () { bx.select(); document.execCommand('copy'); done(); }); } else { bx.select(); document.execCommand('copy'); done(); } }); } })(); <\/script><div id=\"snapfit-1\" class=\"sfx\"><style> #snapfit-1{--sfx-blue:#1769aa;--sfx-blue-d:#0e4e85;--sfx-ink:#243247;--sfx-mute:#64748b;--sfx-line:#dce3eb;max-width:1040px;margin:28px auto;padding:22px;background:#f5f7fa;border:1px solid var(--sfx-line);border-radius:14px;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Arial,sans-serif;color:var(--sfx-ink);box-sizing:border-box;} #snapfit-1 *{box-sizing:border-box;} #snapfit-1 .sfx-title{font-size:22px;font-weight:700;line-height:1.3;margin:0 0 4px;} #snapfit-1 .sfx-sub{color:var(--sfx-mute);font-size:13px;margin:0 0 16px;} #snapfit-1 .sfx-grid{display:grid;grid-template-columns:1fr 290px;gap:16px;align-items:start;} @media (max-width:880px){#snapfit-1{padding:16px;} #snapfit-1 .sfx-grid{grid-template-columns:1fr;} } #snapfit-1 .sfx-card{background:#fff;border:1px solid var(--sfx-line);border-radius:10px;padding:14px;} #snapfit-1 svg.sfx-svg{width:100%;height:auto;display:block;overflow:visible;} #snapfit-1 .sfx-steps{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap;} #snapfit-1 .sfx-step{flex:1 1 90px;border:1px solid var(--sfx-line);border-radius:6px;padding:6px 4px;font-size:11px;font-weight:600;text-align:center;color:var(--sfx-mute);background:#fff;cursor:pointer;line-height:1.3;font-family:inherit;transition:all .18s;} #snapfit-1 .sfx-step span{display:block;font-size:10px;font-weight:400;opacity:.75;} #snapfit-1 .sfx-step.on{background:var(--sfx-blue);border-color:var(--sfx-blue);color:#fff;} #snapfit-1 .sfx-ctrl{margin-top:14px;} #snapfit-1 .sfx-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;margin-bottom:5px;} #snapfit-1 .sfx-row em{font-style:normal;color:var(--sfx-blue);font-variant-numeric:tabular-nums;} #snapfit-1 input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:#dbe4ee;outline:none;cursor:pointer;margin:0;padding:0;border:0;} #snapfit-1 input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--sfx-blue);border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3);cursor:pointer;} #snapfit-1 input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--sfx-blue);border:2px solid #fff;cursor:pointer;} #snapfit-1 .sfx-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center;} #snapfit-1 button.sfx-b{border:0;border-radius:7px;padding:9px 16px;background:var(--sfx-blue);color:#fff;cursor:pointer;font-weight:600;font-size:13px;line-height:1.2;font-family:inherit;transition:background .15s;} #snapfit-1 button.sfx-b:hover{background:var(--sfx-blue-d);} #snapfit-1 button.sfx-b.ghost{background:#fff;color:var(--sfx-blue);border:1px solid var(--sfx-blue);} #snapfit-1 button.sfx-b.ghost.on{background:var(--sfx-blue);color:#fff;} #snapfit-1 select.sfx-sel{border:1px solid var(--sfx-line);border-radius:7px;padding:8px 10px;font-size:13px;font-family:inherit;background:#fff;color:var(--sfx-ink);cursor:pointer;width:100%;} #snapfit-1 .sfx-status{margin-top:14px;padding:13px 15px;border-radius:8px;background:#e8f1fa;border-left:4px solid var(--sfx-blue);} #snapfit-1 .sfx-status b{display:block;margin-bottom:4px;color:#14558a;font-size:14px;} #snapfit-1 .sfx-status p{margin:0;font-size:13px;line-height:1.55;color:#33506d;} #snapfit-1 .sfx-panel h4{margin:0 0 10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--sfx-mute);} #snapfit-1 .sfx-param{margin-bottom:11px;} #snapfit-1 .sfx-param label{display:flex;justify-content:space-between;font-size:12px;font-weight:600;margin-bottom:4px;} #snapfit-1 .sfx-param label em{font-style:normal;color:var(--sfx-blue);font-variant-numeric:tabular-nums;} #snapfit-1 .sfx-out .r{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;padding:6px 0;border-bottom:1px dashed #e5ebf2;} #snapfit-1 .sfx-out .r:last-child{border-bottom:0;} #snapfit-1 .sfx-out .r span:first-child{color:var(--sfx-mute);} #snapfit-1 .sfx-out .r span:last-child{font-weight:700;font-variant-numeric:tabular-nums;} #snapfit-1 .sfx-bar{height:8px;border-radius:4px;background:#e5ebf2;overflow:hidden;margin:10px 0 6px;} #snapfit-1 .sfx-bar i{display:block;height:100%;width:40%;background:#16a34a;transition:width .12s linear,background .2s;} #snapfit-1 .sfx-verdict{font-size:12px;font-weight:700;padding:7px 10px;border-radius:6px;text-align:center;background:#dcfce7;color:#166534;} #snapfit-1 .sfx-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;margin-top:10px;color:var(--sfx-mute);} #snapfit-1 .sfx-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px;} #snapfit-1 .sfx-note{font-size:11px;color:var(--sfx-mute);line-height:1.5;margin-top:10px;} <\/style><p class=\"sfx-title\">Cantilever Snap-Fit \u2014 Interactive Assembly Simulator<\/p><p class=\"sfx-sub\">Drag the slider or press Play. Change the geometry and material to see strain, deflection force and assembly force update in real time.<\/p><div class=\"sfx-grid\"><div><div class=\"sfx-steps\"><button type=\"button\" class=\"sfx-step on\" data-go=\"0\">1 Approach<span>free state<\/span><\/button><button type=\"button\" class=\"sfx-step\" data-go=\"1\">2 Lead-in<span>ramp contact<\/span><\/button><button type=\"button\" class=\"sfx-step\" data-go=\"2\">3 Max strain<span>full deflection<\/span><\/button><button type=\"button\" class=\"sfx-step\" data-go=\"3\">4 Sliding<span>held down<\/span><\/button><button type=\"button\" class=\"sfx-step\" data-go=\"4\">5 Snap &amp; lock<span>recovered<\/span><\/button><\/div><div class=\"sfx-card\"><svg class=\"sfx-svg\" viewBox=\"0 0 900 380\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Interactive cantilever snap fit assembly simulation\"><defs><marker id=\"snapfit-1-ar\" markerWidth=\"9\" markerHeight=\"9\" refX=\"6\" refY=\"3\" orient=\"auto\"><path d=\"M0 0 L6 3 L0 6\" fill=\"none\" stroke=\"#64748b\" stroke-width=\"1.2\"\/><\/marker><linearGradient id=\"snapfit-1-gA\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#7fb4e3\"\/><stop offset=\"1\" stop-color=\"#4d8cc0\"\/><\/linearGradient><linearGradient id=\"snapfit-1-gB\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#f6bc69\"\/><stop offset=\"1\" stop-color=\"#e09a35\"\/><\/linearGradient><\/defs><line x1=\"20\" y1=\"348\" x2=\"880\" y2=\"348\" stroke=\"#cbd5e1\" stroke-dasharray=\"6 6\"\/><path class=\"sfx-base\" d=\"M40 188 L200 188 L200 330 L40 330 Z\" fill=\"url(#snapfit-1-gA)\" stroke=\"#28618e\" stroke-width=\"2\"\/><text class=\"sfx-base-t\" x=\"70\" y=\"230\" font-size=\"14\" font-weight=\"bold\" fill=\"#ffffff\">PART A<\/text><path class=\"sfx-beam\" d=\"M200 176 L390 176 L390 188 L200 188 Z\" fill=\"#2786c7\" stroke=\"#14558a\" stroke-width=\"2\"\/><path class=\"sfx-axis\" d=\"M200 182 L390 182\" fill=\"none\" stroke=\"#bfe0f7\" stroke-width=\"1.2\" stroke-dasharray=\"4 4\"\/><path class=\"sfx-hook\" d=\"M297.1 176 L326 147.1 L340 147.1 L390 176 Z\" fill=\"#1c6ea8\" stroke=\"#0f4873\" stroke-width=\"2\"\/><circle class=\"sfx-root\" cx=\"203\" cy=\"182\" r=\"7\" fill=\"#dc2626\" opacity=\"0\"\/><path class=\"sfx-mate\" d=\"M0 22 L22 42.9 L62 42.9 L82.9 22 L182 22 L182 42.9 L380 42.9 L380 0 L0 0 Z\" transform=\"translate(420,117.1)\" fill=\"url(#snapfit-1-gB)\" stroke=\"#b66a17\" stroke-width=\"2\"\/><text class=\"sfx-mate-t\" x=\"670\" y=\"133\" font-size=\"14\" font-weight=\"bold\" fill=\"#653b0b\">PART B<\/text><path class=\"sfx-defl\" d=\"\" fill=\"none\" stroke=\"#dc2626\" stroke-width=\"1.4\" opacity=\"0\"\/><text class=\"sfx-defl-t\" x=\"0\" y=\"0\" font-size=\"12\" font-weight=\"bold\" fill=\"#dc2626\" opacity=\"0\"><\/text><text class=\"sfx-lb1\" x=\"150\" y=\"40\" font-size=\"13\" fill=\"#14558a\" font-weight=\"bold\">Cantilever beam (Part A)<\/text><path class=\"sfx-ld1\" d=\"M240 50 L240 160\" fill=\"none\" stroke=\"#64748b\" stroke-width=\"1.2\" marker-end=\"url(#snapfit-1-ar)\"\/><text class=\"sfx-lb2\" x=\"520\" y=\"40\" font-size=\"13\" fill=\"#a45b0d\" font-weight=\"bold\">Mating housing (Part B)<\/text><path class=\"sfx-ld2\" d=\"M540 50 L540 109\" fill=\"none\" stroke=\"#64748b\" stroke-width=\"1.2\" marker-end=\"url(#snapfit-1-ar)\"\/><text x=\"770\" y=\"374\" font-size=\"12\" fill=\"#64748b\">Insertion<\/text><path d=\"M755 369 L675 369\" stroke=\"#64748b\" stroke-width=\"2\" marker-end=\"url(#snapfit-1-ar)\"\/><\/svg><div class=\"sfx-legend\"><span><i class=\"sfx-dot\" style=\"background:#2786c7\"><\/i>Flexible cantilever + hook<\/span><span><i class=\"sfx-dot\" style=\"background:#e09a35\"><\/i>Mating housing with undercut<\/span><span><i class=\"sfx-dot\" style=\"background:#dc2626\"><\/i>Peak bending stress at beam root<\/span><\/div><\/div><div class=\"sfx-ctrl\"><div class=\"sfx-row\"><span>Assembly progress<\/span><em class=\"sfx-pv\">0%<\/em><\/div><input class=\"sfx-prog\" type=\"range\" min=\"0\" max=\"100\" step=\"0.5\" value=\"0\"\/><div class=\"sfx-btns\"><button type=\"button\" class=\"sfx-b sfx-play\">&#9654; Play<\/button><button type=\"button\" class=\"sfx-b ghost sfx-loop\">&#8635; Loop<\/button><button type=\"button\" class=\"sfx-b ghost sfx-reset\">&#8634; Reset<\/button><select class=\"sfx-sel sfx-speed\" style=\"width:auto;\"><option value=\"0.5\">0.5&times;<\/option><option value=\"1\" selected>1&times;<\/option><option value=\"2\">2&times;<\/option><option value=\"4\">4&times;<\/option><\/select><\/div><div class=\"sfx-status\"><b class=\"sfx-h\">1. Approach<\/b><p class=\"sfx-d\">The cantilever is in its free, unstressed state. Part B travels toward the hook along the insertion axis.<\/p><\/div><\/div><\/div><div class=\"sfx-card sfx-panel\"><h4>Design parameters<\/h4><div class=\"sfx-param\"><label>Material <em class=\"sfx-matv\">ABS<\/em><\/label><select class=\"sfx-sel sfx-mat\"><option value=\"PP\">PP &mdash; polypropylene<\/option><option value=\"HDPE\">HDPE<\/option><option value=\"ABS\" selected>ABS<\/option><option value=\"PCABS\">PC\/ABS<\/option><option value=\"PC\">PC &mdash; polycarbonate<\/option><option value=\"POM\">POM &mdash; acetal<\/option><option value=\"PA66\">PA66 (dry as moulded)<\/option><\/select><\/div><div class=\"sfx-param\"><label>Beam length L <em><span class=\"sfx-Lv\">20.0<\/span> mm<\/em><\/label><input class=\"sfx-L\" type=\"range\" min=\"10\" max=\"40\" step=\"0.5\" value=\"20\"\/><\/div><div class=\"sfx-param\"><label>Beam thickness t <em><span class=\"sfx-tv\">2.0<\/span> mm<\/em><\/label><input class=\"sfx-t\" type=\"range\" min=\"1\" max=\"4\" step=\"0.1\" value=\"2\"\/><\/div><div class=\"sfx-param\"><label>Beam width b <em><span class=\"sfx-bv\">8.0<\/span> mm<\/em><\/label><input class=\"sfx-b2\" type=\"range\" min=\"3\" max=\"16\" step=\"0.5\" value=\"8\"\/><\/div><div class=\"sfx-param\"><label>Undercut y <em><span class=\"sfx-yv\">1.20<\/span> mm<\/em><\/label><input class=\"sfx-y\" type=\"range\" min=\"0.2\" max=\"4\" step=\"0.05\" value=\"1.2\"\/><\/div><div class=\"sfx-param\"><label>Lead angle &alpha; <em><span class=\"sfx-av\">30<\/span>&deg;<\/em><\/label><input class=\"sfx-a\" type=\"range\" min=\"15\" max=\"60\" step=\"1\" value=\"30\"\/><\/div><div class=\"sfx-param\"><label>Retention angle &beta; <em><span class=\"sfx-rv\">45<\/span>&deg;<\/em><\/label><input class=\"sfx-r\" type=\"range\" min=\"30\" max=\"90\" step=\"1\" value=\"45\"\/><\/div><h4 style=\"margin-top:18px;\">Live results<\/h4><div class=\"sfx-out\"><div class=\"r\"><span>Strain now &epsilon;<\/span><span class=\"sfx-o-now\">0.00 %<\/span><\/div><div class=\"r\"><span>Max strain &epsilon;<sub>max<\/sub><\/span><span class=\"sfx-o-eps\">1.80 %<\/span><\/div><div class=\"r\"><span>Allowable &epsilon;<sub>perm<\/sub><\/span><span class=\"sfx-o-perm\">3.0 %<\/span><\/div><div class=\"r\"><span>Deflection force P<\/span><span class=\"sfx-o-P\">11.0 N<\/span><\/div><div class=\"r\"><span>Assembly force W<\/span><span class=\"sfx-o-W\">11.2 N<\/span><\/div><div class=\"r\"><span>Separation force<\/span><span class=\"sfx-o-S\">23.1 N<\/span><\/div><\/div><div class=\"sfx-bar\"><i class=\"sfx-util\"><\/i><\/div><div class=\"sfx-verdict\">Safe &mdash; 60% of allowable strain<\/div><p class=\"sfx-note\"> &epsilon; = 1.5&middot;y&middot;t \/ L&sup2; &nbsp;|&nbsp; P = b&middot;t&sup2;&middot;E&middot;&epsilon; \/ (6L) &nbsp;|&nbsp; W = P&middot;(&mu; + tan&alpha;) \/ (1 &minus; &mu;&middot;tan&alpha;). Straight cantilever, constant section. A tapered beam (free-end thickness &asymp; 0.5&middot;root) allows roughly 1.6&times; the deflection at the same strain. <\/p><\/div><\/div><\/div><script> (function () { var root = document.getElementById('snapfit-1'); if (!root || root.getAttribute('data-sfx-init')) { return; } root.setAttribute('data-sfx-init', '1'); try { var MAT = { PP: { n:'PP', E:1400, eps:8.0, mu:0.30 }, HDPE: { n:'HDPE', E:1000, eps:8.0, mu:0.25 }, ABS: { n:'ABS', E:2300, eps:3.0, mu:0.35 }, PCABS: { n:'PC\/ABS', E:2500, eps:3.5, mu:0.38 }, PC: { n:'PC', E:2400, eps:4.0, mu:0.40 }, POM: { n:'POM', E:2800, eps:6.0, mu:0.20 }, PA66: { n:'PA66 dry', E:2800, eps:6.0, mu:0.25 } }; function q(s) { return root.querySelector(s); } var el = { prog:q('.sfx-prog'), pv:q('.sfx-pv'), play:q('.sfx-play'), loop:q('.sfx-loop'), reset:q('.sfx-reset'), speed:q('.sfx-speed'), h:q('.sfx-h'), d:q('.sfx-d'), base:q('.sfx-base'), baseT:q('.sfx-base-t'), beam:q('.sfx-beam'), axis:q('.sfx-axis'), hook:q('.sfx-hook'), rootDot:q('.sfx-root'), mate:q('.sfx-mate'), mateT:q('.sfx-mate-t'), defl:q('.sfx-defl'), deflT:q('.sfx-defl-t'), lb1:q('.sfx-lb1'), ld1:q('.sfx-ld1'), lb2:q('.sfx-lb2'), ld2:q('.sfx-ld2'), mat:q('.sfx-mat'), matv:q('.sfx-matv'), L:q('.sfx-L'), Lv:q('.sfx-Lv'), t:q('.sfx-t'), tv:q('.sfx-tv'), b:q('.sfx-b2'), bv:q('.sfx-bv'), y:q('.sfx-y'), yv:q('.sfx-yv'), a:q('.sfx-a'), av:q('.sfx-av'), r:q('.sfx-r'), rv:q('.sfx-rv'), oNow:q('.sfx-o-now'), oEps:q('.sfx-o-eps'), oPerm:q('.sfx-o-perm'), oP:q('.sfx-o-P'), oW:q('.sfx-o-W'), oS:q('.sfx-o-S'), util:q('.sfx-util'), verdict:q('.sfx-verdict') }; var steps = root.querySelectorAll('.sfx-step'); var timer = null; var looping = false; var G = null; function nv(node) { return parseFloat(node.value); } function rad(deg) { return deg * Math.PI \/ 180; } \/* ---------- \u51e0\u4f55\u6620\u5c04 ---------- *\/ function geometry() { var L = nv(el.L), t = nv(el.t), y = nv(el.y), a = nv(el.a), r = nv(el.r); var Lpx = 140 + (L - 10) \/ 30 * 150; var tpx = 6 + (t - 1) \/ 3 * 18; var ypx = 5 + (y - 0.2) \/ 3.8 * 30; var axisY = 182; var beamTop = axisY - tpx \/ 2; var beamBot = axisY + tpx \/ 2; var beamX0 = 200; var beamEnd = beamX0 + Lpx; var hookH = ypx + 16; var yTop = beamTop - hookH; var projA = Math.min(70, hookH \/ Math.tan(rad(a))); var projB = Math.min(70, hookH \/ Math.tan(rad(r))); var hookW = Math.max(42, projA + projB + 14); var hookL = beamEnd - hookW; var plateTop = yTop - 30; var Yc = 22; var Yp = 30 + ypx; var stepOff = projB * ((Yp - Yc) \/ hookH); var Lx0 = beamEnd + 30; var trav = hookW + 92; return { L:L, t:t, y:y, a:a, r:r, Lpx:Lpx, tpx:tpx, ypx:ypx, axisY:axisY, beamTop:beamTop, beamBot:beamBot, beamX0:beamX0, beamEnd:beamEnd, hookH:hookH, yTop:yTop, projA:projA, projB:projB, hookW:hookW, hookL:hookL, plateTop:plateTop, Yc:Yc, Yp:Yp, stepOff:stepOff, Lx0:Lx0, trav:trav, p1: 40 \/ trav * 100, p2: 56 \/ trav * 100, p3: 92 \/ trav * 100, p4: 100 }; } \/* ---------- \u6320\u5ea6\u65f6\u95f4\u51fd\u6570 ---------- *\/ function deflFactor(p) { if (p <= G.p1) { return 0; } if (p < G.p2) { var x = (p - G.p1) \/ (G.p2 - G.p1); return x * x * (3 - 2 * x); } if (p <= G.p3) { return 1; } if (p < G.p4) { var z = (p - G.p3) \/ (G.p4 - G.p3); return 1 - z * z * (3 - 2 * z); } return 0; } \/* ---------- \u5de5\u7a0b\u8ba1\u7b97 ---------- *\/ function physics() { var m = MAT[el.mat.value] || MAT.ABS; var L = G.L, t = G.t, b = nv(el.b), y = G.y; var eps = 1.5 * y * t \/ (L * L) * 100; var P = b * t * t * m.E * (eps \/ 100) \/ (6 * L); var ta = Math.tan(rad(G.a)); var tb = Math.tan(rad(G.r)); var denA = 1 - m.mu * ta; var W = denA > 0.05 ? P * (m.mu + ta) \/ denA : NaN; var denB = 1 - m.mu * tb; var S = (G.r >= 89 || denB <= 0.05) ? Infinity : P * (m.mu + tb) \/ denB; return { m:m, eps:eps, perm:m.eps, P:P, W:W, S:S, util:eps \/ m.eps }; } \/* ---------- \u7ed8\u5236 ---------- *\/ function draw(p) { var f = deflFactor(p); var dmax = G.ypx * f; var i, xi, w, X; el.base.setAttribute('d', 'M40 ' + G.beamBot.toFixed(1) + ' L' + G.beamX0 + ' ' + G.beamBot.toFixed(1) + ' L' + G.beamX0 + ' 330 L40 330 Z'); el.baseT.setAttribute('y', (G.beamBot + 42).toFixed(1)); var up = [], dn = [], ax = []; for (i = 0; i <= 24; i++) { xi = i \/ 24; w = dmax * (3 * xi * xi - xi * xi * xi) \/ 2; X = G.beamX0 + G.Lpx * xi; up.push(X.toFixed(1) + ' ' + (G.beamTop + w).toFixed(1)); dn.push(X.toFixed(1) + ' ' + (G.beamBot + w).toFixed(1)); ax.push(X.toFixed(1) + ' ' + (G.axisY + w).toFixed(1)); } dn.reverse(); el.beam.setAttribute('d', 'M' + up.join(' L') + ' L' + dn.join(' L') + ' Z'); el.axis.setAttribute('d', 'M' + ax.join(' L')); var theta = Math.atan(1.5 * dmax \/ G.Lpx) * 180 \/ Math.PI; el.hook.setAttribute('d', 'M' + G.hookL.toFixed(1) + ' ' + G.beamTop.toFixed(1) + ' L' + (G.hookL + G.projB).toFixed(1) + ' ' + G.yTop.toFixed(1) + ' L' + (G.beamEnd - G.projA).toFixed(1) + ' ' + G.yTop.toFixed(1) + ' L' + G.beamEnd.toFixed(1) + ' ' + G.beamTop.toFixed(1) + ' Z'); el.hook.setAttribute('transform', 'translate(0,' + dmax.toFixed(2) + ') rotate(' + theta.toFixed(2) + ',' + G.hookL.toFixed(1) + ',' + G.beamTop.toFixed(1) + ')'); el.rootDot.setAttribute('cx', (G.beamX0 + 3).toFixed(1)); el.rootDot.setAttribute('cy', G.axisY); el.rootDot.setAttribute('r', (7 + 5 * f).toFixed(1)); el.rootDot.setAttribute('opacity', (f * 0.85).toFixed(2)); var Lx = G.Lx0 - G.trav * (p \/ 100); el.mate.setAttribute('d', 'M0 ' + G.Yc + ' L22 ' + G.Yp.toFixed(1) + ' L62 ' + G.Yp.toFixed(1) + ' L' + (62 + G.stepOff).toFixed(1) + ' ' + G.Yc + ' L182 ' + G.Yc + ' L182 ' + G.Yp.toFixed(1) + ' L380 ' + G.Yp.toFixed(1) + ' L380 0 L0 0 Z'); el.mate.setAttribute('transform', 'translate(' + Lx.toFixed(1) + ',' + G.plateTop.toFixed(1) + ')'); el.mateT.setAttribute('x', (Lx + 250).toFixed(1)); el.mateT.setAttribute('y', (G.plateTop + 16).toFixed(1)); if (f > 0.03) { var dx = G.beamEnd + 16; el.defl.setAttribute('d', 'M' + dx.toFixed(1) + ' ' + G.beamTop.toFixed(1) + ' L' + dx.toFixed(1) + ' ' + (G.beamTop + dmax).toFixed(1) + ' M' + (dx - 5).toFixed(1) + ' ' + G.beamTop.toFixed(1) + ' L' + (dx + 5).toFixed(1) + ' ' + G.beamTop.toFixed(1) + ' M' + (dx - 5).toFixed(1) + ' ' + (G.beamTop + dmax).toFixed(1) + ' L' + (dx + 5).toFixed(1) + ' ' + (G.beamTop + dmax).toFixed(1)); el.defl.setAttribute('opacity', '1'); el.deflT.setAttribute('x', (dx + 9).toFixed(1)); el.deflT.setAttribute('y', (G.beamTop + dmax \/ 2 + 4).toFixed(1)); el.deflT.setAttribute('opacity', '1'); el.deflT.textContent = (G.y * f).toFixed(2) + ' mm'; } else { el.defl.setAttribute('opacity', '0'); el.deflT.setAttribute('opacity', '0'); } el.lb1.setAttribute('x', Math.max(110, G.beamX0 - 55).toFixed(0)); el.ld1.setAttribute('d', 'M' + (G.beamX0 + 40) + ' 50 L' + (G.beamX0 + 40) + ' ' + (G.beamTop - 16).toFixed(1)); el.lb2.setAttribute('x', Math.min(680, G.Lx0 + 60).toFixed(0)); el.ld2.setAttribute('d', 'M' + Math.min(700, G.Lx0 + 90).toFixed(0) + ' 50 L' + Math.min(700, G.Lx0 + 90).toFixed(0) + ' ' + (G.plateTop - 8).toFixed(1)); } var TXT = [ ['1. Approach', 'The cantilever is in its free, unstressed state. Part B travels toward the hook along the insertion axis.'], ['2. Lead-in contact', 'The lead angle on the hook meets the chamfer on Part B. The ramp converts the insertion push into a transverse force that starts bending the beam.'], ['3. Maximum deflection', 'The beam is fully deflected by the undercut. Peak bending strain sits at the root where the section is fixed to Part A, and this is the moment that decides whether the snap survives.'], ['4. Sliding under load', 'The hook slides along the inner wall while held at full strain. Keep this phase short: a loaded beam held in place suffers stress relaxation and creep.'], ['5. Snap and lock', 'The hook clears the step and springs back elastically. The retention angle now bears against the undercut and locks the parts together.'] ]; function phase(p) { if (p <= G.p1) { return 0; } if (p < G.p2) { return 1; } if (p < G.p2 + 3) { return 2; } if (p <= G.p3) { return 3; } return 4; } function update(v, regeo) { v = Math.max(0, Math.min(100, Number(v))); if (regeo || !G) { G = geometry(); } el.prog.value = v; el.pv.textContent = v.toFixed(0) + '%'; draw(v); var ph = phase(v), i; el.h.textContent = TXT[ph][0]; el.d.textContent = TXT[ph][1]; for (i = 0; i < steps.length; i++) { if (i === ph) { steps[i].className = 'sfx-step on'; } else { steps[i].className = 'sfx-step'; } } var r = physics(); var f = deflFactor(v); el.matv.textContent = r.m.n; el.Lv.textContent = G.L.toFixed(1); el.tv.textContent = G.t.toFixed(1); el.bv.textContent = nv(el.b).toFixed(1); el.yv.textContent = G.y.toFixed(2); el.av.textContent = G.a.toFixed(0); el.rv.textContent = G.r.toFixed(0); el.oNow.textContent = (r.eps * f).toFixed(2) + ' %'; el.oEps.textContent = r.eps.toFixed(2) + ' %'; el.oPerm.textContent = r.perm.toFixed(1) + ' %'; el.oP.textContent = r.P.toFixed(1) + ' N'; el.oW.textContent = isNaN(r.W) ? 'self-locking' : r.W.toFixed(1) + ' N'; el.oS.textContent = (r.S === Infinity) ? 'permanent' : r.S.toFixed(1) + ' N'; var pct = Math.min(100, r.util * 100); el.util.style.width = pct.toFixed(0) + '%'; if (r.util <= 0.8) { el.util.style.background = '#16a34a'; el.verdict.style.background = '#dcfce7'; el.verdict.style.color = '#166534'; el.verdict.textContent = 'Safe \\u2014 ' + (r.util * 100).toFixed(0) + '% of allowable strain'; } else if (r.util <= 1.0) { el.util.style.background = '#d97706'; el.verdict.style.background = '#fef3c7'; el.verdict.style.color = '#92400e'; el.verdict.textContent = 'Marginal \\u2014 ' + (r.util * 100).toFixed(0) + '% of allowable strain'; } else { el.util.style.background = '#dc2626'; el.verdict.style.background = '#fee2e2'; el.verdict.style.color = '#991b1b'; el.verdict.textContent = 'Will yield or crack \\u2014 ' + (r.util * 100).toFixed(0) + '% of allowable strain'; } } function stop() { if (timer) { clearInterval(timer); timer = null; } el.play.innerHTML = '&#9654; Play'; } function start() { stop(); if (Number(el.prog.value) >= 99.9) { update(0); } el.play.innerHTML = '&#10074;&#10074; Pause'; var sp = parseFloat(el.speed.value) || 1; timer = setInterval(function () { var next = Number(el.prog.value) + 0.6 * sp; if (next >= 100) { update(100); if (looping) { setTimeout(function () { if (timer) { update(0); } }, 700); } else { stop(); } return; } update(next); }, 20); } el.play.addEventListener('click', function () { if (timer) { stop(); } else { start(); } }); el.reset.addEventListener('click', function () { stop(); update(0); }); el.loop.addEventListener('click', function () { looping = !looping; this.className = looping ? 'sfx-b ghost sfx-loop on' : 'sfx-b ghost sfx-loop'; }); el.speed.addEventListener('change', function () { if (timer) { start(); } }); el.prog.addEventListener('input', function () { stop(); update(this.value); }); (function () { var i; for (i = 0; i < steps.length; i++) { steps[i].addEventListener('click', function () { stop(); var k = Number(this.getAttribute('data-go')); var targets = [0, (G.p1 + G.p2) \/ 2, G.p2 + 1, (G.p2 + G.p3) \/ 2, 100]; update(targets[k]); }); } }()); (function () { var names = ['.sfx-L', '.sfx-t', '.sfx-b2', '.sfx-y', '.sfx-a', '.sfx-r']; var i, node; for (i = 0; i < names.length; i++) { node = root.querySelector(names[i]); if (node) { node.addEventListener('input', function () { update(el.prog.value, true); }); } } }()); el.mat.addEventListener('change', function () { update(el.prog.value, true); }); update(0, true); } catch (err) { var box = root.querySelector('.sfx-d'); if (box) { box.textContent = 'Interactive script error: ' + err.message; } if (window.console) { console.error('[snapfit]', err); } } }()); <\/script><div id=\"twls23432\" class=\"twls-wrap\"><style> #twls23432{font-family:system-ui,-apple-system,\"Segoe UI\",Roboto,Arial,sans-serif;color:#1f2937;max-width:860px;margin:24px auto;border:1px solid #d7dee8;border-radius:10px;background:#fff;padding:16px;box-sizing:border-box;line-height:1.45} #twls23432 *{box-sizing:border-box} #twls23432 .twls-title{font-size:20px;font-weight:700;color:#1e3a5f;margin:0 0 4px} #twls23432 .twls-sub{font-size:14px;color:#4b5563;margin:0 0 12px} #twls23432 .twls-stage{position:relative;width:100%;max-width:820px;margin:0 auto} #twls23432 .twls-svg{display:block;width:100%;height:auto;background:#fff;touch-action:manipulation} #twls23432 .twls-tip{position:absolute;left:0;top:0;width:250px;max-width:calc(100% - 12px);background:#fff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:8px;padding:9px 11px;font-size:13px;box-shadow:0 4px 14px rgba(15,35,60,.14);pointer-events:none;z-index:5} #twls23432 .twls-tip b{display:block;color:#1e3a5f;font-size:14px;margin-bottom:3px} #twls23432 .twls-tip .n{display:inline-block;min-width:20px;height:20px;line-height:20px;border-radius:10px;background:#1e3a5f;color:#fff;text-align:center;font-size:11px;margin-right:6px;padding:0 4px} #twls23432 .twls-ctrl{display:flex;align-items:center;gap:10px;margin:10px 0 8px} #twls23432 .twls-btn{border:1px solid #1e3a5f;background:#1e3a5f;color:#fff;border-radius:6px;padding:7px 14px;font-size:14px;font-weight:600;cursor:pointer;min-width:84px} #twls23432 .twls-range{flex:1;accent-color:#1e3a5f} #twls23432 .twls-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px} #twls23432 .twls-chip{border:1px solid #c9d3df;background:#f4f7fb;color:#1e3a5f;border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer} #twls23432 .twls-chip.on{background:#1e3a5f;color:#fff;border-color:#1e3a5f} #twls23432 .twls-status{border:1px solid #e2e8f0;background:#f8fafc;border-radius:8px;padding:10px 12px;font-size:14px;min-height:64px} #twls23432 .twls-status b{color:#1e3a5f} #twls23432 .twls-cmp{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px} #twls23432 .twls-box{border:1px solid #e2e8f0;border-radius:8px;padding:9px 11px;font-size:13px} #twls23432 .twls-box h4{margin:0 0 5px;font-size:14px;color:#1e3a5f} #twls23432 .twls-box div{display:flex;justify-content:space-between;gap:8px;padding:2px 0;border-top:1px dashed #edf1f5} #twls23432 .twls-box div:first-of-type{border-top:0} #twls23432 .twls-box span:last-child{font-weight:600;text-align:right;font-variant-numeric:tabular-nums} #twls23432 .twls-key{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:#4b5563;margin-top:10px} #twls23432 .twls-key i{display:inline-block;width:14px;height:10px;margin-right:5px;vertical-align:-1px;border:1px solid #5b6b7f} #twls23432 .twls-hint{font-size:12px;color:#6b7280;margin-top:6px} #twls23432 details.twls-embed{margin-top:12px;border-top:1px solid #e5e7eb;padding-top:10px;font-size:13px} #twls23432 details.twls-embed summary{cursor:pointer;color:#1e3a5f;font-weight:600} #twls23432 .twls-embed textarea{width:100%;height:110px;font:12px\/1.4 ui-monospace,Consolas,monospace;margin-top:8px;border:1px solid #c9d3df;border-radius:6px;padding:8px;resize:vertical} #twls23432 .twls-copy{margin-top:6px;border:1px solid #1e3a5f;background:#fff;color:#1e3a5f;border-radius:6px;padding:5px 12px;font-size:13px;cursor:pointer} @media (max-width:560px){#twls23432{padding:10px} #twls23432 .twls-title{font-size:17px} #twls23432 .twls-tip{width:200px;font-size:12px} #twls23432 .twls-cmp{grid-template-columns:1fr} } <\/style><div class=\"twls-title\">Slide vs Lifter: How an Injection Mold Releases Undercuts<\/div><div class=\"twls-sub\">One 2D section, mold shown closed at start. Left: a slide pulls an external side hole. Right: a lifter frees an internal snap lip. Play the cycle or drag the slider. Hover or tap any part or number.<\/div><div class=\"twls-stage\"><svg class=\"twls-svg\" viewBox=\"0 0 800 790\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Slide and lifter injection mold cross-section animation\"><\/svg><div class=\"twls-tip\" style=\"display:none\"><\/div><\/div><div class=\"twls-ctrl\"><button type=\"button\" class=\"twls-btn twls-play\">Play<\/button><input type=\"range\" class=\"twls-range\" min=\"0\" max=\"1000\" value=\"0\" aria-label=\"Cycle position\"><\/div><div class=\"twls-chips\"><\/div><div class=\"twls-status\"><\/div><div class=\"twls-cmp\"><div class=\"twls-box\"><h4>Slide (left)<\/h4><div><span>Undercut<\/span><span>External side hole<\/span><\/div><div><span>Driven by<\/span><span>Mold opening, 20&deg; angle pin<\/span><\/div><div><span>Motion<\/span><span>Outward, horizontal<\/span><\/div><div><span>Side pull<\/span><span class=\"twls-s\">0.0 mm<\/span><\/div><div><span>Side hole<\/span><span class=\"twls-s-st\">-<\/span><\/div><\/div><div class=\"twls-box\"><h4>Lifter (right)<\/h4><div><span>Undercut<\/span><span>Internal snap lip<\/span><\/div><div><span>Driven by<\/span><span>Ejector plate, 12&deg; angle<\/span><\/div><div><span>Motion<\/span><span>Up and inward, diagonal<\/span><\/div><div><span>Inward shift<\/span><span class=\"twls-l\">0.0 mm<\/span><\/div><div><span>Snap lip<\/span><span class=\"twls-l-st\">-<\/span><\/div><\/div><\/div><div class=\"twls-key\"><span><i style=\"background:#e6ecf3\"><\/i>Steel<\/span><span><i style=\"background:#f2a33c\"><\/i>Plastic \/ melt<\/span><span><i style=\"background:#2f7de1\"><\/i>Cooling<\/span><span><i style=\"background:#fff;border:0;border-top:2px dashed #d63c3c;height:2px;vertical-align:3px\"><\/i>Parting line<\/span><span><i style=\"background:#fff;border:2px solid #d63c3c\"><\/i>Undercut engaged<\/span><span><i style=\"background:#fff;border:2px solid #16a34a\"><\/i>Undercut cleared<\/span><\/div><div class=\"twls-hint\">Schematic proportions. Strokes and undercut depths shown at an illustrative scale.<\/div><details class=\"twls-embed\"><summary>Embed this animation on your site<\/summary><textarea readonly>&lt;iframe id=&quot;tw-slide-lifter&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_lss_embed=17629&quot; style=&quot;border:0;width:100%;max-width:860px;height:1150px&quot; loading=&quot;lazy&quot; title=&quot;Slide and lifter injection mold animation&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_slide_lifter&quot;){var f=document.getElementById(&quot;tw-slide-lifter&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Slide and lifter mold animation by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" class=\"twls-copy\">Copy embed code<\/button><p style=\"margin:4px 0 0;font-size:12px;color:#6b7280\">Free to use. Please keep the credit link.<\/p><\/details><script> (function(){ var root = document.getElementById('twls23432'); if (!root) { return; } var NS = 'http:\/\/www.w3.org\/2000\/svg'; var svg = root.querySelector('.twls-svg'); var stage = root.querySelector('.twls-stage'); var tip = root.querySelector('.twls-tip'); var HID = 'twls23432-hatch'; var CID = 'twls23432-clip'; var C = {steel:'#e6ecf3', line:'#5b6b7f', melt:'#f2a33c', meltLine:'#c07a1c', cool:'#2f7de1', pl:'#d63c3c', navy:'#1e3a5f', ok:'#16a34a'}; var MM = 0.25; var INFO = { 1:['Locating ring','Centers the mold on the fixed platen so the machine nozzle lines up with the sprue bushing.'], 2:['Sprue bushing','Carries melt from the nozzle to a direct gate on the part. The cold sprue stays attached and ejects with the part.'], 3:['Top clamp plate','Bolts the cavity half to the fixed platen of the press.'], 4:['Cavity plate (A)','Forms the outside of the part. Also holds the angle pin and the heel block, so it drives the slide.'], 5:['Molded part','A box with two undercuts: a side hole in the left wall (external) and a snap lip inside the right wall (internal).'], 6:['Slide (side core)','Rides on the B plate. Its core pin forms the side hole. It moves outward as the mold opens, and a spring detent holds it at end of stroke.'], 7:['Angle pin (20\u00b0)','Fixed in the A plate. As the mold opens it pushes the slide outward: side pull = opening stroke \u00d7 tan 20\u00b0 while engaged.'], 8:['Heel block (wedge lock)','Its 22\u00b0 face, 2\u00b0 steeper than the angle pin, locks the slide against injection pressure and clears before the slide moves.'], 9:['Lifter (12\u00b0)','Angled ejector whose head forms part of the core. Pushed up by the ejector plate, it travels along its angle and moves inward, freeing the snap lip.'], 10:['Lifter base (slide block)','Joins the lifter rod to the ejector retainer plate. It slides sideways in a T-slot as the lifter travels along its angle.'], 11:['Core plate (B)','Forms the inside of the part. The lifter runs in an angled hole through this plate.'], 12:['Spacer block','Creates the space the ejector plates need for their stroke.'], 13:['Ejector retainer plate','Upper ejector plate. Captures the ejector pin heads and carries the T-slot for the lifter base.'], 14:['Ejector plate','Lower ejector plate, pushed forward by the machine knock-out rod.'], 15:['Ejector pins','Tips sit flush with the core surface. They push the part off the core together with the lifter.'], 16:['Bottom clamp plate','Bolts the core half to the moving platen.'], 17:['Knock-out rod','Machine ejector rod. Drives the ejector plates, and with them the pins and the lifter.'], 18:['Leader pin','Aligns the cavity half and core half as the mold closes.'], 19:['Cooling channels','Water lines in the A and B plates that remove heat from the part.'] }; var PH = [ {a:0, n:'Inject', d:'Melt enters through the sprue and fills the cavity. It flows around the slide core pin (side hole) and into the lifter head recess (snap lip).'}, {a:0.12, n:'Cool', d:'Cooling channels in both plates pull heat out. The heel block keeps the slide locked tight against the part.'}, {a:0.22, n:'Open', d:'The A plate retracts. The angle pin, fixed in it, drives the slide outward and pulls its core pin out of the side hole. The external undercut is released before ejection.'}, {a:0.40, n:'Eject', d:'The ejector plates advance. Ejector pins push straight up. The 12\u00b0 lifter travels along its angle, moving up and inward at the same time, so its head slides out from under the snap lip.'}, {a:0.58, n:'Remove', d:'Both undercuts are clear, so the part (with its sprue) drops free or is picked by a robot.'}, {a:0.68, n:'Reset', d:'The ejector plates return and pull the lifter back into the core. As the mold closes, the angle pin re-enters the slide and the heel block wedges it home.'} ]; function el(tag, attrs, parent) { var e = document.createElementNS(NS, tag); for (var k in attrs) { if (attrs.hasOwnProperty(k)) { e.setAttribute(k, attrs[k]); } } if (parent) { parent.appendChild(e); } return e; } function R(x1, y1, x2, y2) { return 'M' + x1 + ' ' + y1 + 'H' + x2 + 'V' + y2 + 'H' + x1 + 'Z'; } function P(a) { var s = ''; for (var i = 0; i < a.length; i++) { s += (i ? 'L' : 'M') + (+a[i][0]).toFixed(2) + ' ' + (+a[i][1]).toFixed(2); } return s + 'Z'; } var parts = {}; function reg(id, node) { if (!parts[id]) { parts[id] = []; } parts[id].push(node); node.setAttribute('data-part', id); node.style.cursor = 'pointer'; return node; } function steel(parent, d, id) { var g = el('g', {}, parent); el('path', {d:d, fill:C.steel, stroke:C.line, 'stroke-width':1.5, 'fill-rule':'evenodd', 'stroke-linejoin':'round'}, g); el('path', {d:d, fill:'url(#' + HID + ')', stroke:'none', 'fill-rule':'evenodd', 'pointer-events':'none'}, g); reg(id, g); return g; } function cool(parent, x, y) { var c = el('circle', {cx:x, cy:y, r:8, fill:C.cool}, parent); reg(19, c); cools.push(c); return c; } \/* geometry helpers *\/ var TA = Math.tan(20 * Math.PI \/ 180); \/* angle pin *\/ var TL = Math.tan(12 * Math.PI \/ 180); \/* lifter *\/ var HW = 11 \/ Math.cos(12 * Math.PI \/ 180); \/* lifter rod half width (horizontal) *\/ function lcx(y) { return 515 + (y - 420) * TL; } function lL(y) { return lcx(y) - HW; } function lR(y) { return lcx(y) + HW; } var Y0 = 420 + (530 - 515 - HW) \/ TL; \/* where rod right edge meets x=530 *\/ function apx(y) { return 215 + (390 - y) * TA; } \/* angle pin centerline *\/ var APW = 6 \/ Math.cos(20 * Math.PI \/ 180); \/* angle pin half width (horizontal) *\/ var SLW = 7.5 \/ Math.cos(20 * Math.PI \/ 180); \/* slot half width in slide *\/ \/* defs *\/ var defs = el('defs', {}, svg); var pat = el('pattern', {id:HID, width:7, height:7, patternUnits:'userSpaceOnUse', patternTransform:'rotate(45)'}, defs); el('line', {x1:0, y1:0, x2:0, y2:7, stroke:C.line, 'stroke-width':0.8, 'stroke-opacity':0.28}, pat); var clip = el('clipPath', {id:CID, clipPathUnits:'userSpaceOnUse'}, defs); var clipRect = el('rect', {x:240, y:250, width:320, height:0}, clip); var cools = []; \/* ---------- fixed half ---------- *\/ var gFix = el('g', {}, svg); steel(gFix, R(120, 510, 190, 680) + R(610, 510, 680, 680), 12); steel(gFix, R(120, 680, 680, 720) + R(380, 680, 420, 720), 16); steel(gFix, P([[120,420],[180,420],[180,445],[215,445],[215,420],[270,420],[270,350],[490,350],[490,410],[lL(430),430],[lL(510),510],[120,510]]), 11); var bR = steel(gFix, P([[530,420],[680,420],[680,510],[lR(510),510],[lR(Y0),Y0]]), 11); cool(gFix, 300, 470); cool(gFix, 390, 470); cool(gFix, 600, 470); \/* ---------- ejector group ---------- *\/ var gEj = el('g', {}, svg); steel(gEj, P([[200,590],[505,590],[505,605],[590,605],[590,590],[600,590],[600,610],[200,610]]), 13); steel(gEj, R(200, 610, 600, 635), 14); steel(gEj, R(325, 350, 335, 600) + 'M318 600H342V610H318Z', 15); steel(gEj, R(445, 350, 455, 600) + 'M438 600H462V610H438Z', 15); steel(gEj, R(385, 635, 415, 775), 17); \/* ---------- lifter group ---------- *\/ var gLift = el('g', {}, svg); steel(gLift, P([[490,350],[530,350],[530,385],[522,385],[522,400],[530,400],[530,Y0],[lR(590),590],[lL(590),590],[lL(430),430],[490,410]]), 9); steel(gLift, R(528, 590, 576, 605), 10); \/* ---------- slide group ---------- *\/ var gSlide = el('g', {}, svg); var slot = [[apx(360) - SLW,360],[apx(360) + SLW,360],[apx(420) + SLW,420],[apx(420) - SLW,420]]; steel(gSlide, P([[176,360],[260,360],[260,375],[270,375],[270,395],[260,395],[260,420],[152,420]]) + P(slot), 6); \/* ---------- cavity half ---------- *\/ var gCav = el('g', {}, svg); steel(gCav, R(100, 262, 700, 300), 3); steel(gCav, P([[120,300],[680,300],[680,420],[540,420],[540,340],[260,340],[260,360],[176,360],[188,330],[120,330]]), 4); steel(gCav, P([[120,330],[188,330],[152,420],[120,420]]), 8); steel(gCav, R(340, 248, 460, 262) + R(386, 248, 414, 262), 1); steel(gCav, R(386, 250, 414, 340) + P([[396,250],[404,250],[408,340],[392,340]]), 2); steel(gCav, P([[apx(300) - APW,300],[apx(300) + APW,300],[apx(440) + APW,440],[apx(440) - APW,440]]), 7); steel(gCav, R(652, 300, 668, 480), 18); cool(gCav, 320, 322); cool(gCav, 480, 322); cool(gCav, 600, 390); \/* parting line (B plate face) *\/ el('line', {x1:90, y1:420, x2:710, y2:420, stroke:C.pl, 'stroke-width':1.6, 'stroke-dasharray':'8 5', 'pointer-events':'none'}, svg); var tPL = el('text', {x:716, y:424, fill:C.pl, 'font-size':11, 'font-weight':700, 'font-family':'system-ui,Arial,sans-serif', 'pointer-events':'none'}, svg); tPL.textContent = 'PL'; \/* centerline *\/ el('line', {x1:400, y1:236, x2:400, y2:785, stroke:'#8a97a8', 'stroke-width':0.8, 'stroke-dasharray':'14 4 2 4', 'pointer-events':'none'}, svg); \/* ---------- molded part (drawn on top) ---------- *\/ var gPart = el('g', {}, svg); var PARTD = P([[260,340],[540,340],[540,420],[530,420],[530,400],[522,400],[522,385],[530,385],[530,350],[270,350],[270,375],[260,375]]) + R(260, 395, 270, 420) + P([[396,250],[404,250],[408,340],[392,340]]); var partP = el('path', {d:PARTD, fill:C.melt, stroke:C.meltLine, 'stroke-width':1, 'clip-path':'url(#' + CID + ')'}, gPart); reg(5, partP); var ucSlide = el('rect', {x:260, y:375, width:10, height:20, fill:'none', stroke:C.pl, 'stroke-width':2, 'pointer-events':'none'}, gPart); var ucLift = el('rect', {x:522, y:385, width:8, height:15, fill:'none', stroke:C.pl, 'stroke-width':2, 'pointer-events':'none'}, gPart); \/* ---------- badges ---------- *\/ var gBad = el('g', {}, svg); var BAD = [ {n:1, x:485, y:254, b:'cav', lx:460, ly:254}, {n:2, x:362, y:285, b:'cav', lx:386, ly:285}, {n:3, x:560, y:281, b:'cav'}, {n:4, x:575, y:360, b:'cav'}, {n:5, x:430, y:322, b:'part', lx:430, ly:345}, {n:6, x:240, y:402, b:'slide'}, {n:7, x:282, y:312, b:'cav', lx:apx(312) + APW, ly:312}, {n:8, x:138, y:398, b:'cav'}, {n:9, x:503, y:368, b:'lift'}, {n:10, x:552, y:597, b:'lift'}, {n:11, x:640, y:495, b:'fix'}, {n:12, x:155, y:600, b:'fix'}, {n:13, x:250, y:599, b:'ej'}, {n:14, x:250, y:623, b:'ej'}, {n:15, x:365, y:555, b:'ej', lx:335, ly:555}, {n:16, x:560, y:700, b:'fix'}, {n:17, x:450, y:752, b:'ej', lx:415, ly:752}, {n:18, x:708, y:380, b:'cav', lx:668, ly:380}, {n:19, x:342, y:320, b:'cav'} ]; var badgeNodes = {}; for (var bi = 0; bi < BAD.length; bi++) { var B = BAD[bi]; var g = el('g', {}, gBad); if (B.lx !== undefined) { el('line', {x1:B.x, y1:B.y, x2:B.lx, y2:B.ly, stroke:C.navy, 'stroke-width':1}, g); } el('circle', {cx:B.x, cy:B.y, r:10.5, fill:C.navy}, g); var tx = el('text', {x:B.x, y:B.y + 4, fill:'#fff', 'font-size':11, 'font-weight':700, 'text-anchor':'middle', 'font-family':'system-ui,Arial,sans-serif'}, g); tx.textContent = String(B.n); g.setAttribute('data-badge', B.n); g.style.cursor = 'pointer'; B.g = g; badgeNodes[B.n] = g; } \/* ---------- UI ---------- *\/ var playBtn = root.querySelector('.twls-play'); var range = root.querySelector('.twls-range'); var chipsBox = root.querySelector('.twls-chips'); var statusBox = root.querySelector('.twls-status'); var sOut = root.querySelector('.twls-s'); var sSt = root.querySelector('.twls-s-st'); var lOut = root.querySelector('.twls-l'); var lSt = root.querySelector('.twls-l-st'); var chips = []; var t = 0, playing = false, last = 0, DUR = 16000, curPhase = -1, active = null, pinned = null; for (var pi = 0; pi < PH.length; pi++) { (function(i){ var b = document.createElement('button'); b.type = 'button'; b.className = 'twls-chip'; b.textContent = (i + 1) + '. ' + PH[i].n; b.addEventListener('click', function(){ setPlay(false); t = PH[i].a + 0.001; render(); }); chipsBox.appendChild(b); chips.push(b); })(pi); } function clamp(v, a, b) { return v < a ? a : (v > b ? b : v); } function seg(x, a, b) { return clamp((x - a) \/ (b - a), 0, 1); } function ease(x) { return x * x * (3 - 2 * x); } function setSt(node, visible, cleared) { if (!visible) { node.textContent = '-'; node.style.color = '#374151'; return; } node.textContent = cleared ? 'CLEARED' : 'ENGAGED'; node.style.color = cleared ? C.ok : C.pl; } function render() { var O = 240 * (ease(seg(t, 0.22, 0.40)) - ease(seg(t, 0.84, 1))); var s = TA * Math.min(O, 80); var E = 76 * (ease(seg(t, 0.40, 0.58)) - ease(seg(t, 0.70, 0.80))); var L = TL * E; var fill = t < 0.68 ? ease(seg(t, 0, 0.12)) : 0; var ex = 0; var alpha = t < 0.68 ? 1 - seg(t, 0.62, 0.68) : 0; gCav.setAttribute('transform', 'translate(0,' + (-O).toFixed(2) + ')'); gSlide.setAttribute('transform', 'translate(' + (-s).toFixed(2) + ',0)'); gEj.setAttribute('transform', 'translate(0,' + (-E).toFixed(2) + ')'); gLift.setAttribute('transform', 'translate(' + (-L).toFixed(2) + ',' + (-E).toFixed(2) + ')'); gPart.setAttribute('transform', 'translate(0,' + (-(E + ex)).toFixed(2) + ')'); gPart.setAttribute('opacity', alpha.toFixed(3)); clipRect.setAttribute('height', (fill * 172).toFixed(2)); var vis = fill > 0.98 && alpha > 0.05; var sClr = s >= 12, lClr = L >= 9; ucSlide.style.display = vis ? '' : 'none'; ucLift.style.display = vis ? '' : 'none'; ucSlide.setAttribute('stroke', sClr ? C.ok : C.pl); ucLift.setAttribute('stroke', lClr ? C.ok : C.pl); var cop = 1; if (t >= 0.12 && t < 0.22) { cop = 0.55 + 0.45 * Math.abs(Math.sin((t - 0.12) * 60)); } for (var k = 0; k < cools.length; k++) { cools[k].setAttribute('fill-opacity', cop.toFixed(2)); } for (var bj = 0; bj < BAD.length; bj++) { var Bd = BAD[bj], dx = 0, dy = 0; if (Bd.b === 'cav') { dy = -O; } else if (Bd.b === 'slide') { dx = -s; } else if (Bd.b === 'ej') { dy = -E; } else if (Bd.b === 'lift') { dx = -L; dy = -E; } else if (Bd.b === 'part') { dy = -(E + ex); } Bd.g.setAttribute('transform', 'translate(' + dx.toFixed(2) + ',' + dy.toFixed(2) + ')'); if (Bd.n === 5) { Bd.g.style.display = (alpha > 0.05 && fill > 0.5) ? '' : 'none'; } } var ph = 0; for (var p = 0; p < PH.length; p++) { if (t >= PH[p].a) { ph = p; } } if (ph !== curPhase) { curPhase = ph; for (var q = 0; q < chips.length; q++) { chips[q].className = 'twls-chip' + (q === ph ? ' on' : ''); } statusBox.innerHTML = '<b>' + (ph + 1) + '. ' + PH[ph].n + '<\/b> &mdash; ' + PH[ph].d; } sOut.textContent = (s * MM).toFixed(1) + ' mm'; lOut.textContent = (L * MM).toFixed(1) + ' mm'; setSt(sSt, vis, sClr); setSt(lSt, vis, lClr); range.value = Math.round(t * 1000); if (active !== null) { placeTip(active); } } function loop(ts) { if (!playing) { return; } if (!last) { last = ts; } var dt = Math.min(ts - last, 60); last = ts; t += dt \/ DUR; if (t >= 1) { t -= 1; } render(); requestAnimationFrame(loop); } function setPlay(v) { playing = v; playBtn.textContent = v ? 'Pause' : 'Play'; if (v) { last = 0; requestAnimationFrame(loop); } } playBtn.addEventListener('click', function(){ setPlay(!playing); }); range.addEventListener('input', function(){ setPlay(false); t = range.value \/ 1000; render(); }); \/* ---------- tooltip ---------- *\/ function unionRect(nodes) { var L = 1e9, T = 1e9, Rr = -1e9, Bb = -1e9; for (var i = 0; i < nodes.length; i++) { var b = nodes[i].getBoundingClientRect(); if (b.width === 0 && b.height === 0) { continue; } L = Math.min(L, b.left); T = Math.min(T, b.top); Rr = Math.max(Rr, b.right); Bb = Math.max(Bb, b.bottom); } return {left:L, top:T, right:Rr, bottom:Bb}; } function placeTip(id) { var sr = stage.getBoundingClientRect(); var pr = unionRect(parts[id] || []); var br = badgeNodes[id].querySelector('circle').getBoundingClientRect(); var bx = (br.left + br.right) \/ 2 - sr.left, by = (br.top + br.bottom) \/ 2 - sr.top; var Pq = {l:pr.left - sr.left, t:pr.top - sr.top, r:pr.right - sr.left, b:pr.bottom - sr.top}; var W = sr.width, H = sr.height, w = tip.offsetWidth, h = tip.offsetHeight, m = 6, gp = 12; var x = 0, y = 0, ok = false; var cand = [ function(){ x = Pq.r + gp; y = by - h \/ 2; return x + w <= W - m; }, function(){ x = Pq.l - gp - w; y = by - h \/ 2; return x >= m; }, function(){ y = Pq.b + gp; x = bx - w \/ 2; return y + h <= H - m; }, function(){ y = Pq.t - gp - h; x = bx - w \/ 2; return y >= m; } ]; for (var i = 0; i < cand.length; i++) { if (cand[i]()) { ok = true; break; } } if (!ok) { x = br.right - sr.left + gp; y = by + gp; } x = clamp(x, m, Math.max(m, W - w - m)); y = clamp(y, m, Math.max(m, H - h - m)); tip.style.left = x + 'px'; tip.style.top = y + 'px'; } function dimAll(id) { for (var k in parts) { if (!parts.hasOwnProperty(k)) { continue; } for (var i = 0; i < parts[k].length; i++) { parts[k][i].setAttribute('opacity', (id === null || String(k) === String(id)) ? 1 : 0.22); } } for (var n in badgeNodes) { if (badgeNodes.hasOwnProperty(n)) { badgeNodes[n].setAttribute('opacity', (id === null || String(n) === String(id)) ? 1 : 0.3); } } } function show(id) { active = id; tip.innerHTML = '<b><span class=\"n\">' + id + '<\/span>' + INFO[id][0] + '<\/b>' + INFO[id][1]; tip.style.display = 'block'; dimAll(id); placeTip(id); } function hide() { active = null; tip.style.display = 'none'; dimAll(null); } function idOf(target) { var n = target; while (n && n !== svg) { if (n.getAttribute) { var a = n.getAttribute('data-part') || n.getAttribute('data-badge'); if (a) { return parseInt(a, 10); } } n = n.parentNode; } return null; } svg.addEventListener('mousemove', function(e){ if (pinned !== null) { return; } var id = idOf(e.target); if (id === null) { if (active !== null) { hide(); } return; } if (id !== active) { show(id); } }); svg.addEventListener('mouseleave', function(){ if (pinned === null) { hide(); } }); svg.addEventListener('click', function(e){ var id = idOf(e.target); if (id === null || pinned === id) { pinned = null; hide(); return; } pinned = id; show(id); }); document.addEventListener('click', function(e){ if (pinned !== null && !svg.contains(e.target)) { pinned = null; hide(); } }); window.addEventListener('resize', function(){ if (active !== null) { placeTip(active); } }); \/* ---------- embed copy ---------- *\/ var copyBtn = root.querySelector('.twls-copy'); if (copyBtn) { copyBtn.addEventListener('click', function(){ var ta = root.querySelector('.twls-embed textarea'); function done(){ copyBtn.textContent = 'Copied!'; setTimeout(function(){ copyBtn.textContent = 'Copy embed code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function(){ ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); try { document.execCommand('copy'); done(); } catch (err) { copyBtn.textContent = 'Press Ctrl+C'; } } }); } render(); var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (!reduce) { if ('IntersectionObserver' in window) { var started = false; var io = new IntersectionObserver(function(en){ if (en[0].isIntersecting && !started) { started = true; setPlay(true); io.disconnect(); } }, {threshold:0.3}); io.observe(stage); } else { setPlay(true); } } })(); <\/script><\/div><div id=\"twcc87651\" class=\"twcc-wrap\"><style> #twcc87651{font-family:system-ui,-apple-system,\"Segoe UI\",Roboto,Arial,sans-serif;color:#1f2937;max-width:860px;margin:24px auto;border:1px solid #d7dee8;border-radius:10px;background:#fff;padding:16px;box-sizing:border-box;line-height:1.45} #twcc87651 *{box-sizing:border-box} #twcc87651 .twcc-title{font-size:20px;font-weight:700;color:#1e3a5f;margin:0 0 4px} #twcc87651 .twcc-sub{font-size:14px;color:#4b5563;margin:0 0 12px} #twcc87651 .twcc-stage{position:relative;width:100%;max-width:820px;margin:0 auto} #twcc87651 .twcc-svg{display:block;width:100%;height:auto;background:#fff;touch-action:manipulation} #twcc87651 .twcc-tip{position:absolute;left:0;top:0;width:240px;max-width:calc(100% - 12px);background:#fff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:8px;padding:9px 11px;font-size:13px;box-shadow:0 4px 14px rgba(15,35,60,.14);pointer-events:none;z-index:5} #twcc87651 .twcc-tip b{display:block;color:#1e3a5f;font-size:14px;margin-bottom:3px} #twcc87651 .twcc-tip .n{display:inline-block;min-width:20px;height:20px;line-height:20px;border-radius:10px;background:#1e3a5f;color:#fff;text-align:center;font-size:11px;margin-right:6px;padding:0 4px} #twcc87651 .twcc-ctrl{display:flex;align-items:center;gap:10px;margin:10px 0 8px} #twcc87651 .twcc-btn{border:1px solid #1e3a5f;background:#1e3a5f;color:#fff;border-radius:6px;padding:7px 14px;font-size:14px;font-weight:600;cursor:pointer;min-width:84px} #twcc87651 .twcc-range{flex:1;accent-color:#1e3a5f} #twcc87651 .twcc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px} #twcc87651 .twcc-chip{border:1px solid #c9d3df;background:#f4f7fb;color:#1e3a5f;border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer} #twcc87651 .twcc-chip.on{background:#1e3a5f;color:#fff;border-color:#1e3a5f} #twcc87651 .twcc-status{border:1px solid #e2e8f0;background:#f8fafc;border-radius:8px;padding:10px 12px;font-size:14px;min-height:64px} #twcc87651 .twcc-status b{color:#1e3a5f} #twcc87651 .twcc-read{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;margin:8px 0 4px;color:#374151} #twcc87651 .twcc-read span b{font-variant-numeric:tabular-nums} #twcc87651 .twcc-key{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:#4b5563;margin-top:8px} #twcc87651 .twcc-key i{display:inline-block;width:14px;height:10px;margin-right:5px;vertical-align:-1px;border:1px solid #5b6b7f} #twcc87651 .twcc-hint{font-size:12px;color:#6b7280;margin-top:6px} #twcc87651 details.twcc-embed{margin-top:12px;border-top:1px solid #e5e7eb;padding-top:10px;font-size:13px} #twcc87651 details.twcc-embed summary{cursor:pointer;color:#1e3a5f;font-weight:600} #twcc87651 .twcc-embed textarea{width:100%;height:110px;font:12px\/1.4 ui-monospace,Consolas,monospace;margin-top:8px;border:1px solid #c9d3df;border-radius:6px;padding:8px;resize:vertical} #twcc87651 .twcc-copy{margin-top:6px;border:1px solid #1e3a5f;background:#fff;color:#1e3a5f;border-radius:6px;padding:5px 12px;font-size:13px;cursor:pointer} @media (max-width:560px){#twcc87651{padding:10px} #twcc87651 .twcc-title{font-size:17px} #twcc87651 .twcc-tip{width:200px;font-size:12px} } <\/style><div class=\"twcc-title\">Collapsible Core Mold: How a Threaded Cap Releases Without Unscrewing<\/div><div class=\"twcc-sub\">2D section, mold shown closed at start. Play the cycle or drag the slider. Hover or tap any part or number for its function.<\/div><div class=\"twcc-stage\"><svg class=\"twcc-svg\" viewBox=\"0 0 800 800\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Collapsible core injection mold cross-section animation\"><\/svg><div class=\"twcc-tip\" style=\"display:none\"><\/div><\/div><div class=\"twcc-ctrl\"><button type=\"button\" class=\"twcc-btn twcc-play\">Play<\/button><input type=\"range\" class=\"twcc-range\" min=\"0\" max=\"1000\" value=\"0\" aria-label=\"Cycle position\"><\/div><div class=\"twcc-chips\"><\/div><div class=\"twcc-status\"><\/div><div class=\"twcc-read\"><span>Radial collapse: <b class=\"twcc-col\">0.00<\/b> mm<\/span><span>Thread depth: <b>1.00<\/b> mm<\/span><span>Undercut: <b class=\"twcc-uc\">-<\/b><\/span><\/div><div class=\"twcc-key\"><span><i style=\"background:#e6ecf3\"><\/i>Steel<\/span><span><i style=\"background:#f2a33c\"><\/i>Plastic \/ melt<\/span><span><i style=\"background:#2f7de1\"><\/i>Cooling<\/span><span><i style=\"background:#f59e0b\"><\/i>Heater<\/span><span><i style=\"background:#fff;border:0;border-top:2px dashed #d63c3c;height:2px;vertical-align:3px\"><\/i>Parting line<\/span><\/div><div class=\"twcc-hint\">Schematic proportions. Collapse and thread depth shown at an illustrative scale.<\/div><details class=\"twcc-embed\"><summary>Embed this animation on your site<\/summary><textarea readonly>&lt;iframe id=&quot;twcc-embed-frame&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_cc_embed=1&quot; style=&quot;width:100%;max-width:860px;height:1080px;border:0;&quot; loading=&quot;lazy&quot; title=&quot;Collapsible core injection mold animation&quot;&gt;&lt;\/iframe&gt;\n&lt;p style=&quot;font-size:13px;&quot;&gt;Animation: &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html&quot;&gt;Collapsible core injection mold - how it works&lt;\/a&gt; by Topworks Plastic Mold&lt;\/p&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twccH){var f=document.getElementById(&quot;twcc-embed-frame&quot;);if(f){f.style.height=e.data.twccH+&quot;px&quot;;}}});&lt;\/script&gt;<\/textarea><button type=\"button\" class=\"twcc-copy\">Copy embed code<\/button><\/details><script> (function(){ var root = document.getElementById('twcc87651'); if (!root) { return; } var NS = 'http:\/\/www.w3.org\/2000\/svg'; var svg = root.querySelector('.twcc-svg'); var stage = root.querySelector('.twcc-stage'); var tip = root.querySelector('.twcc-tip'); var HID = 'twcc87651-hatch'; var CID = 'twcc87651-clip'; var C = {steel:'#e6ecf3', line:'#5b6b7f', melt:'#f2a33c', meltLine:'#c07a1c', cool:'#2f7de1', pl:'#d63c3c', heat:'#f59e0b', navy:'#1e3a5f', ok:'#16a34a'}; var INFO = { 1:['Locating ring','Centers the mold on the fixed platen so the machine nozzle lines up with the sprue.'], 2:['Hot sprue bushing','Heated bushing that carries melt from the nozzle straight to the gate. It stays molten, so no sprue is ejected with the cap.'], 3:['Top clamp plate','Bolts the cavity half to the fixed platen of the press.'], 4:['Cavity plate (A)','Forms the outside of the cap. Separates from the stripper plate at the main parting line.'], 5:['Molded cap','Part with a full internal thread: a 360 degree undercut that cannot be pulled straight off a solid core.'], 6:['Collapsible core segments','Spring-steel segments whose heads form the thread. Once the center pin no longer supports them, they flex inward and clear the undercut.'], 7:['Center pin','Fixed, tapered pin that wedges the segments out to full size during injection. It never moves.'], 8:['Stripper ring','Hardened ring that pushes on the cap rim to slide it off the collapsed core.'], 9:['Stripper plate','Carries the stripper ring. Travels with the core in stage 1, then advances alone in stage 2.'], 10:['Core plate (B)','Fixed plate that guides the segment fingers and backs up the stripper plate.'], 11:['Spacer block','Opens the space needed for the core retainer plate stroke.'], 12:['Core retainer plate','Holds the segment flanges. Its forward stroke pulls the segments off the center pin: the collapse stroke.'], 13:['Bottom clamp plate','Bolts to the moving platen and anchors the center pin.'], 14:['Stripper rods','Drive the stripper plate. Their second-stage stroke strips the cap off the core.'], 15:['Actuator rods','Push the core retainer plate for the collapse stroke (machine ejector or hydraulic cylinder).'], 16:['Leader pin','Aligns the cavity half and core half as the mold closes.'], 17:['Cavity cooling channels','Water lines in the cavity plate that pull heat from the outside of the cap.'], 18:['Center-pin bubbler','Cools the core from inside. The segments lose heat mainly by contact with the center pin.'] }; var PH = [ {a:0, b:0.14, n:'Inject', d:'Melt flows from the hot sprue into the cavity and forms the internal thread against the expanded core segments.'}, {a:0.14, b:0.26, n:'Cool', d:'Cavity channels and the center-pin bubbler pull heat out. The segments shed heat mainly through contact with the center pin.'}, {a:0.26, b:0.42, n:'Open', d:'The cavity half retracts at the parting line. The cap stays on the core because its thread is still locked into the segments.'}, {a:0.42, b:0.62, n:'Collapse', d:'Stage 1: the core retainer plate drives the segments (and the stripper) forward off the fixed tapered center pin. Unsupported, the spring-steel segments flex inward and pull out of the thread.'}, {a:0.62, b:0.84, n:'Strip', d:'Stage 2: the stripper rods advance the stripper ring alone and slide the cap off the collapsed core. No unscrewing, no rotation.'}, {a:0.84, b:1, n:'Reset', d:'Stripper, then core retainer, return. The center pin re-enters the segments and wedges them back to full molding size before the mold closes.'} ]; function el(tag, attrs, parent) { var e = document.createElementNS(NS, tag); for (var k in attrs) { if (attrs.hasOwnProperty(k)) { e.setAttribute(k, attrs[k]); } } if (parent) { parent.appendChild(e); } return e; } function R(x1, y1, x2, y2) { return 'M' + x1 + ' ' + y1 + 'H' + x2 + 'V' + y2 + 'H' + x1 + 'Z'; } function MR(x1, y1, x2, y2) { return R(800 - x2, y1, 800 - x1, y2); } var parts = {}; function reg(id, node) { if (!parts[id]) { parts[id] = []; } parts[id].push(node); node.setAttribute('data-part', id); node.style.cursor = 'pointer'; return node; } function steel(parent, d, id) { var g = el('g', {}, parent); var a = el('path', {d:d, fill:C.steel, stroke:C.line, 'stroke-width':1.5, 'fill-rule':'evenodd', 'stroke-linejoin':'round'}, g); var b = el('path', {d:d, fill:'url(#' + HID + ')', stroke:'none', 'fill-rule':'evenodd', 'pointer-events':'none'}, g); reg(id, g); return [a, b]; } function flat(parent, d, fill, id, extra) { var p = el('path', {d:d, fill:fill, stroke:'none'}, parent); if (extra) { for (var k in extra) { if (extra.hasOwnProperty(k)) { p.setAttribute(k, extra[k]); } } } if (id) { reg(id, p); } return p; } \/* defs *\/ var defs = el('defs', {}, svg); var pat = el('pattern', {id:HID, width:7, height:7, patternUnits:'userSpaceOnUse', patternTransform:'rotate(45)'}, defs); el('line', {x1:0, y1:0, x2:0, y2:7, stroke:C.line, 'stroke-width':0.8, 'stroke-opacity':0.28}, pat); var clip = el('clipPath', {id:CID, clipPathUnits:'userSpaceOnUse'}, defs); var clipRect = el('rect', {x:280, y:368, width:240, height:0}, clip); \/* fixed half *\/ var gFix = el('g', {}, svg); steel(gFix, R(150, 560, 220, 700) + R(580, 560, 650, 700), 11); steel(gFix, R(150, 502, 650, 560) + R(326, 502, 474, 560), 10); steel(gFix, R(150, 700, 650, 740), 13); var cB1 = el('circle', {cx:290, cy:531, r:8, fill:C.cool}, gFix); reg(17, cB1); var cB2 = el('circle', {cx:510, cy:531, r:8, fill:C.cool}, gFix); reg(17, cB2); \/* core retainer group *\/ var gRet = el('g', {}, svg); steel(gRet, R(230, 668, 570, 700) + R(366, 668, 434, 700), 12); steel(gRet, R(272, 700, 288, 780) + R(512, 700, 528, 780), 15); \/* collapsible segments *\/ var gSeg = el('g', {}, svg); var SEGL = [[314,384],[382,384],[370,476],[360,476],[360,668],[360,700],[296,700],[296,668],[330,668],[330,476],[314,476],[314,450],[321,450],[321,440],[314,440],[314,430],[321,430],[321,420],[314,420],[314,410],[321,410],[321,400],[314,400]]; function dxAt(y, c) { if (y <= 476) { return c; } if (y >= 668) { return 0; } return c * (668 - y) \/ 192; } function segD(right, r, c) { var s = ''; for (var i = 0; i < SEGL.length; i++) { var x = SEGL[i][0] + dxAt(SEGL[i][1], c); if (right) { x = 800 - x; } s += (i ? 'L' : 'M') + x.toFixed(2) + ' ' + (SEGL[i][1] - r).toFixed(2); } return s + 'Z'; } var segL = steel(gSeg, segD(false, 0, 0), 6); var segR = steel(gSeg, segD(true, 0, 0), 6); \/* center pin + bubbler (fixed) *\/ var gPin = el('g', {}, svg); steel(gPin, 'M382 384L418 384L430 476L430 720L455 720L455 740L345 740L345 720L370 720L370 476Z', 7); flat(gPin, R(396, 402, 404, 736), C.cool, 18); \/* stripper group *\/ var gStrip = el('g', {}, svg); steel(gStrip, R(150, 460, 650, 502) + R(280, 460, 520, 502), 9); steel(gStrip, R(280, 460, 520, 502) + R(314, 460, 486, 502), 8); steel(gStrip, R(236, 502, 250, 780) + R(550, 502, 564, 780), 14); el('line', {x1:110, y1:460, x2:690, y2:460, stroke:C.pl, 'stroke-width':1.6, 'stroke-dasharray':'8 5', 'pointer-events':'none'}, gStrip); var tPL = el('text', {x:696, y:464, fill:C.pl, 'font-size':11, 'font-weight':700, 'font-family':'system-ui,Arial,sans-serif', 'pointer-events':'none'}, gStrip); tPL.textContent = 'PL'; \/* secondary split line (fixed at B plate face) *\/ el('line', {x1:110, y1:502, x2:690, y2:502, stroke:C.pl, 'stroke-width':1.2, 'stroke-dasharray':'4 5', 'stroke-opacity':0.8, 'pointer-events':'none'}, svg); var tPL2 = el('text', {x:696, y:506, fill:C.pl, 'font-size':10, 'font-family':'system-ui,Arial,sans-serif', 'pointer-events':'none'}, svg); tPL2.textContent = 'PL2'; \/* molded cap *\/ var gPart = el('g', {}, svg); var PARTD = 'M300 370L500 370L500 460L486 460L486 450L479 450L479 440L486 440L486 430L479 430L479 420L486 420L486 410L479 410L479 400L486 400L486 384L314 384L314 400L321 400L321 410L314 410L314 420L321 420L321 430L314 430L314 440L321 440L321 450L314 450L314 460L300 460Z'; var partP = el('path', {d:PARTD, fill:C.melt, stroke:C.meltLine, 'stroke-width':1, 'clip-path':'url(#' + CID + ')'}, gPart); reg(5, partP); var teeth = []; var ty = [400, 420, 440]; for (var ti = 0; ti < ty.length; ti++) { teeth.push(el('rect', {x:314, y:ty[ti], width:7, height:10, fill:'none', stroke:C.pl, 'stroke-width':1.6, 'pointer-events':'none'}, gPart)); teeth.push(el('rect', {x:479, y:ty[ti], width:7, height:10, fill:'none', stroke:C.pl, 'stroke-width':1.6, 'pointer-events':'none'}, gPart)); } \/* cavity half *\/ var gCav = el('g', {}, svg); steel(gCav, R(150, 290, 650, 332), 3); steel(gCav, R(150, 332, 650, 460) + R(300, 370, 500, 460), 4); var cools = []; var cp = [[240,380],[240,432],[560,380],[560,432]]; for (var ci = 0; ci < cp.length; ci++) { var cc = el('circle', {cx:cp[ci][0], cy:cp[ci][1], r:8, fill:C.cool}, gCav); reg(17, cc); cools.push(cc); } cools.push(cB1, cB2); steel(gCav, R(166, 332, 182, 560) + R(618, 332, 634, 560), 16); steel(gCav, R(340, 276, 460, 290), 1); steel(gCav, R(386, 280, 414, 370), 2); flat(gCav, R(380, 300, 386, 362) + R(414, 300, 420, 362), C.heat, 2); flat(gCav, R(396, 280, 404, 370), C.melt, 2); \/* centerline *\/ el('line', {x1:400, y1:262, x2:400, y2:792, stroke:'#8a97a8', 'stroke-width':0.8, 'stroke-dasharray':'14 4 2 4', 'pointer-events':'none'}, svg); \/* badges *\/ var gBad = el('g', {}, svg); var BAD = [ {n:1, x:478, y:283, b:'cav'}, {n:2, x:362, y:311, b:'cav', lx:386, ly:311}, {n:3, x:545, y:311, b:'cav'}, {n:4, x:526, y:446, b:'cav'}, {n:5, x:460, y:377, b:'part'}, {n:6, x:350, y:432, b:'seg'}, {n:7, x:442, y:730, b:'fix'}, {n:8, x:297, y:481, b:'strip'}, {n:9, x:600, y:481, b:'strip'}, {n:10, x:600, y:531, b:'fix'}, {n:11, x:185, y:630, b:'fix'}, {n:12, x:540, y:684, b:'ret'}, {n:13, x:600, y:720, b:'fix'}, {n:14, x:243, y:630, b:'strip'}, {n:15, x:310, y:766, b:'ret', lx:288, ly:766}, {n:16, x:204, y:350, b:'cav', lx:182, ly:350}, {n:17, x:266, y:380, b:'cav', lx:248, ly:380}, {n:18, x:462, y:645, b:'fix', lx:404, ly:645} ]; var badgeNodes = {}; for (var bi = 0; bi < BAD.length; bi++) { var B = BAD[bi]; var g = el('g', {}, gBad); if (B.lx !== undefined) { el('line', {x1:B.x, y1:B.y, x2:B.lx, y2:B.ly, stroke:C.navy, 'stroke-width':1}, g); } el('circle', {cx:B.x, cy:B.y, r:10.5, fill:C.navy}, g); var tx = el('text', {x:B.x, y:B.y + 4, fill:'#fff', 'font-size':11, 'font-weight':700, 'text-anchor':'middle', 'font-family':'system-ui,Arial,sans-serif'}, g); tx.textContent = String(B.n); g.setAttribute('data-badge', B.n); g.style.cursor = 'pointer'; B.g = g; badgeNodes[B.n] = g; } \/* UI *\/ var playBtn = root.querySelector('.twcc-play'); var range = root.querySelector('.twcc-range'); var chipsBox = root.querySelector('.twcc-chips'); var statusBox = root.querySelector('.twcc-status'); var colOut = root.querySelector('.twcc-col'); var ucOut = root.querySelector('.twcc-uc'); var chips = []; for (var pi = 0; pi < PH.length; pi++) { (function(i){ var b = document.createElement('button'); b.type = 'button'; b.className = 'twcc-chip'; b.textContent = (i + 1) + '. ' + PH[i].n; b.addEventListener('click', function(){ t = PH[i].a + 0.001; render(); }); chipsBox.appendChild(b); chips.push(b); })(pi); } function clamp(v, a, b) { return v < a ? a : (v > b ? b : v); } function seg(t, a, b) { return clamp((t - a) \/ (b - a), 0, 1); } function ease(x) { return x * x * (3 - 2 * x); } var t = 0, playing = false, last = 0, DUR = 15000, curPhase = -1; var st = {O:0, r:0, s:0, c:0}; function render() { var O = 260 * (ease(seg(t, 0.26, 0.42)) - ease(seg(t, 0.95, 1))); var r = 100 * (ease(seg(t, 0.42, 0.62)) - ease(seg(t, 0.89, 0.95))); var s = 50 * (ease(seg(t, 0.62, 0.78)) - ease(seg(t, 0.84, 0.89))); var c = 0.12 * r; var fill = t < 0.84 ? ease(seg(t, 0, 0.14)) : 0; var alpha = t < 0.84 ? 1 - seg(t, 0.78, 0.84) : 0; var ex = 20 * ease(seg(t, 0.78, 0.84)); st.O = O; st.r = r; st.s = s; st.c = c; gCav.setAttribute('transform', 'translate(0,' + (-O).toFixed(2) + ')'); gRet.setAttribute('transform', 'translate(0,' + (-r).toFixed(2) + ')'); gStrip.setAttribute('transform', 'translate(0,' + (-(r + s)).toFixed(2) + ')'); gPart.setAttribute('transform', 'translate(0,' + (-(r + s + ex)).toFixed(2) + ')'); gPart.setAttribute('opacity', alpha.toFixed(3)); clipRect.setAttribute('height', (fill * 94).toFixed(2)); var dl = segD(false, r, c), dr = segD(true, r, c); segL[0].setAttribute('d', dl); segL[1].setAttribute('d', dl); segR[0].setAttribute('d', dr); segR[1].setAttribute('d', dr); var showTeeth = fill > 0.98 && alpha > 0.05; var cleared = c >= 7; for (var i = 0; i < teeth.length; i++) { teeth[i].style.display = showTeeth ? '' : 'none'; teeth[i].setAttribute('stroke', cleared ? C.ok : C.pl); } var coolOp = 1; if (t >= 0.14 && t < 0.26) { coolOp = 0.55 + 0.45 * Math.abs(Math.sin((t - 0.14) * 60)); } for (var k = 0; k < cools.length; k++) { cools[k].setAttribute('fill-opacity', coolOp.toFixed(2)); } for (var bj = 0; bj < BAD.length; bj++) { var Bd = BAD[bj], dx = 0, dy = 0; if (Bd.b === 'cav') { dy = -O; } else if (Bd.b === 'ret') { dy = -r; } else if (Bd.b === 'strip') { dy = -(r + s); } else if (Bd.b === 'part') { dy = -(r + s + ex); } else if (Bd.b === 'seg') { dy = -r; dx = c; } Bd.g.setAttribute('transform', 'translate(' + dx.toFixed(2) + ',' + dy.toFixed(2) + ')'); if (Bd.n === 5) { Bd.g.style.display = alpha > 0.05 && fill > 0.5 ? '' : 'none'; } } var ph = 0; for (var p = 0; p < PH.length; p++) { if (t >= PH[p].a) { ph = p; } } if (ph !== curPhase) { curPhase = ph; for (var q = 0; q < chips.length; q++) { chips[q].className = 'twcc-chip' + (q === ph ? ' on' : ''); } statusBox.innerHTML = '<b>' + (ph + 1) + '. ' + PH[ph].n + '<\/b> &mdash; ' + PH[ph].d; } colOut.textContent = (c \/ 7).toFixed(2); if (alpha < 0.05 || fill < 0.98) { ucOut.textContent = fill < 0.98 && t < 0.2 ? 'forming' : '-'; ucOut.style.color = '#374151'; } else if (cleared) { ucOut.textContent = 'CLEARED'; ucOut.style.color = C.ok; } else { ucOut.textContent = 'ENGAGED'; ucOut.style.color = C.pl; } range.value = Math.round(t * 1000); if (active) { placeTip(active); } } function loop(ts) { if (!playing) { return; } if (!last) { last = ts; } var dt = Math.min(ts - last, 60); last = ts; t += dt \/ DUR; if (t >= 1) { t -= 1; } render(); requestAnimationFrame(loop); } function setPlay(v) { playing = v; playBtn.textContent = v ? 'Pause' : 'Play'; if (v) { last = 0; requestAnimationFrame(loop); } } playBtn.addEventListener('click', function(){ setPlay(!playing); }); range.addEventListener('input', function(){ setPlay(false); t = range.value \/ 1000; render(); }); \/* tooltip *\/ var active = null, pinned = null; function unionRect(nodes) { var L = 1e9, T = 1e9, Rr = -1e9, Bb = -1e9; for (var i = 0; i < nodes.length; i++) { var b = nodes[i].getBoundingClientRect(); if (b.width === 0 && b.height === 0) { continue; } L = Math.min(L, b.left); T = Math.min(T, b.top); Rr = Math.max(Rr, b.right); Bb = Math.max(Bb, b.bottom); } return {left:L, top:T, right:Rr, bottom:Bb}; } function placeTip(id) { var sr = stage.getBoundingClientRect(); var pr = unionRect(parts[id] || []); var br = badgeNodes[id].querySelector('circle').getBoundingClientRect(); var bx = (br.left + br.right) \/ 2 - sr.left, by = (br.top + br.bottom) \/ 2 - sr.top; var P = {l:pr.left - sr.left, t:pr.top - sr.top, r:pr.right - sr.left, b:pr.bottom - sr.top}; var W = sr.width, H = sr.height, w = tip.offsetWidth, h = tip.offsetHeight, m = 6, g = 12; var x, y, ok = false; var cand = [ function(){ x = P.r + g; y = by - h \/ 2; return x + w <= W - m; }, function(){ x = P.l - g - w; y = by - h \/ 2; return x >= m; }, function(){ y = P.b + g; x = bx - w \/ 2; return y + h <= H - m; }, function(){ y = P.t - g - h; x = bx - w \/ 2; return y >= m; } ]; for (var i = 0; i < cand.length; i++) { if (cand[i]()) { ok = true; break; } } if (!ok) { x = br.right - sr.left + g; y = by + g; } x = clamp(x, m, Math.max(m, W - w - m)); y = clamp(y, m, Math.max(m, H - h - m)); tip.style.left = x + 'px'; tip.style.top = y + 'px'; } function dimAll(id) { for (var k in parts) { if (!parts.hasOwnProperty(k)) { continue; } for (var i = 0; i < parts[k].length; i++) { parts[k][i].setAttribute('opacity', (id === null || String(k) === String(id)) ? 1 : 0.22); } } for (var n in badgeNodes) { if (badgeNodes.hasOwnProperty(n)) { badgeNodes[n].setAttribute('opacity', (id === null || String(n) === String(id)) ? 1 : 0.3); } } } function show(id) { active = id; tip.innerHTML = '<b><span class=\"n\">' + id + '<\/span>' + INFO[id][0] + '<\/b>' + INFO[id][1]; tip.style.display = 'block'; dimAll(id); placeTip(id); } function hide() { active = null; tip.style.display = 'none'; dimAll(null); } function idOf(target) { var n = target; while (n && n !== svg) { if (n.getAttribute) { var a = n.getAttribute('data-part') || n.getAttribute('data-badge'); if (a) { return parseInt(a, 10); } } n = n.parentNode; } return null; } svg.addEventListener('mousemove', function(e){ if (pinned !== null) { return; } var id = idOf(e.target); if (id === null) { if (active !== null) { hide(); } return; } if (id !== active) { show(id); } }); svg.addEventListener('mouseleave', function(){ if (pinned === null) { hide(); } }); svg.addEventListener('click', function(e){ var id = idOf(e.target); if (id === null) { pinned = null; hide(); return; } if (pinned === id) { pinned = null; hide(); return; } pinned = id; show(id); }); document.addEventListener('click', function(e){ if (pinned !== null && !svg.contains(e.target)) { pinned = null; hide(); } }); window.addEventListener('resize', function(){ if (active) { placeTip(active); } }); \/* embed copy *\/ var copyBtn = root.querySelector('.twcc-copy'); if (copyBtn) { copyBtn.addEventListener('click', function(){ var ta = root.querySelector('.twcc-embed textarea'); ta.select(); try { document.execCommand('copy'); copyBtn.textContent = 'Copied'; } catch (err) { copyBtn.textContent = 'Press Ctrl+C'; } setTimeout(function(){ copyBtn.textContent = 'Copy embed code'; }, 1600); }); } render(); var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (!reduce) { if ('IntersectionObserver' in window) { var started = false; var io = new IntersectionObserver(function(en){ if (en[0].isIntersecting && !started) { started = true; setPlay(true); io.disconnect(); } }, {threshold:0.3}); io.observe(stage); } else { setPlay(true); } } })(); <\/script><\/div><style> #twda61974{--n:#0f3d5e;--ink:#1c2733;--mut:#5a6878;--ln:#d7dee7;--bg:#ffffff;--soft:#f3f6fa;--am:#f59e0b;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);border:1px solid var(--ln);border-radius:10px;padding:18px;max-width:1100px;margin:0 auto;box-sizing:border-box;line-height:1.45} #twda61974 *{box-sizing:border-box} #twda61974 .twda-h{font-size:22px;font-weight:700;color:var(--n);margin:0 0 4px} #twda61974 .twda-sub{font-size:14px;color:var(--mut);margin:0 0 14px;max-width:70ch} #twda61974 .twda-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:start} #twda61974 .twda-draw{position:sticky;top:12px;background:#fff;border:1px solid var(--ln);border-radius:8px;padding:8px} #twda61974 svg{width:100%;height:auto;display:block} #twda61974 .twda-ctl{display:flex;flex-direction:column;gap:12px} #twda61974 label{display:block;font-size:12px;font-weight:600;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px} #twda61974 .twda-row{display:flex;align-items:center;gap:10px} #twda61974 input[type=range]{flex:1;min-width:0;accent-color:#0f3d5e} #twda61974 .twda-val{min-width:74px;text-align:right;font-weight:700;color:var(--n);font-variant-numeric:tabular-nums} #twda61974 select{width:100%;padding:8px 10px;border:1px solid var(--ln);border-radius:6px;font-size:14px;background:#fff;color:var(--ink)} #twda61974 .twda-chips{display:flex;flex-wrap:wrap;gap:6px} #twda61974 .twda-chip{flex:1 1 74px;border:1px solid var(--ln);background:var(--soft);border-radius:6px;padding:6px 4px;cursor:pointer;text-align:center;font-size:13px;color:var(--ink);font-family:inherit} #twda61974 .twda-chip b{display:block;font-size:14px} #twda61974 .twda-chip span{font-size:11px;color:var(--mut)} #twda61974 .twda-btn{border:0;background:var(--n);color:#fff;border-radius:6px;padding:9px 14px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit} #twda61974 .twda-btn.alt{background:#fff;color:var(--n);border:1px solid var(--n)} #twda61974 .twda-verdict{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid var(--ln);background:var(--soft)} #twda61974 .twda-pill{font-size:12px;font-weight:800;letter-spacing:.06em;color:#fff;border-radius:999px;padding:4px 10px} #twda61974 .twda-vt{font-size:14px;font-weight:600} #twda61974 .twda-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px} #twda61974 .twda-tile{background:var(--soft);border-radius:8px;padding:8px 10px} #twda61974 .twda-tile small{display:block;font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em} #twda61974 .twda-tile b{font-size:18px;color:var(--n);font-variant-numeric:tabular-nums} #twda61974 .twda-calc{width:100%;border-collapse:collapse;font-size:13px} #twda61974 .twda-calc td{padding:5px 6px;border-bottom:1px solid var(--ln)} #twda61974 .twda-calc td:last-child{text-align:right;font-weight:700;font-variant-numeric:tabular-nums} #twda61974 .twda-calc tr.tot td{border-bottom:0;color:var(--n);font-size:14px} #twda61974 .twda-note{font-size:13px;color:var(--mut);background:#fff8e8;border-left:3px solid var(--am);padding:8px 10px;border-radius:0 6px 6px 0} #twda61974 .twda-ref{margin-top:16px;overflow-x:auto} #twda61974 .twda-ref table{border-collapse:collapse;font-size:13px;min-width:520px;width:100%} #twda61974 .twda-ref th,#twda61974 .twda-ref td{border:1px solid var(--ln);padding:6px 8px;text-align:left} #twda61974 .twda-ref th{background:var(--soft);color:var(--n)} #twda61974 .twda-embed{margin-top:16px;border-top:1px solid var(--ln);padding-top:12px} #twda61974 .twda-eh{font-size:13px;font-weight:700;color:var(--n);margin-bottom:6px} #twda61974 .twda-embed textarea{width:100%;font-family:Consolas,Menlo,monospace;font-size:12px;padding:8px;border:1px solid var(--ln);border-radius:6px;background:var(--soft);color:var(--ink);resize:vertical;margin-bottom:8px} #twda61974 .twda-copied{margin-left:10px;font-size:13px;color:#1f9d55} #twda61974 .twda-credit{margin-top:12px;font-size:12px;color:var(--mut);text-align:right} #twda61974 .twda-credit a{color:var(--n)} #twda61974 .twda-src{font-size:12px;color:var(--mut);margin-top:10px} @media (max-width:820px){#twda61974 .twda-grid{grid-template-columns:minmax(0,1fr)}#twda61974 .twda-draw{position:static}#twda61974{padding:12px}} <\/style><div id=\"twda61974\" class=\"twda\"><h2 class=\"twda-h\">Injection Molding Draft Angle Tool<\/h2><p class=\"twda-sub\">Set the draft, depth, surface finish and feature type. The tool shows the minimum draft you need, how much the wall grows over the depth, and what happens when the core pulls out.<\/p><div class=\"twda-grid\"><div class=\"twda-draw\"><svg viewBox=\"0 0 520 410\" role=\"img\" aria-label=\"Cross-section of a drafted cup wall between core and cavity\" data-r=\"svg\"><defs><pattern id=\"twda61974h\" width=\"7\" height=\"7\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"7\" height=\"7\" fill=\"#e6ecf3\"><\/rect><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"7\" stroke=\"#b4c0cf\" stroke-width=\"1\"><\/line><\/pattern><\/defs><rect x=\"0\" y=\"0\" width=\"520\" height=\"410\" fill=\"#ffffff\"><\/rect><g data-r=\"gcav\"><path data-r=\"cav\" fill=\"url(#twda61974h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"><\/path><\/g><g data-r=\"gpl\"><path data-r=\"pl\" fill=\"#f2a33c\" stroke=\"#b9701a\" stroke-width=\"1.5\"><\/path><polyline data-r=\"cin\" fill=\"none\" stroke-width=\"4\" stroke-linecap=\"round\"><\/polyline><polyline data-r=\"cout\" fill=\"none\" stroke-width=\"4\" stroke-linecap=\"round\"><\/polyline><\/g><g data-r=\"gcore\"><path data-r=\"core\" fill=\"url(#twda61974h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"><\/path><\/g><line data-r=\"part\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"7 4\"><\/line><line data-r=\"cl\" x1=\"260\" x2=\"260\" stroke=\"#8a97a8\" stroke-width=\"1\" stroke-dasharray=\"10 3 2 3\"><\/line><line data-r=\"ref\" stroke=\"#1e3a5f\" stroke-width=\"1\" stroke-dasharray=\"3 3\"><\/line><g data-r=\"lab\"><\/g><\/svg><div class=\"twda-row\" style=\"padding:6px 6px 2px;gap:8px;flex-wrap:wrap\"><button type=\"button\" class=\"twda-btn\" data-r=\"eject\">Eject<\/button><button type=\"button\" class=\"twda-btn alt\" data-r=\"reset\">Reset<\/button><span data-r=\"status\" style=\"font-size:13px;color:var(--mut);flex:1 1 180px\"><\/span><\/div><div class=\"twda-row\" style=\"padding:4px 6px 4px\"><label style=\"margin:0;white-space:nowrap\">Drawing exaggeration<\/label><input type=\"range\" data-r=\"exag\" min=\"1\" max=\"10\" step=\"1\" value=\"5\" aria-label=\"Drawing exaggeration\"><span class=\"twda-val\" data-r=\"exagv\" style=\"min-width:40px\">x5<\/span><\/div><\/div><div class=\"twda-ctl\"><div><label for=\"twda61974a\">Draft angle per side<\/label><div class=\"twda-row\"><input id=\"twda61974a\" type=\"range\" data-r=\"angle\" min=\"0\" max=\"6\" step=\"0.1\" value=\"1.5\"><span class=\"twda-val\" data-r=\"anglev\">1.5&deg;<\/span><\/div><div class=\"twda-chips\" data-r=\"chips\" style=\"margin-top:8px\"><\/div><\/div><div><label for=\"twda61974d\">Wall depth along pull direction<\/label><div class=\"twda-row\"><input id=\"twda61974d\" type=\"range\" data-r=\"depth\" min=\"5\" max=\"200\" step=\"1\" value=\"60\"><span class=\"twda-val\" data-r=\"depthv\">60 mm<\/span><\/div><\/div><div><label for=\"twda61974s\">Surface finish<\/label><select id=\"twda61974s\" data-r=\"surf\"><\/select><\/div><div><label for=\"twda61974f\">Feature<\/label><select id=\"twda61974f\" data-r=\"feat\"><\/select><\/div><div><label for=\"twda61974m\">Material<\/label><select id=\"twda61974m\" data-r=\"mat\"><\/select><\/div><div class=\"twda-verdict\"><span class=\"twda-pill\" data-r=\"pill\">PASS<\/span><span class=\"twda-vt\" data-r=\"vt\"><\/span><\/div><div class=\"twda-tiles\"><div class=\"twda-tile\"><small>Your draft<\/small><b data-r=\"t1\">-<\/b><\/div><div class=\"twda-tile\"><small>Minimum<\/small><b data-r=\"t2\">-<\/b><\/div><div class=\"twda-tile\"><small>Recommended<\/small><b data-r=\"t3\">-<\/b><\/div><\/div><table class=\"twda-calc\" data-r=\"calc\"><\/table><div class=\"twda-note\" data-r=\"note\"><\/div><\/div><\/div><div class=\"twda-ref\"><table><thead><tr><th>Surface finish<\/th><th>Typical minimum draft<\/th><th>Where it applies<\/th><\/tr><\/thead><tbody data-r=\"reftab\"><\/tbody><\/table><p class=\"twda-src\">Values are starting points for part design. Texture depth rule of thumb: about 1&deg; extra draft for every 0.025 mm (0.001 in) of etch depth. Confirm the final number with your texture supplier and your mold maker.<\/p><\/div><div class=\"twda-embed\"><div class=\"twda-eh\">Embed this tool on your site<\/div><textarea data-r=\"embedcode\" readonly rows=\"4\">&lt;iframe src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_draft_embed=1&quot; width=&quot;100%&quot; height=&quot;900&quot; style=&quot;border:0;max-width:100%&quot; loading=&quot;lazy&quot; title=&quot;Injection Molding Draft Angle Tool&quot;&gt;&lt;\/iframe&gt;\n&lt;p style=&quot;font-size:12px&quot;&gt;Interactive tool by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" data-r=\"copy\" class=\"twda-btn\">Copy embed code<\/button><span data-r=\"copied\" class=\"twda-copied\"><\/span><\/div><\/div><script> (function(){ var root=document.getElementById('twda61974'); if(!root){return;} var NS='http:\/\/www.w3.org\/2000\/svg'; function q(r){return root.querySelector('[data-r=\"'+r+'\"]');} \/* rule tables *\/ var SURF=[ {k:'polish',l:'Polished (SPI A-1 to A-3)',min:0.5,w:'Clear lenses, high-gloss cosmetic faces'}, {k:'gloss',l:'Semi-gloss \/ fine stone (SPI B)',min:1.0,w:'General parts with a smooth look'}, {k:'matte',l:'Matte stone \/ dry blast (SPI C-D)',min:1.0,w:'Housings, enclosures, handles'}, {k:'edm',l:'EDM finish (VDI 24 to 33)',min:1.5,w:'Functional surfaces, shut-offs'}, {k:'t25',l:'Light texture, 0.025 mm deep',min:2.0,w:'Fine leather grain, light etch'}, {k:'t50',l:'Medium texture, 0.050 mm deep',min:3.0,w:'Automotive interior grain'}, {k:'t100',l:'Heavy texture, 0.100 mm deep',min:5.0,w:'Deep grain, tool grips'} ]; var FEAT=[ {k:'out',l:'Outside wall (cavity side)',adj:0,floor:0.5}, {k:'in',l:'Inside wall (core side)',adj:0.5,floor:0.5}, {k:'rib',l:'Rib or gusset side',adj:-0.5,floor:0.5} ]; var MAT=[ {k:'std',l:'ABS, PC, PS, PP, unfilled PA',adj:0}, {k:'soft',l:'Soft grades (TPE, TPU, PE)',adj:-0.5}, {k:'gf',l:'Glass-filled (PA-GF, PC-GF, PBT-GF)',adj:0.5} ]; var PRESETS=[0.5,1,1.5,2,3,5]; var el={angle:q('angle'),depth:q('depth'),surf:q('surf'),feat:q('feat'),mat:q('mat'),exag:q('exag')}; function fillSel(s,arr){var i,o;for(i=0;i<arr.length;i++){o=document.createElement('option');o.value=i;o.textContent=arr[i].l;s.appendChild(o);}} fillSel(el.surf,SURF);fillSel(el.feat,FEAT);fillSel(el.mat,MAT); el.surf.value=2; var rt=q('reftab'),i; for(i=0;i<SURF.length;i++){var tr=document.createElement('tr');tr.innerHTML='<td>'+SURF[i].l+'<\/td><td><b>'+SURF[i].min.toFixed(1)+'&deg;<\/b> per side<\/td><td>'+SURF[i].w+'<\/td>';rt.appendChild(tr);} var chipBox=q('chips'),chipEls=[]; for(i=0;i<PRESETS.length;i++){(function(v){var b=document.createElement('button');b.type='button';b.className='twda-chip';chipBox.appendChild(b);b.addEventListener('click',function(){el.angle.value=v;update(true);});chipEls.push({b:b,v:v});})(PRESETS[i]);} var prog=0,ejecting=false,raf=0,geo={}; function rad(d){return d*Math.PI\/180;} function r4(x){return Math.ceil(x*4-1e-9)\/4;} function calc(){ var s=SURF[+el.surf.value],f=FEAT[+el.feat.value],m=MAT[+el.mat.value]; var H=+el.depth.value,a=+el.angle.value; var dAdj=H>100?1.0:(H>50?0.5:0); var raw=s.min+f.adj+dAdj+m.adj; var mn=r4(Math.max(raw,f.floor)); var rec=r4(mn+0.5); var v; if(a>=mn){v='pass';}else if(a>=mn-0.5&&a>=0.5){v='warn';}else{v='fail';} return {s:s,f:f,m:m,H:H,a:a,dAdj:dAdj,mn:mn,rec:rec,v:v,raw:raw}; } var VC={pass:'#1f9d55',warn:'#d98a00',fail:'#d63c3c'}; function P(arr){var o=[],j;for(j=0;j<arr.length;j++){o.push(arr[j][0].toFixed(1)+','+arr[j][1].toFixed(1));}return o.join(' ');} function D(arr){return 'M'+P(arr).replace(\/ \/g,' L')+' Z';} function lab(g,x,y,t,anc,col){ var w=t.length*6.3+10,x0=anc==='end'?x-w:(anc==='middle'?x-w\/2:x); var r=document.createElementNS(NS,'rect');r.setAttribute('x',x0);r.setAttribute('y',y-12);r.setAttribute('width',w);r.setAttribute('height',17);r.setAttribute('rx',3);r.setAttribute('fill','#ffffff');r.setAttribute('fill-opacity','0.92');r.setAttribute('stroke','#d7dee7');g.appendChild(r); var e=document.createElementNS(NS,'text');e.setAttribute('x',anc==='end'?x-5:(anc==='middle'?x:x+5));e.setAttribute('y',y);e.setAttribute('text-anchor',anc);e.setAttribute('font-size','11.5');e.setAttribute('font-family','Arial,Helvetica,sans-serif');e.setAttribute('font-weight','600');e.setAttribute('fill',col||'#1e3a5f');e.textContent=t;g.appendChild(e); } function draw(c){ var k=+el.exag.value,cx=260,R=70,t=16,gY=345,floor=14; var hpx=60+(c.H-5)*1.2;if(hpx>300){hpx=300;} var yT=gY-hpx,yB=gY-floor; var dx=hpx*Math.tan(rad(c.a*k)); if(dx>110){dx=110;} var L=function(x){return 2*cx-x;}; var plastic=[[cx-R-dx-t,yT],[cx-R-t,gY],[cx+R+t,gY],[cx+R+t+dx,yT],[cx+R+dx,yT],[cx+R,yB],[cx-R,yB],[cx-R-dx,yT]]; q('pl').setAttribute('d',D(plastic)); var slope=dx\/hpx,ext=Math.min(60,yT-8); var core=[[70,yT-ext],[490,yT-ext],[490,yT],[cx+R+dx,yT],[cx+R,yB],[cx-R,yB],[cx-R-dx,yT],[70,yT]]; q('core').setAttribute('d',D(core)); var cav=[[70,yT],[cx-R-t-dx,yT],[cx-R-t,gY],[cx+R+t,gY],[cx+R+t+dx,yT],[490,yT],[490,gY+28],[70,gY+28]]; q('cav').setAttribute('d',D(cav)); var col=VC[c.v]; q('cin').setAttribute('points',P([[cx+R+dx,yT],[cx+R,yB]])+' '+P([[cx-R,yB],[cx-R-dx,yT]])); q('cout').setAttribute('points',P([[cx+R+t+dx,yT],[cx+R+t,gY]])+' '+P([[cx-R-t,gY],[cx-R-t-dx,yT]])); q('cin').setAttribute('stroke',col);q('cout').setAttribute('stroke',col); var pl=q('part');pl.setAttribute('x1',70);pl.setAttribute('x2',490);pl.setAttribute('y1',yT);pl.setAttribute('y2',yT); var cl=q('cl');cl.setAttribute('y1',yT-ext-6);cl.setAttribute('y2',gY+34); var rf=q('ref');rf.setAttribute('x1',cx+R+t);rf.setAttribute('x2',cx+R+t);rf.setAttribute('y1',gY);rf.setAttribute('y2',yT-4); var g=q('lab');while(g.firstChild){g.removeChild(g.firstChild);} lab(g,78,yT-ext+16,'CORE (B)','start'); lab(g,78,gY+16,'CAVITY (A)','start'); lab(g,cx,yB-10,'PLASTIC PART','middle','#7a4300'); lab(g,486,yT-4,'Parting line','end','#d63c3c'); lab(g,cx+R+t+dx+8,yT+22+0,'\u03b8 '+c.a.toFixed(1)+'\u00b0 (drawn x'+k+')','start'); \/* depth dimension *\/ var dm=document.createElementNS(NS,'path'); dm.setAttribute('d','M40,'+yT+' L40,'+gY+' M34,'+yT+' L46,'+yT+' M34,'+gY+' L46,'+gY); dm.setAttribute('stroke','#1e3a5f');dm.setAttribute('stroke-width','1.2');dm.setAttribute('fill','none');g.appendChild(dm); lab(g,40,(yT+gY)\/2+4,'H = '+c.H+' mm','middle'); \/* growth dimension at top *\/ var gx=(c.H*Math.tan(rad(c.a))).toFixed(2); lab(g,490,yB+36,'+'+gx+' mm per side at opening','end'); geo={hpx:hpx,yT:yT}; applyProg(); } function applyProg(){ var c=calc(),travel=geo.hpx+60,p=prog; var core=q('gcore'),pl=q('gpl'); core.setAttribute('transform','translate(0,'+(-p*travel).toFixed(1)+')'); var off=0; if(c.v==='fail'){off=-p*travel*0.9;} else if(c.v==='warn'){off=-Math.sin(Math.min(1,p*1.2)*Math.PI)*10;} pl.setAttribute('transform','translate(0,'+off.toFixed(1)+')'); } function render(){ var c=calc(); q('anglev').textContent=c.a.toFixed(1)+'\u00b0'; q('depthv').textContent=c.H+' mm'; q('exagv').textContent='x'+el.exag.value; var pill=q('pill'),vt=q('vt'); pill.textContent=c.v.toUpperCase();pill.style.background=VC[c.v]; var msg={pass:'Draft meets the minimum for this finish and feature.',warn:'Draft is under the minimum. Expect drag marks or hard ejection.',fail:'Draft is too low. The part will stick to the tool.'}; vt.textContent=msg[c.v]; q('t1').textContent=c.a.toFixed(1)+'\u00b0';q('t2').textContent=c.mn.toFixed(2)+'\u00b0';q('t3').textContent=c.rec.toFixed(2)+'\u00b0'; var ct=q('calc'); var rows=[['Base for '+c.s.l.split(' (')[0].split(',')[0],c.s.min.toFixed(2)+'\u00b0'],['Feature: '+c.f.l.split(' (')[0],(c.f.adj>=0?'+':'')+c.f.adj.toFixed(2)+'\u00b0'],['Depth '+c.H+' mm',(c.dAdj>=0?'+':'')+c.dAdj.toFixed(2)+'\u00b0'],['Material',(c.m.adj>=0?'+':'')+c.m.adj.toFixed(2)+'\u00b0']]; var h='',j;for(j=0;j<rows.length;j++){h+='<tr><td>'+rows[j][0]+'<\/td><td>'+rows[j][1]+'<\/td><\/tr>';} h+='<tr class=\"tot\"><td>Minimum draft per side (rounded up to 0.25)<\/td><td>'+c.mn.toFixed(2)+'\u00b0<\/td><\/tr>'; ct.innerHTML=h; var grow=c.H*Math.tan(rad(c.a)); var n='Over '+c.H+' mm the wall moves '+grow.toFixed(2)+' mm per side, so the opening is '+(grow*2).toFixed(2)+' mm wider than the base.'; if(c.a>5){n+=' Draft above 5\u00b0 changes the part shape noticeably. Check fit, wall thickness and function.';} else if(c.f.k==='rib'){n+=' Keep the rib thicker at the base. Draft on both sides makes the tip thinner.';} else if(c.s.k.charAt(0)==='t'){n+=' Textured faces scrape during ejection. Never reduce draft on a textured wall to save a few tenths of a degree.';} else if(c.f.k==='in'){n+=' The part shrinks onto the core, so inside walls need more draft than outside walls.';} q('note').textContent=n; var jj;for(jj=0;jj<chipEls.length;jj++){var ce=chipEls[jj],gv=c.H*Math.tan(rad(ce.v));ce.b.innerHTML='<b>'+ce.v+'&deg;<\/b><span>'+gv.toFixed(2)+' mm<\/span>';ce.b.style.borderColor=Math.abs(ce.v-c.a)<0.05?'#0f3d5e':'#d7dee7';ce.b.style.background=Math.abs(ce.v-c.a)<0.05?'#e3eef8':'#f3f6fa';} draw(c); setStatus(c); } function setStatus(c){ var s=q('status'); if(prog<=0){s.textContent='Press Eject to pull the core out of the part.';return;} if(prog<1){s.textContent='Core moving...';return;} if(c.v==='fail'){s.textContent='Part rides up with the core. It sticks and can tear or deform.';} else if(c.v==='warn'){s.textContent='Part stays in the cavity, but the walls scrape the steel.';} else{s.textContent='Core clears the part cleanly. Part stays in the cavity.';} } function update(reset){ if(reset){cancel();prog=0;} render(); } function cancel(){if(raf){cancelAnimationFrame(raf);raf=0;}ejecting=false;} function eject(){ cancel();prog=0; var reduce=window.matchMedia&&window.matchMedia('(prefers-reduced-motion: reduce)').matches; if(reduce){prog=1;render();return;} var t0=null,dur=1800;ejecting=true; function step(ts){ if(!t0){t0=ts;} var p=Math.min(1,(ts-t0)\/dur); prog=p<0.5?2*p*p:1-Math.pow(-2*p+2,2)\/2; applyProg(); if(p<1){raf=requestAnimationFrame(step);}else{prog=1;ejecting=false;raf=0;} setStatus(calc()); } raf=requestAnimationFrame(step); } el.angle.addEventListener('input',function(){update(true);}); el.depth.addEventListener('input',function(){update(true);}); el.exag.addEventListener('input',function(){update(true);}); el.surf.addEventListener('change',function(){update(true);}); el.feat.addEventListener('change',function(){update(true);}); el.mat.addEventListener('change',function(){update(true);}); q('eject').addEventListener('click',eject); q('reset').addEventListener('click',function(){update(true);}); var cp=q('copy'); if(cp){cp.addEventListener('click',function(){ var ta=q('embedcode'),ok=q('copied'); function done(){ok.textContent='Copied';setTimeout(function(){ok.textContent='';},2000);} function fb(){ta.focus();ta.select();try{document.execCommand('copy');done();}catch(e){}} if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(ta.value).then(done,fb);}else{fb();} });} render(); })(); <\/script><div id=\"twwarp164367\" style=\"max-width:1080px;margin:0 auto;font-family:'Segoe UI',system-ui,-apple-system,Helvetica,Arial,sans-serif;color:#1f2d3d;\"><div style=\"display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 2px 10px;padding:10px 14px;background:#f8fafc;border:1px solid #dfe5ec;border-radius:8px;\"><span style=\"font-size:12px;font-weight:700;color:#1e3a5f;letter-spacing:0.4px;\">DEFLECTION<\/span><input data-slider type=\"range\" min=\"0\" max=\"3\" step=\"0.1\" value=\"1\" aria-label=\"Warpage deflection scale\" style=\"flex:1 1 240px;min-width:180px;accent-color:#f2a33c;cursor:pointer;\"><span data-readout style=\"font-size:13px;font-weight:700;color:#b5701a;min-width:58px;\">&times;1.0<\/span><span data-state style=\"font-size:12px;color:#5b6b7f;\">as molded<\/span><\/div><div data-stage style=\"position:relative;background:#ffffff;border:1px solid #dfe5ec;border-radius:10px;padding:10px 6px;overflow-x:auto;-webkit-overflow-scrolling:touch;\"><svg viewBox=\"0 0 1000 800\" width=\"100%\" style=\"display:block;min-width:760px;height:auto;\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Cross-section diagram of injection molding warpage\"><defs><pattern id=\"hatchtwwarp164367\" width=\"7\" height=\"7\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"7\" stroke=\"#9aaabc\" stroke-width=\"1\"><\/line><\/pattern><linearGradient id=\"packtwwarp164367\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"0\"><stop offset=\"0\" stop-color=\"#f2a33c\" stop-opacity=\"0.95\"><\/stop><stop offset=\"1\" stop-color=\"#f2a33c\" stop-opacity=\"0.12\"><\/stop><\/linearGradient><marker id=\"adtwwarp164367\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\"><path d=\"M0,0 L10,5 L0,10 z\" fill=\"#5b6b7f\"><\/path><\/marker><marker id=\"aatwwarp164367\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\"><path d=\"M0,0 L10,5 L0,10 z\" fill=\"#b5701a\"><\/path><\/marker><marker id=\"artwwarp164367\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\"><path d=\"M0,0 L10,5 L0,10 z\" fill=\"#d63c3c\"><\/path><\/marker><\/defs><rect x=\"0\" y=\"0\" width=\"1000\" height=\"800\" fill=\"#ffffff\"><\/rect><g data-dim><text x=\"38\" y=\"40\" font-size=\"14\" font-weight=\"700\" letter-spacing=\"1.2\" fill=\"#1e3a5f\" font-family=\"'Segoe UI',Arial,sans-serif\">SECTION \u00b7 MOLD CLOSED \u2014 WHERE WARPAGE IS BUILT IN<\/text><line x1=\"38\" y1=\"50\" x2=\"962\" y2=\"50\" stroke=\"#dfe5ec\" stroke-width=\"1\"><\/line><path d=\"M110,80 H890 V212 H820 V182 H560 V194 H180 V212 H110 Z\" fill=\"#e6ecf3\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"><\/path><path d=\"M110,80 H890 V212 H820 V182 H560 V194 H180 V212 H110 Z\" fill=\"url(#hatchtwwarp164367)\" stroke=\"none\" opacity=\"0.5\"><\/path><text x=\"126\" y=\"100\" font-size=\"12\" fill=\"#5b6b7f\" font-family=\"'Segoe UI',Arial,sans-serif\">CAVITY PLATE (A)<\/text><path d=\"M110,212 H384 V258 H394 V212 H890 V360 H110 Z\" fill=\"#e6ecf3\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"><\/path><path d=\"M110,212 H384 V258 H394 V212 H890 V360 H110 Z\" fill=\"url(#hatchtwwarp164367)\" stroke=\"none\" opacity=\"0.5\"><\/path><text x=\"126\" y=\"352\" font-size=\"12\" fill=\"#5b6b7f\" font-family=\"'Segoe UI',Arial,sans-serif\">CORE PLATE (B)<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"8\" data-t=\"Parting line\" data-d=\"The A \/ B split plane. Everything above cools from the cavity side, everything below from the core side.\" style=\"cursor:pointer;outline:none;\"><line x1=\"90\" y1=\"212\" x2=\"910\" y2=\"212\" stroke=\"#d63c3c\" stroke-width=\"1.6\" stroke-dasharray=\"12 5 3 5\"><\/line><circle cx=\"75\" cy=\"212\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"75\" cy=\"212\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"75\" y=\"216\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">8<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"5\" data-t=\"Nominal wall (thin section)\" data-d=\"Freezes quickly and shrinks the least. This is the reference section the rest of the part is compared against.\" style=\"cursor:pointer;outline:none;\"><path d=\"M180,194 H560 V182 H820 V212 H180 Z\" fill=\"#f2a33c\" stroke=\"#b5701a\" stroke-width=\"1.2\"><\/path><line x1=\"200\" y1=\"203\" x2=\"790\" y2=\"203\" stroke=\"#8a5a18\" stroke-width=\"1.6\" marker-end=\"url(#aatwwarp164367)\" opacity=\"0.85\"><\/line><line x1=\"470\" y1=\"214\" x2=\"470\" y2=\"241\" stroke=\"#1e3a5f\" stroke-width=\"1\"><\/line><circle cx=\"470\" cy=\"252\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"470\" cy=\"252\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"470\" y=\"256\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">5<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"6\" data-t=\"Thick section\" data-d=\"Cools last and shrinks far more than the thin wall, pulling the part out of flat and sinking the surface.\" style=\"cursor:pointer;outline:none;\"><path d=\"M560,182 H820 V212 H560 Z\" fill=\"#f2a33c\" stroke=\"#b5701a\" stroke-width=\"1.2\"><\/path><line x1=\"720\" y1=\"214\" x2=\"720\" y2=\"241\" stroke=\"#1e3a5f\" stroke-width=\"1\"><\/line><circle cx=\"720\" cy=\"252\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"720\" cy=\"252\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"720\" y=\"256\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">6<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"7\" data-t=\"Rib root junction\" data-d=\"Extra mass where the rib meets the wall shrinks inward, bowing the surface directly above the rib.\" style=\"cursor:pointer;outline:none;\"><path d=\"M384,212 H394 V252 Q389,258 384,252 Z\" fill=\"#f2a33c\" stroke=\"#b5701a\" stroke-width=\"1.2\"><\/path><line x1=\"396\" y1=\"248\" x2=\"420\" y2=\"282\" stroke=\"#1e3a5f\" stroke-width=\"1\"><\/line><circle cx=\"430\" cy=\"292\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"430\" cy=\"292\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"430\" y=\"296\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">7<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"1\" data-t=\"Edge gate and flow direction\" data-d=\"Melt enters here. The flow path fixes molecular and fibre orientation, which decides which way the part pulls.\" style=\"cursor:pointer;outline:none;\"><circle cx=\"132\" cy=\"203\" r=\"10\" fill=\"#f2a33c\" stroke=\"#b5701a\" stroke-width=\"1.2\"><\/circle><path d=\"M142,199 H180 V207 H142 Z\" fill=\"#f2a33c\" stroke=\"#b5701a\" stroke-width=\"1.2\"><\/path><line x1=\"128\" y1=\"121\" x2=\"150\" y2=\"195\" stroke=\"#1e3a5f\" stroke-width=\"1\"><\/line><circle cx=\"128\" cy=\"110\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"128\" cy=\"110\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"128\" y=\"114\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">1<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"2\" data-t=\"Cavity (A) side cooling\" data-d=\"Three channels sitting close to the surface. This face freezes first and ends up the cold side.\" style=\"cursor:pointer;outline:none;\"><circle cx=\"240\" cy=\"148\" r=\"11\" fill=\"#2f7de1\" stroke=\"#1b4e91\" stroke-width=\"1.2\"><\/circle><circle cx=\"420\" cy=\"148\" r=\"11\" fill=\"#2f7de1\" stroke=\"#1b4e91\" stroke-width=\"1.2\"><\/circle><circle cx=\"760\" cy=\"148\" r=\"11\" fill=\"#2f7de1\" stroke=\"#1b4e91\" stroke-width=\"1.2\"><\/circle><text x=\"790\" y=\"152\" font-size=\"12\" fill=\"#1b4e91\" font-family=\"'Segoe UI',Arial,sans-serif\">cold face<\/text><line x1=\"420\" y1=\"123\" x2=\"420\" y2=\"136\" stroke=\"#1e3a5f\" stroke-width=\"1\"><\/line><circle cx=\"420\" cy=\"112\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"420\" cy=\"112\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"420\" y=\"116\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">2<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"3\" data-t=\"Core (B) side cooling\" data-d=\"Fewer channels, further from the surface. The core face stays hotter for longer after the mold opens.\" style=\"cursor:pointer;outline:none;\"><circle cx=\"300\" cy=\"300\" r=\"11\" fill=\"#2f7de1\" stroke=\"#1b4e91\" stroke-width=\"1.2\"><\/circle><circle cx=\"700\" cy=\"300\" r=\"11\" fill=\"#2f7de1\" stroke=\"#1b4e91\" stroke-width=\"1.2\"><\/circle><text x=\"720\" y=\"304\" font-size=\"12\" fill=\"#1b4e91\" font-family=\"'Segoe UI',Arial,sans-serif\">hot face<\/text><line x1=\"300\" y1=\"312\" x2=\"300\" y2=\"332\" stroke=\"#1e3a5f\" stroke-width=\"1\"><\/line><circle cx=\"300\" cy=\"344\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"300\" cy=\"344\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"300\" y=\"348\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">3<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"4\" data-t=\"Through-thickness temperature gap\" data-d=\"The hotter face keeps shrinking after ejection, so the part curls concave toward that side.\" style=\"cursor:pointer;outline:none;\"><line x1=\"905\" y1=\"140\" x2=\"905\" y2=\"310\" stroke=\"#5b6b7f\" stroke-width=\"1.4\" marker-start=\"url(#adtwwarp164367)\" marker-end=\"url(#adtwwarp164367)\"><\/line><line x1=\"893\" y1=\"140\" x2=\"917\" y2=\"140\" stroke=\"#5b6b7f\" stroke-width=\"1\"><\/line><line x1=\"893\" y1=\"310\" x2=\"917\" y2=\"310\" stroke=\"#5b6b7f\" stroke-width=\"1\"><\/line><circle cx=\"935\" cy=\"225\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"935\" cy=\"225\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"935\" y=\"229\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">4<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"10\" data-t=\"Packing pressure gradient\" data-d=\"Pressure decays away from the gate, so the far end is packed less, shrinks more and lifts off the datum.\" style=\"cursor:pointer;outline:none;\"><rect x=\"180\" y=\"159\" width=\"640\" height=\"9\" rx=\"4\" fill=\"url(#packtwwarp164367)\" stroke=\"#d8c09a\" stroke-width=\"0.8\"><\/rect><line x1=\"560\" y1=\"129\" x2=\"560\" y2=\"157\" stroke=\"#1e3a5f\" stroke-width=\"1\"><\/line><circle cx=\"560\" cy=\"118\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"560\" cy=\"118\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"560\" y=\"122\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">10<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"9\" data-t=\"Ejector pins\" data-d=\"Tips sit flush at the parting line. Pushing a part that is still hot adds permanent distortion and pin marks.\" style=\"cursor:pointer;outline:none;\"><rect x=\"274\" y=\"212\" width=\"12\" height=\"148\" fill=\"#cfd8e3\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"><\/rect><rect x=\"640\" y=\"212\" width=\"12\" height=\"148\" fill=\"#cfd8e3\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"><\/rect><line x1=\"280\" y1=\"392\" x2=\"280\" y2=\"368\" stroke=\"#5b6b7f\" stroke-width=\"1.6\" marker-end=\"url(#adtwwarp164367)\"><\/line><line x1=\"646\" y1=\"392\" x2=\"646\" y2=\"368\" stroke=\"#5b6b7f\" stroke-width=\"1.6\" marker-end=\"url(#adtwwarp164367)\"><\/line><line x1=\"612\" y1=\"336\" x2=\"640\" y2=\"320\" stroke=\"#1e3a5f\" stroke-width=\"1\"><\/line><circle cx=\"600\" cy=\"342\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"600\" cy=\"342\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"600\" y=\"346\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">9<\/text><\/g><g data-dim><text x=\"38\" y=\"432\" font-size=\"14\" font-weight=\"700\" letter-spacing=\"1.2\" fill=\"#1e3a5f\" font-family=\"'Segoe UI',Arial,sans-serif\">AFTER EJECTION \u2014 WARPED vs NOMINAL (drag the deflection slider)<\/text><line x1=\"38\" y1=\"442\" x2=\"962\" y2=\"442\" stroke=\"#dfe5ec\" stroke-width=\"1\"><\/line><line x1=\"120\" y1=\"540\" x2=\"880\" y2=\"540\" stroke=\"#8fa0b4\" stroke-width=\"1\" stroke-dasharray=\"14 4 3 4\"><\/line><text x=\"886\" y=\"544\" font-size=\"11\" fill=\"#8fa0b4\" font-family=\"'Segoe UI',Arial,sans-serif\">datum<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"11\" data-t=\"Nominal profile\" data-d=\"The part as designed: flat, sitting on the datum plane, every wall at drawing thickness.\" style=\"cursor:pointer;outline:none;\"><rect x=\"180\" y=\"522\" width=\"640\" height=\"18\" fill=\"none\" stroke=\"#8fa0b4\" stroke-width=\"1.4\" stroke-dasharray=\"7 5\"><\/rect><line x1=\"164\" y1=\"531\" x2=\"178\" y2=\"531\" stroke=\"#1e3a5f\" stroke-width=\"1\"><\/line><circle cx=\"150\" cy=\"531\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"150\" cy=\"531\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"150\" y=\"535\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">11<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"12\" data-t=\"Warped profile\" data-d=\"The hot core face shrank more, so the plate bows up in the middle and the ends drop off the datum.\" style=\"cursor:pointer;outline:none;\"><path data-warp d=\"M180,540 Q500,480 820,540 L820,558 Q500,498 180,558 Z\" fill=\"#f2a33c\" stroke=\"#b5701a\" stroke-width=\"1.4\" opacity=\"0.95\"><\/path><line data-lead12 x1=\"500\" y1=\"481\" x2=\"500\" y2=\"505\" stroke=\"#1e3a5f\" stroke-width=\"1\"><\/line><circle data-hit12 cx=\"500\" cy=\"470\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge data-b12 cx=\"500\" cy=\"470\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text data-t12 x=\"500\" y=\"474\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">12<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"15\" data-t=\"Residual stress release\" data-d=\"Frozen-in orientation and packing stress unlock the moment the part leaves the steel, and keep moving for hours.\" style=\"cursor:pointer;outline:none;\"><line x1=\"262\" y1=\"528\" x2=\"300\" y2=\"524\" stroke=\"#8a5a18\" stroke-width=\"1.5\" marker-end=\"url(#aatwwarp164367)\"><\/line><line x1=\"338\" y1=\"521\" x2=\"300\" y2=\"524\" stroke=\"#8a5a18\" stroke-width=\"1.5\" marker-end=\"url(#aatwwarp164367)\"><\/line><line x1=\"300\" y1=\"499\" x2=\"300\" y2=\"516\" stroke=\"#1e3a5f\" stroke-width=\"1\"><\/line><circle cx=\"300\" cy=\"488\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"300\" cy=\"488\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"300\" y=\"492\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">15<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"13\" data-t=\"Flatness deviation\" data-d=\"The gap between the datum plane and the lifted edge. This is the number the incoming inspector actually measures.\" style=\"cursor:pointer;outline:none;\"><line data-dev x1=\"826\" y1=\"540\" x2=\"826\" y2=\"558\" stroke=\"#d63c3c\" stroke-width=\"1.5\" marker-start=\"url(#artwwarp164367)\" marker-end=\"url(#artwwarp164367)\"><\/line><circle cx=\"862\" cy=\"560\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"862\" cy=\"560\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"862\" y=\"564\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">13<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"14\" data-t=\"Anisotropic shrinkage\" data-d=\"Filled resins shrink less along the flow than across it, so an unbalanced layout pulls the part out of plane.\" style=\"cursor:pointer;outline:none;\"><line x1=\"530\" y1=\"596\" x2=\"610\" y2=\"596\" stroke=\"#8a5a18\" stroke-width=\"1.6\" marker-start=\"url(#aatwwarp164367)\" marker-end=\"url(#aatwwarp164367)\"><\/line><text x=\"622\" y=\"600\" font-size=\"11\" fill=\"#8a5a18\" font-family=\"'Segoe UI',Arial,sans-serif\">along flow<\/text><line x1=\"530\" y1=\"620\" x2=\"664\" y2=\"620\" stroke=\"#8a5a18\" stroke-width=\"1.6\" marker-start=\"url(#aatwwarp164367)\" marker-end=\"url(#aatwwarp164367)\"><\/line><text x=\"676\" y=\"624\" font-size=\"11\" fill=\"#8a5a18\" font-family=\"'Segoe UI',Arial,sans-serif\">cross-flow<\/text><circle cx=\"500\" cy=\"608\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"500\" cy=\"608\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"500\" y=\"612\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">14<\/text><\/g><g data-dim><text x=\"38\" y=\"672\" font-size=\"14\" font-weight=\"700\" letter-spacing=\"1.2\" fill=\"#1e3a5f\" font-family=\"'Segoe UI',Arial,sans-serif\">WARPAGE MODES<\/text><line x1=\"38\" y1=\"682\" x2=\"962\" y2=\"682\" stroke=\"#dfe5ec\" stroke-width=\"1\"><\/line><text x=\"200\" y=\"778\" font-size=\"11\" text-anchor=\"middle\" fill=\"#5b6b7f\" font-family=\"'Segoe UI',Arial,sans-serif\">Bow<\/text><text x=\"510\" y=\"778\" font-size=\"11\" text-anchor=\"middle\" fill=\"#5b6b7f\" font-family=\"'Segoe UI',Arial,sans-serif\">Twist<\/text><text x=\"780\" y=\"778\" font-size=\"11\" text-anchor=\"middle\" fill=\"#5b6b7f\" font-family=\"'Segoe UI',Arial,sans-serif\">Angular \/ corner warp<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"16\" data-t=\"Bow\" data-d=\"Single-axis curvature along the long side, normally caused by a cavity-to-core cooling imbalance.\" style=\"cursor:pointer;outline:none;\"><line x1=\"120\" y1=\"732\" x2=\"280\" y2=\"732\" stroke=\"#8fa0b4\" stroke-width=\"1.3\" stroke-dasharray=\"7 5\"><\/line><path data-bow d=\"M120,740 Q200,702 280,740\" fill=\"none\" stroke=\"#f2a33c\" stroke-width=\"3.2\"><\/path><circle cx=\"98\" cy=\"728\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"98\" cy=\"728\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"98\" y=\"732\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">16<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"17\" data-t=\"Twist\" data-d=\"Diagonally opposite corners lift while the other two drop, from uneven in-plane shrinkage or fill imbalance.\" style=\"cursor:pointer;outline:none;\"><rect x=\"440\" y=\"706\" width=\"150\" height=\"44\" fill=\"none\" stroke=\"#8fa0b4\" stroke-width=\"1.3\" stroke-dasharray=\"7 5\"><\/rect><g data-twup><path d=\"M440,716 L452,706 L464,716 Z\" fill=\"#f2a33c\" stroke=\"#b5701a\" stroke-width=\"1\"><\/path><\/g><g data-twup2><path d=\"M566,750 L578,740 L590,750 Z\" fill=\"#f2a33c\" stroke=\"#b5701a\" stroke-width=\"1\"><\/path><\/g><g data-twdn><path d=\"M566,706 L578,716 L590,706 Z\" fill=\"#2f7de1\" stroke=\"#1b4e91\" stroke-width=\"1\"><\/path><\/g><g data-twdn2><path d=\"M440,740 L452,750 L464,740 Z\" fill=\"#2f7de1\" stroke=\"#1b4e91\" stroke-width=\"1\"><\/path><\/g><circle cx=\"412\" cy=\"728\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"412\" cy=\"728\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"412\" y=\"732\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">17<\/text><\/g><g data-hs tabindex=\"0\" data-n=\"18\" data-t=\"Angular \/ corner warp\" data-d=\"A corner pulls in below 90 degrees because the corner section cools slower than the two walls that form it.\" style=\"cursor:pointer;outline:none;\"><path d=\"M706,700 V752 H862\" fill=\"none\" stroke=\"#8fa0b4\" stroke-width=\"1.3\" stroke-dasharray=\"7 5\"><\/path><path data-ang d=\"M722,700 L706,752 H862\" fill=\"none\" stroke=\"#f2a33c\" stroke-width=\"3.2\"><\/path><path data-angarc d=\"M712,724 A28,28 0 0 1 736,738\" fill=\"none\" stroke=\"#d63c3c\" stroke-width=\"1.3\" marker-end=\"url(#artwwarp164367)\"><\/path><circle cx=\"678\" cy=\"722\" r=\"18\" fill=\"transparent\"><\/circle><circle data-badge cx=\"678\" cy=\"722\" r=\"11\" fill=\"#1e3a5f\"><\/circle><text x=\"678\" y=\"726\" font-size=\"12\" font-weight=\"700\" text-anchor=\"middle\" fill=\"#ffffff\" font-family=\"'Segoe UI',Arial,sans-serif\">18<\/text><\/g><\/svg><div data-tip style=\"display:none;position:absolute;z-index:9;width:264px;max-width:74vw;background:#ffffff;border:1px solid #1e3a5f;border-radius:8px;box-shadow:0 8px 22px rgba(15,61,94,0.18);padding:10px 12px;pointer-events:none;\"><\/div><\/div><div style=\"display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:10px 2px 0;font-size:12px;color:#5b6b7f;\"><span><span style=\"display:inline-block;width:13px;height:13px;background:#e6ecf3;border:1px solid #5b6b7f;vertical-align:-2px;margin-right:6px;\"><\/span>Mold steel<\/span><span><span style=\"display:inline-block;width:13px;height:13px;background:#f2a33c;border:1px solid #b5701a;vertical-align:-2px;margin-right:6px;\"><\/span>Plastic \/ melt<\/span><span><span style=\"display:inline-block;width:13px;height:13px;background:#2f7de1;border:1px solid #1b4e91;border-radius:50%;vertical-align:-2px;margin-right:6px;\"><\/span>Cooling channel<\/span><span><span style=\"display:inline-block;width:18px;height:0;border-top:2px dashed #d63c3c;vertical-align:4px;margin-right:6px;\"><\/span>Parting line<\/span><span><span style=\"display:inline-block;width:18px;height:0;border-top:2px dashed #8fa0b4;vertical-align:4px;margin-right:6px;\"><\/span>Nominal profile<\/span><span style=\"color:#8fa0b4;\">Hover or tap any numbered badge<\/span><\/div><div style=\"margin-top:14px;border:1px dashed #cdd6e0;border-radius:8px;padding:12px 14px;background:#f8fafc;\"><div style=\"font-size:12px;font-weight:700;color:#1e3a5f;margin-bottom:6px;\">Use this diagram on your site<\/div><textarea data-code readonly rows=\"3\" style=\"width:100%;box-sizing:border-box;font-family:Consolas,Monaco,monospace;font-size:11px;line-height:1.5;color:#334155;background:#ffffff;border:1px solid #dfe5ec;border-radius:6px;padding:8px;resize:vertical;\">&lt;iframe src=\"https:\/\/www.plasticmoulds.net\/it\/?tw_warp_embed=1\" width=\"100%\" height=\"1040\" style=\"border:0;max-width:1080px\" loading=\"lazy\" title=\"Injection Molding Warpage Cross-Section\"&gt;&lt;\/iframe&gt;\n&lt;p style=\"font-size:12px\"&gt;Diagram by &lt;a href=\"https:\/\/www.plasticmoulds.net\/it\/\"&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" data-copy style=\"margin-top:8px;background:#1e3a5f;color:#fff;border:0;border-radius:6px;padding:7px 14px;font-size:12px;cursor:pointer;\">Copy embed code<\/button><\/div><\/div><script> (function(){ var root = document.getElementById('twwarp164367'); if ( ! root || root.getAttribute('data-ready') ) { return; } root.setAttribute('data-ready','1'); var stage = root.querySelector('[data-stage]'); var tip = root.querySelector('[data-tip]'); var groups = Array.prototype.slice.call(root.querySelectorAll('[data-hs]')); var scaff = Array.prototype.slice.call(root.querySelectorAll('[data-dim]')); var locked = null; function esc(s){ return String(s).replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;'); } \/* ---------- deflection slider ---------- *\/ var slider = root.querySelector('[data-slider]'); var readout = root.querySelector('[data-readout]'); var stateTxt = root.querySelector('[data-state]'); var warp = root.querySelector('[data-warp]'); var dev = root.querySelector('[data-dev]'); var bow = root.querySelector('[data-bow]'); var ang = root.querySelector('[data-ang]'); var angarc = root.querySelector('[data-angarc]'); var b12 = root.querySelector('[data-b12]'); var t12 = root.querySelector('[data-t12]'); var hit12 = root.querySelector('[data-hit12]'); var lead12 = root.querySelector('[data-lead12]'); var twUp = [ root.querySelector('[data-twup]'), root.querySelector('[data-twup2]') ]; var twDn = [ root.querySelector('[data-twdn]'), root.querySelector('[data-twdn2]') ]; function r1(v){ return Math.round(v * 10) \/ 10; } function applyWarp(f){ \/* view 2 : warped plate. ends drop 18f, centre rises 12f *\/ var topEnd = 522 + 18 * f, topCtl = 522 - 42 * f; var botEnd = 540 + 18 * f, botCtl = 540 - 42 * f; warp.setAttribute('d', 'M180,' + r1(topEnd) + ' Q500,' + r1(topCtl) + ' 820,' + r1(topEnd) + ' L820,' + r1(botEnd) + ' Q500,' + r1(botCtl) + ' 180,' + r1(botEnd) + ' Z'); \/* badge 12 rides the apex *\/ var apexY = 522 - 12 * f; var badgeY = r1(apexY - 30); b12.setAttribute('cy', badgeY); hit12.setAttribute('cy', badgeY); t12.setAttribute('y', r1(badgeY + 4)); lead12.setAttribute('y1', r1(badgeY + 11)); lead12.setAttribute('y2', r1(apexY - 5)); \/* flatness deviation arrow *\/ dev.setAttribute('y2', r1(540 + 18 * f)); dev.style.display = ( f < 0.08 ) ? 'none' : ''; \/* mode : bow *\/ bow.setAttribute('d', 'M120,' + r1(732 + 8 * f) + ' Q200,' + r1(732 - 30 * f) + ' 280,' + r1(732 + 8 * f)); \/* mode : twist *\/ twUp.forEach(function(g){ g.setAttribute('transform','translate(0,' + r1(-10 * f) + ')'); }); twDn.forEach(function(g){ g.setAttribute('transform','translate(0,' + r1(10 * f) + ')'); }); \/* mode : angular *\/ ang.setAttribute('d', 'M' + r1(706 + 16 * f) + ',700 L706,752 H862'); angarc.style.display = ( f < 0.08 ) ? 'none' : ''; readout.innerHTML = '&times;' + f.toFixed(1); stateTxt.textContent = ( f < 0.08 ) ? 'nominal \u2014 as designed' : ( f <= 1.05 ) ? 'as molded' : ( f <= 2.05 ) ? 'exaggerated for clarity' : 'heavily exaggerated'; if ( locked ) { place(locked); } } slider.addEventListener('input', function(){ applyWarp(parseFloat(slider.value) || 0); }); \/* ---------- hotspots ---------- *\/ function place(g){ var b = g.querySelector('[data-badge]'); if ( ! b ) { return; } var br = b.getBoundingClientRect(); var sr = stage.getBoundingClientRect(); var tw = tip.offsetWidth, th = tip.offsetHeight; var bx = br.left - sr.left + stage.scrollLeft; var by = br.top - sr.top; var left = bx + br.width + 16; if ( left + tw > stage.scrollLeft + sr.width - 8 ) { left = bx - tw - 16; } if ( left < stage.scrollLeft + 8 ) { left = stage.scrollLeft + 8; } var top = by + br.height \/ 2 - th \/ 2; if ( top < 8 ) { top = 8; } if ( top + th > sr.height - 8 ) { top = sr.height - th - 8; } tip.style.left = Math.round(left) + 'px'; tip.style.top = Math.round(top) + 'px'; } function show(g){ groups.forEach(function(o){ o.style.opacity = ( o === g ) ? '1' : '0.16'; }); scaff.forEach(function(o){ o.style.opacity = '0.3'; }); tip.innerHTML = '<div style=\"display:flex;align-items:center;gap:8px;margin-bottom:5px;\">' + '<span style=\"flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#1e3a5f;color:#fff;font-size:12px;font-weight:700;\">' + esc(g.getAttribute('data-n')) + '<\/span>' + '<span style=\"font-size:13px;font-weight:700;color:#1e3a5f;line-height:1.25;\">' + esc(g.getAttribute('data-t')) + '<\/span><\/div>' + '<div style=\"font-size:12px;line-height:1.5;color:#475569;\">' + esc(g.getAttribute('data-d')) + '<\/div>'; tip.style.display = 'block'; place(g); } function hide(){ groups.forEach(function(o){ o.style.opacity = '1'; }); scaff.forEach(function(o){ o.style.opacity = '1'; }); tip.style.display = 'none'; } groups.forEach(function(g){ g.addEventListener('mouseenter', function(){ if ( ! locked ) { show(g); } }); g.addEventListener('mouseleave', function(){ if ( ! locked ) { hide(); } }); g.addEventListener('focus', function(){ show(g); }); g.addEventListener('blur', function(){ if ( ! locked ) { hide(); } }); g.addEventListener('click', function(e){ e.stopPropagation(); if ( locked === g ) { locked = null; hide(); } else { locked = g; show(g); } }); g.addEventListener('keydown', function(e){ if ( e.key === 'Enter' || e.key === ' ' ) { e.preventDefault(); g.dispatchEvent(new Event('click')); } }); }); document.addEventListener('click', function(){ if ( locked ) { locked = null; hide(); } }); stage.addEventListener('scroll', function(){ if ( locked ) { place(locked); } }); window.addEventListener('resize', function(){ if ( locked ) { place(locked); } }); \/* ---------- embed code copy ---------- *\/ var btn = root.querySelector('[data-copy]'); if ( btn ) { btn.addEventListener('click', function(){ var ta = root.querySelector('[data-code]'); ta.select(); ta.setSelectionRange(0, 99999); try { document.execCommand('copy'); btn.textContent = 'Copied'; } catch(err){ btn.textContent = 'Press Ctrl+C'; } setTimeout(function(){ btn.textContent = 'Copy embed code'; }, 2000); }); } applyWarp(parseFloat(slider.value) || 0); })(); <\/script><style> .twdc{--p:#0f3d5e;--s:#f59e0b;color:#0f172a;max-width:1200px;margin:24px auto;box-sizing:border-box;font-size:15px;line-height:1.5} .twdc *{box-sizing:border-box} .twdc-head{background:linear-gradient(135deg,#0f3d5e 0%,#165a85 100%);color:#fff;border-radius:14px 14px 0 0;padding:22px 24px} .twdc-head h2{margin:0 0 6px;color:#fff;font-size:26px;line-height:1.25} .twdc-head p{margin:0;opacity:.92;font-size:15px;max-width:820px} .twdc-presets{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px;font-size:13px} .twdc-presets span{opacity:.85;margin-right:2px} .twdc-presets button{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;line-height:1.3} .twdc-presets button:hover{background:#f59e0b;border-color:#f59e0b;color:#111} .twdc-body{display:grid;grid-template-columns:370px minmax(0,1fr);align-items:stretch;border:1px solid #e2e8f0;border-top:0;background:#fff} .twdc-in{padding:16px 18px;border-right:1px solid #e2e8f0;background:#f8fafc} .twdc-fs{border:0;margin:0 0 16px;padding:0;min-width:0} .twdc-fs legend{font-weight:700;font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;color:#0f3d5e;padding:0;margin:0 0 8px;display:flex;align-items:center;gap:8px;width:100%;border-bottom:1px solid #e2e8f0;padding-bottom:5px} .twdc-ck{margin-left:auto;font-size:12.5px;font-weight:600;text-transform:none;letter-spacing:0;color:#334155;display:flex;align-items:center;gap:5px;cursor:pointer} .twdc-ck2{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:#334155;cursor:pointer;margin-top:4px} .twdc-ck input,.twdc-ck2 input{accent-color:#f59e0b;margin:3px 0 0} .twdc-row{margin:0 -8px 6px;padding:5px 8px;border-radius:8px;transition:background .2s} .twdc-lab{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:13.5px;margin-bottom:3px;color:#1e293b} .twdc-lab label{font-weight:500} .twdc-u{color:#64748b;font-size:12px;white-space:nowrap} .twdc-ctl{display:flex;gap:8px;align-items:center} .twdc-rg{flex:1;min-width:0;accent-color:#f59e0b;margin:0;height:22px} .twdc-nb{width:78px;padding:5px 7px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;background:#fff;color:#0f172a;margin:0} .twdc-sel{width:100%;padding:7px 9px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;background:#fff;color:#0f172a;margin:0} .twdc-h{font-size:12px;color:#64748b;margin-top:2px} .twdc-out{padding:18px 20px;min-width:0;background:#fff} .twdc-stick{position:sticky;top:var(--twdc-top,16px);z-index:2;background:#fff} .twdc-top{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center;margin-bottom:12px} .twdc-top svg{display:block;width:96px;height:96px} .twdc-grade{font-size:20px;font-weight:700;margin:0 0 4px;line-height:1.25} .twdc-sum{font-size:13.5px;color:#475569;margin:0} .twdc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px} .twdc-km{display:none} .twdc-kpi{background:#f1f5f9;border-radius:10px;padding:9px 12px;min-width:0} .twdc-kpi .twdc-kl{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#64748b} .twdc-kpi b{display:block;font-size:18px;color:#0f3d5e;margin:2px 0;line-height:1.25} .twdc-kpi .twdc-ks{display:block;font-size:12px;color:#475569} .twdc-svg svg{width:100%;height:auto;display:block;border:1px solid #e2e8f0;border-radius:10px} .twdc-tip{font-size:12.5px;color:#64748b;margin:8px 0 0;text-align:center} .twdc-res{border:1px solid #e2e8f0;border-top:0;border-radius:0 0 14px 14px;background:#fff;padding:18px 20px} .twdc-sec{font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#0f3d5e;margin:0 0 10px} .twdc-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 8px} .twdc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:8px;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid #0f3d5e;background:#fff;color:#0f3d5e;line-height:1.2} .twdc-btn:hover{background:#0f3d5e;color:#fff} .twdc-cta{background:#f59e0b;border-color:#f59e0b;color:#111} .twdc-cta:hover{background:#d97706;border-color:#d97706;color:#111} .twdc-note{font-size:12.5px;color:#64748b;margin:8px 0 0} .twdc-embed{margin-top:16px;border-top:1px dashed #cbd5e1;padding-top:12px;font-size:13.5px} .twdc-embed-h{margin:0 0 4px;font-weight:600;color:#0f3d5e} .twdc-embed textarea{width:100%;height:110px;margin:8px 0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;border:1px solid #cbd5e1;border-radius:6px;padding:8px;background:#f8fafc;color:#0f172a} @media (min-width:901px) and (max-height:820px){.twdc-kd{display:none} .twdc-km{display:grid} } @media (max-width:900px){.twdc-body{display:flex;flex-direction:column} .twdc-in{border-right:0} .twdc-out{order:-1;position:sticky;top:var(--twdc-top,0px);z-index:30;padding:8px 10px;border-bottom:1px solid #e2e8f0;box-shadow:0 8px 14px -10px rgba(15,23,42,.35)} .twdc-stick{position:static} .twdc-kd{display:none} .twdc-km{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))} .twdc-top{grid-template-columns:52px minmax(0,1fr);gap:10px;margin-bottom:6px} .twdc-top svg{width:52px;height:52px} .twdc-grade{font-size:15px;margin:0} .twdc-sum{font-size:12px;line-height:1.35} .twdc-tip{display:none} } @media (max-width:560px){.twdc-head{padding:18px 16px} .twdc-head h2{font-size:22px} .twdc-in,.twdc-res{padding:14px 14px} .twdc-btn{width:100%} } <\/style><div class=\"twdc\" id=\"twdc30759\"><div class=\"twdc-head\"><h2>Injection Molding DFM Checker<\/h2><p>Enter your part's key features. Every change re-scores manufacturability against standard injection molding design rules and tells you what to fix before steel is cut.<\/p><div class=\"twdc-presets\"><span>Try an example:<\/span><button type=\"button\" data-preset=\"enc\">Electronics enclosure \u00b7 ABS<\/button><button type=\"button\" data-preset=\"lid\">Thin-wall lid \u00b7 PP<\/button><button type=\"button\" data-preset=\"bad\">Problem part \u00b7 PC<\/button><\/div><\/div><div class=\"twdc-body\"><div class=\"twdc-in\"><fieldset class=\"twdc-fs\"><legend>Material &amp; finish<\/legend><div class=\"twdc-row\" data-row=\"mat\"><div class=\"twdc-lab\"><label for=\"twdc30759-mat\">Resin<\/label><\/div><select class=\"twdc-sel\" id=\"twdc30759-mat\" data-s=\"mat\"><option value=\"ABS\" selected='selected'>ABS<\/option><option value=\"PC\">PC (Polycarbonate)<\/option><option value=\"PCABS\">PC\/ABS<\/option><option value=\"PP\">PP (Polypropylene)<\/option><option value=\"HDPE\">HDPE<\/option><option value=\"PA6\">PA6 (Nylon 6)<\/option><option value=\"PA66GF\">PA66 GF30 (glass-filled nylon)<\/option><option value=\"POM\">POM (Acetal)<\/option><option value=\"PBT\">PBT<\/option><option value=\"PMMA\">PMMA (Acrylic)<\/option><option value=\"PS\">PS \/ HIPS<\/option><\/select><\/div><div class=\"twdc-row\" data-row=\"tex\"><div class=\"twdc-lab\"><label for=\"twdc30759-tex\">Finish on drafted walls<\/label><\/div><select class=\"twdc-sel\" id=\"twdc30759-tex\" data-s=\"tex\"><option value=\"polish\">Polished (SPI-A \/ SPI-B)<\/option><option value=\"semi\">Semi-gloss \/ stone (SPI-C)<\/option><option value=\"light\" selected='selected'>Light texture (VDI 18\u201324)<\/option><option value=\"medium\">Medium texture (VDI 27\u201333)<\/option><option value=\"heavy\">Heavy texture (VDI 36+)<\/option><\/select><\/div><div class=\"twdc-row\" data-row=\"cos\"><label class=\"twdc-ck2\"><input type=\"checkbox\" data-s=\"cos\" checked><span>Part has a Class-A cosmetic face (stricter sink-mark rules)<\/span><\/label><\/div><\/fieldset><fieldset class=\"twdc-fs\"><legend>Part envelope<\/legend><div class=\"twdc-row\" data-row=\"L\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-L\">Length<\/label><span class=\"twdc-u\">mm<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"L\" min=\"10\" max=\"600\" step=\"1\" value=\"120\" aria-label=\"Length\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-L\" data-k=\"L\" min=\"10\" max=\"600\" step=\"1\" value=\"120\" inputmode=\"decimal\"><\/div><\/div><div class=\"twdc-row\" data-row=\"W\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-W\">Width<\/label><span class=\"twdc-u\">mm<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"W\" min=\"10\" max=\"600\" step=\"1\" value=\"80\" aria-label=\"Width\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-W\" data-k=\"W\" min=\"10\" max=\"600\" step=\"1\" value=\"80\" inputmode=\"decimal\"><\/div><\/div><div class=\"twdc-row\" data-row=\"H\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-H\">Height \/ depth<\/label><span class=\"twdc-u\">mm<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"H\" min=\"3\" max=\"300\" step=\"1\" value=\"35\" aria-label=\"Height \/ depth\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-H\" data-k=\"H\" min=\"3\" max=\"300\" step=\"1\" value=\"35\" inputmode=\"decimal\"><\/div><\/div><\/fieldset><fieldset class=\"twdc-fs\"><legend>Wall thickness<\/legend><div class=\"twdc-row\" data-row=\"t\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-t\">Nominal wall<\/label><span class=\"twdc-u\">mm<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"t\" min=\"0.4\" max=\"8\" step=\"0.1\" value=\"2.2\" aria-label=\"Nominal wall\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-t\" data-k=\"t\" min=\"0.4\" max=\"8\" step=\"0.1\" value=\"2.2\" inputmode=\"decimal\"><\/div><\/div><div class=\"twdc-row\" data-row=\"tmin\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-tmin\">Thinnest wall<\/label><span class=\"twdc-u\">mm<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"tmin\" min=\"0.3\" max=\"8\" step=\"0.1\" value=\"2.1\" aria-label=\"Thinnest wall\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-tmin\" data-k=\"tmin\" min=\"0.3\" max=\"8\" step=\"0.1\" value=\"2.1\" inputmode=\"decimal\"><\/div><div class=\"twdc-h\">Thinnest local section, e.g. near edges or snaps<\/div><\/div><div class=\"twdc-row\" data-row=\"tmax\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-tmax\">Thickest wall<\/label><span class=\"twdc-u\">mm<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"tmax\" min=\"0.4\" max=\"15\" step=\"0.1\" value=\"2.5\" aria-label=\"Thickest wall\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-tmax\" data-k=\"tmax\" min=\"0.4\" max=\"15\" step=\"0.1\" value=\"2.5\" inputmode=\"decimal\"><\/div><div class=\"twdc-h\">Thickest local section, e.g. pads or junctions<\/div><\/div><\/fieldset><fieldset class=\"twdc-fs\"><legend>Ribs <label class=\"twdc-ck\"><input type=\"checkbox\" data-s=\"hasRib\" checked> has ribs<\/label><\/legend><div class=\"twdc-dep\" data-dep=\"hasRib\"><div class=\"twdc-row\" data-row=\"rt\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-rt\">Rib thickness at base<\/label><span class=\"twdc-u\">mm<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"rt\" min=\"0.3\" max=\"6\" step=\"0.1\" value=\"1.1\" aria-label=\"Rib thickness at base\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-rt\" data-k=\"rt\" min=\"0.3\" max=\"6\" step=\"0.1\" value=\"1.1\" inputmode=\"decimal\"><\/div><\/div><div class=\"twdc-row\" data-row=\"rh\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-rh\">Rib height<\/label><span class=\"twdc-u\">mm<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"rh\" min=\"1\" max=\"60\" step=\"0.5\" value=\"6\" aria-label=\"Rib height\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-rh\" data-k=\"rh\" min=\"1\" max=\"60\" step=\"0.5\" value=\"6\" inputmode=\"decimal\"><\/div><\/div><\/div><\/fieldset><fieldset class=\"twdc-fs\"><legend>Screw bosses <label class=\"twdc-ck\"><input type=\"checkbox\" data-s=\"hasBoss\" checked> has bosses<\/label><\/legend><div class=\"twdc-dep\" data-dep=\"hasBoss\"><div class=\"twdc-row\" data-row=\"bo\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-bo\">Boss outer diameter<\/label><span class=\"twdc-u\">mm<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"bo\" min=\"2\" max=\"30\" step=\"0.1\" value=\"5\" aria-label=\"Boss outer diameter\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-bo\" data-k=\"bo\" min=\"2\" max=\"30\" step=\"0.1\" value=\"5\" inputmode=\"decimal\"><\/div><\/div><div class=\"twdc-row\" data-row=\"bi\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-bi\">Boss hole diameter<\/label><span class=\"twdc-u\">mm<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"bi\" min=\"0.8\" max=\"20\" step=\"0.1\" value=\"2.4\" aria-label=\"Boss hole diameter\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-bi\" data-k=\"bi\" min=\"0.8\" max=\"20\" step=\"0.1\" value=\"2.4\" inputmode=\"decimal\"><\/div><\/div><\/div><\/fieldset><fieldset class=\"twdc-fs\"><legend>Corners &amp; draft<\/legend><div class=\"twdc-row\" data-row=\"r\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-r\">Inside corner radius<\/label><span class=\"twdc-u\">mm<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"r\" min=\"0\" max=\"6\" step=\"0.1\" value=\"1.2\" aria-label=\"Inside corner radius\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-r\" data-k=\"r\" min=\"0\" max=\"6\" step=\"0.1\" value=\"1.2\" inputmode=\"decimal\"><\/div><\/div><div class=\"twdc-row\" data-row=\"dr\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-dr\">Draft angle per side<\/label><span class=\"twdc-u\">\u00b0<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"dr\" min=\"0\" max=\"5\" step=\"0.25\" value=\"1.5\" aria-label=\"Draft angle per side\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-dr\" data-k=\"dr\" min=\"0\" max=\"5\" step=\"0.25\" value=\"1.5\" inputmode=\"decimal\"><\/div><\/div><\/fieldset><fieldset class=\"twdc-fs\"><legend>Undercuts &amp; gating<\/legend><div class=\"twdc-row\" data-row=\"ue\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-ue\">External undercuts<\/label><span class=\"twdc-u\">qty<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"ue\" min=\"0\" max=\"8\" step=\"1\" value=\"0\" aria-label=\"External undercuts\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-ue\" data-k=\"ue\" min=\"0\" max=\"8\" step=\"1\" value=\"0\" inputmode=\"decimal\"><\/div><div class=\"twdc-h\">Side holes, side clips, external threads \u2192 slider<\/div><\/div><div class=\"twdc-row\" data-row=\"ui\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-ui\">Internal undercuts<\/label><span class=\"twdc-u\">qty<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"ui\" min=\"0\" max=\"8\" step=\"1\" value=\"1\" aria-label=\"Internal undercuts\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-ui\" data-k=\"ui\" min=\"0\" max=\"8\" step=\"1\" value=\"1\" inputmode=\"decimal\"><\/div><div class=\"twdc-h\">Inner snaps or hooks \u2192 lifter<\/div><\/div><div class=\"twdc-row\" data-row=\"gp\"><div class=\"twdc-lab\"><label for=\"twdc30759-gp\">Gate position<\/label><\/div><select class=\"twdc-sel\" id=\"twdc30759-gp\" data-s=\"gp\"><option value=\"edge\">Edge gate (side of part)<\/option><option value=\"center\" selected>Center gate (pin point \/ hot tip)<\/option><\/select><\/div><div class=\"twdc-row\" data-row=\"ng\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-ng\">Number of gates<\/label><span class=\"twdc-u\">qty<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"ng\" min=\"1\" max=\"8\" step=\"1\" value=\"1\" aria-label=\"Number of gates\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-ng\" data-k=\"ng\" min=\"1\" max=\"8\" step=\"1\" value=\"1\" inputmode=\"decimal\"><\/div><\/div><\/fieldset><fieldset class=\"twdc-fs\"><legend>Tolerance<\/legend><div class=\"twdc-row\" data-row=\"D\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-D\">Critical dimension<\/label><span class=\"twdc-u\">mm<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"D\" min=\"1\" max=\"600\" step=\"1\" value=\"80\" aria-label=\"Critical dimension\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-D\" data-k=\"D\" min=\"1\" max=\"600\" step=\"1\" value=\"80\" inputmode=\"decimal\"><\/div><div class=\"twdc-h\">Largest dimension that carries a tolerance<\/div><\/div><div class=\"twdc-row\" data-row=\"tol\"><div class=\"twdc-lab\"><label for=\"twdc30759-n-tol\">Required tolerance (\u00b1)<\/label><span class=\"twdc-u\">mm<\/span><\/div><div class=\"twdc-ctl\"><input type=\"range\" class=\"twdc-rg\" data-k=\"tol\" min=\"0.01\" max=\"1\" step=\"0.01\" value=\"0.15\" aria-label=\"Required tolerance (\u00b1)\"><input type=\"number\" class=\"twdc-nb\" id=\"twdc30759-n-tol\" data-k=\"tol\" min=\"0.01\" max=\"1\" step=\"0.01\" value=\"0.15\" inputmode=\"decimal\"><\/div><\/div><\/fieldset><\/div><div class=\"twdc-out\"><div class=\"twdc-stick\"><div class=\"twdc-top\"><svg viewBox=\"0 0 100 100\" aria-hidden=\"true\"><circle cx=\"50\" cy=\"50\" r=\"42\" fill=\"none\" stroke=\"#e2e8f0\" stroke-width=\"9\"><\/circle><circle class=\"twdc-ring\" cx=\"50\" cy=\"50\" r=\"42\" fill=\"none\" stroke=\"#16a34a\" stroke-width=\"9\" stroke-linecap=\"round\" stroke-dasharray=\"0 264\" transform=\"rotate(-90 50 50)\"><\/circle><text class=\"twdc-sc\" x=\"50\" y=\"48\" text-anchor=\"middle\" dominant-baseline=\"central\" font-size=\"27\" font-weight=\"700\" fill=\"#0f3d5e\">--<\/text><text x=\"50\" y=\"69\" text-anchor=\"middle\" font-size=\"10\" fill=\"#64748b\">DFM score<\/text><\/svg><div><p class=\"twdc-grade\">Checking\u2026<\/p><p class=\"twdc-sum\"><\/p><\/div><\/div><div class=\"twdc-kpis twdc-kd\"><div class=\"twdc-kpi\"><span class=\"twdc-kl\">Cooling \/ cycle<\/span><b data-kpi=\"cyc\">\u2013<\/b><span class=\"twdc-ks\" data-kps=\"cyc\"><\/span><\/div><div class=\"twdc-kpi\"><span class=\"twdc-kl\">Clamp force<\/span><b data-kpi=\"ton\">\u2013<\/b><span class=\"twdc-ks\" data-kps=\"ton\"><\/span><\/div><div class=\"twdc-kpi\"><span class=\"twdc-kl\">Mold shrinkage<\/span><b data-kpi=\"shr\">\u2013<\/b><span class=\"twdc-ks\" data-kps=\"shr\"><\/span><\/div><div class=\"twdc-kpi\"><span class=\"twdc-kl\">Flow ratio L\/t<\/span><b data-kpi=\"flr\">\u2013<\/b><span class=\"twdc-ks\" data-kps=\"flr\"><\/span><\/div><\/div><div class=\"twdc-svg\" aria-label=\"Schematic cross-section of the part\"><\/div><p class=\"twdc-tip\">Click or drag any input on the left: the drawing highlights that feature and its value.<\/p><\/div><\/div><\/div><div class=\"twdc-res\"><div class=\"twdc-kpis twdc-km\"><div class=\"twdc-kpi\"><span class=\"twdc-kl\">Cooling \/ cycle<\/span><b data-kpi=\"cyc\">\u2013<\/b><span class=\"twdc-ks\" data-kps=\"cyc\"><\/span><\/div><div class=\"twdc-kpi\"><span class=\"twdc-kl\">Clamp force<\/span><b data-kpi=\"ton\">\u2013<\/b><span class=\"twdc-ks\" data-kps=\"ton\"><\/span><\/div><div class=\"twdc-kpi\"><span class=\"twdc-kl\">Mold shrinkage<\/span><b data-kpi=\"shr\">\u2013<\/b><span class=\"twdc-ks\" data-kps=\"shr\"><\/span><\/div><div class=\"twdc-kpi\"><span class=\"twdc-kl\">Flow ratio L\/t<\/span><b data-kpi=\"flr\">\u2013<\/b><span class=\"twdc-ks\" data-kps=\"flr\"><\/span><\/div><\/div><div class=\"twdc-sec\">Rule-by-rule results<\/div><div class=\"twdc-list\"><\/div><div class=\"twdc-actions\"><a class=\"twdc-btn twdc-cta\" href=\"https:\/\/www.plasticmoulds.net\/contact-us\">Get a free DFM review from an engineer \u2192<\/a><button type=\"button\" class=\"twdc-btn twdc-copy\">Copy report<\/button><\/div><p class=\"twdc-note\">Rules of thumb from common resin-supplier design guides; estimates are indicative. A full DFM review uses your 3D CAD data plus mold-flow simulation.<\/p><div class=\"twdc-embed\"><p class=\"twdc-embed-h\">Embed this DFM checker on your website<\/p><textarea readonly class=\"twdc-emb\">&lt;iframe id=&quot;tw-dfm-checker&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_dfm_embed=1&quot; title=&quot;Injection Molding DFM Checker&quot; style=&quot;width:100%;min-height:1400px;border:0;&quot; loading=&quot;lazy&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twdcHeight){var f=document.getElementById(&quot;tw-dfm-checker&quot;);if(f){f.style.height=e.data.twdcHeight+&quot;px&quot;;f.style.minHeight=&quot;0&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px;&quot;&gt;Free &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html&quot;&gt;injection molding DFM checker&lt;\/a&gt; by Topworks Plastic Mold.&lt;\/p&gt;<\/textarea><button type=\"button\" class=\"twdc-btn twdc-embcopy\">Copy embed code<\/button><\/div><\/div><\/div><script> (function(){ var root=document.getElementById('twdc30759'); if(!root){return;} var HUB='https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html'; var MAT={ ABS:{n:'ABS',w:[1.2,3.5],sh:[0.4,0.7],lt:180,rib:0.6,tsi:3.0,a:0.10,Tm:230,Tw:60,Te:90,draft:0.5,tf:1.0}, PC:{n:'PC',w:[1.0,4.0],sh:[0.5,0.7],lt:110,rib:0.6,tsi:4.0,a:0.11,Tm:300,Tw:90,Te:130,draft:1.0,tf:1.0}, PCABS:{n:'PC\/ABS',w:[1.2,3.5],sh:[0.5,0.7],lt:140,rib:0.6,tsi:3.5,a:0.11,Tm:260,Tw:75,Te:110,draft:0.75,tf:1.0}, PP:{n:'PP',w:[0.8,3.8],sh:[1.0,2.5],lt:250,rib:0.5,tsi:2.5,a:0.08,Tm:230,Tw:40,Te:90,draft:0.5,tf:1.5}, HDPE:{n:'HDPE',w:[0.8,4.0],sh:[1.5,3.0],lt:230,rib:0.5,tsi:2.5,a:0.10,Tm:230,Tw:30,Te:90,draft:0.5,tf:1.6}, PA6:{n:'PA6',w:[0.8,3.0],sh:[0.7,1.5],lt:200,rib:0.5,tsi:4.0,a:0.09,Tm:260,Tw:80,Te:140,draft:0.5,tf:1.4}, PA66GF:{n:'PA66 GF30',w:[0.8,3.0],sh:[0.3,1.0],lt:120,rib:0.6,tsi:5.0,a:0.13,Tm:290,Tw:90,Te:180,draft:0.75,tf:1.3}, POM:{n:'POM',w:[0.8,3.0],sh:[1.8,2.2],lt:150,rib:0.5,tsi:4.0,a:0.10,Tm:200,Tw:90,Te:150,draft:0.5,tf:1.4}, PBT:{n:'PBT',w:[0.8,3.0],sh:[1.5,2.0],lt:180,rib:0.5,tsi:3.5,a:0.10,Tm:250,Tw:70,Te:150,draft:0.5,tf:1.4}, PMMA:{n:'PMMA',w:[1.0,4.0],sh:[0.2,0.8],lt:130,rib:0.6,tsi:4.0,a:0.11,Tm:240,Tw:60,Te:90,draft:1.0,tf:1.0}, PS:{n:'PS \/ HIPS',w:[1.0,3.8],sh:[0.3,0.6],lt:200,rib:0.6,tsi:2.5,a:0.09,Tm:220,Tw:40,Te:80,draft:0.5,tf:1.0} }; var TX={polish:[0,'a polished finish','Polished'],semi:[0.5,'an SPI-C finish','SPI-C semi-gloss'],light:[1.0,'light texture','Light texture'],medium:[2.0,'medium texture','Medium texture'],heavy:[3.0,'heavy texture','Heavy texture']}; var COL={pass:'#16a34a',warn:'#d97706',fail:'#dc2626',note:'#2563eb'}; var TINT={pass:'#dcfce7',warn:'#fef3c7',fail:'#fee2e2',note:'#dbeafe'}; var LAB={pass:'PASS',warn:'WARN',fail:'FAIL',note:'NOTE'}; var RANK={fail:3,warn:2,note:1,pass:0}; var MC=[30,50,80,120,160,200,250,300,350,450,550,650,800,1000,1300,1600,2000,2500,3000]; var HL='#f59e0b'; var P={ enc:{mat:'ABS',tex:'light',cos:true,hasRib:true,hasBoss:true,gp:'edge',L:120,W:80,H:35,t:2.2,tmin:2.1,tmax:2.5,rt:1.1,rh:6,bo:5,bi:2.4,r:1.2,dr:1.5,ue:0,ui:1,ng:1,D:80,tol:0.15}, lid:{mat:'PP',tex:'polish',cos:false,hasRib:true,hasBoss:false,gp:'center',L:150,W:150,H:20,t:1.0,tmin:0.9,tmax:1.2,rt:0.5,rh:3,bo:5,bi:2,r:0.6,dr:1,ue:0,ui:0,ng:1,D:150,tol:0.4}, bad:{mat:'PC',tex:'medium',cos:true,hasRib:true,hasBoss:true,gp:'edge',L:200,W:120,H:60,t:3.0,tmin:1.2,tmax:5.0,rt:2.8,rh:18,bo:10,bi:3,r:0.2,dr:0.25,ue:2,ui:3,ng:1,D:150,tol:0.05} }; function q(s){return root.querySelector(s);} function qa(s){return root.querySelectorAll(s);} function f(x,d){return Number(x).toFixed(d);} function g(x){return String(Math.round(x*100)\/100);} function cap(s){return s.charAt(0).toUpperCase()+s.slice(1);} var FK=''; function focusKey(k){ FK=k; qa('.twdc-row').forEach(function(r){r.style.background=(r.getAttribute('data-row')===k)?'#fff7ed':'';r.style.boxShadow=(r.getAttribute('data-row')===k)?'inset 3px 0 0 #f59e0b':'';}); } var K={}; qa('.twdc-rg').forEach(function(el){var k=el.getAttribute('data-k');K[k]=K[k]||{};K[k].rg=el;}); qa('.twdc-nb').forEach(function(el){var k=el.getAttribute('data-k');K[k]=K[k]||{};K[k].nb=el;}); Object.keys(K).forEach(function(k){ var o=K[k]; o.rg.addEventListener('input',function(){o.nb.value=o.rg.value;focusKey(k);run();}); o.nb.addEventListener('input',function(){var x=parseFloat(o.nb.value);focusKey(k);if(!isNaN(x)){o.rg.value=x;}run();}); o.rg.addEventListener('focus',function(){focusKey(k);run();}); o.nb.addEventListener('focus',function(){focusKey(k);run();}); o.rg.addEventListener('pointerdown',function(){focusKey(k);run();}); }); function v(k){var x=parseFloat(K[k].nb.value);if(isNaN(x)){x=parseFloat(K[k].rg.value);}var mn=parseFloat(K[k].nb.min),mx=parseFloat(K[k].nb.max);if(!isNaN(mn)&&x<mn){x=mn;}if(!isNaN(mx)&&x>mx){x=mx;}return x;} function setv(k,x){K[k].nb.value=x;K[k].rg.value=x;} var S={}; qa('[data-s]').forEach(function(el){ var k=el.getAttribute('data-s');S[k]=el; el.addEventListener('change',function(){focusKey(k);run();}); el.addEventListener('focus',function(){focusKey(k);run();}); }); function sel(k){return S[k].value;} function chk(k){return !!S[k].checked;} function deps(){ qa('[data-dep]').forEach(function(box){ var on=chk(box.getAttribute('data-dep')); box.style.opacity=on?'1':'0.4'; box.querySelectorAll('input').forEach(function(i){i.disabled=!on;}); }); } function preset(n){ var p=P[n];if(!p){return;} Object.keys(p).forEach(function(k){ if(K[k]){setv(k,p[k]);} else if(S[k]){if(S[k].type==='checkbox'){S[k].checked=!!p[k];}else{S[k].value=p[k];}} }); focusKey(''); run(); } qa('[data-preset]').forEach(function(b){b.addEventListener('click',function(){preset(b.getAttribute('data-preset'));});}); function worse(a,b){return (RANK[a]||0)>=(RANK[b]||0)?a:b;} var lastReport=''; function run(){ deps(); var mk=sel('mat'),m=MAT[mk]||MAT.ABS,tex=sel('tex'),cos=chk('cos'),hr=chk('hasRib'),hb=chk('hasBoss'),gp=sel('gp'); var L=v('L'),W=v('W'),H=v('H'),t=v('t'),tmin=Math.min(v('tmin'),t),tmax=Math.max(v('tmax'),t); var rt=v('rt'),rh=v('rh'),bo=v('bo'),bi=v('bi'),r=v('r'),dr=v('dr'); var ue=Math.round(v('ue')),ui=Math.round(v('ui')),ng=Math.max(1,Math.round(v('ng'))),D=v('D'),tol=v('tol'); var C=[],st={}; function add(k,s,ti,va,wy,fx){C.push({k:k,s:s,t:ti,v:va,w:wy,f:fx});st[k]=s;} \/* 1. nominal wall *\/ if(t<m.w[0]){ add('wall','fail','Nominal wall is too thin',g(t)+' mm vs '+m.w[0]+'\u2013'+m.w[1]+' mm typical for '+m.n,'The melt freezes before the cavity is full. Expect short shots, high injection pressure and weak weld lines.','Raise the nominal wall to '+m.w[0]+' mm or more, or switch to a high-flow grade of '+m.n+'.'); }else if(t>m.w[1]){ add('wall',t>m.w[1]*1.25?'fail':'warn','Nominal wall is too thick',g(t)+' mm vs '+m.w[0]+'\u2013'+m.w[1]+' mm typical for '+m.n,'Thick walls shrink more in the core. You get sink marks, internal voids and a much longer cooling time, because cooling grows with wall thickness squared.','Core out to '+m.w[1]+' mm or less and recover stiffness with ribs instead of solid section.'); }else{ add('wall','pass','Nominal wall is in range',g(t)+' mm (typical '+m.w[0]+'\u2013'+m.w[1]+' mm for '+m.n+')','A good balance of fill, strength and cycle time for this resin.',''); } \/* 2. uniformity *\/ var ur=tmax\/tmin,us=ur<=1.25?'pass':(ur<=1.6?'warn':'fail'),ut=''; if(tmin<m.w[0]){if(us==='pass'){us='warn';}ut=' The thinnest section ('+g(tmin)+' mm) is also below the '+m.w[0]+' mm minimum for '+m.n+'.';} add('uni',us,us==='pass'?'Wall thickness is uniform':'Wall thickness varies too much',g(tmin)+' \u2192 '+g(tmax)+' mm (ratio '+f(ur,2)+')',us==='pass'?'Even walls cool evenly, which keeps warp and sink under control.':'Thick and thin zones cool at different rates. The result is warp, sink over thick zones and hesitation in thin ones.'+ut,us==='pass'?'':'Keep every wall within \u00b125 % of nominal ('+f(t*0.75,1)+'\u2013'+f(t*1.25,1)+' mm). Where a change is unavoidable, taper it over at least 3\u00d7 the thickness difference ('+f(Math.max(3*(tmax-tmin),0.5),1)+' mm).'); \/* 3. ribs *\/ if(hr){ var lim=cos?Math.max(0.4,m.rib-0.1):m.rib,rr=rt\/t,rs=rr<=lim?'pass':(rr<=lim+0.15?'warn':'fail'); add('rib',rs,rs==='pass'?'Rib thickness is OK':'Rib is too thick at the base',g(rt)+' mm = '+f(rr,2)+' \u00d7 wall (max '+f(lim,2)+(cos?' for a cosmetic face':'')+')',rs==='pass'?'Thin enough to avoid sink on the opposite face.':'A thick rib root forms a hot spot where it meets the wall. It shrinks last and pulls a sink mark on the outer surface.',rs==='pass'?'':'Reduce the rib base to '+f(lim*t,2)+' mm or less. Need more stiffness? Use two thinner ribs spaced at least 2\u00d7 wall apart instead of one thick rib.'); var hh=rh\/t,tip=rt-2*rh*Math.tan(dr*Math.PI\/180),hs=hh<=3?'pass':(hh<=5?'warn':'fail'),tn=''; if(tip<Math.max(0.5,rt*0.5)){if(hs==='pass'){hs='warn';}tn=' With '+g(dr)+'\u00b0 draft per side the rib tip narrows to '+f(Math.max(tip,0),2)+' mm, which is hard to fill and vent.';} add('rh',hs,hs==='pass'?'Rib height is OK':'Rib is too tall',g(rh)+' mm = '+f(hh,1)+' \u00d7 wall (keep \u2264 3\u00d7)',(hs==='pass'?'Fills and ejects reliably.':'Deep, thin rib slots trap air, fill last and stick in the mold. They often need extra vents or ejector pins.')+tn,hs==='pass'?'':'Limit rib height to about '+f(3*t,1)+' mm. For more depth, add cross-ribs or gussets, and give ribs 0.25\u20130.5\u00b0 draft per side.'); } \/* 4. bosses *\/ if(hb){ if(bi>=bo){ add('boss','fail','Boss hole is larger than the boss','\u00d8'+g(bo)+' \/ \u00d8'+g(bi)+' mm','The hole must be smaller than the boss outer diameter.','Check the inputs. A typical boss OD is 2.0\u20132.5 \u00d7 the hole diameter.'); }else{ var bw=(bo-bi)\/2,br=bw\/t,kr=bo\/bi,bs=br<=0.6?'pass':(br<=0.75?'warn':'fail'),kn=''; if(kr<1.8){if(bs==='pass'){bs='warn';}kn=' OD\/ID is only '+f(kr,2)+': too little material around the hole, so the boss may crack when the screw is driven.';} add('boss',bs,bs==='pass'?'Boss design is OK':'Boss needs rework','Boss wall '+f(bw,2)+' mm = '+f(br,2)+' \u00d7 wall \u00b7 OD\/ID '+f(kr,2),(bs==='pass'?'The wall ratio keeps sink in check and OD\/ID gives enough hoop strength for screws.':'A thick boss is a lump of plastic that shrinks last, leaving sink on the show face and voids inside.')+kn,bs==='pass'?'':'Target boss wall \u2264 0.6 \u00d7 wall ('+f(0.6*t,2)+' mm), i.e. OD \u2248 '+f(bi+1.2*t,1)+' mm for a '+g(bi)+' mm hole, with OD\/ID 2.0\u20132.5. Tie bosses to side walls with thin ribs, not a solid web.'); } } \/* 5. corner radius *\/ var cr=r\/t,cs=cr>=0.5?'pass':(cr>=0.25?'warn':'fail'); add('corner',cs,cs==='pass'?'Corner radii are OK':'Inside corners are too sharp','R '+g(r)+' mm = '+f(cr,2)+' \u00d7 wall',cs==='pass'?'Stress concentration is low and the melt turns the corner smoothly.':'Sharp inside corners concentrate stress (about 3\u00d7 at R\/t = 0.1) and disturb flow. Most impact cracks and stress-whitening start here.',cs==='pass'?'Make the matching outside radius R '+f(r+t,1)+' mm (inside R + wall) so the corner stays uniform.':'Use inside R '+f(0.5*t,1)+'\u2013'+f(0.75*t,1)+' mm and outside R '+f(1.5*t,1)+' mm (inside R + wall).'); \/* 6. draft *\/ var tx=TX[tex]||TX.polish,req=m.draft+tx[0]+(H>100?0.5:0); var ds=dr>=req-0.001?'pass':((dr>0&&dr>=req*0.6)?'warn':'fail'),dd=2*H*Math.tan(dr*Math.PI\/180); add('draft',ds,ds==='pass'?'Draft is sufficient':'Not enough draft',g(dr)+'\u00b0 per side (need \u2265 '+g(req)+'\u00b0 for '+m.n+' with '+tx[1]+(H>100?' and depth over 100 mm':'')+')',ds==='pass'?'The part releases without drag marks. Note: draft changes the width by '+f(dd,2)+' mm over the full height, so check mating parts.':'Without enough draft the part grips the core. Expect drag marks, scuffed texture, ejector-pin whitening and slower cycles. Textured walls need roughly 1\u00b0 extra per 0.025 mm of texture depth.',ds==='pass'?'':'Increase draft to at least '+g(req)+'\u00b0 per side. If a wall must stay straight for function, keep it short and polished, or plan a side action.'); \/* 7. flow length *\/ var planar=gp==='edge'?Math.sqrt(L*L+W*W\/4):Math.sqrt(L*L\/4+W*W\/4); function fl(n){return planar\/Math.pow(n,0.8)+H;} var flow=fl(ng),fr=flow\/tmin,fs=fr<=0.8*m.lt?'pass':(fr<=m.lt?'warn':'fail'),nNeed=0; for(var n=ng;n<=12;n++){if(fl(n)\/tmin<=0.8*m.lt){nNeed=n;break;}} var tNeed=flow\/(0.8*m.lt),opts=[]; if(fs!=='pass'){ if(nNeed&&nNeed>ng){opts.push('use '+nNeed+' gates or a hot runner to shorten the flow length');} if(gp==='edge'){opts.push('move to a center gate (cuts the flow length to about '+f(Math.sqrt(L*L\/4+W*W\/4)\/Math.pow(ng,0.8)+H,0)+' mm)');} opts.push('thicken the thinnest wall to about '+f(tNeed,1)+' mm'); } add('flow',fs,fs==='pass'?'Fill length is comfortable':'Flow length is too long for the wall','\u2248 '+f(flow,0)+' mm flow \/ '+g(tmin)+' mm thinnest wall = L\/t '+f(fr,0)+' (limit \u2248 '+m.lt+' for '+m.n+')',fs==='pass'?'The cavity should fill at normal pressure with margin for process variation.':'The melt travels too far through a thin section. Expect short shots at the far end, high injection pressure and visible weld or flow lines.',fs==='pass'?'':cap(opts.join(', or '))+'.'); \/* 8. undercuts *\/ var u=ue+ui,uns=u===0?'pass':(u<=3?'note':'warn'),flex=(mk==='PP'||mk==='HDPE'); add('under',uns,u===0?'No undercuts: straight-pull mold':'Undercuts need side actions',ue+' external (slider) \u00b7 '+ui+' internal (lifter)',u===0?'Open-and-shut tooling gives the lowest mold cost and fastest cycle.':'Each slider or lifter typically adds 5\u201315 % to mold cost, plus maintenance and some cycle time. Lifters also need clear travel space behind the snap.',u===0?'':'Check whether a pass-through core or shut-off can form the feature without an action, or move clips onto the parting line.'+(flex?' '+m.n+' is flexible, so shallow undercuts (about 5 % of diameter or less) can often be stripped off without a lifter.':'')); \/* 9. tolerance *\/ var fine=(0.02+0.001*D)*m.tf,com=fine*2,ts=tol>=com?'pass':(tol>=fine?'warn':'fail'); add('tol',ts,ts==='pass'?'Tolerance is commercially achievable':(ts==='warn'?'Tolerance needs precision tooling':'Tolerance is tighter than molding can hold'),'\u00b1'+g(tol)+' mm on '+g(D)+' mm (commercial \u2248 \u00b1'+f(com,2)+', fine \u2248 \u00b1'+f(fine,2)+')',ts==='pass'?'Standard tooling and normal process control will hold this.':(ts==='warn'?'Achievable, but plan for steel-safe dimensions, one or two tuning loops after T1 and CMM checks in production. All of this adds cost and lead time.':'The shrinkage spread of '+m.n+' ('+m.sh[0]+'\u2013'+m.sh[1]+' %) alone is wider than this band, so the dimension will not hold reliably.'),ts==='pass'?'':'Loosen to \u00b1'+f(com,2)+' mm if the feature is not functional, or tolerance only the mating features. '+(m.tf>1.2?'A low-shrink amorphous resin (ABS, PC, PC\/ABS) holds size better than '+m.n+'.':'Cut the cavity steel-safe and tune after first-article inspection.')); \/* metrics *\/ var shm=(m.sh[0]+m.sh[1])\/2,grow=L*shm\/100; var lnA=(8\/(Math.PI*Math.PI))*(m.Tm-m.Tw)\/(m.Te-m.Tw); var tc=(tmax*tmax\/(Math.PI*Math.PI*m.a))*Math.log(Math.max(lnA,1.01)),cyc=tc+4+H*0.03; var area=L*W\/645.16,ton=area*m.tsi*1.15,mc='> 3000'; for(var i=0;i<MC.length;i++){if(MC[i]>=ton){mc=String(MC[i]);break;}} \/* score *\/ var sc=100,nF=0,nW=0,nP=0,nN=0; C.forEach(function(c){if(c.s==='fail'){sc-=15;nF++;}else if(c.s==='warn'){sc-=6;nW++;}else if(c.s==='note'){sc-=2;nN++;}else{nP++;}}); sc=Math.max(0,sc); var gr,gc; if(sc>=85){gr='Ready for tooling';gc=COL.pass;}else if(sc>=65){gr='Minor DFM fixes needed';gc=COL.warn;}else{gr='Redesign recommended';gc=COL.fail;} C.sort(function(a,b){return RANK[b.s]-RANK[a.s];}); var ring=q('.twdc-ring'); ring.setAttribute('stroke-dasharray',f(sc\/100*263.9,1)+' 263.9'); ring.setAttribute('stroke',gc); q('.twdc-sc').textContent=sc; var ge=q('.twdc-grade');ge.textContent=gr;ge.style.color=gc; var top=C[0]&&C[0].s!=='pass'?' Fix first: '+C[0].t.toLowerCase()+'.':' No blocking issues found.'; q('.twdc-sum').textContent=nF+' critical \u00b7 '+nW+' warnings \u00b7 '+nN+' notes \u00b7 '+nP+' passed.'+top; function kpi(k,a,b,col){qa('[data-kpi=\"'+k+'\"]').forEach(function(e){e.textContent=a;e.style.color=col||'';});qa('[data-kps=\"'+k+'\"]').forEach(function(e){e.textContent=b;});} kpi('cyc',f(tc,1)+' s \/ '+f(cyc,0)+' s','Cooling set by the '+g(tmax)+' mm thickest wall'); kpi('ton','\u2248 '+f(ton,0)+' t',mc==='> 3000'?'Very large press needed':'Press class '+mc+' t (single cavity)'); kpi('shr',f(shm,2)+' %','Cavity cut \u2248 '+f(grow,2)+' mm larger on '+g(L)+' mm'); kpi('flr',f(fr,0),'Limit \u2248 '+m.lt+' for '+m.n,COL[fs]); var h=''; C.forEach(function(c){ var col=COL[c.s]; h+='<div style=\"border:1px solid #e2e8f0;border-left:4px solid '+col+';border-radius:10px;padding:'+(c.s==='pass'?'10px 14px':'12px 14px')+';margin:0 0 10px;background:#fff\">'; h+='<div style=\"display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 4px\"><span style=\"background:'+col+';color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em;padding:2px 9px;border-radius:999px;line-height:1.6\">'+LAB[c.s]+'<\/span><strong style=\"font-size:15px;color:#0f172a\">'+c.t+'<\/strong><\/div>'; h+='<div style=\"font-size:13px;color:#475569;font-family:ui-monospace,Menlo,Consolas,monospace;margin:0 0 6px\">'+c.v+'<\/div>'; h+='<div style=\"font-size:14px;color:#334155;line-height:1.55\">'+c.w+'<\/div>'; if(c.f){h+='<div style=\"font-size:14px;color:#0f3d5e;line-height:1.55;margin-top:8px;background:'+(c.s==='pass'?'#f0f9ff':'#fff7ed')+';border-radius:6px;padding:8px 10px\"><b>'+(c.s==='pass'?'Tip:':'Fix:')+'<\/b> '+c.f+'<\/div>';} h+='<\/div>'; }); q('.twdc-list').innerHTML=h; q('.twdc-svg').innerHTML=draw({L:L,W:W,H:H,t:t,tmin:tmin,tmax:tmax,rt:rt,rh:rh,bo:bo,bi:bi,r:r,dr:dr,ue:ue,ui:ui,ng:ng,gp:gp,D:D,tol:tol,hr:hr,hb:hb,cos:cos,mn:m.n,mw:m.w,req:req,tn:tx[2],st:st,flow:flow,fr:fr,lt:m.lt,com:com,fk:FK}); var rep='INJECTION MOLDING DFM CHECK\\n'; rep+='Resin: '+m.n+' | Part: '+g(L)+' x '+g(W)+' x '+g(H)+' mm | Nominal wall: '+g(t)+' mm\\n'; rep+='DFM score: '+sc+'\/100 ('+gr+')\\n\\n'; C.forEach(function(c){rep+='['+LAB[c.s]+'] '+c.t+'\\n '+c.v+'\\n';if(c.f){rep+=' '+(c.s==='pass'?'Tip: ':'Fix: ')+c.f+'\\n';}}); rep+='\\nEstimates: cooling '+f(tc,1)+' s, cycle ~'+f(cyc,0)+' s, clamp ~'+f(ton,0)+' t (press '+mc+' t), shrinkage '+f(shm,2)+' %\\n'; rep+='\\nGenerated with the Topworks Injection Molding DFM Checker: '+HUB+'\\n'; lastReport=rep; pos(); } function draw(o){ function c(k){return COL[o.st[k]]||'#64748b';} function ti(k){return TINT[o.st[k]]||'#e2e8f0';} function n1(x){return Math.round(x*10)\/10;} var wp=Math.max(8,Math.min(30,o.t*8)),s=wp\/o.t; var wl=Math.max(3,Math.min(48,o.tmin*s)),wr=Math.max(3,Math.min(60,o.tmax*s)); var xl=120,xr=520,yt=82,yb=262,hp=yb-yt,yin=yb-wp; var da=Math.min(14,o.dr*3.5)*Math.PI\/180,dx=Math.tan(da)*hp; var rp=Math.max(0,Math.min(26,o.r*s)),ro=Math.min(50,rp+wp); var yOb=yb-ro,yIb=yin-rp; function xOL(y){return (xl-dx)+dx*((y-yt)\/(yOb-yt));} function xIL(y){return (xl+wl-dx)+dx*((y-yt)\/(yIb-yt));} function xOR(y){return (xr+dx)-dx*((y-yt)\/(yOb-yt));} function xIR(y){return (xr+dx-wr)-dx*((y-yt)\/(yIb-yt));} var d='M'+n1(xl-dx)+','+yt+' L'+xl+','+n1(yOb)+' Q'+xl+','+yb+' '+n1(xl+ro)+','+yb+' L'+n1(xr-ro)+','+yb+' Q'+xr+','+yb+' '+xr+','+n1(yOb)+' L'+n1(xr+dx)+','+yt+' L'+n1(xr+dx-wr)+','+yt+' L'+n1(xr-wr)+','+n1(yIb)+' Q'+n1(xr-wr)+','+n1(yin)+' '+n1(xr-wr-rp)+','+n1(yin)+' L'+n1(xl+wl+rp)+','+n1(yin)+' Q'+n1(xl+wl)+','+n1(yin)+' '+n1(xl+wl)+','+n1(yIb)+' L'+n1(xl+wl-dx)+','+yt+' Z'; var sv='<svg viewBox=\"0 0 640 340\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" font-family=\"system-ui,-apple-system,Segoe UI,Roboto,sans-serif\">'; sv+='<rect x=\"0\" y=\"0\" width=\"640\" height=\"340\" fill=\"#f8fafc\"><\/rect>'; for(var gx=40;gx<640;gx+=40){sv+='<line x1=\"'+gx+'\" y1=\"0\" x2=\"'+gx+'\" y2=\"340\" stroke=\"#eef2f7\" stroke-width=\"1\"><\/line>';} for(var gy=40;gy<340;gy+=40){sv+='<line x1=\"0\" y1=\"'+gy+'\" x2=\"640\" y2=\"'+gy+'\" stroke=\"#eef2f7\" stroke-width=\"1\"><\/line>';} var lg=[['pass','OK'],['warn','Warning'],['fail','Problem']],lx=16; lg.forEach(function(it){sv+='<rect x=\"'+lx+'\" y=\"12\" width=\"12\" height=\"12\" rx=\"3\" fill=\"'+COL[it[0]]+'\"><\/rect><text x=\"'+(lx+17)+'\" y=\"22\" font-size=\"11.5\" fill=\"#334155\">'+it[1]+'<\/text>';lx+=it[1].length*7+36;}); sv+='<text x=\"624\" y=\"22\" font-size=\"11.5\" text-anchor=\"end\" fill=\"'+c('flow')+'\" font-weight=\"600\">Max flow \u2248 '+f(o.flow,0)+' mm \u00b7 L\/t '+f(o.fr,0)+' (limit '+o.lt+')<\/text>'; sv+='<line x1=\"'+xr+'\" y1=\"'+n1(yOb)+'\" x2=\"'+xr+'\" y2=\"'+(yt-6)+'\" stroke=\"#94a3b8\" stroke-width=\"1\" stroke-dasharray=\"4 3\"><\/line>'; sv+='<path d=\"'+d+'\" fill=\"#e2e8f0\" stroke=\"#0f3d5e\" stroke-width=\"1.5\" stroke-linejoin=\"round\"><\/path>'; sv+='<line x1=\"'+n1(xl+wl+rp)+'\" y1=\"'+n1(yin)+'\" x2=\"'+n1(xr-wr-rp)+'\" y2=\"'+n1(yin)+'\" stroke=\"'+c('wall')+'\" stroke-width=\"4\" stroke-linecap=\"round\" opacity=\"0.85\"><\/line>'; sv+='<line x1=\"'+n1(xl+wl)+'\" y1=\"'+n1(yIb)+'\" x2=\"'+n1(xl+wl-dx)+'\" y2=\"'+yt+'\" stroke=\"'+c('uni')+'\" stroke-width=\"4\" stroke-linecap=\"round\" opacity=\"0.85\"><\/line>'; sv+='<line x1=\"'+n1(xr-wr)+'\" y1=\"'+n1(yIb)+'\" x2=\"'+n1(xr+dx-wr)+'\" y2=\"'+yt+'\" stroke=\"'+c('uni')+'\" stroke-width=\"4\" stroke-linecap=\"round\" opacity=\"0.85\"><\/line>'; sv+='<line x1=\"'+xr+'\" y1=\"'+n1(yOb)+'\" x2=\"'+n1(xr+dx)+'\" y2=\"'+yt+'\" stroke=\"'+c('draft')+'\" stroke-width=\"3\" stroke-linecap=\"round\"><\/line>'; var cLx=xl+wl+rp*0.3,cLy=yin-rp*0.3; sv+='<circle cx=\"'+n1(cLx)+'\" cy=\"'+n1(cLy)+'\" r=\"5\" fill=\"'+c('corner')+'\" stroke=\"#fff\" stroke-width=\"1.5\"><\/circle>'; sv+='<circle cx=\"'+n1(xr-wr-rp*0.3)+'\" cy=\"'+n1(yin-rp*0.3)+'\" r=\"5\" fill=\"'+c('corner')+'\" stroke=\"#fff\" stroke-width=\"1.5\"><\/circle>'; sv+='<text x=\"'+n1(Math.min(xr+dx+10,600))+'\" y=\"'+(yt+18)+'\" font-size=\"12\" fill=\"'+c('draft')+'\" font-weight=\"600\">Draft '+g(o.dr)+'\u00b0<\/text>'; sv+='<text x=\"'+n1(Math.min(xr+dx+10,590))+'\" y=\"'+(yt+120)+'\" font-size=\"12\" fill=\"'+c('uni')+'\">t max '+g(o.tmax)+'<\/text>'; sv+='<text x=\"'+n1(xl-dx-10)+'\" y=\"'+(yt+120)+'\" font-size=\"12\" text-anchor=\"end\" fill=\"'+c('uni')+'\">t min '+g(o.tmin)+'<\/text>'; sv+='<text x=\"'+n1(xl+wl+12)+'\" y=\"'+n1(yin-Math.max(rp,6)-6)+'\" font-size=\"12\" fill=\"'+c('corner')+'\" font-weight=\"600\">R '+g(o.r)+'<\/text>'; sv+='<text x=\"'+n1(xl+(xr-xl)*0.51)+'\" y=\"'+n1(yin-7)+'\" font-size=\"12\" text-anchor=\"middle\" fill=\"'+c('wall')+'\" font-weight=\"600\">t '+g(o.t)+'<\/text>'; function sink(cx,w,k){ if(o.st[k]==='pass'||!o.st[k]){return '';} var dep=o.st[k]==='fail'?7:4; return '<path d=\"M'+n1(cx-w)+','+yb+' Q'+n1(cx)+','+(yb-dep)+' '+n1(cx+w)+','+yb+'\" fill=\"none\" stroke=\"'+c(k)+'\" stroke-width=\"2.5\"><\/path><text x=\"'+n1(cx)+'\" y=\"'+(yb+15)+'\" font-size=\"11\" text-anchor=\"middle\" fill=\"'+c(k)+'\" font-weight=\"600\">sink risk<\/text>'; } \/* undercuts (drawn whenever present) *\/ var uy=yt+52,uh=14,uiy=yt+64; if(o.ue>0){ sv+='<polygon points=\"'+n1(xIR(uy))+','+uy+' '+n1(xOR(uy))+','+uy+' '+n1(xOR(uy+uh))+','+(uy+uh)+' '+n1(xIR(uy+uh))+','+(uy+uh)+'\" fill=\"#ffffff\" stroke=\"'+c('under')+'\" stroke-width=\"1.5\"><\/polygon>'; var sx=xOR(uy+uh\/2)+6; sv+='<line x1=\"'+n1(sx)+'\" y1=\"'+(uy+uh\/2)+'\" x2=\"'+n1(sx+22)+'\" y2=\"'+(uy+uh\/2)+'\" stroke=\"'+c('under')+'\" stroke-width=\"2\" stroke-dasharray=\"3 2\"><\/line>'; sv+='<polygon points=\"'+n1(sx+28)+','+(uy+uh\/2)+' '+n1(sx+21)+','+(uy+uh\/2-4)+' '+n1(sx+21)+','+(uy+uh\/2+4)+'\" fill=\"'+c('under')+'\"><\/polygon>'; } if(o.ui>0){ var hx=xIL(uiy); sv+='<polygon points=\"'+n1(hx)+','+(uiy-9)+' '+n1(hx+12)+','+(uiy+3)+' '+n1(hx)+','+(uiy+9)+'\" fill=\"#e2e8f0\" stroke=\"'+c('under')+'\" stroke-width=\"1.5\" stroke-linejoin=\"round\"><\/polygon>'; } \/* rib *\/ var cx=xl+(xr-xl)*0.3,rw=0,rhp=0,tw=0; if(o.hr){ rw=Math.max(2,Math.min(70,o.rt*s));rhp=Math.max(6,Math.min(yin-yt-22,o.rh*s)); tw=Math.max(1.5,rw-2*rhp*Math.tan(o.dr*Math.PI\/180));var rk=worse(o.st.rib,o.st.rh); sv+='<polygon points=\"'+n1(cx-rw\/2)+','+n1(yin+1)+' '+n1(cx-tw\/2)+','+n1(yin-rhp)+' '+n1(cx+tw\/2)+','+n1(yin-rhp)+' '+n1(cx+rw\/2)+','+n1(yin+1)+'\" fill=\"'+TINT[rk]+'\" stroke=\"'+COL[rk]+'\" stroke-width=\"1.5\" stroke-linejoin=\"round\"><\/polygon>'; sv+='<text x=\"'+n1(cx)+'\" y=\"'+n1(yin-rhp-8)+'\" font-size=\"12\" text-anchor=\"middle\" fill=\"'+COL[rk]+'\" font-weight=\"600\">Rib '+g(o.rt)+' \u00d7 '+g(o.rh)+'<\/text>'; sv+=sink(cx,rw\/2+10,'rib'); } \/* boss *\/ var bx=xl+(xr-xl)*0.7,bop=0,bh=0,bip=0; if(o.hb){ bop=Math.max(6,Math.min(120,o.bo*s));bh=Math.min(yin-yt-24,Math.max(44,bop*1.4)); sv+='<rect x=\"'+n1(bx-bop\/2)+'\" y=\"'+n1(yin-bh)+'\" width=\"'+n1(bop)+'\" height=\"'+n1(bh+1)+'\" fill=\"'+ti('boss')+'\" stroke=\"'+c('boss')+'\" stroke-width=\"1.5\"><\/rect>'; if(o.bi<o.bo){bip=Math.max(2,Math.min(bop-3,o.bi*s));sv+='<rect x=\"'+n1(bx-bip\/2)+'\" y=\"'+n1(yin-bh)+'\" width=\"'+n1(bip)+'\" height=\"'+n1(bh*0.82)+'\" fill=\"#ffffff\" stroke=\"'+c('boss')+'\" stroke-width=\"1\"><\/rect>';} sv+='<text x=\"'+n1(bx)+'\" y=\"'+n1(yin-bh-8)+'\" font-size=\"12\" text-anchor=\"middle\" fill=\"'+c('boss')+'\" font-weight=\"600\">Boss \u00d8'+g(o.bo)+' \/ \u00d8'+g(o.bi)+'<\/text>'; sv+=sink(bx,bop\/2+10,'boss'); } \/* gate *\/ var gcol='#0f3d5e',gax=0,gay=0; if(o.gp==='edge'){ var gyy=yt+30,gx0=xOL(gyy); sv+='<line x1=\"'+n1(gx0-74)+'\" y1=\"'+gyy+'\" x2=\"'+n1(gx0-12)+'\" y2=\"'+gyy+'\" stroke=\"'+gcol+'\" stroke-width=\"2.5\"><\/line>'; sv+='<polygon points=\"'+n1(gx0-3)+','+gyy+' '+n1(gx0-14)+','+(gyy-6)+' '+n1(gx0-14)+','+(gyy+6)+'\" fill=\"'+gcol+'\"><\/polygon>'; sv+='<text x=\"'+n1(gx0-74)+'\" y=\"'+(gyy-9)+'\" font-size=\"12\" fill=\"'+gcol+'\" font-weight=\"700\">Gate'+(o.ng>1?' \u00d7'+o.ng:'')+'<\/text>'; gax=gx0-30;gay=gyy; }else{ var nd=Math.min(o.ng,5),mid=(xl+xr)\/2,sp=Math.min(70,(xr-xl-80)\/Math.max(nd,1)); for(var k=0;k<nd;k++){ var gxx=mid+(k-(nd-1)\/2)*sp; sv+='<line x1=\"'+n1(gxx)+'\" y1=\"'+(yb+48)+'\" x2=\"'+n1(gxx)+'\" y2=\"'+(yb+13)+'\" stroke=\"'+gcol+'\" stroke-width=\"2.5\"><\/line>'; sv+='<polygon points=\"'+n1(gxx)+','+(yb+3)+' '+n1(gxx-6)+','+(yb+14)+' '+n1(gxx+6)+','+(yb+14)+'\" fill=\"'+gcol+'\"><\/polygon>'; } sv+='<text x=\"'+n1(mid+((nd-1)\/2)*sp+12)+'\" y=\"'+(yb+44)+'\" font-size=\"12\" fill=\"'+gcol+'\" font-weight=\"700\">Gate'+(o.ng>1?' \u00d7'+o.ng:'')+'<\/text>'; gax=mid;gay=yb+26; } \/* ===== focus overlay: highlight the feature that is being edited ===== *\/ function arw(x,y,dir){var a=6,b=4,p; if(dir==='r'){p=[x,y,x-a,y-b,x-a,y+b];}else if(dir==='l'){p=[x,y,x+a,y-b,x+a,y+b];}else if(dir==='u'){p=[x,y,x-b,y+a,x+b,y+a];}else{p=[x,y,x-b,y-a,x+b,y-a];} return '<polygon points=\"'+n1(p[0])+','+n1(p[1])+' '+n1(p[2])+','+n1(p[3])+' '+n1(p[4])+','+n1(p[5])+'\" fill=\"'+HL+'\"><\/polygon>';} function ln(x1,y1,x2,y2,w,dash){return '<line x1=\"'+n1(x1)+'\" y1=\"'+n1(y1)+'\" x2=\"'+n1(x2)+'\" y2=\"'+n1(y2)+'\" stroke=\"'+HL+'\" stroke-width=\"'+(w||2)+'\"'+(dash?' stroke-dasharray=\"'+dash+'\"':'')+' stroke-linecap=\"round\"><\/line>';} function dimH(x1,x2,y){ if(x2<x1){var tmp=x1;x1=x2;x2=tmp;} if(x2-x1<16){return ln(x1-18,y,x2+18,y,2)+arw(x1,y,'r')+arw(x2,y,'l');} return ln(x1+2,y,x2-2,y,2)+arw(x1,y,'l')+arw(x2,y,'r');} function dimV(x,y1,y2){ if(y2<y1){var tmp=y1;y1=y2;y2=tmp;} if(y2-y1<16){return ln(x,y1-18,x,y2+18,2)+arw(x,y1,'d')+arw(x,y2,'u');} return ln(x,y1+2,x,y2-2,2)+arw(x,y1,'u')+arw(x,y2,'d');} function pulse(inner){return '<g>'+inner+'<animate attributeName=\"opacity\" values=\"1;0.35;1\" dur=\"0.9s\" repeatCount=\"2\"><\/animate><\/g>';} function ring(x,y,rr){return pulse('<circle cx=\"'+n1(x)+'\" cy=\"'+n1(y)+'\" r=\"'+rr+'\" fill=\"none\" stroke=\"'+HL+'\" stroke-width=\"3\"><\/circle>');} function bubble(ax,ay,title,val,stk){ var col=COL[stk]||'#0f3d5e',lab=LAB[stk]||''; var l2=val+(lab?' \u00b7 '+lab:''); var w=Math.max(title.length*7.2,l2.length*6.3)+24,hh=44; var bxx=(ax>400)?ax-w-16:ax+16,byy=ay-hh-14; bxx=Math.max(6,Math.min(634-w,bxx));byy=Math.max(32,Math.min(334-hh,byy)); var cxp=Math.max(bxx,Math.min(bxx+w,ax)),cyp=(ay<byy)?byy:((ay>byy+hh)?byy+hh:byy+hh\/2); var out=''; if(ax!==null){out+='<line x1=\"'+n1(ax)+'\" y1=\"'+n1(ay)+'\" x2=\"'+n1(cxp)+'\" y2=\"'+n1(cyp)+'\" stroke=\"'+HL+'\" stroke-width=\"1.5\"><\/line><circle cx=\"'+n1(ax)+'\" cy=\"'+n1(ay)+'\" r=\"3\" fill=\"'+HL+'\"><\/circle>';} out+='<rect x=\"'+n1(bxx)+'\" y=\"'+n1(byy)+'\" width=\"'+n1(w)+'\" height=\"'+hh+'\" rx=\"7\" fill=\"#ffffff\" stroke=\"'+HL+'\" stroke-width=\"2\"><\/rect>'; out+='<rect x=\"'+n1(bxx)+'\" y=\"'+n1(byy)+'\" width=\"5\" height=\"'+hh+'\" rx=\"2\" fill=\"'+col+'\"><\/rect>'; out+='<text x=\"'+n1(bxx+14)+'\" y=\"'+n1(byy+18)+'\" font-size=\"12.5\" font-weight=\"700\" fill=\"#0f172a\">'+title+'<\/text>'; out+='<text x=\"'+n1(bxx+14)+'\" y=\"'+n1(byy+35)+'\" font-size=\"12\" fill=\"'+col+'\" font-weight=\"600\">'+l2+'<\/text>'; return out;} var fk=o.fk,ov='',my=yt+120; if(fk==='hasRib'){fk='rh';} if(fk==='hasBoss'){fk='bo';} if(fk==='t'){ var tx0=xl+(xr-xl)*0.88; ov+=pulse(dimV(tx0,yin,yb)); ov+=bubble(tx0,yin-2,'Nominal wall',g(o.t)+' mm (range '+o.mw[0]+'\u2013'+o.mw[1]+')',o.st.wall); }else if(fk==='tmin'){ ov+=pulse(ln(xIL(yt),yt,xIL(yIb),yIb,5)); ov+=pulse(dimH(xOL(my),xIL(my),my+18)); ov+=bubble(xIL(my),my,'Thinnest wall',g(o.tmin)+' mm \u00b7 ratio '+f(o.tmax\/o.tmin,2),o.st.uni); }else if(fk==='tmax'){ ov+=pulse(ln(xIR(yt),yt,xIR(yIb),yIb,5)); ov+=pulse(dimH(xIR(my),xOR(my),my+18)); ov+=bubble(xIR(my),my,'Thickest wall',g(o.tmax)+' mm \u00b7 ratio '+f(o.tmax\/o.tmin,2),o.st.uni); }else if(fk==='rt'||fk==='rh'){ if(o.hr){ var rkk=fk==='rt'?'rib':'rh'; ov+=pulse('<polygon points=\"'+n1(cx-rw\/2)+','+n1(yin)+' '+n1(cx-tw\/2)+','+n1(yin-rhp)+' '+n1(cx+tw\/2)+','+n1(yin-rhp)+' '+n1(cx+rw\/2)+','+n1(yin)+'\" fill=\"none\" stroke=\"'+HL+'\" stroke-width=\"3\" stroke-linejoin=\"round\"><\/polygon>'); if(fk==='rt'){ov+=dimH(cx-rw\/2,cx+rw\/2,yin-5);ov+=bubble(cx+rw\/2,yin-12,'Rib thickness',g(o.rt)+' mm = '+f(o.rt\/o.t,2)+' \u00d7 wall',o.st.rib);} else{ov+=dimV(cx+Math.max(rw\/2,tw\/2)+12,yin-rhp,yin);ov+=bubble(cx+rw\/2+12,yin-rhp\/2,'Rib height',g(o.rh)+' mm = '+f(o.rh\/o.t,1)+' \u00d7 wall',o.st.rh);} }else{ov+=bubble(cx,yin-30,'Ribs are switched off','Tick \"has ribs\" to check them','');} }else if(fk==='bo'||fk==='bi'){ if(o.hb){ ov+=pulse('<rect x=\"'+n1(bx-bop\/2)+'\" y=\"'+n1(yin-bh)+'\" width=\"'+n1(bop)+'\" height=\"'+n1(bh)+'\" fill=\"none\" stroke=\"'+HL+'\" stroke-width=\"3\"><\/rect>'); if(fk==='bo'){ov+=dimH(bx-bop\/2,bx+bop\/2,yin-bh*0.55);ov+=bubble(bx+bop\/2,yin-bh*0.55,'Boss outer \u00d8',g(o.bo)+' mm \u00b7 boss wall '+f(Math.max(o.bo-o.bi,0)\/2,2)+' mm',o.st.boss);} else{ov+=dimH(bx-bip\/2,bx+bip\/2,yin-bh*0.3);ov+=bubble(bx+bop\/2,yin-bh*0.3,'Boss hole \u00d8',g(o.bi)+' mm \u00b7 OD\/ID '+f(o.bo\/o.bi,2),o.st.boss);} }else{ov+=bubble(bx,yin-30,'Bosses are switched off','Tick \"has bosses\" to check them','');} }else if(fk==='r'){ ov+=ring(cLx,cLy,15); ov+=bubble(cLx,cLy,'Inside corner radius','R '+g(o.r)+' mm = '+f(o.r\/o.t,2)+' \u00d7 wall \u00b7 outside R '+f(o.r+o.t,1),o.st.corner); }else if(fk==='dr'||fk==='tex'){ ov+=pulse(ln(xr,yOb,xr+dx,yt,5)+ln(xl,yOb,xl-dx,yt,5)); var ar=60,ex=xr+ar*Math.sin(da),ey=yOb-ar*Math.cos(da); ov+='<path d=\"M'+xr+','+n1(yOb-ar)+' A'+ar+','+ar+' 0 0 1 '+n1(ex)+','+n1(ey)+'\" fill=\"none\" stroke=\"'+HL+'\" stroke-width=\"2\"><\/path>'; if(fk==='dr'){ov+=bubble(xr+dx*0.5,yt+60,'Draft per side',g(o.dr)+'\u00b0 (need \u2265 '+g(o.req)+'\u00b0, drawn exaggerated)',o.st.draft);} else{ov+=bubble(xr+dx*0.5,yt+60,'Surface finish',o.tn+' \u2192 draft \u2265 '+g(o.req)+'\u00b0',o.st.draft);} }else if(fk==='L'){ ov+=pulse(dimH(xl-dx,xr+dx,yt-26)); ov+=ln(xl-dx,yt-32,xl-dx,yt-4,1,'3 2')+ln(xr+dx,yt-32,xr+dx,yt-4,1,'3 2'); ov+=bubble(320,yt-26,'Part length',g(o.L)+' mm (this section runs along the length)',o.st.flow); }else if(fk==='W'){ var wcx=(xl+xr)\/2,wcy=(yt+yin)\/2-10; ov+=pulse('<circle cx=\"'+wcx+'\" cy=\"'+n1(wcy)+'\" r=\"11\" fill=\"#fff\" stroke=\"'+HL+'\" stroke-width=\"2.5\"><\/circle><circle cx=\"'+wcx+'\" cy=\"'+n1(wcy)+'\" r=\"3.5\" fill=\"'+HL+'\"><\/circle>'); ov+=bubble(wcx,wcy,'Part width',g(o.W)+' mm (into the page)',o.st.flow); }else if(fk==='H'){ var hxx=xl-dx-34; ov+=pulse(dimV(hxx,yt,yb)); ov+=ln(hxx-6,yt,xl-dx,yt,1,'3 2')+ln(hxx-6,yb,xl,yb,1,'3 2'); ov+=bubble(hxx,(yt+yb)\/2,'Part height',g(o.H)+' mm \u00b7 adds to flow length',o.st.flow); }else if(fk==='ue'){ if(o.ue>0){ov+=ring((xIR(uy)+xOR(uy))\/2,uy+uh\/2,16);ov+=bubble(xOR(uy),uy,'External undercuts',o.ue+' \u2192 '+o.ue+' slider'+(o.ue>1?'s':''),o.st.under);} else{ov+=bubble(xOR(uy),uy,'External undercuts','None: no slider needed',o.st.under);} }else if(fk==='ui'){ if(o.ui>0){ov+=ring(xIL(uiy)+5,uiy,15);ov+=bubble(xIL(uiy)+12,uiy,'Internal undercuts',o.ui+' \u2192 '+o.ui+' lifter'+(o.ui>1?'s':''),o.st.under);} else{ov+=bubble(xIL(uiy),uiy,'Internal undercuts','None: no lifter needed',o.st.under);} }else if(fk==='gp'||fk==='ng'){ ov+=ring(gax,gay,22); ov+=bubble(gax,gay,(o.gp==='edge'?'Edge gate':'Center gate')+' \u00d7 '+o.ng,'Max flow \u2248 '+f(o.flow,0)+' mm \u00b7 L\/t '+f(o.fr,0),o.st.flow); }else if(fk==='D'||fk==='tol'){ var dw=Math.max(40,Math.min(xr-xl+2*dx,(o.D\/o.L)*(xr-xl))),dc=(xl+xr)\/2,dyy=yb+34; ov+=pulse(dimH(dc-dw\/2,dc+dw\/2,dyy)); ov+=ln(dc-dw\/2,yb+4,dc-dw\/2,dyy+6,1,'3 2')+ln(dc+dw\/2,yb+4,dc+dw\/2,dyy+6,1,'3 2'); ov+=bubble(dc,dyy,'Critical dimension',g(o.D)+' \u00b1'+g(o.tol)+' mm (commercial \u00b1'+f(o.com,2)+')',o.st.tol); }else if(fk==='mat'){ ov+=pulse('<path d=\"'+d+'\" fill=\"none\" stroke=\"'+HL+'\" stroke-width=\"3\" stroke-linejoin=\"round\"><\/path>'); ov+=bubble(null,yt+40,'Resin: '+o.mn,'Typical wall '+o.mw[0]+'\u2013'+o.mw[1]+' mm \u00b7 L\/t limit '+o.lt,o.st.wall); }else if(fk==='cos'){ ov+=pulse(ln(xl+ro,yb+5,xr-ro,yb+5,3,'6 4')); ov+=bubble(xl+ro+40,yb+5,o.cos?'Class-A face (outside)':'No cosmetic face',o.cos?'Sink-critical: tighter rib & boss limits':'Standard rib & boss limits',o.st.rib||o.st.boss||'pass'); } sv+=ov; sv+='<text x=\"624\" y=\"332\" font-size=\"10.5\" text-anchor=\"end\" fill=\"#94a3b8\">Schematic section, not to scale; features exaggerated for clarity<\/text>'; sv+='<\/svg>'; return sv; } \/* ===== keep the drawing panel in view while the inputs scroll ===== *\/ var EMBED=false; var stick=q('.twdc-stick'),outEl=q('.twdc-out'),bodyEl=q('.twdc-body'); function clipAncestor(el){ var p=el.parentElement; while(p&&p!==document.body&&p!==document.documentElement){ var cs=window.getComputedStyle(p); if(\/(hidden|auto|scroll|clip)\/.test(cs.overflow+' '+cs.overflowX+' '+cs.overflowY)){return true;} p=p.parentElement; } return false; } var emu=clipAncestor(root); function isMob(){return window.matchMedia('(max-width:900px)').matches;} function hdr(){ var mx=0; document.querySelectorAll('#wpadminbar,header,#header,[data-sticky],.ct-sticky-container').forEach(function(e){ var cs=window.getComputedStyle(e); if(cs.position!=='fixed'&&cs.position!=='sticky'){return;} var rc=e.getBoundingClientRect(); if(rc.top<=2&&rc.bottom>0&&rc.height<window.innerHeight*0.4){mx=Math.max(mx,rc.bottom);} }); return mx; } function pos(){ if(EMBED){return;} var mob=isMob(),top=Math.round(hdr()+(mob?0:12)); root.style.setProperty('--twdc-top',top+'px'); if(!emu){return;} var el=mob?outEl:stick,box=mob?bodyEl:outEl; stick.style.transform='';outEl.style.transform=''; stick.style.position=mob?'static':'relative';outEl.style.position='relative'; var br=box.getBoundingClientRect(),er=el.getBoundingClientRect(); var pad=mob?0:parseFloat(window.getComputedStyle(outEl).paddingBottom)||0; var off=Math.max(0,Math.min(top-er.top,br.bottom-pad-er.bottom)); if(off>0){el.style.transform='translateY('+Math.round(off)+'px)';} } var ticking=false; function onScroll(){if(ticking){return;}ticking=true;window.requestAnimationFrame(function(){ticking=false;pos();});} window.addEventListener('scroll',onScroll,{passive:true}); window.addEventListener('resize',onScroll); function copyTxt(txt,btn){ var old=btn.textContent; function done(){btn.textContent='Copied \u2713';setTimeout(function(){btn.textContent=old;},1600);} function fb(){var ta=document.createElement('textarea');ta.value=txt;ta.style.position='fixed';ta.style.left='-9999px';document.body.appendChild(ta);ta.select();try{document.execCommand('copy');}catch(e){}document.body.removeChild(ta);done();} if(navigator.clipboard&&window.isSecureContext){navigator.clipboard.writeText(txt).then(done,fb);}else{fb();} } q('.twdc-copy').addEventListener('click',function(){copyTxt(lastReport,this);}); var ec=q('.twdc-embcopy'); if(ec){ec.addEventListener('click',function(){copyTxt(q('.twdc-emb').value,this);});} run(); })(); <\/script><div class=\"tw-imc\" id=\"twimc76529\"><style> #twimc76529{max-width:1000px;margin:24px auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif;color:#1f2a37;line-height:1.5} #twimc76529 h3{margin:0 0 4px;font-size:21px;line-height:1.3;color:#1e3a5f} #twimc76529 .imc-sub{margin:0 0 12px;font-size:13.5px;color:#5b6b7f} #twimc76529 .tw-ms-stage{position:relative;background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;overflow:hidden} #twimc76529 .tw-ms-stage svg{display:block;width:100%;height:auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twimc76529 .tw-ms-stage svg [data-p]{cursor:pointer;transition:opacity .15s} #twimc76529 .tw-ms-tip{position:absolute;display:none;z-index:5;box-sizing:border-box;background:#ffffff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.45;pointer-events:none;box-shadow:0 4px 14px rgba(30,58,95,.12)} #twimc76529 .tw-ms-tip .h{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-weight:700;color:#1e3a5f} #twimc76529 .tw-ms-tip p{margin:0;color:#374151} #twimc76529 .tw-ms-num{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#1e3a5f;color:#ffffff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center} #twimc76529 .imc-ctl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 8px} #twimc76529 .imc-play{background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;min-width:104px} #twimc76529 .imc-ctl select{padding:7px 8px;font-size:13px;border:1px solid #c9d3df;border-radius:6px;background:#ffffff} #twimc76529 .imc-clock{margin-left:auto;font-size:13px;font-weight:700;color:#1e3a5f} #twimc76529 .imc-tl{position:relative;display:flex;height:38px;border-radius:6px;overflow:hidden;border:1px solid #dfe5ec;cursor:pointer;user-select:none} #twimc76529 .imc-tl div{display:flex;align-items:center;justify-content:center;color:#ffffff;font-size:11.5px;font-weight:700;white-space:nowrap;overflow:hidden;min-width:0;border-right:1px solid rgba(255,255,255,.5);line-height:1.15;text-align:center} #twimc76529 .imc-tl i{position:absolute;top:-2px;bottom:-2px;width:3px;margin-left:-1px;background:#1f2a37;pointer-events:none} #twimc76529 .imc-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 0} #twimc76529 .imc-card{background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;padding:12px 14px} #twimc76529 .imc-ct{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5b6b7f;margin:0 0 8px} #twimc76529 .imc-in{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px} #twimc76529 .imc-in label{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:#5b6b7f} #twimc76529 .imc-in b{color:#1e3a5f} #twimc76529 .imc-in input[type=range]{width:100%;accent-color:#1e3a5f;margin:0} #twimc76529 .imc-in select{padding:6px 8px;font-size:13px;border:1px solid #c9d3df;border-radius:6px;background:#ffffff} #twimc76529 .imc-res{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 8px} #twimc76529 .imc-res div{background:#f3f6fa;border-radius:6px;padding:8px 10px;font-size:11.5px;color:#5b6b7f;font-weight:600} #twimc76529 .imc-res b{display:block;font-size:18px;color:#1e3a5f} #twimc76529 .imc-warn{list-style:none;margin:0;padding:0} #twimc76529 .imc-warn li{display:flex;gap:8px;font-size:13px;line-height:1.4;margin:0 0 5px} #twimc76529 .imc-warn b{flex:0 0 18px;height:18px;border-radius:50%;color:#ffffff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px} #twimc76529 .imc-st h4{margin:0 0 4px;font-size:17px;color:#1e3a5f;display:flex;align-items:center;gap:8px} #twimc76529 .imc-st h4 i{width:12px;height:12px;border-radius:3px;display:inline-block} #twimc76529 .imc-st p{margin:0 0 8px;font-size:13.5px} #twimc76529 .imc-st ul{margin:0 0 8px;padding:0 0 0 18px;font-size:13px} #twimc76529 .imc-st .w{font-size:13px;color:#b91c1c;margin:0} #twimc76529 .imc-note{font-size:12px;color:#5b6b7f;margin:10px 0 0} @media (max-width:820px){#twimc76529 .imc-2{grid-template-columns:1fr}} @media (max-width:520px){#twimc76529 .imc-in{grid-template-columns:1fr}#twimc76529 .imc-tl div{font-size:0}#twimc76529 .tw-ms-tip{font-size:12px;padding:7px 9px}} <\/style><h3>Injection Molding Cycle &ndash; Step by Step<\/h3><p class=\"imc-sub\">Watch one full cycle on a machine and mold section, then change wall thickness, resin and part size to see how the cycle time changes. Hover or tap any number on the drawing.<\/p><div class=\"tw-ms-stage\"><svg viewBox=\"0 0 1000 320\" role=\"img\" aria-label=\"Animated injection molding machine and mold section showing the six stages of the molding cycle\"><defs><pattern id=\"twimc76529-h\" width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"8\" height=\"8\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"#5b6b7f\" stroke-width=\"0.6\" stroke-opacity=\"0.35\"\/><\/pattern><marker id=\"twimc76529-a\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"#d63c3c\"\/><\/marker><marker id=\"twimc76529-n\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"#1e3a5f\"\/><\/marker><clipPath id=\"twimc76529-b\"><rect x=\"596\" y=\"160\" width=\"304\" height=\"40\"\/><\/clipPath><clipPath id=\"twimc76529-c\"><rect class=\"imc-clip\" x=\"570\" y=\"100\" width=\"0\" height=\"160\"\/><\/clipPath><\/defs><rect width=\"1000\" height=\"320\" fill=\"#ffffff\"\/><rect x=\"20\" y=\"300\" width=\"960\" height=\"12\" fill=\"#cbd5e1\"\/><text class=\"imc-stg\" x=\"24\" y=\"30\" font-size=\"15\" font-weight=\"700\" fill=\"#1e3a5f\">Stage<\/text><g data-p=\"3\"><rect x=\"122\" y=\"100\" width=\"420\" height=\"6\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"122\" y=\"254\" width=\"420\" height=\"6\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"1\"><rect x=\"30\" y=\"135\" width=\"80\" height=\"90\" rx=\"4\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"110\" y=\"86\" width=\"24\" height=\"188\" fill=\"url(#twimc76529-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect class=\"imc-rod\" x=\"134\" y=\"172\" width=\"196\" height=\"16\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><text x=\"70\" y=\"184\" font-size=\"10\" font-weight=\"700\" fill=\"#5b6b7f\" text-anchor=\"middle\">clamp<\/text><\/g><g data-p=\"5\"><rect x=\"420\" y=\"112\" width=\"120\" height=\"136\" fill=\"url(#twimc76529-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><path d=\"M420,140 H480 V220 H420 V210 H466 V150 H420 Z M480,176 H546 V184 H480 Z\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1\" stroke-dasharray=\"3 2\"\/><g data-p=\"13\"><circle class=\"imc-cw\" cx=\"505\" cy=\"134\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\"\/><circle class=\"imc-cw\" cx=\"505\" cy=\"226\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\"\/><circle class=\"imc-cw\" cx=\"512\" cy=\"160\" r=\"5\" fill=\"#2f7de1\" stroke=\"#1d5fb3\"\/><\/g><g data-p=\"6\"><rect x=\"540\" y=\"80\" width=\"30\" height=\"200\" fill=\"url(#twimc76529-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g class=\"imc-mov\"><g data-p=\"2\"><rect x=\"330\" y=\"80\" width=\"30\" height=\"200\" fill=\"url(#twimc76529-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"4\"><rect x=\"360\" y=\"112\" width=\"60\" height=\"136\" fill=\"url(#twimc76529-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"420\" y=\"150\" width=\"46\" height=\"60\" fill=\"url(#twimc76529-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"13\"><circle class=\"imc-cw\" cx=\"390\" cy=\"134\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\"\/><circle class=\"imc-cw\" cx=\"390\" cy=\"226\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\"\/><circle class=\"imc-cw\" cx=\"442\" cy=\"180\" r=\"5\" fill=\"#2f7de1\" stroke=\"#1d5fb3\"\/><\/g><g class=\"imc-ej\" data-p=\"11\"><rect x=\"366\" y=\"146\" width=\"7\" height=\"68\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"373\" y=\"157\" width=\"93\" height=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"373\" y=\"198\" width=\"93\" height=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g class=\"imc-shot\"><g data-p=\"12\" clip-path=\"url(#twimc76529-c)\"><path class=\"imc-part\" d=\"M420,140 H480 V220 H420 V210 H466 V150 H420 Z M480,176 H546 V184 H480 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"12\" class=\"imc-b12\"><line x1=\"452\" y1=\"107\" x2=\"452\" y2=\"139\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"452\" cy=\"96\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"452\" y=\"100\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">12<\/text><\/g><\/g><g data-p=\"2\"><line x1=\"345\" y1=\"67\" x2=\"345\" y2=\"80\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"345\" cy=\"56\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"345\" y=\"60\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"4\"><line x1=\"390\" y1=\"261\" x2=\"390\" y2=\"248\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"390\" cy=\"272\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"390\" y=\"276\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"11\"><line x1=\"399\" y1=\"107\" x2=\"399\" y2=\"157\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"399\" cy=\"96\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"399\" y=\"100\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><\/g><g data-p=\"7\"><polygon points=\"600,166 600,194 560,186 546,184 546,176 560,174\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"8\"><rect x=\"600\" y=\"158\" width=\"300\" height=\"44\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><rect class=\"imc-melt\" x=\"600\" y=\"166\" width=\"80\" height=\"28\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><g data-p=\"9\"><g clip-path=\"url(#twimc76529-b)\"><g class=\"imc-screw\"><polygon points=\"600,180 608,172 608,188\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\"\/><rect x=\"608\" y=\"172\" width=\"292\" height=\"16\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\"\/><svg x=\"608\" y=\"166\" width=\"292\" height=\"28\" overflow=\"hidden\"><g class=\"imc-fl\"><line x1=\"-24\" y1=\"0\" x2=\"-14\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"-8\" y1=\"0\" x2=\"2\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"8\" y1=\"0\" x2=\"18\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"24\" y1=\"0\" x2=\"34\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"40\" y1=\"0\" x2=\"50\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"56\" y1=\"0\" x2=\"66\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"72\" y1=\"0\" x2=\"82\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"88\" y1=\"0\" x2=\"98\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"104\" y1=\"0\" x2=\"114\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"120\" y1=\"0\" x2=\"130\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"136\" y1=\"0\" x2=\"146\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"152\" y1=\"0\" x2=\"162\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"168\" y1=\"0\" x2=\"178\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"184\" y1=\"0\" x2=\"194\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"200\" y1=\"0\" x2=\"210\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"216\" y1=\"0\" x2=\"226\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"232\" y1=\"0\" x2=\"242\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"248\" y1=\"0\" x2=\"258\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"264\" y1=\"0\" x2=\"274\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"280\" y1=\"0\" x2=\"290\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><line x1=\"296\" y1=\"0\" x2=\"306\" y2=\"28\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><\/g><\/svg><\/g><\/g><rect x=\"900\" y=\"150\" width=\"72\" height=\"60\" rx=\"4\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><text x=\"936\" y=\"184\" font-size=\"10\" font-weight=\"700\" fill=\"#5b6b7f\" text-anchor=\"middle\">drive<\/text><\/g><g data-p=\"8\"><rect x=\"628\" y=\"152\" width=\"30\" height=\"56\" rx=\"3\" fill=\"#f59e0b\" fill-opacity=\"0.55\" stroke=\"#b45309\"\/><rect x=\"690\" y=\"152\" width=\"30\" height=\"56\" rx=\"3\" fill=\"#f59e0b\" fill-opacity=\"0.55\" stroke=\"#b45309\"\/><rect x=\"752\" y=\"152\" width=\"30\" height=\"56\" rx=\"3\" fill=\"#f59e0b\" fill-opacity=\"0.55\" stroke=\"#b45309\"\/><rect x=\"868\" y=\"152\" width=\"30\" height=\"56\" rx=\"3\" fill=\"#f59e0b\" fill-opacity=\"0.55\" stroke=\"#b45309\"\/><\/g><g data-p=\"10\"><polygon points=\"800,92 864,92 844,146 820,146\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"824\" y=\"146\" width=\"16\" height=\"12\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"812\" cy=\"102\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"849\" cy=\"115\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"846\" cy=\"128\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"843\" cy=\"105\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"840\" cy=\"118\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"837\" cy=\"131\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"834\" cy=\"108\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"831\" cy=\"121\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"828\" cy=\"134\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"825\" cy=\"111\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"822\" cy=\"124\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"819\" cy=\"137\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"816\" cy=\"114\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"813\" cy=\"127\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><\/g><g class=\"imc-clamp\" style=\"opacity:0\"><line x1=\"284\" y1=\"122\" x2=\"324\" y2=\"122\" stroke=\"#d63c3c\" stroke-width=\"3\" marker-end=\"url(#twimc76529-a)\"\/><line x1=\"284\" y1=\"238\" x2=\"324\" y2=\"238\" stroke=\"#d63c3c\" stroke-width=\"3\" marker-end=\"url(#twimc76529-a)\"\/><text x=\"296\" y=\"92\" font-size=\"10.5\" font-weight=\"700\" fill=\"#d63c3c\" text-anchor=\"middle\">clamp force<\/text><\/g><g class=\"imc-press\" style=\"opacity:0\"><line x1=\"790\" y1=\"134\" x2=\"720\" y2=\"134\" stroke=\"#d63c3c\" stroke-width=\"3\" marker-end=\"url(#twimc76529-a)\"\/><text class=\"imc-press-t\" x=\"755\" y=\"126\" font-size=\"10.5\" font-weight=\"700\" fill=\"#d63c3c\" text-anchor=\"middle\">injection pressure<\/text><\/g><g class=\"imc-rot\" style=\"opacity:0\"><path d=\"M760,226 a14,8 0 1 1 28,0\" fill=\"none\" stroke=\"#1e3a5f\" stroke-width=\"2\" marker-end=\"url(#twimc76529-n)\"\/><text x=\"796\" y=\"232\" font-size=\"10.5\" font-weight=\"700\" fill=\"#1e3a5f\">screw rotates &#8594; melt for next shot<\/text><\/g><g data-p=\"1\"><line x1=\"70\" y1=\"75\" x2=\"70\" y2=\"135\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"70\" cy=\"135\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"70\" cy=\"64\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"70\" y=\"68\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"3\"><line x1=\"190\" y1=\"275\" x2=\"190\" y2=\"260\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"190\" cy=\"260\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"190\" cy=\"286\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"190\" y=\"290\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"5\"><line x1=\"480\" y1=\"261\" x2=\"480\" y2=\"248\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"480\" cy=\"248\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"480\" cy=\"272\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"480\" y=\"276\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"555\" y1=\"67\" x2=\"555\" y2=\"80\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"555\" cy=\"80\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"555\" cy=\"56\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"555\" y=\"60\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><line x1=\"572.3\" y1=\"227.1\" x2=\"566\" y2=\"186\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"566\" cy=\"186\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"574\" cy=\"238\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"574\" y=\"242\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><line x1=\"720\" y1=\"241\" x2=\"720\" y2=\"208\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"720\" cy=\"208\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"720\" cy=\"252\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"720\" y=\"256\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><line x1=\"660\" y1=\"131\" x2=\"660\" y2=\"172\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"660\" cy=\"172\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"660\" cy=\"120\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"660\" y=\"124\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\"><line x1=\"890.3\" y1=\"85.1\" x2=\"862\" y2=\"100\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"862\" cy=\"100\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"900\" cy=\"80\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"900\" y=\"84\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><g data-p=\"13\"><line x1=\"521.7\" y1=\"119.2\" x2=\"507\" y2=\"132\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"507\" cy=\"132\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"530\" cy=\"112\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"530\" y=\"116\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">13<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><div class=\"imc-ctl\"><button type=\"button\" class=\"imc-play\">&#10074;&#10074; Pause<\/button><select class=\"imc-speed\" aria-label=\"Playback speed\"><option value=\"1\">Real time<\/option><option value=\"2\" selected>2&#215; speed<\/option><option value=\"4\">4&#215; speed<\/option><option value=\"8\">8&#215; speed<\/option><\/select><span class=\"imc-clock\">0.0 s \/ 0.0 s<\/span><\/div><div class=\"imc-tl\" role=\"slider\" aria-label=\"Cycle timeline\"><i><\/i><\/div><div class=\"imc-2\"><div class=\"imc-card\"><div class=\"imc-ct\">Your part<\/div><div class=\"imc-in\"><label><span>Max wall thickness <b data-o=\"t\">2.5<\/b> mm<\/span><input type=\"range\" data-k=\"t\" min=\"0.8\" max=\"6\" step=\"0.1\" value=\"2.5\"><\/label><label><span>Resin<\/span><select data-k=\"r\"><option value=\"pp\">PP<\/option><option value=\"hdpe\">HDPE<\/option><option value=\"abs\" selected>ABS<\/option><option value=\"pc\">PC<\/option><option value=\"pa66\">PA66<\/option><option value=\"pom\">POM<\/option><\/select><\/label><label><span>Part \/ shot size<\/span><select data-k=\"s\"><option value=\"0\">Small (&lt; 50 g)<\/option><option value=\"1\" selected>Medium (50&#8211;500 g)<\/option><option value=\"2\">Large (&gt; 500 g)<\/option><\/select><\/label><label><span>Cavities<\/span><select data-k=\"c\"><option>1<\/option><option selected>2<\/option><option>4<\/option><option>8<\/option><option>16<\/option><\/select><\/label><\/div><div class=\"imc-res\"><div>Cycle time<b data-r=\"tot\">&#8211;<\/b><\/div><div>Parts per hour<b data-r=\"pph\">&#8211;<\/b><\/div><div>Cooling share<b data-r=\"cs\">&#8211;<\/b><\/div><\/div><ul class=\"imc-warn\"><\/ul><\/div><div class=\"imc-card\"><div class=\"imc-st\" data-s=\"0\" style=\"display:block\"><h4><i style=\"background:#5b6b7f\"><\/i>1. Mold Close<\/h4><p>The clamp moves the B half forward, slows down before the halves touch (mold protection), then builds full clamp force.<\/p><ul><li>Close speed: fast, then slow for mold protection<\/li><li>Mold protection pressure and time<\/li><li>Clamp force: ~2-8 t per cm&#178; of projected area<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Damaged parting line if a part is left in the mold; flash if tonnage is too low.<\/p><\/div><div class=\"imc-st\" data-s=\"1\" style=\"display:none\"><h4><i style=\"background:#e07b12\"><\/i>2. Injection (Fill)<\/h4><p>The screw moves forward like a plunger and pushes melt through the nozzle, sprue and gate until the cavity is about 95-98% full.<\/p><ul><li>Injection speed or fill time<\/li><li>Injection pressure limit<\/li><li>V\/P switchover point (position)<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Short shots, jetting, flow lines, burn marks, flash.<\/p><\/div><div class=\"imc-st\" data-s=\"2\" style=\"display:none\"><h4><i style=\"background:#b45309\"><\/i>3. Packing \/ Holding<\/h4><p>The screw holds pressure to push in extra melt as the plastic shrinks, until the gate freezes.<\/p><ul><li>Hold pressure: often 50-80% of peak injection pressure<\/li><li>Hold time: until the gate freezes (gate-freeze study)<\/li><li>Cushion: a few mm of melt left in front of the screw<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Sink marks and voids if too short or too low; flash and stress if too high.<\/p><\/div><div class=\"imc-st\" data-s=\"3\" style=\"display:none\"><h4><i style=\"background:#2f7de1\"><\/i>4. Cooling + Screw Recovery<\/h4><p>The part cools in the closed mold until it is stiff enough to eject. Meanwhile the screw rotates and moves back to melt the next shot.<\/p><ul><li>Mold temperature and water flow<\/li><li>Cooling time (often 50-80% of the cycle)<\/li><li>Screw speed and back pressure for recovery<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Warpage and dimension drift if too short; recovery must finish before the mold opens.<\/p><\/div><div class=\"imc-st\" data-s=\"4\" style=\"display:none\"><h4><i style=\"background:#6b46a8\"><\/i>5. Mold Open<\/h4><p>The clamp pulls the B half back. The part stays on the core and the sprue is pulled out with it.<\/p><ul><li>Open stroke: enough for the part to drop or a robot to enter<\/li><li>Open speed profile: slow-fast-slow<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Part sticking in the cavity if draft is too low or cooling is too short.<\/p><\/div><div class=\"imc-st\" data-s=\"5\" style=\"display:none\"><h4><i style=\"background:#15803d\"><\/i>6. Ejection<\/h4><p>Ejector pins push the part off the core; it drops into a chute or is taken by a robot. Then the cycle starts again.<\/p><ul><li>Ejector stroke, speed and number of strokes<\/li><li>Robot take-out timing<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Ejector pin marks, white stress marks, deformed parts if ejected too hot.<\/p><\/div><\/div><\/div><p class=\"imc-note\">Cooling time from t<sub>c<\/sub> = s&#178; \/ (&#960;&#178;&#945;) &#183; ln[(4\/&#960;)(T<sub>melt<\/sub> &#8722; T<sub>mold<\/sub>)\/(T<sub>eject<\/sub> &#8722; T<sub>mold<\/sub>)], with s = max wall thickness and typical resin values. Other stage times are typical estimates by part size. Real cycles depend on the mold, cooling layout and machine &#8211; use this for early budgeting only.<\/p><script> (function () { var root = document.getElementById('twimc76529'); if (!root) return; var PARTS = [{\"n\":1,\"name\":\"Clamp Unit\",\"fn\":\"Hydraulic cylinder or toggle that closes the mold and holds it shut against injection pressure (the machine's tonnage).\"},{\"n\":2,\"name\":\"Moving Platen\",\"fn\":\"Carries the moving (B) half of the mold. It slides along the tie bars to open and close the mold.\"},{\"n\":3,\"name\":\"Tie Bars\",\"fn\":\"Four steel bars that guide the moving platen and take the clamp force. Mold width must fit between them.\"},{\"n\":4,\"name\":\"Mold B Half (Core)\",\"fn\":\"Moving half with the core and ejector system. The part shrinks onto the core, so it opens with this half.\"},{\"n\":5,\"name\":\"Mold A Half (Cavity)\",\"fn\":\"Fixed half that forms the outside of the part and holds the sprue bushing.\"},{\"n\":6,\"name\":\"Fixed Platen\",\"fn\":\"Stationary platen; the A half is bolted here and the nozzle seats through its center.\"},{\"n\":7,\"name\":\"Nozzle & Sprue\",\"fn\":\"The nozzle seals against the sprue bushing; melt flows through the sprue and runner into the cavity.\"},{\"n\":8,\"name\":\"Barrel & Heater Bands\",\"fn\":\"Heated barrel. Heater bands plus shear from the screw melt the pellets to the set melt temperature.\"},{\"n\":9,\"name\":\"Reciprocating Screw\",\"fn\":\"Rotates to melt and meter the next shot (recovery), then moves forward like a plunger to inject and pack.\"},{\"n\":10,\"name\":\"Hopper\",\"fn\":\"Feeds dried resin pellets into the barrel.\"},{\"n\":11,\"name\":\"Ejector Pins\",\"fn\":\"Push the part off the core after the mold opens.\"},{\"n\":12,\"name\":\"Molded Part & Sprue\",\"fn\":\"Fills during injection, is packed to make up for shrinkage, cools until stiff, then is ejected.\"},{\"n\":13,\"name\":\"Cooling Channels\",\"fn\":\"Water lines in both mold halves. Cooling is usually the longest stage of the cycle.\"}], ST = [{\"k\":\"close\",\"n\":\"Mold Close\",\"c\":\"#5b6b7f\"},{\"k\":\"inject\",\"n\":\"Injection (Fill)\",\"c\":\"#e07b12\"},{\"k\":\"pack\",\"n\":\"Packing \\\/ Holding\",\"c\":\"#b45309\"},{\"k\":\"cool\",\"n\":\"Cooling + Screw Recovery\",\"c\":\"#2f7de1\"},{\"k\":\"open\",\"n\":\"Mold Open\",\"c\":\"#6b46a8\"},{\"k\":\"eject\",\"n\":\"Ejection\",\"c\":\"#15803d\"}]; var RES = {}; RES[\"pp\"]={n:\"PP\",tm:230,tw:40,te:90,a:0.08};RES[\"hdpe\"]={n:\"HDPE\",tm:220,tw:30,te:85,a:0.09};RES[\"abs\"]={n:\"ABS\",tm:240,tw:60,te:95,a:0.11};RES[\"pc\"]={n:\"PC\",tm:295,tw:90,te:130,a:0.12};RES[\"pa66\"]={n:\"PA66\",tm:285,tw:80,te:160,a:0.1};RES[\"pom\"]={n:\"POM\",tm:205,tw:90,te:140,a:0.09}; var stage = root.querySelector('.tw-ms-stage'), svg = stage.querySelector('svg'), tip = stage.querySelector('.tw-ms-tip'); function q(s) { return root.querySelector(s); } function clamp(v, a, b) { return Math.max(a, Math.min(b, v)); } function ease(p) { return p < 0.5 ? 2 * p * p : 1 - Math.pow(-2 * p + 2, 2) \/ 2; } function lerp(a, b, p) { return a + (b - a) * p; } \/* ---------- cycle model ---------- *\/ var D = [], TOT = 0, REC = 0, INFO = {}; function model() { var v = {}, ins = root.querySelectorAll('[data-k]'); for (var i = 0; i < ins.length; i++) { v[ins[i].getAttribute('data-k')] = ins[i].value; var o = q('[data-o=\"' + ins[i].getAttribute('data-k') + '\"]'); if (o) o.textContent = ins[i].value; } var t = parseFloat(v.t), r = RES[v.r], s = +v.s, cav = +v.c; var tc = t * t \/ (Math.PI * Math.PI * r.a) * Math.log(4 \/ Math.PI * (r.tm - r.tw) \/ (r.te - r.tw)); var close = [0.9, 1.4, 2.4][s], open = [0.9, 1.4, 2.4][s], ej = [0.6, 0.9, 1.5][s], inj = [0.5, 1.2, 2.6][s] * (0.7 + 0.12 * t); var hold = clamp(0.25 * tc, 0.8, 8), cool = Math.max(1.5, tc - hold); REC = [2.0, 4.5, 9.0][s] * (cav >= 8 ? 1.4 : 1); var recLimit = REC > cool; if (recLimit) cool = REC + 0.3; D = [close, inj, hold, cool, open, ej]; TOT = 0; for (i = 0; i < 6; i++) TOT += D[i]; INFO = { tc: tc, t: t, r: r, cav: cav, recLimit: recLimit }; q('[data-r=\"tot\"]').textContent = TOT.toFixed(1) + ' s'; q('[data-r=\"pph\"]').textContent = Math.round(3600 \/ TOT * cav).toLocaleString('en-US'); q('[data-r=\"cs\"]').textContent = Math.round((hold + cool) \/ TOT * 100) + '%'; var w = []; w.push(['info', 'Cooling ' + tc.toFixed(1) + ' s for a ' + t.toFixed(1) + ' mm ' + r.n + ' wall (melt ' + r.tm + ' &#176;C, mold ' + r.tw + ' &#176;C, eject ' + r.te + ' &#176;C)']); if (t > 4) w.push(['warn', 'Wall over 4 mm: cooling time grows with thickness squared &#8211; core out thick sections']); else if (t <= 1.2) w.push(['ok', 'Thin wall: fast cooling, but needs high injection speed and pressure']); if (recLimit) w.push(['warn', 'Screw recovery (' + REC.toFixed(1) + ' s) is longer than cooling &#8211; it now sets the cycle; a larger screw or barrel helps']); w.push(['info', 'Halving the wall thickness cuts cooling time to about a quarter']); var ic = { ok: ['#15803d', '&#10003;'], warn: ['#d97706', '!'], info: ['#5b6b7f', 'i'] }, h = ''; for (i = 0; i < w.length; i++) h += '<li><b style=\"background:' + ic[w[i][0]][0] + '\">' + ic[w[i][0]][1] + '<\/b><span>' + w[i][1] + '<\/span><\/li>'; q('.imc-warn').innerHTML = h; var tl = q('.imc-tl'), hh = ''; for (i = 0; i < 6; i++) hh += '<div data-i=\"' + i + '\" style=\"flex:' + D[i] + ' 1 0;background:' + ST[i].c + '\" title=\"' + ST[i].n + ' ' + D[i].toFixed(1) + ' s\">' + (D[i] \/ TOT > 0.09 ? ST[i].n.split(' ')[0] + '<br>' + D[i].toFixed(1) + ' s' : '') + '<\/div>'; tl.innerHTML = hh + '<i><\/i>'; T = Math.min(T, TOT - 0.001); draw(); } \/* ---------- animation ---------- *\/ var T = 0, playing = true, last = null, cur = -1; var mov = q('.imc-mov'), ej = q('.imc-ej'), shot = q('.imc-shot'), clip = q('.imc-clip'), part = q('.imc-part'), rod = q('.imc-rod'), melt = q('.imc-melt'), screw = q('.imc-screw'), fl = q('.imc-fl'); var cw = root.querySelectorAll('.imc-cw'), clampA = q('.imc-clamp'), press = q('.imc-press'), pressT = q('.imc-press-t'), rot = q('.imc-rot'), stg = q('.imc-stg'); var CLOSED = 330, OPEN = 210, TIP_B = 680, TIP_F = 610, flOff = 0; function draw() { var acc = 0, si = 0, p = 0; for (var i = 0; i < 6; i++) { if (T < acc + D[i] || i === 5) { si = i; p = clamp((T - acc) \/ D[i], 0, 1); break; } acc += D[i]; } var mp = CLOSED, tip = TIP_B, fill = 0, e = 0, fall = 0, op = 1, hot = 1, cl = 0, pr = 0, rt = 0; if (si === 0) { mp = lerp(OPEN, CLOSED, ease(p)); op = 0; cl = p > 0.85 ? 1 : 0; } else if (si === 1) { tip = lerp(TIP_B, TIP_F + 4, p); fill = p * 0.97; cl = 1; pr = 1; } else if (si === 2) { tip = lerp(TIP_F + 4, TIP_F, p); fill = 0.97 + 0.03 * p; cl = 1; pr = 0.7; } else if (si === 3) { var rp = clamp(p * D[3] \/ Math.max(REC, 0.1), 0, 1); tip = lerp(TIP_F, TIP_B, rp); fill = 1; cl = 1; hot = 1 - p; rt = rp < 1 ? 1 : 0; if (rp < 1) flOff = (flOff + 1.6) % 16; } else if (si === 4) { mp = lerp(CLOSED, OPEN, ease(p)); fill = 1; hot = 0; } else { mp = OPEN; fill = 1; hot = 0; e = p < 0.5 ? ease(p * 2) : (p < 0.85 ? 1 : 1 - (p - 0.85) \/ 0.15); fall = p < 0.45 ? 0 : ease((p - 0.45) \/ 0.55) * 140; op = p < 0.45 ? 1 : 1 - (p - 0.45) \/ 0.55; } mov.setAttribute('transform', 'translate(' + (mp - CLOSED).toFixed(1) + ',0)'); rod.setAttribute('width', (mp - 134).toFixed(1)); ej.setAttribute('transform', 'translate(' + (e * 34).toFixed(1) + ',0)'); shot.setAttribute('transform', 'translate(' + (si === 5 ? 34 * Math.min(1, e + (p >= 0.5 ? 1 : 0)) : 0).toFixed(1) + ',' + fall.toFixed(1) + ')'); shot.style.opacity = (si === 0 ? 0 : op).toFixed(2); var fw = fill * 150; clip.setAttribute('x', (570 - fw).toFixed(1)); clip.setAttribute('width', fw.toFixed(1)); var c1 = [242, 163, 60], c2 = [201, 130, 46]; part.setAttribute('fill', 'rgb(' + Math.round(lerp(c2[0], c1[0], hot)) + ',' + Math.round(lerp(c2[1], c1[1], hot)) + ',' + Math.round(lerp(c2[2], c1[2], hot)) + ')'); screw.setAttribute('transform', 'translate(' + (tip - TIP_F).toFixed(1) + ',0)'); melt.setAttribute('width', Math.max(0, tip - 600).toFixed(1)); fl.setAttribute('transform', 'translate(' + flOff.toFixed(1) + ',0)'); var pulse = si === 3 ? 0.55 + 0.45 * Math.abs(Math.sin(T * 3)) : 1; for (i = 0; i < cw.length; i++) cw[i].style.opacity = pulse.toFixed(2); clampA.style.opacity = cl; press.style.opacity = pr ? 1 : 0; pressT.textContent = si === 2 ? 'hold pressure' : 'injection pressure'; rot.style.opacity = rt; stg.textContent = 'Stage ' + (si + 1) + ' of 6 \u00b7 ' + ST[si].n; stg.setAttribute('fill', ST[si].c); q('.imc-clock').textContent = T.toFixed(1) + ' s \/ ' + TOT.toFixed(1) + ' s'; q('.imc-tl i').style.left = (T \/ TOT * 100) + '%'; if (si !== cur) { cur = si; var cards = root.querySelectorAll('.imc-st'); for (i = 0; i < cards.length; i++) cards[i].style.display = +cards[i].getAttribute('data-s') === si ? 'block' : 'none'; } } function frame(ts) { if (playing) { if (last !== null) { T += (ts - last) \/ 1000 * (+q('.imc-speed').value); if (T >= TOT) T = T % TOT; draw(); } last = ts; } else last = null; if (pinned !== null) show(pinned, true); requestAnimationFrame(frame); } var btn = q('.imc-play'); function setPlay(on) { playing = on; btn.innerHTML = on ? '&#10074;&#10074; Pause' : '&#9654; Play'; } btn.addEventListener('click', function () { setPlay(!playing); }); var tlEl = q('.imc-tl'); function seek(ev) { var r = tlEl.getBoundingClientRect(), x = (ev.touches ? ev.touches[0].clientX : ev.clientX) - r.left; T = clamp(x \/ r.width, 0, 0.9999) * TOT; draw(); } var drag = false; tlEl.addEventListener('mousedown', function (e) { drag = true; setPlay(false); seek(e); }); window.addEventListener('mousemove', function (e) { if (drag) seek(e); }); window.addEventListener('mouseup', function () { drag = false; }); tlEl.addEventListener('touchstart', function (e) { setPlay(false); seek(e); }, { passive: true }); tlEl.addEventListener('touchmove', function (e) { seek(e); }, { passive: true }); var ins = root.querySelectorAll('[data-k]'); for (var i = 0; i < ins.length; i++) { ins[i].addEventListener('input', model); ins[i].addEventListener('change', model); } \/* ---------- tooltip (screen-space boxes, works on moving parts) ---------- *\/ var els = svg.querySelectorAll('[data-p]'), pinned = null; function part0(n) { for (var i = 0; i < PARTS.length; i++) if (String(PARTS[i].n) === String(n)) return PARTS[i]; return null; } function show(n, quiet) { var p = part0(n); if (!p) return; var w = stage.getBoundingClientRect(), x1 = 1e9, y1 = 1e9, x2 = -1e9, y2 = -1e9, bx = 0, by = 0; for (var i = 0; i < els.length; i++) { var on = els[i].getAttribute('data-p') === String(n); if (!quiet) els[i].style.opacity = on ? '1' : '0.18'; if (!on) continue; var b = els[i].getBoundingClientRect(); if (!b.width && !b.height) continue; x1 = Math.min(x1, b.left); y1 = Math.min(y1, b.top); x2 = Math.max(x2, b.right); y2 = Math.max(y2, b.bottom); var c = els[i].querySelector('circle[r=\"11\"]'); if (c) { var cb = c.getBoundingClientRect(); bx = cb.left + cb.width \/ 2; by = cb.top + cb.height \/ 2; } } if (!quiet) { tip.innerHTML = '<div class=\"h\"><span class=\"tw-ms-num\"><\/span><span class=\"nm\"><\/span><\/div><p><\/p>'; tip.querySelector('.tw-ms-num').textContent = p.n; tip.querySelector('.nm').textContent = p.name; tip.querySelector('p').textContent = p.fn; } var L = x1 - w.left, Tt = y1 - w.top, R = x2 - w.left, B = y2 - w.top, W = w.width, H = w.height, gap = 10, m = 6; bx -= w.left; by -= w.top; tip.style.display = 'block'; tip.style.width = Math.min(250, W - 2 * m) + 'px'; var tw = tip.offsetWidth, th = tip.offsetHeight, order = bx < W \/ 2 ? ['r', 'l', 'b', 't'] : ['l', 'r', 'b', 't'], pos = null; function at(sd) { if (sd === 'l') return { x: L - gap - tw, y: clamp(by - th \/ 2, m, H - th - m), ok: L - gap - tw >= m }; if (sd === 'r') return { x: R + gap, y: clamp(by - th \/ 2, m, H - th - m), ok: R + gap + tw <= W - m }; if (sd === 'b') return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: B + gap, ok: B + gap + th <= H - m }; return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: Tt - gap - th, ok: Tt - gap - th >= m }; } for (i = 0; i < order.length && !pos; i++) { var cc = at(order[i]); if (cc.ok) pos = cc; } if (!pos) { var sp = { l: L - tw, r: W - R - tw, t: Tt - th, b: H - B - th }, best = 'b'; for (var key in sp) if (sp[key] > sp[best]) best = key; pos = at(best); } tip.style.left = clamp(pos.x, m, W - tw - m) + 'px'; tip.style.top = clamp(pos.y, m, H - th - m) + 'px'; } function hide() { for (var i = 0; i < els.length; i++) els[i].style.opacity = ''; tip.style.display = 'none'; } for (i = 0; i < els.length; i++) { (function (el) { var n = el.getAttribute('data-p'); el.addEventListener('mouseenter', function () { if (pinned === null) show(n); }); el.addEventListener('mouseleave', function () { if (pinned === null) hide(); }); el.addEventListener('click', function (e) { e.stopPropagation(); if (pinned === n) { pinned = null; hide(); } else { pinned = n; setPlay(false); show(n); } }); })(els[i]); } svg.addEventListener('click', function () { pinned = null; hide(); }); \/* start only when visible *\/ model(); if ('IntersectionObserver' in window) { setPlay(false); var io = new IntersectionObserver(function (en) { if (en[0].isIntersecting) { setPlay(true); io.disconnect(); } }, { threshold: 0.3 }); io.observe(stage); } requestAnimationFrame(frame); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twimce64960\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this animation on your site<\/strong><button type=\"button\" class=\"twimce-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-im-cycle&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_im_cycle_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:1050px&quot; loading=&quot;lazy&quot; title=&quot;Injection Molding Cycle - Interactive Animation&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_im_cycle&quot;){var f=document.getElementById(&quot;tw-im-cycle&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Injection molding cycle animation by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twimce64960'); if (!box) return; var btn = box.querySelector('.twimce-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><div class=\"tw-rot\" id=\"twrot35257\"><style> #twrot35257{max-width:1000px;margin:24px auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif;color:#1f2a37;line-height:1.5} #twrot35257 h3{margin:0 0 4px;font-size:21px;line-height:1.3;color:#1e3a5f} #twrot35257 .rot-sub{margin:0 0 12px;font-size:13.5px;color:#5b6b7f} #twrot35257 .tw-ms-stage{position:relative;background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;overflow:hidden} #twrot35257 .tw-ms-stage svg{display:block;width:100%;height:auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twrot35257 .tw-ms-stage svg [data-p]{cursor:pointer;transition:opacity .15s} #twrot35257 .tw-ms-tip{position:absolute;display:none;z-index:5;box-sizing:border-box;background:#ffffff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.45;pointer-events:none;box-shadow:0 4px 14px rgba(30,58,95,.12)} #twrot35257 .tw-ms-tip .h{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-weight:700;color:#1e3a5f} #twrot35257 .tw-ms-tip p{margin:0;color:#374151} #twrot35257 .tw-ms-num{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#1e3a5f;color:#ffffff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center} #twrot35257 .rot-ctl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 8px} #twrot35257 .rot-play{background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;min-width:104px} #twrot35257 .rot-ctl select{padding:7px 8px;font-size:13px;border:1px solid #c9d3df;border-radius:6px;background:#ffffff} #twrot35257 .rot-clock{margin-left:auto;font-size:13px;font-weight:700;color:#1e3a5f} #twrot35257 .rot-tl{position:relative;display:flex;height:38px;border-radius:6px;overflow:hidden;border:1px solid #dfe5ec;cursor:pointer;user-select:none} #twrot35257 .rot-tl div{display:flex;align-items:center;justify-content:center;color:#ffffff;font-size:11.5px;font-weight:700;white-space:nowrap;overflow:hidden;min-width:0;border-right:1px solid rgba(255,255,255,.5);line-height:1.15;text-align:center} #twrot35257 .rot-tl i{position:absolute;top:-2px;bottom:-2px;width:3px;margin-left:-1px;background:#1f2a37;pointer-events:none} #twrot35257 .rot-chart{margin:10px 0 0;background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;padding:8px 10px 4px} #twrot35257 .rot-chart svg{display:block;width:100%;height:auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twrot35257 .rot-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 0} #twrot35257 .rot-card{background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;padding:12px 14px} #twrot35257 .rot-ct{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5b6b7f;margin:0 0 8px} #twrot35257 .rot-in{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px} #twrot35257 .rot-in label{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:#5b6b7f} #twrot35257 .rot-in b{color:#1e3a5f} #twrot35257 .rot-in input[type=range]{width:100%;accent-color:#1e3a5f;margin:0} #twrot35257 .rot-in select{padding:6px 8px;font-size:13px;border:1px solid #c9d3df;border-radius:6px;background:#ffffff} #twrot35257 .rot-res{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 8px} #twrot35257 .rot-res div{background:#f3f6fa;border-radius:6px;padding:8px 9px;font-size:11.5px;color:#5b6b7f;font-weight:600} #twrot35257 .rot-res b{display:block;font-size:17px;color:#1e3a5f} #twrot35257 .rot-warn{list-style:none;margin:0;padding:0} #twrot35257 .rot-warn li{display:flex;gap:8px;font-size:13px;line-height:1.4;margin:0 0 5px} #twrot35257 .rot-warn b{flex:0 0 18px;height:18px;border-radius:50%;color:#ffffff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px} #twrot35257 .rot-st h4{margin:0 0 4px;font-size:17px;color:#1e3a5f;display:flex;align-items:center;gap:8px} #twrot35257 .rot-st h4 i{width:12px;height:12px;border-radius:3px;display:inline-block} #twrot35257 .rot-st p{margin:0 0 8px;font-size:13.5px} #twrot35257 .rot-st ul{margin:0 0 8px;padding:0 0 0 18px;font-size:13px} #twrot35257 .rot-st .w{font-size:13px;color:#b91c1c;margin:0} #twrot35257 .rot-note{font-size:12px;color:#5b6b7f;margin:10px 0 0} #twrot35257 .rot-cmp{overflow-x:auto;margin:16px 0 0} #twrot35257 .rot-cmp table{width:100%;min-width:640px;border-collapse:collapse;font-size:13px} #twrot35257 .rot-cmp th,#twrot35257 .rot-cmp td{border:1px solid #dfe5ec;padding:7px 9px;text-align:left;vertical-align:top} #twrot35257 .rot-cmp thead th{background:#1e3a5f;color:#ffffff;font-weight:600} #twrot35257 .rot-cmp tbody th{background:#f3f6fa;color:#1e3a5f;font-weight:600;white-space:nowrap} @media (max-width:820px){#twrot35257 .rot-2{grid-template-columns:1fr}#twrot35257 .rot-res{grid-template-columns:1fr 1fr}} @media (max-width:520px){#twrot35257 .rot-in{grid-template-columns:1fr}#twrot35257 .rot-tl div{font-size:0}#twrot35257 .tw-ms-tip{font-size:12px;padding:7px 9px}} <\/style><h3>Rotational Molding Cycle &ndash; Step by Step<\/h3><p class=\"rot-sub\">Watch powder turn into a hollow part on a carousel rotomolding machine, follow the internal air temperature curve, and change wall thickness, resin and part size to see the cycle time and powder charge. Hover or tap any number on the drawing.<\/p><div class=\"tw-ms-stage\"><svg viewBox=\"0 0 1000 360\" role=\"img\" aria-label=\"Animated rotational molding cycle: powder loading, oven heating with biaxial rotation, cooling and unloading on a three-arm carousel\"><defs><pattern id=\"twrot35257-h\" width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"8\" height=\"8\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"#5b6b7f\" stroke-width=\"0.6\" stroke-opacity=\"0.35\"\/><\/pattern><pattern id=\"twrot35257-p\" width=\"7\" height=\"7\" patternUnits=\"userSpaceOnUse\"><rect width=\"7\" height=\"7\" fill=\"#eef1f5\"\/><circle cx=\"2\" cy=\"2\" r=\"1.3\" fill=\"#9aa8b8\"\/><circle cx=\"5.5\" cy=\"5\" r=\"1.1\" fill=\"#b8c2cf\"\/><\/pattern><clipPath id=\"twrot35257-c\"><rect class=\"rot-clip\" x=\"-142\" y=\"-82\" width=\"284\" height=\"164\" transform=\"translate(320,190) scale(0.84)\"\/><\/clipPath><marker id=\"twrot35257-a\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"#1e3a5f\"\/><\/marker><\/defs><rect width=\"1000\" height=\"360\" fill=\"#ffffff\"\/><g class=\"rot-s0\"><rect x=\"30\" y=\"34\" width=\"600\" height=\"300\" rx=\"6\" fill=\"#f3f6fa\" stroke=\"#dfe5ec\"\/><text x=\"44\" y=\"56\" font-size=\"12\" font-weight=\"700\" fill=\"#5b6b7f\">LOAD \/ UNLOAD STATION<\/text><\/g><g class=\"rot-s1\" style=\"display:none\" data-p=\"7\"><rect x=\"30\" y=\"34\" width=\"600\" height=\"300\" rx=\"6\" fill=\"#fdebd6\" stroke=\"#f0b27a\"\/><text x=\"44\" y=\"56\" font-size=\"12\" font-weight=\"700\" fill=\"#b45309\">OVEN &#183; hot air 280&#8211;320 &#176;C<\/text><path d=\"M60,332 q8,-16 0,-24 q14,10 10,24 z\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><path d=\"M105,332 q8,-16 0,-24 q14,10 10,24 z\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><path d=\"M150,332 q8,-16 0,-24 q14,10 10,24 z\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><path d=\"M195,332 q8,-16 0,-24 q14,10 10,24 z\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><path d=\"M240,332 q8,-16 0,-24 q14,10 10,24 z\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><path d=\"M285,332 q8,-16 0,-24 q14,10 10,24 z\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><path d=\"M330,332 q8,-16 0,-24 q14,10 10,24 z\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><path d=\"M375,332 q8,-16 0,-24 q14,10 10,24 z\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><path d=\"M420,332 q8,-16 0,-24 q14,10 10,24 z\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><path d=\"M465,332 q8,-16 0,-24 q14,10 10,24 z\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><path d=\"M510,332 q8,-16 0,-24 q14,10 10,24 z\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><path d=\"M555,332 q8,-16 0,-24 q14,10 10,24 z\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><path d=\"M600,332 q8,-16 0,-24 q14,10 10,24 z\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><g class=\"rot-waves\" fill=\"none\" stroke=\"#e07b12\" stroke-width=\"1.5\" opacity=\"0.6\"><path d=\"M70,300 q6,-10 0,-20 q-6,-10 0,-20 q6,-10 0,-20\"\/><path d=\"M160,300 q6,-10 0,-20 q-6,-10 0,-20 q6,-10 0,-20\"\/><path d=\"M250,300 q6,-10 0,-20 q-6,-10 0,-20 q6,-10 0,-20\"\/><path d=\"M340,300 q6,-10 0,-20 q-6,-10 0,-20 q6,-10 0,-20\"\/><path d=\"M430,300 q6,-10 0,-20 q-6,-10 0,-20 q6,-10 0,-20\"\/><path d=\"M520,300 q6,-10 0,-20 q-6,-10 0,-20 q6,-10 0,-20\"\/><\/g><\/g><g class=\"rot-s2\" style=\"display:none\" data-p=\"8\"><rect x=\"30\" y=\"34\" width=\"600\" height=\"300\" rx=\"6\" fill=\"#e3eefb\" stroke=\"#9fc4f2\"\/><text x=\"44\" y=\"56\" font-size=\"12\" font-weight=\"700\" fill=\"#1d5fb3\">COOLING STATION &#183; fans + water mist<\/text><g class=\"rot-fan\" data-cx=\"84\" data-cy=\"96\"><circle cx=\"84\" cy=\"96\" r=\"22\" fill=\"#ffffff\" stroke=\"#5b8fd6\"\/><path d=\"M84,96 q16,6 15.6,9 z\" fill=\"#9fc4f2\" stroke=\"#5b8fd6\" stroke-width=\"0.8\"\/><path d=\"M84,96 q-6,16 -9,15.6 z\" fill=\"#9fc4f2\" stroke=\"#5b8fd6\" stroke-width=\"0.8\"\/><path d=\"M84,96 q-16,-6 -15.6,-9 z\" fill=\"#9fc4f2\" stroke=\"#5b8fd6\" stroke-width=\"0.8\"\/><path d=\"M84,96 q6,-16 9,-15.6 z\" fill=\"#9fc4f2\" stroke=\"#5b8fd6\" stroke-width=\"0.8\"\/><\/g><g class=\"rot-fan\" data-cx=\"576\" data-cy=\"96\"><circle cx=\"576\" cy=\"96\" r=\"22\" fill=\"#ffffff\" stroke=\"#5b8fd6\"\/><path d=\"M576,96 q16,6 15.6,9 z\" fill=\"#9fc4f2\" stroke=\"#5b8fd6\" stroke-width=\"0.8\"\/><path d=\"M576,96 q-6,16 -9,15.6 z\" fill=\"#9fc4f2\" stroke=\"#5b8fd6\" stroke-width=\"0.8\"\/><path d=\"M576,96 q-16,-6 -15.6,-9 z\" fill=\"#9fc4f2\" stroke=\"#5b8fd6\" stroke-width=\"0.8\"\/><path d=\"M576,96 q6,-16 9,-15.6 z\" fill=\"#9fc4f2\" stroke=\"#5b8fd6\" stroke-width=\"0.8\"\/><\/g><g class=\"rot-mist\" fill=\"#5b8fd6\" opacity=\"0.7\"><circle cx=\"60\" cy=\"80\" r=\"1.8\"\/><circle cx=\"157\" cy=\"133\" r=\"1.8\"\/><circle cx=\"254\" cy=\"186\" r=\"1.8\"\/><circle cx=\"351\" cy=\"239\" r=\"1.8\"\/><circle cx=\"448\" cy=\"292\" r=\"1.8\"\/><circle cx=\"545\" cy=\"115\" r=\"1.8\"\/><circle cx=\"102\" cy=\"168\" r=\"1.8\"\/><circle cx=\"199\" cy=\"221\" r=\"1.8\"\/><circle cx=\"296\" cy=\"274\" r=\"1.8\"\/><circle cx=\"393\" cy=\"97\" r=\"1.8\"\/><circle cx=\"490\" cy=\"150\" r=\"1.8\"\/><circle cx=\"587\" cy=\"203\" r=\"1.8\"\/><circle cx=\"144\" cy=\"256\" r=\"1.8\"\/><circle cx=\"241\" cy=\"309\" r=\"1.8\"\/><circle cx=\"338\" cy=\"132\" r=\"1.8\"\/><circle cx=\"435\" cy=\"185\" r=\"1.8\"\/><circle cx=\"532\" cy=\"238\" r=\"1.8\"\/><circle cx=\"89\" cy=\"291\" r=\"1.8\"\/><circle cx=\"186\" cy=\"114\" r=\"1.8\"\/><circle cx=\"283\" cy=\"167\" r=\"1.8\"\/><circle cx=\"380\" cy=\"220\" r=\"1.8\"\/><circle cx=\"477\" cy=\"273\" r=\"1.8\"\/><circle cx=\"574\" cy=\"96\" r=\"1.8\"\/><circle cx=\"131\" cy=\"149\" r=\"1.8\"\/><circle cx=\"228\" cy=\"202\" r=\"1.8\"\/><circle cx=\"325\" cy=\"255\" r=\"1.8\"\/><\/g><\/g><g data-p=\"4\"><rect x=\"320\" y=\"184\" width=\"330\" height=\"12\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"636\" y=\"170\" width=\"28\" height=\"40\" rx=\"3\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"9\" class=\"rot-ax\"><ellipse cx=\"560\" cy=\"190\" rx=\"10\" ry=\"30\" fill=\"none\" stroke=\"#1e3a5f\" stroke-width=\"1.8\" stroke-dasharray=\"6 5\" class=\"rot-axe\"\/><text x=\"560\" y=\"240\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">major axis<\/text><path d=\"M470,94 A118,118 0 0 1 528,128\" fill=\"none\" stroke=\"#1e3a5f\" stroke-width=\"1.8\" marker-end=\"url(#twrot35257-a)\"\/><text x=\"512\" y=\"96\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\">minor axis<\/text><\/g><g class=\"rot-int\" transform=\"translate(320,190) scale(0.84)\"><rect x=\"-142\" y=\"0\" width=\"284\" height=\"82\" fill=\"#ffffff\"\/><rect class=\"rot-intt\" x=\"-142\" y=\"-82\" width=\"284\" height=\"82\" fill=\"#ffffff\"\/><\/g><g data-p=\"5\"><rect class=\"rot-pool\" x=\"150\" y=\"270\" width=\"340\" height=\"0\" fill=\"url(#twrot35257-p)\" clip-path=\"url(#twrot35257-c)\"\/><\/g><g class=\"rot-mold\" transform=\"translate(320,190) scale(0.84)\"><g class=\"rot-bot\"><g data-p=\"1\"><path d=\"M-150,0 V80 Q-150,90 -140,90 H140 Q150,90 150,80 V0 Z M-142,0 V82 H142 V0 Z\" fill=\"url(#twrot35257-h)\" fill-rule=\"evenodd\"\/><path d=\"M-150,0 V80 Q-150,90 -140,90 H140 Q150,90 150,80 V0 M-142,0 V82 H142 V0\" fill=\"none\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"2\"><rect x=\"-164\" y=\"0\" width=\"14\" height=\"6\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"150\" y=\"0\" width=\"14\" height=\"6\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"-168\" y=\"-8\" width=\"8\" height=\"18\" fill=\"#5b6b7f\"\/><rect x=\"160\" y=\"-8\" width=\"8\" height=\"18\" fill=\"#5b6b7f\"\/><\/g><g class=\"rot-part\"><g data-p=\"6\" class=\"rot-lay\"><path class=\"rot-layp\" d=\"\" fill=\"#f2a33c\" fill-rule=\"evenodd\" stroke=\"#b9771f\" stroke-width=\"0.6\"\/><\/g><\/g><\/g><g class=\"rot-top\"><g data-p=\"1\"><path d=\"M-150,0 V-80 Q-150,-90 -140,-90 H140 Q150,-90 150,-80 V0 Z M-142,0 V-82 H142 V0 Z\" fill=\"url(#twrot35257-h)\" fill-rule=\"evenodd\"\/><path d=\"M-150,0 V-80 Q-150,-90 -140,-90 H140 Q150,-90 150,-80 V0 M-142,0 V-82 H142 V0\" fill=\"none\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"2\"><rect x=\"-164\" y=\"-6\" width=\"14\" height=\"6\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"150\" y=\"-6\" width=\"14\" height=\"6\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"3\"><rect x=\"60\" y=\"-110\" width=\"10\" height=\"30\" fill=\"#c9d3de\" stroke=\"#5b6b7f\"\/><rect x=\"63\" y=\"-82\" width=\"4\" height=\"18\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"0.8\"\/><\/g><\/g><circle cx=\"0\" cy=\"0\" r=\"4\" fill=\"#5b6b7f\"\/><\/g><g data-p=\"5\"><rect class=\"rot-stream\" x=\"314\" y=\"66\" width=\"12\" height=\"0\" fill=\"url(#twrot35257-p)\"\/><\/g><g class=\"rot-scoop\"><path d=\"M286,40 h68 l-14,26 h-40 z\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"11\"><rect x=\"680\" y=\"34\" width=\"290\" height=\"300\" rx=\"6\" fill=\"#fbfcfe\" stroke=\"#dfe5ec\"\/><text x=\"825\" y=\"56\" font-size=\"12\" font-weight=\"700\" fill=\"#5b6b7f\" text-anchor=\"middle\">3-ARM CAROUSEL<\/text><rect x=\"770\" y=\"282\" width=\"110\" height=\"34\" rx=\"4\" fill=\"#f3f6fa\" stroke=\"#9aa8b8\"\/><text x=\"825\" y=\"303\" font-size=\"10.5\" font-weight=\"700\" fill=\"#5b6b7f\" text-anchor=\"middle\">Load \/ Unload<\/text><rect x=\"880\" y=\"96\" width=\"80\" height=\"44\" rx=\"4\" fill=\"#fdebd6\" stroke=\"#f0b27a\"\/><text x=\"920\" y=\"122\" font-size=\"10.5\" font-weight=\"700\" fill=\"#b45309\" text-anchor=\"middle\">Oven<\/text><rect x=\"690\" y=\"96\" width=\"80\" height=\"44\" rx=\"4\" fill=\"#e3eefb\" stroke=\"#9fc4f2\"\/><text x=\"730\" y=\"122\" font-size=\"10.5\" font-weight=\"700\" fill=\"#1d5fb3\" text-anchor=\"middle\">Cooling<\/text><g class=\"rot-car\" transform=\"rotate(0,825,190)\"><line x1=\"825\" y1=\"190\" x2=\"825\" y2=\"256\" stroke=\"#5b6b7f\" stroke-width=\"5\"\/><rect x=\"813\" y=\"247\" width=\"24\" height=\"18\" rx=\"3\" fill=\"#f2a33c\" stroke=\"#b9771f\"\/><line x1=\"825\" y1=\"190\" x2=\"767.8\" y2=\"157\" stroke=\"#5b6b7f\" stroke-width=\"5\"\/><rect x=\"755.8\" y=\"148\" width=\"24\" height=\"18\" rx=\"3\" fill=\"#c9d3de\" stroke=\"#5b6b7f\"\/><line x1=\"825\" y1=\"190\" x2=\"882.2\" y2=\"157\" stroke=\"#5b6b7f\" stroke-width=\"5\"\/><rect x=\"870.2\" y=\"148\" width=\"24\" height=\"18\" rx=\"3\" fill=\"#c9d3de\" stroke=\"#5b6b7f\"\/><\/g><circle cx=\"825\" cy=\"190\" r=\"10\" fill=\"#5b6b7f\"\/><text x=\"825\" y=\"74\" font-size=\"10\" fill=\"#5b6b7f\" text-anchor=\"middle\">orange = the arm shown<\/text><\/g><text class=\"rot-stg\" x=\"616\" y=\"56\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"end\">Stage<\/text><g data-p=\"1\"><line x1=\"91\" y1=\"130.9\" x2=\"196\" y2=\"140\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"196\" cy=\"140\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"80\" cy=\"130\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"80\" y=\"134\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><line x1=\"90.4\" y1=\"226.3\" x2=\"182\" y2=\"194\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"182\" cy=\"194\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"80\" cy=\"230\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"80\" y=\"234\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"420.1\" y1=\"74.7\" x2=\"392\" y2=\"88\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"392\" cy=\"88\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"430\" cy=\"70\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"430\" y=\"74\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"610\" y1=\"161\" x2=\"610\" y2=\"184\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"610\" cy=\"184\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"610\" cy=\"150\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"610\" y=\"154\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"119.8\" y1=\"295.1\" x2=\"210\" y2=\"250\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"210\" cy=\"250\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"110\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"110\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"491\" y1=\"293.6\" x2=\"430\" y2=\"250\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"430\" cy=\"250\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"500\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"500\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"9\"><line x1=\"595.2\" y1=\"290.1\" x2=\"562\" y2=\"222\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"562\" cy=\"222\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"600\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"600\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"11\"><line x1=\"939.9\" y1=\"274.5\" x2=\"905\" y2=\"290\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"905\" cy=\"290\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"950\" cy=\"270\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"950\" y=\"274\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><g data-p=\"7\" class=\"rot-b7\" style=\"display:none\"><circle cx=\"400\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"400\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\" class=\"rot-b8\" style=\"display:none\"><line x1=\"95\" y1=\"111\" x2=\"88\" y2=\"118\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"114\" cy=\"132\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"114\" y=\"136\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"10\" class=\"rot-b10\" style=\"display:none\"><circle cx=\"440\" cy=\"120\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"440\" y=\"124\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><div class=\"rot-ctl\"><button type=\"button\" class=\"rot-play\">&#10074;&#10074; Pause<\/button><select class=\"rot-speed\" aria-label=\"Playback speed\"><option value=\"1\">1 min = 1 s<\/option><option value=\"2\" selected>1 min = 0.5 s<\/option><option value=\"4\">1 min = 0.25 s<\/option><\/select><span class=\"rot-clock\">0.0 min \/ 0.0 min<\/span><\/div><div class=\"rot-tl\" role=\"slider\" aria-label=\"Cycle timeline\"><i><\/i><\/div><div class=\"rot-chart\"><div class=\"rot-ct\" style=\"margin:2px 0 0\">Peak internal air temperature (PIAT) curve<\/div><svg class=\"rot-piat\" viewBox=\"0 0 1000 200\" role=\"img\" aria-label=\"Internal air temperature inside the mold over the cycle\"><\/svg><\/div><div class=\"rot-2\"><div class=\"rot-card\"><div class=\"rot-ct\">Your part<\/div><div class=\"rot-in\"><label><span>Wall thickness <b data-o=\"t\">5<\/b> mm<\/span><input type=\"range\" data-k=\"t\" min=\"2\" max=\"12\" step=\"0.5\" value=\"5\"><\/label><label><span>Resin<\/span><select data-k=\"r\"><option value=\"lldpe\">LLDPE<\/option><option value=\"hdpe\">HDPE<\/option><option value=\"pp\">PP<\/option><option value=\"pa6\">PA6 (Nylon)<\/option><\/select><\/label><label><span>Part surface area <b data-o=\"a\">2.5<\/b> m&#178;<\/span><input type=\"range\" data-k=\"a\" min=\"0.1\" max=\"30\" step=\"0.1\" value=\"2.5\"><\/label><label><span>Mold material<\/span><select data-k=\"m\"><option value=\"0.85\">Cast aluminum<\/option><option value=\"1\" selected>Sheet steel<\/option><\/select><\/label><\/div><div class=\"rot-res\"><div>Powder charge<b data-r=\"kg\">&#8211;<\/b><\/div><div>Cycle (one arm)<b data-r=\"tot\">&#8211;<\/b><\/div><div>Carousel pace<b data-r=\"car\">&#8211;<\/b><\/div><div>Parts \/ hour<b data-r=\"pph\">&#8211;<\/b><\/div><\/div><ul class=\"rot-warn\"><\/ul><\/div><div class=\"rot-card\"><div class=\"rot-st\" data-s=\"0\" style=\"display:block\"><h4><i style=\"background:#5b6b7f\"><\/i>1. Load Powder<\/h4><p>The open mold is charged with a weighed amount of powder, inserts are placed, and the mold is clamped shut.<\/p><ul><li>Charge weight = area x wall x density<\/li><li>Release agent condition<\/li><li>Inserts and vent tube in place<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Wrong charge weight gives thin or heavy walls; a blocked vent causes blow-outs.<\/p><\/div><div class=\"rot-st\" data-s=\"1\" style=\"display:none\"><h4><i style=\"background:#e07b12\"><\/i>2. Heat (Oven)<\/h4><p>The mold rotates on two axes inside the oven. Powder tumbles, sticks to the hot wall and melts into a layer until all of it has fused.<\/p><ul><li>Oven air temperature (about 280-320 C)<\/li><li>Oven time, set by peak internal air temperature (PIAT)<\/li><li>Rotation speeds and ratio<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Too short: bubbles, pin holes, low impact strength. Too long: yellowing and degraded resin.<\/p><\/div><div class=\"rot-st\" data-s=\"2\" style=\"display:none\"><h4><i style=\"background:#2f7de1\"><\/i>3. Cool<\/h4><p>The mold moves to the cooling station and keeps rotating while fans and water mist cool it. The plastic crystallizes and shrinks away from the mold wall.<\/p><ul><li>Air vs water mist cooling<\/li><li>Cooling rate (slower = flatter, faster = tougher)<\/li><li>Demold temperature<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Warping and shrink marks if cooled too fast or unevenly; long cycles if cooled too slowly.<\/p><\/div><div class=\"rot-st\" data-s=\"3\" style=\"display:none\"><h4><i style=\"background:#15803d\"><\/i>4. Unload<\/h4><p>The mold returns to the load station, opens, and the part is removed. The mold is cleaned and charged again.<\/p><ul><li>Demold at about 60-90 C internal air<\/li><li>Part removal and trimming of vent hole<\/li><li>Release agent touch-up<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Distorted parts if demolded too hot; sticking if the release agent is worn.<\/p><\/div><\/div><\/div><p class=\"rot-note\">Typical estimates for planning only. Oven time is taken as about 3 min per mm of wall for polyethylene in a sheet-steel mold, adjusted for resin and mold material; cooling as about 1.1 &#215; oven time; load and unload grow with part size. Real cycles are set on the machine by measuring PIAT with a data logger.<\/p><div class=\"rot-cmp\"><table><thead><tr><th><\/th><th>Rotational Molding<\/th><th>Blow Molding<\/th><th>Injection Molding<\/th><\/tr><\/thead><tbody><tr><th>Part type<\/th><td>Large hollow one-piece parts<\/td><td>Hollow bottles and containers<\/td><td>Solid parts, complex detail<\/td><\/tr><tr><th>Size range<\/th><td>Up to 50,000 L tanks<\/td><td>Few ml to about 1,000 L<\/td><td>Up to about 1-2 m<\/td><\/tr><tr><th>Pressure<\/th><td>None<\/td><td>Air, about 4-8 bar<\/td><td>Very high, 500-1,500 bar<\/td><\/tr><tr><th>Tooling cost<\/th><td>Lowest<\/td><td>Medium<\/td><td>Highest<\/td><\/tr><tr><th>Cycle time<\/th><td>20-60 min<\/td><td>Seconds to minutes<\/td><td>Seconds<\/td><\/tr><tr><th>Wall<\/th><td>Uniform, stress-free, thick corners<\/td><td>Thinner at corners and handles<\/td><td>Exactly as designed<\/td><\/tr><tr><th>Best volume<\/th><td>Low to medium (10s to 1,000s)<\/td><td>High<\/td><td>High<\/td><\/tr><tr><th>Typical products<\/th><td>Water tanks, kayaks, bins, traffic barriers<\/td><td>Bottles, jerry cans, drums<\/td><td>Housings, caps, technical parts<\/td><\/tr><\/tbody><\/table><\/div><script> (function () { var root = document.getElementById('twrot35257'); if (!root) return; var PARTS = [{\"n\":1,\"name\":\"Mold Shell\",\"fn\":\"Thin cast-aluminum or sheet-steel shell. No pressure is involved, so molds are light and much cheaper than injection or blow molds.\"},{\"n\":2,\"name\":\"Parting Line & Clamps\",\"fn\":\"The mold opens at the flanges to load powder and remove the part. Clamps hold the halves together while the mold rotates.\"},{\"n\":3,\"name\":\"Vent Tube\",\"fn\":\"Lets air in and out as it heats and cools. Without it, pressure builds up and the part blows out or caves in at the parting line.\"},{\"n\":4,\"name\":\"Arm & Spindle\",\"fn\":\"Carries the mold through the stations and drives both rotation axes.\"},{\"n\":5,\"name\":\"Powder Charge\",\"fn\":\"Pre-weighed polymer powder (typically 35 mesh). Charge weight = surface area x wall thickness x density.\"},{\"n\":6,\"name\":\"Wall Layer\",\"fn\":\"Powder sticks to the hot mold wall and melts layer by layer, building a seamless, stress-free wall.\"},{\"n\":7,\"name\":\"Oven\",\"fn\":\"Hot air at about 280-320 C heats the mold from the outside while it rotates.\"},{\"n\":8,\"name\":\"Cooling Station\",\"fn\":\"Fans and water mist cool the mold while it keeps rotating, so the wall stays even and the part does not sag.\"},{\"n\":9,\"name\":\"Biaxial Rotation\",\"fn\":\"The mold turns slowly about two axes at once (often a 4:1 to 8:1 speed ratio) so powder reaches every surface.\"},{\"n\":10,\"name\":\"Molded Part\",\"fn\":\"Hollow, one-piece part with uniform wall and no weld lines - tanks, kayaks, bins, playground parts.\"},{\"n\":11,\"name\":\"Carousel Machine\",\"fn\":\"Three arms share one oven, one cooling station and one load\\\/unload station, so all three stations work at the same time.\"}], ST = [{\"n\":\"Load Powder\",\"c\":\"#5b6b7f\"},{\"n\":\"Heat (Oven)\",\"c\":\"#e07b12\"},{\"n\":\"Cool\",\"c\":\"#2f7de1\"},{\"n\":\"Unload\",\"c\":\"#15803d\"}]; var RES = {}; RES[\"lldpe\"]={n:\"LLDPE\",melt:125,peak:200,cry:110,dem:70,f:1,rho:0.935};RES[\"hdpe\"]={n:\"HDPE\",melt:130,peak:210,cry:115,dem:75,f:1.1,rho:0.95};RES[\"pp\"]={n:\"PP\",melt:165,peak:230,cry:120,dem:80,f:1.25,rho:0.9};RES[\"pa6\"]={n:\"PA6 (Nylon)\",melt:220,peak:255,cry:185,dem:90,f:1.4,rho:1.13}; var stage = root.querySelector('.tw-ms-stage'), svg = stage.querySelector('svg'), tip = stage.querySelector('.tw-ms-tip'); function q(s) { return root.querySelector(s); } function clamp(v, a, b) { return Math.max(a, Math.min(b, v)); } function ease(p) { return p < 0.5 ? 2 * p * p : 1 - Math.pow(-2 * p + 2, 2) \/ 2; } function lerp(a, b, p) { return a + (b - a) * p; } \/* ---------- model ---------- *\/ var D = [], TOT = 0, R = null, PTS = []; function model() { var v = {}, ins = root.querySelectorAll('[data-k]'); for (var i = 0; i < ins.length; i++) { v[ins[i].getAttribute('data-k')] = ins[i].value; var o = q('[data-o=\"' + ins[i].getAttribute('data-k') + '\"]'); if (o) o.textContent = ins[i].value; } var t = parseFloat(v.t), a = parseFloat(v.a), fm = parseFloat(v.m); R = RES[v.r]; var heat = t * 3.0 * R.f * fm + Math.min(6, a * 0.4), cool = heat * 1.1, lu = clamp(3 + a * 0.6, 3, 20); D = [lu * 0.45, heat, cool, lu * 0.55]; TOT = D[0] + D[1] + D[2] + D[3]; var kg = a * t * R.rho, pace = Math.max(lu, heat, cool); q('[data-r=\"kg\"]').textContent = (kg < 10 ? kg.toFixed(1) : Math.round(kg)) + ' kg'; q('[data-r=\"tot\"]').textContent = TOT.toFixed(0) + ' min'; q('[data-r=\"car\"]').textContent = pace.toFixed(0) + ' min'; q('[data-r=\"pph\"]').textContent = (60 \/ pace).toFixed(1); var w = [], lim = pace === cool ? 'Cooling' : pace === heat ? 'The oven' : 'Load \/ unload'; w.push(['info', lim + ' (' + pace.toFixed(0) + ' min) is the longest station, so a 3-arm carousel makes one part every ' + pace.toFixed(0) + ' min']); w.push(['info', 'Target peak internal air temperature about ' + R.peak + ' &#176;C for ' + R.n + ': lower leaves bubbles and weak impact, higher yellows the resin']); if (t > 9) w.push(['warn', 'Very thick wall: long oven and cooling times &#8211; consider ribs, kiss-offs or a foamed core instead']); if (v.r === 'pa6') w.push(['warn', 'Nylon needs a nitrogen purge inside the mold to stop oxidation']); if (v.r === 'pp') w.push(['warn', 'PP shrinks more and warps easily &#8211; cool slowly and evenly']); if (fm < 1) w.push(['ok', 'Cast aluminum heats faster than sheet steel and gives finer surface detail']); var ic = { ok: ['#15803d', '&#10003;'], warn: ['#d97706', '!'], info: ['#5b6b7f', 'i'] }, h = ''; for (i = 0; i < w.length; i++) h += '<li><b style=\"background:' + ic[w[i][0]][0] + '\">' + ic[w[i][0]][1] + '<\/b><span>' + w[i][1] + '<\/span><\/li>'; q('.rot-warn').innerHTML = h; var tl = q('.rot-tl'), hh = ''; for (i = 0; i < 4; i++) hh += '<div style=\"flex:' + D[i] + ' 1 0;background:' + ST[i].c + '\" title=\"' + ST[i].n + ' ' + D[i].toFixed(1) + ' min\">' + (D[i] \/ TOT > 0.08 ? ST[i].n.split(' ')[0] + '<br>' + D[i].toFixed(1) + ' min' : '') + '<\/div>'; tl.innerHTML = hh + '<i><\/i>'; \/* PIAT curve *\/ var L = D[0], H = L + D[1], C = H + D[2]; PTS = [[0, 25], [L, 28], [L + D[1] * 0.38, R.melt], [L + D[1] * 0.62, R.melt + 14], [H, R.peak], [H + D[2] * 0.22, R.cry + 6], [H + D[2] * 0.45, R.cry], [C, R.dem], [C + D[3] * 0.4, 45], [TOT, 30]]; chart(); T = Math.min(T, TOT - 0.001); draw(); } function piat(t) { for (var i = 1; i < PTS.length; i++) if (t <= PTS[i][0]) { var a = PTS[i - 1], b = PTS[i]; return lerp(a[1], b[1], (t - a[0]) \/ Math.max(b[0] - a[0], 1e-6)); } return PTS[PTS.length - 1][1]; } var X0 = 60, X1 = 980, Y0 = 176, Y1 = 18; function cx(t) { return X0 + t \/ TOT * (X1 - X0); } function cy(c) { return Y0 - c \/ 300 * (Y0 - Y1); } function chart() { var s = '', acc = 0, i; for (i = 0; i < 4; i++) { s += '<rect x=\"' + cx(acc).toFixed(1) + '\" y=\"' + Y1 + '\" width=\"' + (cx(acc + D[i]) - cx(acc)).toFixed(1) + '\" height=\"' + (Y0 - Y1) + '\" fill=\"' + ST[i].c + '\" fill-opacity=\"0.09\"\/>'; acc += D[i]; } for (var c = 0; c <= 300; c += 100) s += '<line x1=\"' + X0 + '\" y1=\"' + cy(c) + '\" x2=\"' + X1 + '\" y2=\"' + cy(c) + '\" stroke=\"#dfe5ec\"\/><text x=\"' + (X0 - 8) + '\" y=\"' + (cy(c) + 4) + '\" font-size=\"10.5\" fill=\"#5b6b7f\" text-anchor=\"end\">' + c + ' &#176;C<\/text>'; var step = TOT > 60 ? 20 : 10; for (var m = 0; m <= TOT; m += step) s += '<text x=\"' + cx(m).toFixed(1) + '\" y=\"194\" font-size=\"10.5\" fill=\"#5b6b7f\" text-anchor=\"middle\">' + m + ' min<\/text>'; var d = ''; for (i = 0; i < PTS.length; i++) d += (i ? ' L' : 'M') + cx(PTS[i][0]).toFixed(1) + ',' + cy(PTS[i][1]).toFixed(1); s += '<path d=\"' + d + '\" fill=\"none\" stroke=\"#d63c3c\" stroke-width=\"2.5\" stroke-linejoin=\"round\"\/>'; function lab(p, txt, dy, an) { s += '<circle cx=\"' + cx(p[0]).toFixed(1) + '\" cy=\"' + cy(p[1]).toFixed(1) + '\" r=\"3.5\" fill=\"#ffffff\" stroke=\"#d63c3c\" stroke-width=\"1.5\"\/><text x=\"' + (cx(p[0]) + (an === 'end' ? -6 : 6)).toFixed(1) + '\" y=\"' + (cy(p[1]) + dy).toFixed(1) + '\" font-size=\"10.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"' + (an || 'start') + '\">' + txt + '<\/text>'; } lab(PTS[2], 'powder starts to stick ~' + R.melt + ' &#176;C', 16, 'end'); lab(PTS[4], 'peak PIAT ~' + R.peak + ' &#176;C', -8, 'start'); lab(PTS[6], 'crystallization ~' + R.cry + ' &#176;C', -8, 'start'); lab(PTS[7], 'demold ~' + R.dem + ' &#176;C', -8, 'start'); s += '<line class=\"rot-ph\" x1=\"0\" y1=\"' + Y1 + '\" x2=\"0\" y2=\"' + Y0 + '\" stroke=\"#1f2a37\" stroke-width=\"1.5\"\/><circle class=\"rot-pd\" r=\"5\" fill=\"#d63c3c\" stroke=\"#ffffff\" stroke-width=\"1.5\"\/><text class=\"rot-pt\" x=\"0\" y=\"' + (Y1 + 12) + '\" font-size=\"11\" font-weight=\"700\" fill=\"#1f2a37\"><\/text>'; q('.rot-piat').innerHTML = s; } \/* ---------- animation ---------- *\/ var T = 0, playing = true, last = null, cur = -1, pinned = null; var mold = q('.rot-mold'), top = q('.rot-top'), part = q('.rot-part'), layp = q('.rot-layp'), pool = q('.rot-pool'), stream = q('.rot-stream'), scoop = q('.rot-scoop'), clipR = q('.rot-clip'); var S = [q('.rot-s0'), q('.rot-s1'), q('.rot-s2')], car = q('.rot-car'), axe = q('.rot-axe'), fans = root.querySelectorAll('.rot-fan'), stg = q('.rot-stg'); var b7 = q('.rot-b7'), b8 = q('.rot-b8'), b10 = q('.rot-b10'); var MX = 320, MY = 190, IW = 142, IH = 82, LMAX = 14, axOff = 0, SC = 0.84, intG = q('.rot-int'), intT = q('.rot-intt'); function ringPath(g, lay) { var a = IW - g, b = IH - g, c = IW - g - lay, d = IH - g - lay; return 'M' + (-a) + ',' + (-b) + ' H' + a + ' V' + b + ' H' + (-a) + ' Z M' + (-c) + ',' + (-d) + ' V' + d + ' H' + c + ' V' + (-d) + ' Z'; } function draw() { var acc = 0, si = 0, p = 0; for (var i = 0; i < 4; i++) { if (T < acc + D[i] || i === 3) { si = i; p = clamp((T - acc) \/ D[i], 0, 1); break; } acc += D[i]; } var ang = 0, lift = 0, amt = 0, lay = 0, gap = 0, hot = 1, partUp = 0, partOp = 1, pour = 0, st = 0, carA = 0, spin = false; if (si === 0) { lift = p < 0.75 ? -78 : lerp(-78, 0, ease((p - 0.75) \/ 0.25)); amt = clamp(p \/ 0.7, 0, 1); pour = p < 0.7 ? 1 : 0; st = 0; carA = 0; } else if (si === 1) { ang = 360 * 4 * ease(p); st = 1; spin = true; var mp = clamp((p - 0.25) \/ 0.6, 0, 1); amt = 1 - mp; lay = LMAX * mp; carA = -120 * ease(clamp(p \/ 0.08, 0, 1)); } else if (si === 2) { ang = 360 * 4 * ease(p); st = 2; spin = true; lay = LMAX; hot = 1 - p; gap = 2.5 * clamp((p - 0.5) \/ 0.5, 0, 1); carA = -120 - 120 * ease(clamp(p \/ 0.08, 0, 1)); } else { lay = LMAX; hot = 0; gap = 2.5; st = 0; lift = p < 0.3 ? lerp(0, -78, ease(p \/ 0.3)) : -78; partUp = p < 0.35 ? 0 : -150 * ease(clamp((p - 0.35) \/ 0.45, 0, 1)); partOp = p < 0.7 ? 1 : 1 - (p - 0.7) \/ 0.3; carA = -240 - 120 * ease(clamp(p \/ 0.08, 0, 1)); } for (i = 0; i < 3; i++) S[i].style.display = i === st ? '' : 'none'; b7.style.display = st === 1 ? '' : 'none'; b8.style.display = st === 2 ? '' : 'none'; b10.style.display = si === 3 && p > 0.35 && partOp > 0.2 ? '' : 'none'; var tf = 'translate(' + MX + ',' + MY + ') rotate(' + ang.toFixed(1) + ') scale(' + SC + ')'; mold.setAttribute('transform', tf); clipR.setAttribute('transform', tf); intG.setAttribute('transform', tf); intT.setAttribute('transform', 'translate(0,' + lift.toFixed(1) + ')'); top.setAttribute('transform', 'translate(0,' + lift.toFixed(1) + ')'); part.setAttribute('transform', 'translate(0,' + partUp.toFixed(1) + ')'); part.style.opacity = (si === 3 ? partOp : 1).toFixed(2); layp.setAttribute('d', lay > 0.2 ? ringPath(gap, lay) : ''); var c1 = [242, 163, 60], c2 = [214, 150, 80]; layp.setAttribute('fill', 'rgb(' + Math.round(lerp(c2[0], c1[0], hot)) + ',' + Math.round(lerp(c2[1], c1[1], hot)) + ',' + Math.round(lerp(c2[2], c1[2], hot)) + ')'); \/* powder pool in world frame *\/ var r = ang * Math.PI \/ 180, low = MY + SC * (Math.abs(IW * Math.sin(r)) + Math.abs(IH * Math.cos(r))), depth = amt * 38; pool.setAttribute('y', (low - depth).toFixed(1)); pool.setAttribute('height', (depth + 2).toFixed(1)); stream.setAttribute('height', pour ? Math.max(0, (low - depth) - 66).toFixed(1) : 0); scoop.style.display = si === 0 && p < 0.72 ? '' : 'none'; car.setAttribute('transform', 'rotate(' + carA.toFixed(1) + ',825,190)'); if (spin) axOff = (axOff + 0.8) % 22; axe.setAttribute('stroke-dashoffset', axOff.toFixed(1)); for (i = 0; i < fans.length; i++) fans[i].setAttribute('transform', st === 2 ? 'rotate(' + (T * 400 % 360).toFixed(0) + ',' + fans[i].getAttribute('data-cx') + ',' + fans[i].getAttribute('data-cy') + ')' : ''); stg.textContent = 'Stage ' + (si + 1) + ' of 4 \u00b7 ' + ST[si].n; stg.setAttribute('fill', ST[si].c); q('.rot-clock').textContent = T.toFixed(1) + ' min \/ ' + TOT.toFixed(1) + ' min'; q('.rot-tl i').style.left = (T \/ TOT * 100) + '%'; var ph = q('.rot-ph'), pd = q('.rot-pd'), pt = q('.rot-pt'), x = cx(T), c = piat(T); if (ph) { ph.setAttribute('x1', x.toFixed(1)); ph.setAttribute('x2', x.toFixed(1)); pd.setAttribute('cx', x.toFixed(1)); pd.setAttribute('cy', cy(c).toFixed(1)); pt.setAttribute('x', (x + (x > 820 ? -8 : 8)).toFixed(1)); pt.setAttribute('text-anchor', x > 820 ? 'end' : 'start'); pt.textContent = Math.round(c) + ' \u00b0C'; } if (si !== cur) { cur = si; var cards = root.querySelectorAll('.rot-st'); for (i = 0; i < cards.length; i++) cards[i].style.display = +cards[i].getAttribute('data-s') === si ? 'block' : 'none'; } } function frame(ts) { if (playing) { if (last !== null) { T += (ts - last) \/ 1000 * (+q('.rot-speed').value); if (T >= TOT) T = T % TOT; draw(); } last = ts; } else last = null; if (pinned !== null) show(pinned, true); requestAnimationFrame(frame); } var btn = q('.rot-play'); function setPlay(on) { playing = on; btn.innerHTML = on ? '&#10074;&#10074; Pause' : '&#9654; Play'; } btn.addEventListener('click', function () { setPlay(!playing); }); function seeker(el) { var drag = false; function seek(ev) { var r = el.getBoundingClientRect(), x = (ev.touches ? ev.touches[0].clientX : ev.clientX) - r.left, w = r.width; if (el.tagName.toLowerCase() === 'svg') { x = x \/ w * 1000; T = clamp((x - X0) \/ (X1 - X0), 0, 0.9999) * TOT; } else T = clamp(x \/ w, 0, 0.9999) * TOT; draw(); } el.addEventListener('mousedown', function (e) { drag = true; setPlay(false); seek(e); }); window.addEventListener('mousemove', function (e) { if (drag) seek(e); }); window.addEventListener('mouseup', function () { drag = false; }); el.addEventListener('touchstart', function (e) { setPlay(false); seek(e); }, { passive: true }); el.addEventListener('touchmove', function (e) { seek(e); }, { passive: true }); } seeker(q('.rot-tl')); seeker(q('.rot-piat')); q('.rot-piat').style.cursor = 'pointer'; var ins = root.querySelectorAll('[data-k]'); for (var i = 0; i < ins.length; i++) { ins[i].addEventListener('input', model); ins[i].addEventListener('change', model); } \/* ---------- tooltip ---------- *\/ var els = svg.querySelectorAll('[data-p]'); function part0(n) { for (var i = 0; i < PARTS.length; i++) if (String(PARTS[i].n) === String(n)) return PARTS[i]; return null; } function show(n, quiet) { var p = part0(n); if (!p) return; var w = stage.getBoundingClientRect(), x1 = 1e9, y1 = 1e9, x2 = -1e9, y2 = -1e9, bx = w.left + w.width \/ 2, by = w.top + w.height \/ 2; for (var i = 0; i < els.length; i++) { var on = els[i].getAttribute('data-p') === String(n); if (!quiet) els[i].style.opacity = on ? '1' : '0.18'; if (!on) continue; var b = els[i].getBoundingClientRect(); if (!b.width && !b.height) continue; if (els[i].classList.contains('rot-s1') || els[i].classList.contains('rot-s2')) continue; x1 = Math.min(x1, b.left); y1 = Math.min(y1, b.top); x2 = Math.max(x2, b.right); y2 = Math.max(y2, b.bottom); var c = els[i].querySelector('circle[r=\"11\"]'); if (c) { var cb = c.getBoundingClientRect(); if (cb.width) { bx = cb.left + cb.width \/ 2; by = cb.top + cb.height \/ 2; } } } if (x1 > 1e8) return; if (!quiet) { tip.innerHTML = '<div class=\"h\"><span class=\"tw-ms-num\"><\/span><span class=\"nm\"><\/span><\/div><p><\/p>'; tip.querySelector('.tw-ms-num').textContent = p.n; tip.querySelector('.nm').textContent = p.name; tip.querySelector('p').textContent = p.fn; } var L = x1 - w.left, Tt = y1 - w.top, Rr = x2 - w.left, B = y2 - w.top, W = w.width, H = w.height, gap = 10, m = 6; bx -= w.left; by -= w.top; tip.style.display = 'block'; tip.style.width = Math.min(250, W - 2 * m) + 'px'; var tw = tip.offsetWidth, th = tip.offsetHeight, order = bx < W \/ 2 ? ['r', 'l', 'b', 't'] : ['l', 'r', 'b', 't'], pos = null; function at(sd) { if (sd === 'l') return { x: L - gap - tw, y: clamp(by - th \/ 2, m, H - th - m), ok: L - gap - tw >= m }; if (sd === 'r') return { x: Rr + gap, y: clamp(by - th \/ 2, m, H - th - m), ok: Rr + gap + tw <= W - m }; if (sd === 'b') return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: B + gap, ok: B + gap + th <= H - m }; return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: Tt - gap - th, ok: Tt - gap - th >= m }; } for (i = 0; i < order.length && !pos; i++) { var cc = at(order[i]); if (cc.ok) pos = cc; } if (!pos) { var sp = { l: L - tw, r: W - Rr - tw, t: Tt - th, b: H - B - th }, best = 'b'; for (var key in sp) if (sp[key] > sp[best]) best = key; pos = at(best); } tip.style.left = clamp(pos.x, m, W - tw - m) + 'px'; tip.style.top = clamp(pos.y, m, H - th - m) + 'px'; } function hide() { for (var i = 0; i < els.length; i++) els[i].style.opacity = ''; tip.style.display = 'none'; } for (i = 0; i < els.length; i++) { (function (el) { var n = el.getAttribute('data-p'); if (el.classList.contains('rot-s1') || el.classList.contains('rot-s2')) return; el.addEventListener('mouseenter', function () { if (pinned === null) show(n); }); el.addEventListener('mouseleave', function () { if (pinned === null) hide(); }); el.addEventListener('click', function (e) { e.stopPropagation(); if (pinned === n) { pinned = null; hide(); } else { pinned = n; setPlay(false); show(n); } }); })(els[i]); } svg.addEventListener('click', function () { pinned = null; hide(); }); model(); if ('IntersectionObserver' in window) { setPlay(false); var io = new IntersectionObserver(function (en) { if (en[0].isIntersecting) { setPlay(true); io.disconnect(); } }, { threshold: 0.3 }); io.observe(stage); } requestAnimationFrame(frame); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twrote36486\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this animation on your site<\/strong><button type=\"button\" class=\"twrote-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-rotomolding&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_rotomolding_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:1500px&quot; loading=&quot;lazy&quot; title=&quot;Rotational Molding Cycle - Interactive Animation&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_rotomolding&quot;){var f=document.getElementById(&quot;tw-rotomolding&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Rotational molding animation by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twrote36486'); if (!box) return; var btn = box.querySelector('.twrote-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><div class=\"tw-bmc\" id=\"twbmc42301\"><style> #twbmc42301{max-width:1000px;margin:24px auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif;color:#1f2a37;line-height:1.5} #twbmc42301 h3{margin:0 0 4px;font-size:21px;line-height:1.3;color:#1e3a5f} #twbmc42301 .bmc-sub{margin:0 0 12px;font-size:13.5px;color:#5b6b7f} #twbmc42301 .tw-ms-stage{position:relative;background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;overflow:hidden} #twbmc42301 .tw-ms-stage svg{display:block;width:100%;height:auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twbmc42301 .tw-ms-stage svg [data-p]{cursor:pointer;transition:opacity .15s} #twbmc42301 .tw-ms-tip{position:absolute;display:none;z-index:5;box-sizing:border-box;background:#ffffff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.45;pointer-events:none;box-shadow:0 4px 14px rgba(30,58,95,.12)} #twbmc42301 .tw-ms-tip .h{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-weight:700;color:#1e3a5f} #twbmc42301 .tw-ms-tip p{margin:0;color:#374151} #twbmc42301 .tw-ms-num{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#1e3a5f;color:#ffffff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center} #twbmc42301 .bmc-ctl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 8px} #twbmc42301 .bmc-play{background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;min-width:104px} #twbmc42301 .bmc-ctl select{padding:7px 8px;font-size:13px;border:1px solid #c9d3df;border-radius:6px;background:#ffffff} #twbmc42301 .bmc-clock{margin-left:auto;font-size:13px;font-weight:700;color:#1e3a5f} #twbmc42301 .bmc-tl{position:relative;display:flex;height:38px;border-radius:6px;overflow:hidden;border:1px solid #dfe5ec;cursor:pointer;user-select:none} #twbmc42301 .bmc-tl div{display:flex;align-items:center;justify-content:center;color:#ffffff;font-size:11.5px;font-weight:700;white-space:nowrap;overflow:hidden;min-width:0;border-right:1px solid rgba(255,255,255,.5);line-height:1.15;text-align:center} #twbmc42301 .bmc-tl i{position:absolute;top:-2px;bottom:-2px;width:3px;margin-left:-1px;background:#1f2a37;pointer-events:none} #twbmc42301 .bmc-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 0} #twbmc42301 .bmc-card{background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;padding:12px 14px} #twbmc42301 .bmc-ct{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5b6b7f;margin:0 0 8px} #twbmc42301 .bmc-in{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px} #twbmc42301 .bmc-in label{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:#5b6b7f} #twbmc42301 .bmc-in b{color:#1e3a5f} #twbmc42301 .bmc-in input[type=range]{width:100%;accent-color:#1e3a5f;margin:0} #twbmc42301 .bmc-in select{padding:6px 8px;font-size:13px;border:1px solid #c9d3df;border-radius:6px;background:#ffffff} #twbmc42301 .bmc-res{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 8px} #twbmc42301 .bmc-res div{background:#f3f6fa;border-radius:6px;padding:8px 10px;font-size:11.5px;color:#5b6b7f;font-weight:600} #twbmc42301 .bmc-res b{display:block;font-size:18px;color:#1e3a5f} #twbmc42301 .bmc-warn{list-style:none;margin:0;padding:0} #twbmc42301 .bmc-warn li{display:flex;gap:8px;font-size:13px;line-height:1.4;margin:0 0 5px} #twbmc42301 .bmc-warn b{flex:0 0 18px;height:18px;border-radius:50%;color:#ffffff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px} #twbmc42301 .bmc-st h4{margin:0 0 4px;font-size:17px;color:#1e3a5f;display:flex;align-items:center;gap:8px} #twbmc42301 .bmc-st h4 i{width:12px;height:12px;border-radius:3px;display:inline-block} #twbmc42301 .bmc-st p{margin:0 0 8px;font-size:13.5px} #twbmc42301 .bmc-st ul{margin:0 0 8px;padding:0 0 0 18px;font-size:13px} #twbmc42301 .bmc-st .w{font-size:13px;color:#b91c1c;margin:0} #twbmc42301 .bmc-note{font-size:12px;color:#5b6b7f;margin:10px 0 0} #twbmc42301 .bmc-cmp{overflow-x:auto;margin:16px 0 0} #twbmc42301 .bmc-cmp table{width:100%;min-width:640px;border-collapse:collapse;font-size:13px} #twbmc42301 .bmc-cmp th,#twbmc42301 .bmc-cmp td{border:1px solid #dfe5ec;padding:7px 9px;text-align:left;vertical-align:top} #twbmc42301 .bmc-cmp thead th{background:#1e3a5f;color:#ffffff;font-weight:600} #twbmc42301 .bmc-cmp tbody th{background:#f3f6fa;color:#1e3a5f;font-weight:600;white-space:nowrap} @media (max-width:820px){#twbmc42301 .bmc-2{grid-template-columns:1fr}} @media (max-width:520px){#twbmc42301 .bmc-in{grid-template-columns:1fr}#twbmc42301 .bmc-tl div{font-size:0}#twbmc42301 .tw-ms-tip{font-size:12px;padding:7px 9px}} <\/style><h3>Extrusion Blow Molding Cycle &ndash; Step by Step<\/h3><p class=\"bmc-sub\">Watch how a bottle is made on a shuttle extrusion blow molding machine, then change wall thickness, resin and container size to see how the cycle time changes. Hover or tap any number on the drawing.<\/p><div class=\"tw-ms-stage\"><svg viewBox=\"0 0 1000 380\" role=\"img\" aria-label=\"Animated extrusion blow molding machine showing parison extrusion, mold close, shuttle, blow, cooling, opening and ejection\"><defs><pattern id=\"twbmc42301-h\" width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"8\" height=\"8\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"#5b6b7f\" stroke-width=\"0.6\" stroke-opacity=\"0.35\"\/><\/pattern><marker id=\"twbmc42301-a\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"#2f7de1\"\/><\/marker><\/defs><rect width=\"1000\" height=\"380\" fill=\"#ffffff\"\/><text class=\"bmc-stg\" x=\"976\" y=\"24\" text-anchor=\"end\" font-size=\"15\" font-weight=\"700\" fill=\"#1e3a5f\">Stage<\/text><text x=\"360\" y=\"372\" font-size=\"10.5\" font-weight=\"700\" fill=\"#5b6b7f\" text-anchor=\"middle\">EXTRUSION STATION<\/text><text x=\"660\" y=\"372\" font-size=\"10.5\" font-weight=\"700\" fill=\"#5b6b7f\" text-anchor=\"middle\">BLOW STATION<\/text><g data-p=\"10\"><rect x=\"230\" y=\"350\" width=\"560\" height=\"6\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"1\"><rect x=\"60\" y=\"62\" width=\"262\" height=\"34\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"110\" y=\"56\" width=\"30\" height=\"46\" rx=\"3\" fill=\"#f59e0b\" fill-opacity=\"0.55\" stroke=\"#b45309\"\/><rect x=\"170\" y=\"56\" width=\"30\" height=\"46\" rx=\"3\" fill=\"#f59e0b\" fill-opacity=\"0.55\" stroke=\"#b45309\"\/><rect x=\"230\" y=\"56\" width=\"30\" height=\"46\" rx=\"3\" fill=\"#f59e0b\" fill-opacity=\"0.55\" stroke=\"#b45309\"\/><rect x=\"20\" y=\"58\" width=\"40\" height=\"42\" rx=\"4\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><text x=\"40\" y=\"83\" font-size=\"9.5\" font-weight=\"700\" fill=\"#5b6b7f\" text-anchor=\"middle\">drive<\/text><\/g><g data-p=\"2\"><polygon points=\"70,8 126,8 108,56 88,56\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"84\" cy=\"16\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"85\" cy=\"27\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"86\" cy=\"38\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"87\" cy=\"19\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"88\" cy=\"30\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"89\" cy=\"41\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"90\" cy=\"22\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"91\" cy=\"33\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"92\" cy=\"44\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><circle cx=\"93\" cy=\"25\" r=\"3\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"0.6\"\/><\/g><g data-p=\"3\"><rect x=\"322\" y=\"40\" width=\"76\" height=\"76\" fill=\"url(#twbmc42301-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"336\" y=\"114\" width=\"48\" height=\"8\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><rect x=\"322\" y=\"72\" width=\"38\" height=\"12\" fill=\"#f2a33c\"\/><rect x=\"350\" y=\"72\" width=\"10\" height=\"50\" fill=\"#f2a33c\"\/><g data-p=\"4\" class=\"bmc-dp\"><rect class=\"bmc-dpo\" x=\"340\" y=\"122\" width=\"40\" height=\"0\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect class=\"bmc-dpi\" x=\"346\" y=\"122\" width=\"28\" height=\"0\" fill=\"#f8d3a0\"\/><\/g><g data-p=\"5\" class=\"bmc-knife\"><polygon points=\"250,124 300,124 306,128 250,132\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\"\/><\/g><g data-p=\"8\"><rect x=\"632\" y=\"30\" width=\"56\" height=\"54\" rx=\"3\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><g class=\"bmc-pin\"><rect x=\"652\" y=\"84\" width=\"16\" height=\"44\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"656\" y=\"128\" width=\"8\" height=\"12\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><\/g><g class=\"bmc-car\"><g data-p=\"10\"><rect x=\"-90\" y=\"334\" width=\"180\" height=\"16\" fill=\"#dfe6ee\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g class=\"bmc-shot\"><g data-p=\"12\"><rect class=\"bmc-moil\" x=\"-20\" y=\"122\" width=\"40\" height=\"18\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path class=\"bmc-tail\" d=\"M-20,331 H20 L14,350 H-14 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"11\"><path class=\"bmc-bo\" d=\"\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path class=\"bmc-bi\" d=\"\" fill=\"#f8d3a0\"\/><\/g><\/g><g class=\"bmc-ml\"><g data-p=\"6\"><path d=\"M-125,140 H0 V331 H-125 Z M0,140 L-18,140 L-18,178 C-18,192 -60,190 -60,206 L-60,300 Q-60,315 -46,315 L0,315 Z\" fill=\"url(#twbmc42301-h)\" fill-rule=\"evenodd\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"7\"><polygon points=\"-30,315 0,315 0,331 -30,331\" fill=\"#aebccb\" stroke=\"#5b6b7f\"\/><\/g><g data-p=\"9\"><circle class=\"bmc-cw\" cx=\"-95\" cy=\"170\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\"\/><circle class=\"bmc-cw\" cx=\"-95\" cy=\"240\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\"\/><circle class=\"bmc-cw\" cx=\"-95\" cy=\"300\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\"\/><\/g><g data-p=\"6\"><line x1=\"-139\" y1=\"170\" x2=\"-125\" y2=\"176\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"-148\" cy=\"166\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"-148\" y=\"170\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"9\"><line x1=\"-137\" y1=\"246\" x2=\"-101\" y2=\"240\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"-148\" cy=\"248\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"-148\" y=\"252\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><\/g><g class=\"bmc-mr\"><g data-p=\"6\"><path d=\"M125,140 H0 V331 H125 Z M0,140 L18,140 L18,178 C18,192 60,190 60,206 L60,300 Q60,315 46,315 L0,315 Z\" fill=\"url(#twbmc42301-h)\" fill-rule=\"evenodd\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"7\"><polygon points=\"30,315 0,315 0,331 30,331\" fill=\"#aebccb\" stroke=\"#5b6b7f\"\/><\/g><g data-p=\"9\"><circle class=\"bmc-cw\" cx=\"95\" cy=\"170\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\"\/><circle class=\"bmc-cw\" cx=\"95\" cy=\"240\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\"\/><circle class=\"bmc-cw\" cx=\"95\" cy=\"300\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\"\/><\/g><\/g><g class=\"bmc-air\" style=\"opacity:0\"><line x1=\"0\" y1=\"160\" x2=\"0\" y2=\"250\" stroke=\"#2f7de1\" stroke-width=\"2.5\" marker-end=\"url(#twbmc42301-a)\"\/><line x1=\"0\" y1=\"215\" x2=\"-40\" y2=\"240\" stroke=\"#2f7de1\" stroke-width=\"2.5\" marker-end=\"url(#twbmc42301-a)\"\/><line x1=\"0\" y1=\"215\" x2=\"40\" y2=\"240\" stroke=\"#2f7de1\" stroke-width=\"2.5\" marker-end=\"url(#twbmc42301-a)\"\/><text class=\"bmc-air-t\" x=\"0\" y=\"290\" font-size=\"10.5\" font-weight=\"700\" fill=\"#1d5fb3\" text-anchor=\"middle\">air 6 bar<\/text><\/g><g data-p=\"7\"><line x1=\"-49\" y1=\"340\" x2=\"-30\" y2=\"326\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"-58\" cy=\"348\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"-58\" y=\"352\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"10\"><line x1=\"-80\" y1=\"350\" x2=\"-80\" y2=\"344\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"-110\" cy=\"364\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"-110\" y=\"368\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><\/g><g data-p=\"1\"><line x1=\"200\" y1=\"113\" x2=\"200\" y2=\"96\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"200\" cy=\"96\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"200\" cy=\"124\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"200\" y=\"128\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><line x1=\"139\" y1=\"24\" x2=\"124\" y2=\"24\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"124\" cy=\"24\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"150\" cy=\"24\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"150\" y=\"28\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"419.5\" y1=\"53.3\" x2=\"398\" y2=\"60\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"398\" cy=\"60\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"430\" cy=\"50\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"430\" y=\"54\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\" class=\"bmc-b4\"><line x1=\"419.8\" y1=\"165.9\" x2=\"380\" y2=\"150\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"380\" cy=\"150\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"430\" cy=\"170\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"430\" y=\"174\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\" class=\"bmc-b5\"><line x1=\"245.2\" y1=\"140\" x2=\"262\" y2=\"129\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"262\" cy=\"129\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"236\" cy=\"146\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"236\" y=\"150\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"8\"><line x1=\"709.2\" y1=\"52\" x2=\"688\" y2=\"56\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"688\" cy=\"56\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"720\" cy=\"50\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"720\" y=\"54\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"11\" class=\"bmc-bb\"><line x1=\"749\" y1=\"220\" x2=\"720\" y2=\"220\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"720\" cy=\"220\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"760\" cy=\"220\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"760\" y=\"224\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><g data-p=\"12\" class=\"bmc-bb\"><line x1=\"729.1\" y1=\"121.8\" x2=\"680\" y2=\"130\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"680\" cy=\"130\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"740\" cy=\"120\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"740\" y=\"124\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">12<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><div class=\"bmc-ctl\"><button type=\"button\" class=\"bmc-play\">&#10074;&#10074; Pause<\/button><select class=\"bmc-speed\" aria-label=\"Playback speed\"><option value=\"1\">Real time<\/option><option value=\"2\" selected>2&#215; speed<\/option><option value=\"4\">4&#215; speed<\/option><\/select><span class=\"bmc-clock\">0.0 s \/ 0.0 s<\/span><\/div><div class=\"bmc-tl\" role=\"slider\" aria-label=\"Cycle timeline\"><i><\/i><\/div><div class=\"bmc-2\"><div class=\"bmc-card\"><div class=\"bmc-ct\">Your container<\/div><div class=\"bmc-in\"><label><span>Average wall thickness <b data-o=\"t\">0.8<\/b> mm<\/span><input type=\"range\" data-k=\"t\" min=\"0.3\" max=\"3\" step=\"0.05\" value=\"0.8\"><\/label><label><span>Resin<\/span><select data-k=\"r\"><option value=\"hdpe\">HDPE<\/option><option value=\"pp\">PP<\/option><option value=\"pvc\">PVC<\/option><option value=\"petg\">PETG<\/option><\/select><\/label><label><span>Container size<\/span><select data-k=\"s\"><option value=\"0\">Up to 250 ml<\/option><option value=\"1\" selected>About 1 L<\/option><option value=\"2\">About 5 L<\/option><option value=\"3\">About 20 L<\/option><\/select><\/label><label><span>Cavities (parisons)<\/span><select data-k=\"c\"><option>1<\/option><option selected>2<\/option><option>4<\/option><option>6<\/option><\/select><\/label><\/div><div class=\"bmc-res\"><div>Cycle time<b data-r=\"tot\">&#8211;<\/b><\/div><div>Containers per hour<b data-r=\"pph\">&#8211;<\/b><\/div><div>Cooling share<b data-r=\"cs\">&#8211;<\/b><\/div><\/div><ul class=\"bmc-warn\"><\/ul><\/div><div class=\"bmc-card\"><div class=\"bmc-st\" data-s=\"0\" style=\"display:block\"><h4><i style=\"background:#e07b12\"><\/i>1. Parison Extrusion<\/h4><p>The extruder pushes melt through the die head, forming a hollow tube that hangs down between the open mold halves.<\/p><ul><li>Melt temperature and extruder speed<\/li><li>Parison length and drop time<\/li><li>Parison programming (wall thickness profile)<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Parison sag or curl, uneven wall, die lines.<\/p><\/div><div class=\"bmc-st\" data-s=\"1\" style=\"display:none\"><h4><i style=\"background:#5b6b7f\"><\/i>2. Close, Cut &amp; Shuttle<\/h4><p>The mold closes on the parison and pinches the bottom. A knife cuts the parison and the carriage moves the mold to the blow station.<\/p><ul><li>Clamp force and pinch-off design<\/li><li>Knife timing and temperature<\/li><li>Shuttle stroke and speed<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Weak bottom seam, parison stretched or twisted during shuttle.<\/p><\/div><div class=\"bmc-st\" data-s=\"2\" style=\"display:none\"><h4><i style=\"background:#b45309\"><\/i>3. Blow<\/h4><p>The blow pin enters the neck and blows air into the parison, which inflates and presses against the cold mold walls.<\/p><ul><li>Blow pressure: about 4-8 bar (EBM)<\/li><li>Pre-blow and blow delay<\/li><li>Air flow and blow pin calibration<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Thin corners, blow-outs, poor neck finish if the pin seals badly.<\/p><\/div><div class=\"bmc-st\" data-s=\"3\" style=\"display:none\"><h4><i style=\"background:#2f7de1\"><\/i>4. Cooling<\/h4><p>The bottle cools against the water-cooled mold while air pressure holds it in shape. Meanwhile the next parison is already extruding.<\/p><ul><li>Mold temperature and water flow<\/li><li>Cooling time (often 50-70% of the cycle)<\/li><li>Internal air cooling or air exchange for thick parts<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Shrinkage, warped panels, bottle sticking if cooled too short.<\/p><\/div><div class=\"bmc-st\" data-s=\"4\" style=\"display:none\"><h4><i style=\"background:#6b46a8\"><\/i>5. Exhaust &amp; Open<\/h4><p>Air is vented from the bottle, the blow pin lifts and the mold halves open.<\/p><ul><li>Exhaust time before opening<\/li><li>Open stroke and speed<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Bottle bursting or deforming if opened before the air is vented.<\/p><\/div><div class=\"bmc-st\" data-s=\"5\" style=\"display:none\"><h4><i style=\"background:#15803d\"><\/i>6. Eject &amp; Return<\/h4><p>The bottle is removed with its flash attached, then trimmed. The empty mold shuttles back under the die for the next parison.<\/p><ul><li>Take-out \/ ejection timing<\/li><li>Deflashing (trim tail and moil), leak testing<\/li><li>Regrind ratio of the trimmed flash<\/li><\/ul><p class=\"w\"><b>Watch for:<\/b> Leaks at the pinch-off, flash left on the neck or base.<\/p><\/div><\/div><\/div><p class=\"bmc-note\">Shown as a continuous-extrusion shuttle machine: the next parison extrudes while the previous bottle is blown and cooled, so stage 1 only takes the time extrusion still needs after that. Cooling time from t<sub>c<\/sub> = (2s)&#178; \/ (&#960;&#178;&#945;) &#183; ln[(4\/&#960;)(T<sub>melt<\/sub> &#8722; T<sub>mold<\/sub>)\/(T<sub>eject<\/sub> &#8722; T<sub>mold<\/sub>)] (cooled from the mold side only, s = wall thickness). Other times are typical estimates &#8211; for early budgeting only.<\/p><div class=\"bmc-cmp\"><table><thead><tr><th><\/th><th>Extrusion Blow Molding (EBM)<\/th><th>Injection Blow Molding (IBM)<\/th><th>Injection Stretch Blow Molding (ISBM)<\/th><\/tr><\/thead><tbody><tr><th>Preform<\/th><td>Extruded parison (tube)<\/td><td>Injection-molded preform on a core rod<\/td><td>Injection-molded preform, stretched with a rod<\/td><\/tr><tr><th>Typical products<\/th><td>Bottles with handles, jerry cans, drums, tanks, ducts<\/td><td>Small medical and cosmetic bottles<\/td><td>PET water and soft-drink bottles, jars<\/td><\/tr><tr><th>Main resins<\/th><td>HDPE, PP, PVC, PETG<\/td><td>HDPE, PP, PS, PET<\/td><td>PET, PP<\/td><\/tr><tr><th>Neck accuracy<\/th><td>Good (calibrated by blow pin)<\/td><td>Excellent (injection molded)<\/td><td>Excellent (injection molded)<\/td><\/tr><tr><th>Flash \/ scrap<\/th><td>Yes &#8211; tail and moil, reground<\/td><td>None<\/td><td>None<\/td><\/tr><tr><th>Size range<\/th><td>Few ml to 1,000 L+<\/td><td>Up to about 1 L<\/td><td>Up to about 10 L<\/td><\/tr><tr><th>Tooling cost<\/th><td>Lowest<\/td><td>Higher<\/td><td>Highest<\/td><\/tr><\/tbody><\/table><\/div><script> (function () { var root = document.getElementById('twbmc42301'); if (!root) return; var PARTS = [{\"n\":1,\"name\":\"Extruder & Screw\",\"fn\":\"Melts the resin and pushes it continuously into the die head.\"},{\"n\":2,\"name\":\"Hopper\",\"fn\":\"Feeds pellets (often mixed with regrind from trimmed flash) into the extruder.\"},{\"n\":3,\"name\":\"Die Head\",\"fn\":\"Turns the melt flow downward and forms it into a hollow tube. Parison programming moves the die gap to vary wall thickness along the length.\"},{\"n\":4,\"name\":\"Parison\",\"fn\":\"The hot hollow tube that hangs from the die. Its length, diameter and wall thickness set the bottle weight and wall distribution.\"},{\"n\":5,\"name\":\"Knife\",\"fn\":\"Cuts the parison above the closed mold so the mold can shuttle away while the next parison keeps extruding.\"},{\"n\":6,\"name\":\"Mold Halves\",\"fn\":\"Aluminum or steel halves with the bottle cavity. They close on the parison and pinch it shut at the bottom.\"},{\"n\":7,\"name\":\"Pinch-off\",\"fn\":\"Hardened edges that weld the parison shut at the base. A good pinch-off gives a strong seam on the bottle bottom.\"},{\"n\":8,\"name\":\"Blow Pin\",\"fn\":\"Enters the neck, seals and calibrates it, then blows compressed air (about 4-8 bar) to inflate the parison against the mold.\"},{\"n\":9,\"name\":\"Cooling Channels\",\"fn\":\"Water in both mold halves. The bottle only touches steel on the outside, so cooling time is the biggest part of the cycle.\"},{\"n\":10,\"name\":\"Mold Carriage (Shuttle)\",\"fn\":\"Moves the mold from under the die to the blow station and back, so extrusion never has to stop.\"},{\"n\":11,\"name\":\"Bottle\",\"fn\":\"Inflated parison, cooled to shape. Wall gets thinner where it stretches most - usually the corners and shoulder.\"},{\"n\":12,\"name\":\"Flash (Tail & Moil)\",\"fn\":\"Excess parison pinched off at the base and above the neck. It is trimmed off and reground into new material.\"}], ST = [{\"n\":\"Parison Extrusion\",\"c\":\"#e07b12\"},{\"n\":\"Close, Cut & Shuttle\",\"c\":\"#5b6b7f\"},{\"n\":\"Blow\",\"c\":\"#b45309\"},{\"n\":\"Cooling\",\"c\":\"#2f7de1\"},{\"n\":\"Exhaust & Open\",\"c\":\"#6b46a8\"},{\"n\":\"Eject & Return\",\"c\":\"#15803d\"}]; var RES = {}; RES[\"hdpe\"]={n:\"HDPE\",tm:200,tw:15,te:90,a:0.09};RES[\"pp\"]={n:\"PP\",tm:210,tw:20,te:95,a:0.08};RES[\"pvc\"]={n:\"PVC\",tm:190,tw:20,te:70,a:0.1};RES[\"petg\"]={n:\"PETG\",tm:230,tw:20,te:65,a:0.1}; var stage = root.querySelector('.tw-ms-stage'), svg = stage.querySelector('svg'), tip = stage.querySelector('.tw-ms-tip'); function q(s) { return root.querySelector(s); } function clamp(v, a, b) { return Math.max(a, Math.min(b, v)); } function ease(p) { return p < 0.5 ? 2 * p * p : 1 - Math.pow(-2 * p + 2, 2) \/ 2; } function lerp(a, b, p) { return a + (b - a) * p; } \/* ---------- cycle model ---------- *\/ var D = [], TOT = 0, EXT = 0, OVL = 0; function model() { var v = {}, ins = root.querySelectorAll('[data-k]'); for (var i = 0; i < ins.length; i++) { v[ins[i].getAttribute('data-k')] = ins[i].value; var o = q('[data-o=\"' + ins[i].getAttribute('data-k') + '\"]'); if (o) o.textContent = ins[i].value; } var t = parseFloat(v.t), r = RES[v.r], s = +v.s, cav = +v.c, se = 2 * t; var tc = se * se \/ (Math.PI * Math.PI * r.a) * Math.log(4 \/ Math.PI * (r.tm - r.tw) \/ (r.te - r.tw)); tc = Math.max(tc, [1.5, 2.5, 6, 15][s]); var close = [1.2, 1.6, 2.4, 4.0][s], blow = [0.5, 0.8, 1.5, 3.0][s], open = [0.8, 1.1, 1.6, 3.0][s], ej = [0.9, 1.2, 2.0, 4.0][s]; EXT = [2.5, 4.0, 8.0, 18.0][s] * Math.max(0.5, t \/ 0.8) * (cav > 2 ? 1 + (cav - 2) * 0.08 : 1); OVL = close * 0.45 + blow + tc + open + ej; var ext = Math.max(0.4, EXT - OVL); D = [ext, close, blow, tc, open, ej]; TOT = 0; for (i = 0; i < 6; i++) TOT += D[i]; q('[data-r=\"tot\"]').textContent = TOT.toFixed(1) + ' s'; q('[data-r=\"pph\"]').textContent = Math.round(3600 \/ TOT * cav).toLocaleString('en-US'); q('[data-r=\"cs\"]').textContent = Math.round(tc \/ TOT * 100) + '%'; var w = []; w.push(['info', 'Cooling ' + tc.toFixed(1) + ' s for a ' + t.toFixed(2) + ' mm ' + r.n + ' wall (melt ' + r.tm + ' &#176;C, mold ' + r.tw + ' &#176;C)']); if (EXT > OVL) w.push(['warn', 'Parison extrusion (' + EXT.toFixed(1) + ' s) is slower than the mold side &#8211; extruder output sets the cycle; a larger extruder or an accumulator head helps']); else w.push(['ok', 'The next parison is ready before the mold returns &#8211; the mold side sets the cycle']); if (s === 3) w.push(['info', 'Large parts like 20 L cans usually run on accumulator-head machines that push the whole parison out in one stroke']); if (t < 0.45) w.push(['warn', 'Very thin wall: corners and handles may blow out thin &#8211; use parison programming']); var ic = { ok: ['#15803d', '&#10003;'], warn: ['#d97706', '!'], info: ['#5b6b7f', 'i'] }, h = ''; for (i = 0; i < w.length; i++) h += '<li><b style=\"background:' + ic[w[i][0]][0] + '\">' + ic[w[i][0]][1] + '<\/b><span>' + w[i][1] + '<\/span><\/li>'; q('.bmc-warn').innerHTML = h; var tl = q('.bmc-tl'), hh = ''; for (i = 0; i < 6; i++) hh += '<div style=\"flex:' + D[i] + ' 1 0;background:' + ST[i].c + '\" title=\"' + ST[i].n + ' ' + D[i].toFixed(1) + ' s\">' + (D[i] \/ TOT > 0.09 ? ST[i].n.split(\/[ ,]\/)[0] + '<br>' + D[i].toFixed(1) + ' s' : '') + '<\/div>'; tl.innerHTML = hh + '<i><\/i>'; T = Math.min(T, TOT - 0.001); draw(); } \/* ---------- geometry ---------- *\/ var PW = 20, Y0 = 140, YB = 315; function cav(y) { if (y < 178) return 18; if (y < 206) { var u = (y - 178) \/ 28; return 18 + 42 * (1 - Math.cos(u * Math.PI)) \/ 2; } if (y < 300) return 60; var u2 = (y - 300) \/ 15; return 60 - 14 * u2 * u2; } function bottle(k, inner) { var wall = lerp(6, 3, k), L = [], R = []; for (var y = Y0; y <= YB; y += 3) { var hw = lerp(PW, cav(y), k) - (inner ? wall : 0); if (hw < 1) hw = 1; L.push((-hw).toFixed(1) + ',' + y); R.unshift(hw.toFixed(1) + ',' + y); } var bot = inner ? YB - wall : 331; if (!inner && k < 0.05) bot = 331; return 'M' + L.join(' L') + ' L' + (inner ? -1 : -PW * (1 - k) - 1) + ',' + bot + ' L' + (inner ? 1 : PW * (1 - k) + 1) + ',' + bot + ' L' + R.join(' L') + ' Z'; } \/* ---------- animation ---------- *\/ var T = 0, playing = true, last = null, cur = -1, pinned = null; var car = q('.bmc-car'), ml = q('.bmc-ml'), mr = q('.bmc-mr'), shot = q('.bmc-shot'), bo = q('.bmc-bo'), bi = q('.bmc-bi'), moil = q('.bmc-moil'), tail = q('.bmc-tail'); var dpo = q('.bmc-dpo'), dpi = q('.bmc-dpi'), knife = q('.bmc-knife'), pin = q('.bmc-pin'), air = q('.bmc-air'), airT = q('.bmc-air-t'); var cw = root.querySelectorAll('.bmc-cw'), stg = q('.bmc-stg'), bb = root.querySelectorAll('.bmc-bb'), b4 = q('.bmc-b4'); var XE = 360, XB = 660, OPEN = 42, FULL = 211; function draw() { var acc = 0, si = 0, p = 0; for (var i = 0; i < 6; i++) { if (T < acc + D[i] || i === 5) { si = i; p = clamp((T - acc) \/ D[i], 0, 1); break; } acc += D[i]; } var cutAt = D[0] + D[1] * 0.55, grown = (T - cutAt + TOT) % TOT; var g = clamp(grown \/ Math.max(EXT, 0.1), 0, 1); var cx = XE, op = OPEN, k = 0, inShot = false, pinD = 0, airOn = 0, kx = 250, fall = 0, fade = 1, hot = 1, pulse = 1, cut = false; if (si === 0) { cx = XE; op = OPEN; } else if (si === 1) { op = p < 0.4 ? lerp(OPEN, 0, ease(p \/ 0.4)) : 0; if (p >= 0.4 && p < 0.55) kx = lerp(250, 345, (p - 0.4) \/ 0.15); if (p >= 0.55) { inShot = true; cx = lerp(XE, XB, ease((p - 0.55) \/ 0.45)); } } else if (si === 2) { cx = XB; op = 0; inShot = true; pinD = clamp(p \/ 0.3, 0, 1); k = clamp((p - 0.3) \/ 0.6, 0, 1); airOn = p > 0.3 ? 1 : 0; } else if (si === 3) { cx = XB; op = 0; inShot = true; pinD = 1; k = 1; hot = 1 - p; pulse = 0.55 + 0.45 * Math.abs(Math.sin(T * 3)); airOn = 0.35; } else if (si === 4) { cx = XB; inShot = true; k = 1; hot = 0; pinD = p < 0.3 ? 1 : (p < 0.5 ? 1 - (p - 0.3) \/ 0.2 : 0); op = p < 0.5 ? 0 : lerp(0, OPEN, ease((p - 0.5) \/ 0.5)); airOn = p < 0.3 ? 2 : 0; } else { inShot = true; k = 1; hot = 0; op = OPEN; fall = p < 0.5 ? ease(p \/ 0.5) * 120 : 120; fade = p < 0.5 ? 1 - p \/ 0.5 : 0; cx = p < 0.5 ? XB : lerp(XB, XE, ease((p - 0.5) \/ 0.5)); } car.setAttribute('transform', 'translate(' + cx.toFixed(1) + ',0)'); ml.setAttribute('transform', 'translate(' + (-op).toFixed(1) + ',0)'); mr.setAttribute('transform', 'translate(' + op.toFixed(1) + ',0)'); \/* captured parison \/ bottle *\/ shot.style.opacity = inShot ? fade.toFixed(2) : 0; shot.setAttribute('transform', 'translate(0,' + fall.toFixed(1) + ')'); bo.setAttribute('d', bottle(k, false)); bi.setAttribute('d', bottle(k, true)); var c1 = [242, 163, 60], c2 = [201, 130, 46]; bo.setAttribute('fill', 'rgb(' + Math.round(lerp(c2[0], c1[0], hot)) + ',' + Math.round(lerp(c2[1], c1[1], hot)) + ',' + Math.round(lerp(c2[2], c1[2], hot)) + ')'); \/* die parison *\/ var len = g * FULL; dpo.setAttribute('height', Math.max(0, len).toFixed(1)); dpi.setAttribute('height', Math.max(0, len - 6).toFixed(1)); \/* hide the die parison where the closed mold has taken it *\/ knife.setAttribute('transform', 'translate(' + (kx - 250).toFixed(1) + ',0)'); pin.setAttribute('transform', 'translate(0,' + (pinD * 42).toFixed(1) + ')'); air.style.opacity = airOn ? 1 : 0; airT.textContent = airOn === 2 ? 'exhaust' : 'air 6 bar'; for (i = 0; i < cw.length; i++) cw[i].style.opacity = pulse.toFixed(2); for (i = 0; i < bb.length; i++) bb[i].style.display = inShot && fade > 0.2 && cx > XB - 5 ? '' : 'none'; stg.textContent = 'Stage ' + (si + 1) + ' of 6 \u00b7 ' + ST[si].n; stg.setAttribute('fill', ST[si].c); q('.bmc-clock').textContent = T.toFixed(1) + ' s \/ ' + TOT.toFixed(1) + ' s'; q('.bmc-tl i').style.left = (T \/ TOT * 100) + '%'; if (si !== cur) { cur = si; var cards = root.querySelectorAll('.bmc-st'); for (i = 0; i < cards.length; i++) cards[i].style.display = +cards[i].getAttribute('data-s') === si ? 'block' : 'none'; } } function frame(ts) { if (playing) { if (last !== null) { T += (ts - last) \/ 1000 * (+q('.bmc-speed').value); if (T >= TOT) T = T % TOT; draw(); } last = ts; } else last = null; if (pinned !== null) show(pinned, true); requestAnimationFrame(frame); } var btn = q('.bmc-play'); function setPlay(on) { playing = on; btn.innerHTML = on ? '&#10074;&#10074; Pause' : '&#9654; Play'; } btn.addEventListener('click', function () { setPlay(!playing); }); var tlEl = q('.bmc-tl'), drag = false; function seek(ev) { var r = tlEl.getBoundingClientRect(), x = (ev.touches ? ev.touches[0].clientX : ev.clientX) - r.left; T = clamp(x \/ r.width, 0, 0.9999) * TOT; draw(); } tlEl.addEventListener('mousedown', function (e) { drag = true; setPlay(false); seek(e); }); window.addEventListener('mousemove', function (e) { if (drag) seek(e); }); window.addEventListener('mouseup', function () { drag = false; }); tlEl.addEventListener('touchstart', function (e) { setPlay(false); seek(e); }, { passive: true }); tlEl.addEventListener('touchmove', function (e) { seek(e); }, { passive: true }); var ins = root.querySelectorAll('[data-k]'); for (var i = 0; i < ins.length; i++) { ins[i].addEventListener('input', model); ins[i].addEventListener('change', model); } \/* ---------- tooltip ---------- *\/ var els = svg.querySelectorAll('[data-p]'); function part0(n) { for (var i = 0; i < PARTS.length; i++) if (String(PARTS[i].n) === String(n)) return PARTS[i]; return null; } function show(n, quiet) { var p = part0(n); if (!p) return; var w = stage.getBoundingClientRect(), x1 = 1e9, y1 = 1e9, x2 = -1e9, y2 = -1e9, bx = w.left + w.width \/ 2, by = w.top + w.height \/ 2; for (var i = 0; i < els.length; i++) { var on = els[i].getAttribute('data-p') === String(n); if (!quiet) els[i].style.opacity = on ? '1' : '0.18'; if (!on) continue; var b = els[i].getBoundingClientRect(); if (!b.width && !b.height) continue; x1 = Math.min(x1, b.left); y1 = Math.min(y1, b.top); x2 = Math.max(x2, b.right); y2 = Math.max(y2, b.bottom); var c = els[i].querySelector('circle[r=\"11\"]'); if (c) { var cb = c.getBoundingClientRect(); if (cb.width) { bx = cb.left + cb.width \/ 2; by = cb.top + cb.height \/ 2; } } } if (x1 > 1e8) return; if (!quiet) { tip.innerHTML = '<div class=\"h\"><span class=\"tw-ms-num\"><\/span><span class=\"nm\"><\/span><\/div><p><\/p>'; tip.querySelector('.tw-ms-num').textContent = p.n; tip.querySelector('.nm').textContent = p.name; tip.querySelector('p').textContent = p.fn; } var L = x1 - w.left, Tt = y1 - w.top, R = x2 - w.left, B = y2 - w.top, W = w.width, H = w.height, gap = 10, m = 6; bx -= w.left; by -= w.top; tip.style.display = 'block'; tip.style.width = Math.min(250, W - 2 * m) + 'px'; var tw = tip.offsetWidth, th = tip.offsetHeight, order = bx < W \/ 2 ? ['r', 'l', 'b', 't'] : ['l', 'r', 'b', 't'], pos = null; function at(sd) { if (sd === 'l') return { x: L - gap - tw, y: clamp(by - th \/ 2, m, H - th - m), ok: L - gap - tw >= m }; if (sd === 'r') return { x: R + gap, y: clamp(by - th \/ 2, m, H - th - m), ok: R + gap + tw <= W - m }; if (sd === 'b') return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: B + gap, ok: B + gap + th <= H - m }; return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: Tt - gap - th, ok: Tt - gap - th >= m }; } for (i = 0; i < order.length && !pos; i++) { var cc = at(order[i]); if (cc.ok) pos = cc; } if (!pos) { var sp = { l: L - tw, r: W - R - tw, t: Tt - th, b: H - B - th }, best = 'b'; for (var key in sp) if (sp[key] > sp[best]) best = key; pos = at(best); } tip.style.left = clamp(pos.x, m, W - tw - m) + 'px'; tip.style.top = clamp(pos.y, m, H - th - m) + 'px'; } function hide() { for (var i = 0; i < els.length; i++) els[i].style.opacity = ''; tip.style.display = 'none'; } for (i = 0; i < els.length; i++) { (function (el) { var n = el.getAttribute('data-p'); el.addEventListener('mouseenter', function () { if (pinned === null) show(n); }); el.addEventListener('mouseleave', function () { if (pinned === null) hide(); }); el.addEventListener('click', function (e) { e.stopPropagation(); if (pinned === n) { pinned = null; hide(); } else { pinned = n; setPlay(false); show(n); } }); })(els[i]); } svg.addEventListener('click', function () { pinned = null; hide(); }); model(); if ('IntersectionObserver' in window) { setPlay(false); var io = new IntersectionObserver(function (en) { if (en[0].isIntersecting) { setPlay(true); io.disconnect(); } }, { threshold: 0.3 }); io.observe(stage); } requestAnimationFrame(frame); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twbmce82101\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this animation on your site<\/strong><button type=\"button\" class=\"twbmce-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-blow-molding&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_blow_molding_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:1300px&quot; loading=&quot;lazy&quot; title=&quot;Extrusion Blow Molding Cycle - Interactive Animation&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_blow_molding&quot;){var f=document.getElementById(&quot;tw-blow-molding&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Blow molding cycle animation by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twbmce82101'); if (!box) return; var btn = box.querySelector('.twbmce-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><div class=\"tw-vc\" id=\"twvc15419\"><style> .tw-vc{max-width:1000px;margin:20px auto;font-family:Inter,'Helvetica Neue',Arial,sans-serif;color:#1f2937;background:#ffffff;border:1px solid #dfe5ec;border-radius:10px;padding:18px 18px 14px;box-sizing:border-box} .tw-vc *{box-sizing:border-box} .tw-vc h3{margin:0 0 4px;font-size:20px;line-height:1.3;color:#1e3a5f;font-weight:700} .tw-vc .twvc-sub{margin:0 0 12px;font-size:13.5px;line-height:1.5;color:#5b6b7f} .tw-vc .twvc-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:10px} .tw-vc .twvc-tab{border:1px solid #c9d3df;background:#ffffff;color:#1e3a5f;border-radius:999px;padding:6px 12px;font:600 12.5px\/1.2 Inter,'Helvetica Neue',Arial,sans-serif;cursor:pointer} .tw-vc .twvc-tab b{display:inline-block;width:18px;height:18px;line-height:18px;border-radius:50%;background:#e6ecf3;color:#1e3a5f;text-align:center;margin-right:6px;font-size:11px} .tw-vc .twvc-tab.on{background:#1e3a5f;color:#ffffff;border-color:#1e3a5f} .tw-vc .twvc-tab.on b{background:#f59e0b;color:#ffffff} .tw-vc .twvc-play{margin-left:auto;border:0;background:#f59e0b;color:#ffffff;border-radius:6px;padding:7px 14px;font:700 12.5px\/1.2 Inter,'Helvetica Neue',Arial,sans-serif;cursor:pointer;min-width:96px} .tw-vc .twvc-cap{display:flex;gap:10px;align-items:baseline;background:#f6f8fb;border-left:4px solid #1e3a5f;border-radius:6px;padding:8px 12px;margin-bottom:8px;font-size:13.5px;line-height:1.5;color:#374151;min-height:44px} .tw-vc .twvc-cap strong{color:#1e3a5f;white-space:nowrap} .tw-vc .twvc-prog{height:3px;background:#e6ecf3;border-radius:2px;margin-bottom:6px;overflow:hidden} .tw-vc .twvc-prog i{display:block;height:100%;width:0;background:#f59e0b} .tw-vc .twvc-stage{position:relative} .tw-vc svg{display:block;width:100%;height:auto;-webkit-tap-highlight-color:transparent} .tw-vc svg [data-p]{cursor:pointer;transition:opacity .15s} .tw-vc .twvc-tip{position:absolute;z-index:5;max-width:260px;background:#ffffff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:8px;padding:9px 12px;font-size:13px;line-height:1.45;color:#374151;box-shadow:0 2px 8px rgba(30,58,95,.12);pointer-events:none;display:none} .tw-vc .twvc-tip b{display:block;color:#1e3a5f;font-size:14px;margin-bottom:2px} .tw-vc .twvc-key{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0 4px;font-size:12px;color:#5b6b7f} .tw-vc .twvc-key span{display:inline-flex;align-items:center;gap:6px} .tw-vc .twvc-key i{display:inline-block;width:18px;height:10px;border-radius:2px} .tw-vc .twvc-calc{margin-top:14px;border-top:1px solid #dfe5ec;padding-top:14px} .tw-vc .twvc-calc h4{margin:0 0 10px;font-size:16px;color:#1e3a5f} .tw-vc .twvc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px} .tw-vc label{display:block;font-size:12.5px;font-weight:600;color:#374151;margin-bottom:5px} .tw-vc label span{float:right;color:#1e3a5f;font-weight:700} .tw-vc input[type=number],.tw-vc select{width:100%;padding:7px 9px;border:1px solid #c9d3df;border-radius:6px;font:14px Inter,'Helvetica Neue',Arial,sans-serif;color:#1f2937;background:#ffffff} .tw-vc input[type=range]{width:100%;accent-color:#1e3a5f} .tw-vc .twvc-out{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px} .tw-vc .twvc-out div{background:#f6f8fb;border:1px solid #dfe5ec;border-radius:8px;padding:10px 12px} .tw-vc .twvc-out em{display:block;font-style:normal;font-size:12px;color:#5b6b7f} .tw-vc .twvc-out strong{font-size:22px;color:#1e3a5f} .tw-vc .twvc-note{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:#5b6b7f} .tw-vc .twvc-note.warn{color:#9a3412;background:#fff7ed;border-left:3px solid #f59e0b;padding:7px 10px;border-radius:4px} @media (max-width:640px){.tw-vc{padding:12px 10px}.tw-vc h3{font-size:17px}.tw-vc .twvc-grid,.tw-vc .twvc-out{grid-template-columns:1fr}.tw-vc .twvc-play{margin-left:0}.tw-vc .twvc-cap{display:block}.tw-vc .twvc-tab{padding:5px 9px}.tw-vc .twvc-tab span{display:none}} <\/style><h3>Vacuum Casting Process<\/h3><p class=\"twvc-sub\">How a silicone mold copies a master pattern into polyurethane parts, in six steps. Press Play or pick a step. Hover or tap any part or number.<\/p><div class=\"twvc-bar\"><button type=\"button\" class=\"twvc-tab on\" data-s=\"1\"><b>1<\/b><span>Master<\/span><\/button><button type=\"button\" class=\"twvc-tab\" data-s=\"2\"><b>2<\/b><span>Silicone pour<\/span><\/button><button type=\"button\" class=\"twvc-tab\" data-s=\"3\"><b>3<\/b><span>Cure &amp; cut<\/span><\/button><button type=\"button\" class=\"twvc-tab\" data-s=\"4\"><b>4<\/b><span>Resin cast<\/span><\/button><button type=\"button\" class=\"twvc-tab\" data-s=\"5\"><b>5<\/b><span>Oven cure<\/span><\/button><button type=\"button\" class=\"twvc-tab\" data-s=\"6\"><b>6<\/b><span>Demold<\/span><\/button><button type=\"button\" class=\"twvc-play\">&#9654; Play all<\/button><\/div><div class=\"twvc-cap\"><strong><\/strong><span><\/span><\/div><div class=\"twvc-prog\"><i><\/i><\/div><div class=\"twvc-stage\"><svg viewBox=\"0 0 1000 465\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Six-step cross-section of the vacuum casting process with 20 numbered components\" font-family=\"Inter,'Helvetica Neue',Arial,sans-serif\"><defs><pattern id=\"twvc15419h\" patternUnits=\"userSpaceOnUse\" width=\"10\" height=\"10\" patternTransform=\"rotate(45)\"><rect width=\"10\" height=\"10\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"10\" stroke=\"#cdd6e1\" stroke-width=\"1\"\/><\/pattern><clipPath id=\"twvc15419c\"><path d=\"M450 330V262Q450 252 460 252H466V190H470V252H495V190H505V252H530V190H534V252H540Q550 252 550 262V330Z M462 330V264H538V330Z\" clip-rule=\"evenodd\"\/><\/clipPath><\/defs><rect width=\"1000\" height=\"465\" fill=\"#ffffff\"\/><line x1=\"60\" y1=\"406\" x2=\"940\" y2=\"406\" stroke=\"#c9d3df\" stroke-width=\"1\" pointer-events=\"none\"\/><g class=\"twvc-sc\" data-s=\"1\"><g data-p=\"5\"><rect x=\"388\" y=\"168\" width=\"224\" height=\"6\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"394\" y=\"180\" width=\"6\" height=\"220\" fill=\"#e6ecf3\" fill-opacity=\".7\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"600\" y=\"180\" width=\"6\" height=\"220\" fill=\"#e6ecf3\" fill-opacity=\".7\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"394\" y=\"400\" width=\"212\" height=\"6\" fill=\"url(#twvc15419h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"3\"><rect x=\"495\" y=\"172\" width=\"10\" height=\"80\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"4\"><rect x=\"466\" y=\"176\" width=\"4\" height=\"76\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"530\" y=\"176\" width=\"4\" height=\"76\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"1\"><path d=\"M450 330V262Q450 252 460 252H540Q550 252 550 262V330H538V264H462V330Z\" fill=\"#c9d3df\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"2\"><line x1=\"400\" y1=\"330\" x2=\"600\" y2=\"330\" stroke=\"#d63c3c\" stroke-width=\"1.6\" stroke-dasharray=\"7 5\"\/><rect x=\"446\" y=\"326\" width=\"20\" height=\"6\" fill=\"#d63c3c\"\/><rect x=\"534\" y=\"326\" width=\"20\" height=\"6\" fill=\"#d63c3c\"\/><\/g><text x=\"500\" y=\"440\" font-size=\"11\" fill=\"#8a97a8\" text-anchor=\"middle\" pointer-events=\"none\">Master hung by its sprue and vent rods; nothing touches the box walls<\/text><g data-p=\"1\" class=\"twvc-b\"><line x1=\"660\" y1=\"290\" x2=\"552\" y2=\"290\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"660\" cy=\"290\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"660\" y=\"294\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\" class=\"twvc-b\"><line x1=\"660\" y1=\"345\" x2=\"554\" y2=\"331\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"660\" cy=\"345\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"660\" y=\"349\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\" class=\"twvc-b\"><line x1=\"660\" y1=\"190\" x2=\"505\" y2=\"195\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"660\" cy=\"190\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"660\" y=\"194\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\" class=\"twvc-b\"><line x1=\"340\" y1=\"215\" x2=\"466\" y2=\"215\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"340\" cy=\"215\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"340\" y=\"219\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\" class=\"twvc-b\"><line x1=\"340\" y1=\"370\" x2=\"394\" y2=\"370\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"340\" cy=\"370\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"340\" y=\"374\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><\/g><g class=\"twvc-sc\" data-s=\"2\" style=\"display:none\"><g data-p=\"6\"><rect x=\"300\" y=\"80\" width=\"400\" height=\"12\" fill=\"url(#twvc15419h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"300\" y=\"406\" width=\"400\" height=\"12\" fill=\"url(#twvc15419h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"300\" y=\"92\" width=\"12\" height=\"314\" fill=\"url(#twvc15419h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"688\" y=\"92\" width=\"12\" height=\"314\" fill=\"url(#twvc15419h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"636\" y=\"66\" width=\"8\" height=\"14\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><circle cx=\"640\" cy=\"56\" r=\"13\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M640 56L632 50\" stroke=\"#d63c3c\" stroke-width=\"2\"\/><text x=\"316\" y=\"108\" font-size=\"10.5\" font-weight=\"700\" fill=\"#8a97a8\" letter-spacing=\".06em\">VACUUM<\/text><\/g><g data-p=\"8\"><path d=\"M700 380H726\" stroke=\"#5b6b7f\" stroke-width=\"5\" fill=\"none\"\/><rect x=\"726\" y=\"345\" width=\"70\" height=\"60\" rx=\"4\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><circle cx=\"761\" cy=\"375\" r=\"16\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M754 383L761 367L768 383Z\" fill=\"#5b6b7f\"\/><\/g><g data-p=\"5\"><rect x=\"388\" y=\"168\" width=\"224\" height=\"6\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"394\" y=\"180\" width=\"6\" height=\"220\" fill=\"#e6ecf3\" fill-opacity=\".7\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"600\" y=\"180\" width=\"6\" height=\"220\" fill=\"#e6ecf3\" fill-opacity=\".7\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"394\" y=\"400\" width=\"212\" height=\"6\" fill=\"url(#twvc15419h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"3\"><rect x=\"495\" y=\"172\" width=\"10\" height=\"80\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"4\"><rect x=\"466\" y=\"176\" width=\"4\" height=\"76\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"530\" y=\"176\" width=\"4\" height=\"76\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"1\"><path d=\"M450 330V262Q450 252 460 252H540Q550 252 550 262V330H538V264H462V330Z\" fill=\"#c9d3df\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"7\"><rect class=\"twvc-sil\" x=\"400\" y=\"400\" width=\"200\" height=\"0\" fill=\"#ddd3f2\" fill-opacity=\".72\"\/><g class=\"twvc-bub\" fill=\"#ffffff\" stroke=\"#8b7bb5\" stroke-width=\".8\"><circle cx=\"420\" cy=\"380\" r=\"2.5\"\/><circle cx=\"585\" cy=\"360\" r=\"2\"\/><circle cx=\"430\" cy=\"300\" r=\"2\"\/><circle cx=\"575\" cy=\"270\" r=\"2.5\"\/><\/g><\/g><g data-p=\"7\"><g transform=\"rotate(48 600 128)\"><path d=\"M580 102L584 154H616L620 102\" fill=\"#f6f8fb\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M582 130L584 153H616L618 130Z\" fill=\"#ddd3f2\" stroke=\"#8b7bb5\" stroke-width=\"1\"\/><\/g><line class=\"twvc-s2\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"0\" stroke-width=\"4\" stroke-linecap=\"round\"\/><\/g><g data-p=\"6\" class=\"twvc-b\"><line x1=\"735\" y1=\"110\" x2=\"700\" y2=\"110\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"735\" cy=\"110\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"735\" y=\"114\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\" class=\"twvc-b\"><line x1=\"345\" y1=\"300\" x2=\"400\" y2=\"300\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"345\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"345\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\" class=\"twvc-b\"><circle cx=\"761\" cy=\"322\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"761\" y=\"326\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><\/g><g class=\"twvc-sc\" data-s=\"3\" style=\"display:none\"><g data-p=\"10\"><path d=\"M400 330H462V264H538V330H600V400H400Z\" fill=\"#ddd3f2\" stroke=\"#8b7bb5\" stroke-width=\"1.5\"\/><\/g><g data-p=\"11\"><path d=\"M400 330L405 325L410 330L415 325L420 330L425 325L430 330L435 325L440 330L445 325L450 330L455 330L460 330L465 330L470 330L475 330L480 330L485 330L490 330L495 330L500 330L505 330L510 330L515 330L520 330L525 330L530 330L535 330L540 330L545 330L550 330L555 325L560 330L565 325L570 330L575 325L580 330L585 325L590 330L595 325L600 330\" fill=\"none\" stroke=\"#5b6b7f\" stroke-width=\"1.6\"\/><\/g><g class=\"twvc-up\" data-p=\"9\"><path d=\"M400 190H600V330H400Z M450 330V262Q450 252 460 252H466V190H470V252H495V190H505V252H530V190H534V252H540Q550 252 550 262V330Z\" fill-rule=\"evenodd\" fill=\"#ddd3f2\" stroke=\"#8b7bb5\" stroke-width=\"1.5\"\/><\/g><g class=\"twvc-mr\" data-p=\"12\"><path d=\"M450 330V262Q450 252 460 252H540Q550 252 550 262V330H538V264H462V330Z\" fill=\"#c9d3df\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"495\" y=\"172\" width=\"10\" height=\"80\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"466\" y=\"176\" width=\"4\" height=\"76\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"530\" y=\"176\" width=\"4\" height=\"76\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"9\" class=\"twvc-b\"><line x1=\"660\" y1=\"215\" x2=\"600\" y2=\"215\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"660\" cy=\"215\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"660\" y=\"219\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\" class=\"twvc-b\"><line x1=\"660\" y1=\"375\" x2=\"600\" y2=\"375\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"660\" cy=\"375\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"660\" y=\"379\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><g data-p=\"11\" class=\"twvc-b\"><line x1=\"660\" y1=\"330\" x2=\"600\" y2=\"330\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"660\" cy=\"330\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"660\" y=\"334\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><g data-p=\"12\" class=\"twvc-b\"><line x1=\"240\" y1=\"355\" x2=\"240\" y2=\"310\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"240\" cy=\"355\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"240\" y=\"359\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">12<\/text><\/g><\/g><g class=\"twvc-sc\" data-s=\"4\" style=\"display:none\"><g data-p=\"6\"><rect x=\"300\" y=\"80\" width=\"400\" height=\"12\" fill=\"url(#twvc15419h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"300\" y=\"406\" width=\"400\" height=\"12\" fill=\"url(#twvc15419h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"300\" y=\"92\" width=\"12\" height=\"314\" fill=\"url(#twvc15419h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"688\" y=\"92\" width=\"12\" height=\"314\" fill=\"url(#twvc15419h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"636\" y=\"66\" width=\"8\" height=\"14\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><circle cx=\"640\" cy=\"56\" r=\"13\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M640 56L632 50\" stroke=\"#d63c3c\" stroke-width=\"2\"\/><text x=\"316\" y=\"108\" font-size=\"10.5\" font-weight=\"700\" fill=\"#8a97a8\" letter-spacing=\".06em\">VACUUM<\/text><\/g><g data-p=\"8\"><path d=\"M700 380H726\" stroke=\"#5b6b7f\" stroke-width=\"5\" fill=\"none\"\/><rect x=\"726\" y=\"345\" width=\"70\" height=\"60\" rx=\"4\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><circle cx=\"761\" cy=\"375\" r=\"16\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M754 383L761 367L768 383Z\" fill=\"#5b6b7f\"\/><\/g><g data-p=\"10\"><path d=\"M400 330H462V264H538V330H600V400H400Z\" fill=\"#ddd3f2\" stroke=\"#8b7bb5\" stroke-width=\"1.5\"\/><\/g><g data-p=\"9\"><path d=\"M400 190H600V330H400Z M450 330V262Q450 252 460 252H466V190H470V252H495V190H505V252H530V190H534V252H540Q550 252 550 262V330Z\" fill-rule=\"evenodd\" fill=\"#ddd3f2\" stroke=\"#8b7bb5\" stroke-width=\"1.5\"\/><\/g><g data-p=\"15\"><rect class=\"twvc-res\" x=\"440\" y=\"330\" width=\"120\" height=\"0\" fill=\"#f2a33c\" clip-path=\"url(#twvc15419c)\"\/><\/g><g data-p=\"14\"><path d=\"M476 150H524L505 182V190H495V182Z\" fill=\"#e6ecf3\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path class=\"twvc-fun\" d=\"M484 160H516L503 180H497Z\" fill=\"#f2a33c\"\/><\/g><g data-p=\"13\"><g transform=\"rotate(-50 455 112)\"><path d=\"M435 86L439 138H471L475 86\" fill=\"#f6f8fb\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M437 114L439 137H471L473 114Z\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\"1\"\/><\/g><line class=\"twvc-s4\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"0\" stroke-width=\"4\" stroke-linecap=\"round\"\/><\/g><g data-p=\"13\" class=\"twvc-b\"><line x1=\"395\" y1=\"112\" x2=\"432\" y2=\"120\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"395\" cy=\"112\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"395\" y=\"116\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">13<\/text><\/g><g data-p=\"14\" class=\"twvc-b\"><line x1=\"590\" y1=\"160\" x2=\"520\" y2=\"160\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"590\" cy=\"160\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"590\" y=\"164\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">14<\/text><\/g><g data-p=\"15\" class=\"twvc-b\"><line x1=\"660\" y1=\"290\" x2=\"550\" y2=\"290\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"660\" cy=\"290\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"660\" y=\"294\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">15<\/text><\/g><\/g><g class=\"twvc-sc\" data-s=\"5\" style=\"display:none\"><g data-p=\"16\"><rect x=\"330\" y=\"120\" width=\"340\" height=\"12\" fill=\"url(#twvc15419h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"330\" y=\"406\" width=\"340\" height=\"12\" fill=\"url(#twvc15419h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"330\" y=\"132\" width=\"12\" height=\"274\" fill=\"url(#twvc15419h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"658\" y=\"132\" width=\"12\" height=\"274\" fill=\"url(#twvc15419h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"455\" y=\"88\" width=\"90\" height=\"28\" rx=\"4\" fill=\"#1e3a5f\"\/><text class=\"twvc-temp\" x=\"500\" y=\"108\" font-size=\"15\" font-weight=\"700\" fill=\"#f59e0b\" text-anchor=\"middle\">25 \u00b0C<\/text><\/g><g data-p=\"17\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"1\"><rect x=\"346\" y=\"150\" width=\"8\" height=\"240\"\/><rect x=\"646\" y=\"150\" width=\"8\" height=\"240\"\/><rect x=\"370\" y=\"136\" width=\"260\" height=\"7\"\/><\/g><g data-p=\"10\"><path d=\"M400 330H462V264H538V330H600V400H400Z\" fill=\"#ddd3f2\" stroke=\"#8b7bb5\" stroke-width=\"1.5\"\/><\/g><g data-p=\"9\"><path d=\"M400 190H600V330H400Z M450 330V262Q450 252 460 252H466V190H470V252H495V190H505V252H530V190H534V252H540Q550 252 550 262V330Z\" fill-rule=\"evenodd\" fill=\"#ddd3f2\" stroke=\"#8b7bb5\" stroke-width=\"1.5\"\/><\/g><g data-p=\"15\"><path d=\"M450 330V262Q450 252 460 252H466V190H470V252H495V190H505V252H530V190H534V252H540Q550 252 550 262V330Z M462 330V264H538V330Z\" fill-rule=\"evenodd\" fill=\"#f2a33c\"\/><\/g><g data-p=\"16\" class=\"twvc-b\"><line x1=\"705\" y1=\"140\" x2=\"670\" y2=\"140\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"705\" cy=\"140\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"705\" y=\"144\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">16<\/text><\/g><g data-p=\"17\" class=\"twvc-b\"><line x1=\"705\" y1=\"280\" x2=\"656\" y2=\"280\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"705\" cy=\"280\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"705\" y=\"284\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">17<\/text><\/g><\/g><g class=\"twvc-sc\" data-s=\"6\" style=\"display:none\"><g data-p=\"10\"><path d=\"M400 330H462V264H538V330H600V400H400Z\" fill=\"#ddd3f2\" stroke=\"#8b7bb5\" stroke-width=\"1.5\"\/><\/g><g class=\"twvc-up6\" data-p=\"9\"><path d=\"M400 190H600V330H400Z M450 330V262Q450 252 460 252H466V190H470V252H495V190H505V252H530V190H534V252H540Q550 252 550 262V330Z\" fill-rule=\"evenodd\" fill=\"#ddd3f2\" stroke=\"#8b7bb5\" stroke-width=\"1.5\"\/><\/g><g class=\"twvc-pt\"><g data-p=\"18\"><path d=\"M450 330V262Q450 252 460 252H540Q550 252 550 262V330H538V264H462V330Z\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\"1\"\/><\/g><g data-p=\"19\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\"1\"><rect x=\"495\" y=\"232\" width=\"10\" height=\"20\"\/><rect x=\"466\" y=\"238\" width=\"4\" height=\"14\"\/><rect x=\"530\" y=\"238\" width=\"4\" height=\"14\"\/><\/g><\/g><g data-p=\"20\"><rect x=\"400\" y=\"422\" width=\"240\" height=\"30\" rx=\"6\" fill=\"#f6f8fb\" stroke=\"#c9d3df\" stroke-width=\"1\"\/><text class=\"twvc-shot\" x=\"520\" y=\"442\" font-size=\"12.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Shot 1 of ~20<\/text><\/g><g data-p=\"18\" class=\"twvc-b\"><line x1=\"730\" y1=\"335\" x2=\"730\" y2=\"300\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"730\" cy=\"335\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"730\" y=\"339\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">18<\/text><\/g><g data-p=\"19\" class=\"twvc-b\"><line x1=\"810\" y1=\"205\" x2=\"764\" y2=\"215\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"810\" cy=\"205\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"810\" y=\"209\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">19<\/text><\/g><g data-p=\"20\" class=\"twvc-b\"><circle cx=\"380\" cy=\"437\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"380\" y=\"441\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">20<\/text><\/g><\/g><\/svg><div class=\"twvc-tip\" role=\"status\"><\/div><\/div><div class=\"twvc-key\"><span><i style=\"background:#c9d3df;border:1px solid #5b6b7f\"><\/i>Master pattern<\/span><span><i style=\"background:#ddd3f2;border:1px solid #8b7bb5\"><\/i>Silicone<\/span><span><i style=\"background:#f2a33c\"><\/i>PU resin<\/span><span><i style=\"background:#e6ecf3;border:1px solid #5b6b7f\"><\/i>Equipment<\/span><span><i style=\"background:#f59e0b\"><\/i>Heaters<\/span><span><i style=\"background:repeating-linear-gradient(90deg,#d63c3c 0 5px,transparent 5px 9px);height:2px\"><\/i>Parting line<\/span><\/div><div class=\"twvc-calc\"><h4>Silicone Mold Planner<\/h4><div class=\"twvc-grid\"><div><label>Parts needed<\/label><input type=\"number\" class=\"twvc-q\" min=\"1\" max=\"5000\" value=\"50\"><\/div><div><label>Parts per mold (mold life) <span class=\"twvc-lv\">20<\/span><\/label><input type=\"range\" class=\"twvc-l\" min=\"10\" max=\"30\" value=\"20\"><\/div><div><label>Cavities per mold<\/label><select class=\"twvc-c\"><option value=\"1\">1<\/option><option value=\"2\">2<\/option><option value=\"4\">4<\/option><\/select><\/div><\/div><div class=\"twvc-out\"><div><em>Silicone molds needed<\/em><strong class=\"twvc-om\">3<\/strong><\/div><div><em>Casting cycles<\/em><strong class=\"twvc-oc\">50<\/strong><\/div><div><em>Master patterns<\/em><strong>1<\/strong><\/div><\/div><p class=\"twvc-note twvc-n\">One master can make several silicone molds, so a second master is only needed if it gets damaged.<\/p><\/div><script> (function () { var root = document.getElementById('twvc15419'); if (!root) return; var D = {\"1\":[\"Master Pattern\",\"An SLA print or CNC part with a finished surface. Every cast copies it exactly, flaws included.\"],\"2\":[\"Parting Line Tape\",\"Colored tape on the master edge shows where the silicone block will be cut open.\"],\"3\":[\"Sprue Rod\",\"Becomes the pour channel. Resin enters the cavity here.\"],\"4\":[\"Vent Rods\",\"Become air vents so trapped air escapes from the high points of the cavity.\"],\"5\":[\"Mold Box\",\"Temporary acrylic or wood frame that holds the master and the liquid silicone.\"],\"6\":[\"Vacuum Chamber\",\"Pulls air out so bubbles leave the silicone and, later, the resin.\"],\"7\":[\"Liquid Silicone (RTV)\",\"Two-part silicone rubber poured around the master. It cures into a flexible, tear-resistant mold.\"],\"8\":[\"Vacuum Pump\",\"Evacuates the chamber during degassing and pouring.\"],\"9\":[\"Upper Mold Half (Cavity Side)\",\"Holds the outside shape of the part plus the sprue and vent channels.\"],\"10\":[\"Lower Mold Half (Core Side)\",\"Forms the inside of the part. Silicone flexes, so small undercuts can still release.\"],\"11\":[\"Zigzag Cut Line\",\"The block is cut along the tape with a wavy knife path so the halves self-align when closed.\"],\"12\":[\"Master Removed\",\"Once the master is pulled out, its exact shape is left behind as the cavity.\"],\"13\":[\"Mixed PU Resin\",\"Two-part polyurethane (A + B) mixed and degassed. Grades imitate ABS, PP, PC, rubber or clear plastics.\"],\"14\":[\"Pour Funnel\",\"Sits on the sprue and guides resin into the mold while the chamber is under vacuum.\"],\"15\":[\"Resin Filling the Cavity\",\"Under vacuum there is no air to push against, so resin fills thin walls and fine details.\"],\"16\":[\"Curing Oven\",\"Heats the filled mold so the resin cures fully and reaches its properties.\"],\"17\":[\"Heating Elements\",\"Keep the oven at the curing temperature, typically around 60-70 \\u00b0C.\"],\"18\":[\"Cast Part\",\"The finished urethane part, ready for trimming, painting or texturing.\"],\"19\":[\"Sprue & Vent Stubs\",\"Resin left in the channels. Cut off and sanded flush after demolding.\"],\"20\":[\"Mold Life\",\"The silicone wears with each shot. One mold typically yields about 15-25 parts.\"]}, ST = {\"1\":[\"Prepare the master\",\"An SLA or CNC master gets a sprue rod and vent rods. Tape marks the parting line, and the master hangs inside a mold box.\"],\"2\":[\"Pour silicone under vacuum\",\"Degassed liquid silicone is poured around the master inside a vacuum chamber, so no air is trapped against it.\"],\"3\":[\"Cure and cut the mold\",\"After the silicone cures, the block is cut open along the tape. The master comes out and leaves an exact cavity.\"],\"4\":[\"Cast resin under vacuum\",\"Two-part PU resin is mixed, degassed and poured through the funnel. The vacuum lets it fill every thin wall.\"],\"5\":[\"Cure in the oven\",\"The filled mold goes into an oven, typically around 60-70 \\u00b0C, until the resin is fully cured.\"],\"6\":[\"Demold and repeat\",\"The part is removed and trimmed. The same silicone mold is closed and used again, typically for 15-25 parts.\"]}; var svg = root.querySelector('svg'), stage = root.querySelector('.twvc-stage'), tip = root.querySelector('.twvc-tip'); var scenes = root.querySelectorAll('.twvc-sc'), tabs = root.querySelectorAll('.twvc-tab'), playBtn = root.querySelector('.twvc-play'); var capS = root.querySelector('.twvc-cap strong'), capT = root.querySelector('.twvc-cap span'), prog = root.querySelector('.twvc-prog i'); var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; var cur = null, s = 1, t = 1, auto = false, raf = 0, last = 0, hold = 0, DUR = 3600, i; function q(c) { return root.querySelector('.twvc-sc[data-s=\"' + s + '\"] ' + c); } function ease(x) { x = Math.max(0, Math.min(1, x)); return x < .5 ? 2 * x * x : 1 - Math.pow(-2 * x + 2, 2) \/ 2; } function stream(cls, on, x1, y1, x2, y2, col) { var l = root.querySelector('.' + cls); if (!l) return; l.style.display = on ? '' : 'none'; l.setAttribute('x1', x1); l.setAttribute('y1', y1); l.setAttribute('x2', x2); l.setAttribute('y2', y2); l.setAttribute('stroke', col); } function draw() { var e = ease(t); if (s === 2) { var lv = 400 - 208 * e, r = q('.twvc-sil'); r.setAttribute('y', lv); r.setAttribute('height', 400 - lv); var b = q('.twvc-bub'); b.style.display = t > .25 && t < .97 ? '' : 'none'; stream('twvc-s2', t < .97, 582, 150, 582, lv, '#b9a8e3'); } else if (s === 3) { q('.twvc-up').setAttribute('transform', 'translate(0,' + (-55 * ease(t \/ .5)) + ')'); var m = ease((t - .45) \/ .55); q('.twvc-mr').setAttribute('transform', 'translate(' + (-260 * m) + ',' + (-55 + 35 * m) + ')'); } else if (s === 4) { var y = 330 - 142 * e, rr = q('.twvc-res'); rr.setAttribute('y', y); rr.setAttribute('height', 330 - y); q('.twvc-fun').style.display = t < .97 ? '' : 'none'; stream('twvc-s4', t < .97, 478, 128, 496, 160, '#f2a33c'); } else if (s === 5) { q('.twvc-temp').textContent = Math.round(25 + 40 * ease(t \/ .7)) + ' \u00b0C'; } else if (s === 6) { q('.twvc-up6').setAttribute('transform', 'translate(0,' + (-60 * ease(t \/ .4)) + ')'); var p = ease((t - .35) \/ .65); q('.twvc-pt').setAttribute('transform', 'translate(' + (230 * p) + ',' + (-60 + 30 * p) + ')'); q('.twvc-pt').style.opacity = t < .3 ? 0 : 1; q('.twvc-shot').textContent = t < .5 ? 'Shot 1 of ~20' : 'Shot 2 of ~20 \u2192 close mold, repeat'; } prog.style.width = (((s - 1) + t) \/ 6 * 100) + '%'; } function setStage(n, from0) { hide(); s = n; t = from0 && !reduce ? 0 : 1; for (i = 0; i < scenes.length; i++) scenes[i].style.display = +scenes[i].getAttribute('data-s') === s ? '' : 'none'; for (i = 0; i < tabs.length; i++) tabs[i].classList.toggle('on', +tabs[i].getAttribute('data-s') === s); capS.textContent = s + '. ' + ST[s][0]; capT.textContent = ST[s][1]; draw(); if (t < 1) go(); } function go() { if (!raf) { last = 0; raf = requestAnimationFrame(step); } } function step(ts) { raf = 0; if (!last) last = ts; var dt = ts - last; last = ts; if (t < 1) { t = Math.min(1, t + dt \/ DUR); draw(); hold = 0; } else if (auto) { hold += dt; if (hold > 1100) { hold = 0; if (s < 6) setStage(s + 1, true); else { auto = false; playBtn.innerHTML = '&#8635; Replay'; return; } } } else return; raf = requestAnimationFrame(step); } playBtn.addEventListener('click', function () { if (auto) { auto = false; playBtn.innerHTML = '&#9654; Play all'; return; } auto = true; playBtn.innerHTML = '&#10074;&#10074; Pause'; if (s === 6 && t >= 1) setStage(1, true); else if (t >= 1) { hold = 1100; go(); } else go(); }); for (i = 0; i < tabs.length; i++) tabs[i].addEventListener('click', function () { auto = false; playBtn.innerHTML = '&#9654; Play all'; setStage(+this.getAttribute('data-s'), true); }); \/* tooltips *\/ function els() { return root.querySelectorAll('.twvc-sc[data-s=\"' + s + '\"] [data-p]'); } function box(list) { var r = null; for (var k = 0; k < list.length; k++) { var b = list[k].getBoundingClientRect(); if (!b.width && !b.height) continue; r = r ? { l: Math.min(r.l, b.left), t: Math.min(r.t, b.top), r: Math.max(r.r, b.right), b: Math.max(r.b, b.bottom) } : { l: b.left, t: b.top, r: b.right, b: b.bottom }; } return r; } function show(n) { n = String(n); cur = n; var E = els(), part = [], badge = []; for (i = 0; i < E.length; i++) { var on = E[i].getAttribute('data-p') === n; E[i].style.opacity = on ? '1' : '0.18'; if (on) (E[i].getAttribute('class') === 'twvc-b' ? badge : part).push(E[i]); } tip.innerHTML = '<b>' + n + '. ' + D[n][0] + '<\/b>' + D[n][1]; tip.style.display = 'block'; var S = stage.getBoundingClientRect(), W = S.width, H = S.height; var w = tip.offsetWidth, h = tip.offsetHeight, g = 12; var P = box(part) || box(badge), Bd = box(badge) || P; if (!P) return; var all = { l: Math.min(P.l, Bd.l) - S.left, t: Math.min(P.t, Bd.t) - S.top, r: Math.max(P.r, Bd.r) - S.left, b: Math.max(P.b, Bd.b) - S.top }; var by = (Bd.t + Bd.b) \/ 2 - S.top, bx = (Bd.l + Bd.r) \/ 2 - S.left, x, y; if (all.r + g + w <= W) { x = all.r + g; y = by - h \/ 2; } else if (all.l - g - w >= 0) { x = all.l - g - w; y = by - h \/ 2; } else if (all.b + g + h <= H) { y = all.b + g; x = bx - w \/ 2; } else { y = all.t - g - h; x = bx - w \/ 2; } x = Math.max(4, Math.min(x, W - w - 4)); y = Math.max(4, Math.min(y, H - h - 4)); tip.style.left = x + 'px'; tip.style.top = y + 'px'; } function hide() { cur = null; tip.style.display = 'none'; var E = root.querySelectorAll('svg [data-p]'); for (var k = 0; k < E.length; k++) E[k].style.opacity = ''; } function pick(e) { var x = e.target.closest ? e.target.closest('[data-p]') : null; return x && root.contains(x) ? x.getAttribute('data-p') : null; } var touch = false; root.addEventListener('touchstart', function () { touch = true; }, { passive: true }); svg.addEventListener('mouseover', function (e) { if (touch) return; var n = pick(e); if (n) show(n); }); svg.addEventListener('mouseleave', function () { if (!touch) hide(); }); svg.addEventListener('click', function (e) { var n = pick(e); if (n) { if (cur === n && touch) hide(); else show(n); } else hide(); }); document.addEventListener('click', function (e) { if (cur && !svg.contains(e.target)) hide(); }); window.addEventListener('resize', function () { if (cur) show(cur); }); \/* mold planner *\/ var iq = root.querySelector('.twvc-q'), il = root.querySelector('.twvc-l'), ic = root.querySelector('.twvc-c'); var lv = root.querySelector('.twvc-lv'), om = root.querySelector('.twvc-om'), oc = root.querySelector('.twvc-oc'), nt = root.querySelector('.twvc-n'); function calc() { var qn = Math.max(1, Math.min(5000, parseInt(iq.value, 10) || 1)), life = +il.value, cav = +ic.value; lv.textContent = life; om.textContent = Math.ceil(qn \/ (life * cav)); oc.textContent = Math.ceil(qn \/ cav); if (qn > 100) { nt.className = 'twvc-note warn'; nt.textContent = 'Above about 100 parts, the cost of many silicone molds adds up. Compare against a low-volume aluminum injection mold at this quantity.'; } else { nt.className = 'twvc-note'; nt.textContent = 'One master can make several silicone molds, so a second master is only needed if it gets damaged.'; } } iq.addEventListener('input', calc); il.addEventListener('input', calc); ic.addEventListener('change', calc); calc(); setStage(1, false); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twvce56471\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this diagram on your site<\/strong><button type=\"button\" class=\"twvce-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-vacuum-casting&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_vacuum_casting_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:960px&quot; loading=&quot;lazy&quot; title=&quot;Vacuum Casting Process - Interactive Diagram&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_vacuum_casting&quot;){var f=document.getElementById(&quot;tw-vacuum-casting&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Vacuum casting diagram by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twvce56471'); if (!box) return; var btn = box.querySelector('.twvce-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><div class=\"tw-imm\" id=\"twim38557\"><style> .tw-imm{max-width:1000px;margin:20px auto;font-family:Inter,'Helvetica Neue',Arial,sans-serif;color:#1f2937;background:#ffffff;border:1px solid #dfe5ec;border-radius:10px;padding:18px 18px 14px;box-sizing:border-box} .tw-imm *{box-sizing:border-box} .tw-imm h3{margin:0 0 4px;font-size:20px;line-height:1.3;color:#1e3a5f;font-weight:700} .tw-imm .twim-sub{margin:0 0 10px;font-size:13.5px;line-height:1.5;color:#5b6b7f} .tw-imm .twim-stage{position:relative} .tw-imm svg{display:block;width:100%;height:auto;-webkit-tap-highlight-color:transparent} .tw-imm svg [data-p]{cursor:pointer;transition:opacity .15s} .tw-imm .twim-tip{position:absolute;z-index:5;max-width:260px;background:#ffffff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:8px;padding:9px 12px;font-size:13px;line-height:1.45;color:#374151;box-shadow:0 2px 8px rgba(30,58,95,.12);pointer-events:none;display:none} .tw-imm .twim-tip b{display:block;color:#1e3a5f;font-size:14px;margin-bottom:2px} .tw-imm .twim-key{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0 2px;font-size:12px;color:#5b6b7f} .tw-imm .twim-key span{display:inline-flex;align-items:center;gap:6px} .tw-imm .twim-key i{display:inline-block;width:18px;height:10px;border-radius:2px} @media (max-width:640px){.tw-imm{padding:12px 10px}.tw-imm h3{font-size:17px}} <\/style><h3>Injection Molding Machine Parts<\/h3><p class=\"twim-sub\">Horizontal hydraulic machine with toggle clamp. Mold closed, nozzle seated, partial section through the barrel and screw. Hover or tap any part or number.<\/p><div class=\"twim-stage\"><svg viewBox=\"0 0 1000 445\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Side view of a horizontal injection molding machine with 29 numbered components\" font-family=\"Inter,'Helvetica Neue',Arial,sans-serif\"><defs><pattern id=\"twim38557h\" patternUnits=\"userSpaceOnUse\" width=\"10\" height=\"10\" patternTransform=\"rotate(45)\"><rect width=\"10\" height=\"10\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"10\" stroke=\"#cdd6e1\" stroke-width=\"1\"\/><\/pattern><\/defs><rect width=\"1000\" height=\"445\" fill=\"#ffffff\"\/><g data-p=\"25\"><rect x=\"30\" y=\"330\" width=\"940\" height=\"90\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"40\" y=\"420\" width=\"40\" height=\"12\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"480\" y=\"420\" width=\"40\" height=\"12\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"920\" y=\"420\" width=\"40\" height=\"12\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"26\"><rect x=\"50\" y=\"345\" width=\"180\" height=\"63\" fill=\"#f6f8fb\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"52\" y=\"370\" width=\"176\" height=\"36\" fill=\"#7fbf7f\"\/><line x1=\"52\" y1=\"370\" x2=\"228\" y2=\"370\" stroke=\"#4f8f4f\" stroke-width=\"1\"\/><line x1=\"230\" y1=\"376\" x2=\"238\" y2=\"376\" stroke=\"#5b6b7f\" stroke-width=\"3\"\/><circle cx=\"252\" cy=\"376\" r=\"14\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M246 383L252 369L258 383Z\" fill=\"#5b6b7f\"\/><rect x=\"266\" y=\"372\" width=\"6\" height=\"8\" fill=\"#5b6b7f\"\/><rect x=\"272\" y=\"356\" width=\"62\" height=\"40\" rx=\"3\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M282 356V396M292 356V396M302 356V396M312 356V396M322 356V396\" stroke=\"#9aa8b8\" stroke-width=\"1\"\/><text x=\"210\" y=\"360\" font-size=\"10\" fill=\"#5b6b7f\" text-anchor=\"end\">oil tank<\/text><\/g><g data-p=\"27\"><rect x=\"352\" y=\"352\" width=\"68\" height=\"48\" fill=\"#e6ecf3\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><polyline points=\"358,360 414,360 358,370 414,370 358,380 414,380 358,390 414,390\" fill=\"none\" stroke=\"#2f7de1\" stroke-width=\"2\"\/><\/g><g data-p=\"28\"><rect x=\"760\" y=\"342\" width=\"100\" height=\"62\" rx=\"3\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"768\" y=\"350\" width=\"54\" height=\"40\" fill=\"#1e3a5f\"\/><path d=\"M774 378L784 368L794 374L806 360L816 364\" fill=\"none\" stroke=\"#7fb2ee\" stroke-width=\"1.5\"\/><circle cx=\"840\" cy=\"358\" r=\"5\" fill=\"#16a34a\"\/><circle cx=\"840\" cy=\"374\" r=\"5\" fill=\"#d63c3c\"\/><rect x=\"832\" y=\"386\" width=\"16\" height=\"6\" rx=\"2\" fill=\"#5b6b7f\"\/><\/g><g data-p=\"14\"><rect x=\"30\" y=\"302\" width=\"400\" height=\"28\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"64\" y=\"232\" width=\"20\" height=\"70\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"186\" y=\"224\" width=\"16\" height=\"78\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"13\"><rect x=\"230\" y=\"262\" width=\"100\" height=\"20\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"236\" y=\"266\" width=\"88\" height=\"12\" fill=\"#7fbf7f\"\/><rect x=\"290\" y=\"266\" width=\"6\" height=\"12\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"296\" y=\"270\" width=\"152\" height=\"4\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"448\" y=\"262\" width=\"10\" height=\"14\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"236\" y=\"282\" width=\"12\" height=\"20\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"18\"><rect x=\"440\" y=\"92\" width=\"485\" height=\"10\" fill=\"#d3dbe5\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"440\" y=\"281\" width=\"485\" height=\"10\" fill=\"#d3dbe5\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"15\"><path d=\"M455 70H495V190H455Z\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M455 210H495V330H455Z\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"16\"><rect x=\"585\" y=\"70\" width=\"40\" height=\"245\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"578\" y=\"315\" width=\"54\" height=\"15\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"17\"><rect x=\"865\" y=\"70\" width=\"40\" height=\"260\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g pointer-events=\"none\"><rect x=\"495\" y=\"110\" width=\"90\" height=\"180\" fill=\"#f3f4f6\" stroke=\"#9aa8b8\" stroke-width=\"1.5\" stroke-dasharray=\"6 3\"\/><text x=\"517\" y=\"146\" font-size=\"11\" font-weight=\"700\" fill=\"#8a97a8\" text-anchor=\"middle\">MOLD<\/text><line x1=\"540\" y1=\"104\" x2=\"540\" y2=\"296\" stroke=\"#d63c3c\" stroke-width=\"1.6\" stroke-dasharray=\"7 5\"\/><text x=\"545\" y=\"108\" font-size=\"10.5\" font-weight=\"700\" fill=\"#d63c3c\">PL<\/text><\/g><g data-p=\"19\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"><rect x=\"440\" y=\"88\" width=\"15\" height=\"18\"\/><rect x=\"440\" y=\"277\" width=\"15\" height=\"18\"\/><rect x=\"905\" y=\"86\" width=\"20\" height=\"22\"\/><rect x=\"905\" y=\"275\" width=\"20\" height=\"22\"\/><path d=\"M910 86V108M915 86V108M920 86V108M910 275V297M915 275V297M920 275V297\" stroke-width=\"1\"\/><\/g><g data-p=\"20\"><rect x=\"625\" y=\"118\" width=\"15\" height=\"20\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"625\" y=\"262\" width=\"15\" height=\"20\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"850\" y=\"118\" width=\"15\" height=\"20\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"850\" y=\"262\" width=\"15\" height=\"20\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><g stroke-linecap=\"round\"><path d=\"M637 128L748 122L853 128M637 272L748 278L853 272\" fill=\"none\" stroke=\"#5b6b7f\" stroke-width=\"13\"\/><path d=\"M637 128L748 122L853 128M637 272L748 278L853 272\" fill=\"none\" stroke=\"#e6ecf3\" stroke-width=\"10\"\/><path d=\"M712 184L770 124M712 216L770 276\" fill=\"none\" stroke=\"#5b6b7f\" stroke-width=\"9\"\/><path d=\"M712 184L770 124M712 216L770 276\" fill=\"none\" stroke=\"#e6ecf3\" stroke-width=\"6\"\/><\/g><g fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"><circle cx=\"637\" cy=\"128\" r=\"4.5\"\/><circle cx=\"748\" cy=\"122\" r=\"4.5\"\/><circle cx=\"853\" cy=\"128\" r=\"4.5\"\/><circle cx=\"770\" cy=\"124\" r=\"3.5\"\/><circle cx=\"637\" cy=\"272\" r=\"4.5\"\/><circle cx=\"748\" cy=\"278\" r=\"4.5\"\/><circle cx=\"853\" cy=\"272\" r=\"4.5\"\/><circle cx=\"770\" cy=\"276\" r=\"3.5\"\/><\/g><\/g><g data-p=\"22\"><rect x=\"720\" y=\"196\" width=\"202\" height=\"8\" fill=\"#d3dbe5\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"905\" y=\"165\" width=\"60\" height=\"70\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"913\" y=\"173\" width=\"44\" height=\"54\" fill=\"#7fbf7f\"\/><rect x=\"922\" y=\"173\" width=\"8\" height=\"54\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"21\"><rect x=\"690\" y=\"178\" width=\"30\" height=\"44\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><circle cx=\"712\" cy=\"184\" r=\"3.5\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><circle cx=\"712\" cy=\"216\" r=\"3.5\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"23\"><rect x=\"630\" y=\"178\" width=\"44\" height=\"44\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"636\" y=\"184\" width=\"32\" height=\"32\" fill=\"#7fbf7f\"\/><rect x=\"640\" y=\"184\" width=\"6\" height=\"32\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"24\"><rect x=\"560\" y=\"197\" width=\"80\" height=\"6\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"29\"><rect x=\"450\" y=\"44\" width=\"460\" height=\"12\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M450 56V66M910 56V66\" stroke=\"#8a97a8\" stroke-width=\"1.5\" stroke-dasharray=\"3 3\"\/><text x=\"680\" y=\"38\" font-size=\"10\" fill=\"#5b6b7f\" text-anchor=\"middle\">sliding safety gate (interlocked)<\/text><\/g><g data-p=\"12\"><rect x=\"40\" y=\"168\" width=\"68\" height=\"64\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"48\" y=\"178\" width=\"52\" height=\"44\" fill=\"#7fbf7f\"\/><rect x=\"78\" y=\"178\" width=\"8\" height=\"44\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"86\" y=\"196\" width=\"32\" height=\"8\" fill=\"#d3dbe5\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"11\"><rect x=\"118\" y=\"176\" width=\"44\" height=\"48\" rx=\"3\" fill=\"#c3cdd9\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><circle cx=\"140\" cy=\"200\" r=\"13\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M134 206L140 193L146 206Z\" fill=\"#5b6b7f\"\/><\/g><g data-p=\"3\"><rect x=\"178\" y=\"184\" width=\"222\" height=\"32\" fill=\"#ffffff\"\/><rect x=\"178\" y=\"176\" width=\"222\" height=\"8\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"178\" y=\"216\" width=\"222\" height=\"8\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g pointer-events=\"none\"><rect x=\"265\" y=\"184\" width=\"135\" height=\"32\" fill=\"#f2a33c\"\/><circle cx=\"196\" cy=\"189\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"199\" cy=\"211\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"204\" cy=\"189\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"207\" cy=\"211\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"212\" cy=\"189\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"215\" cy=\"211\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"220\" cy=\"189\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"223\" cy=\"211\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"228\" cy=\"189\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"231\" cy=\"211\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"236\" cy=\"189\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"239\" cy=\"211\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"244\" cy=\"189\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"247\" cy=\"211\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"252\" cy=\"189\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><circle cx=\"255\" cy=\"211\" r=\"2.6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"\/><\/g><g data-p=\"6\"><path d=\"M162 195H265L330 189H385V211H330L265 205H162Z\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"190\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"203\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"216\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"229\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"242\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"255\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"268\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"281\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"294\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"307\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"320\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"333\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"346\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"359\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"372\" y=\"185\" width=\"4\" height=\"30\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><path d=\"M393 191L404 200L393 209Z\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"385\" y=\"195\" width=\"8\" height=\"10\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"7\" fill=\"#9aa8b8\" stroke=\"#5b6b7f\" stroke-width=\"1\"><rect x=\"384\" y=\"185\" width=\"10\" height=\"7\"\/><rect x=\"384\" y=\"208\" width=\"10\" height=\"7\"\/><\/g><g data-p=\"8\"><path d=\"M400 180H418V194H400ZM400 206H418V220H400Z\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"4\"><rect x=\"270\" y=\"167\" width=\"23\" height=\"9\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"1\"\/><rect x=\"270\" y=\"224\" width=\"23\" height=\"9\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"1\"\/><rect x=\"302\" y=\"167\" width=\"23\" height=\"9\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"1\"\/><rect x=\"302\" y=\"224\" width=\"23\" height=\"9\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"1\"\/><rect x=\"334\" y=\"167\" width=\"23\" height=\"9\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"1\"\/><rect x=\"334\" y=\"224\" width=\"23\" height=\"9\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"1\"\/><rect x=\"366\" y=\"167\" width=\"23\" height=\"9\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"1\"\/><rect x=\"366\" y=\"224\" width=\"23\" height=\"9\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"1\"\/><\/g><g data-p=\"5\" fill=\"#475569\"><rect x=\"296\" y=\"150\" width=\"3\" height=\"32\"\/><rect x=\"293\" y=\"146\" width=\"9\" height=\"6\" rx=\"1\"\/><rect x=\"328\" y=\"150\" width=\"3\" height=\"32\"\/><rect x=\"325\" y=\"146\" width=\"9\" height=\"6\" rx=\"1\"\/><rect x=\"360\" y=\"150\" width=\"3\" height=\"32\"\/><rect x=\"357\" y=\"146\" width=\"9\" height=\"6\" rx=\"1\"\/><\/g><g data-p=\"9\"><path d=\"M418 186H432L470 193H495V207H470L432 214H418Z\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"10\"><rect x=\"422\" y=\"180\" width=\"22\" height=\"7\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"1\"\/><rect x=\"422\" y=\"213\" width=\"22\" height=\"7\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"1\"\/><\/g><g pointer-events=\"none\"><rect x=\"400\" y=\"194\" width=\"18\" height=\"12\" fill=\"#f2a33c\"\/><path d=\"M418 196H470L495 198V202L470 204H418Z\" fill=\"#f2a33c\"\/><\/g><g data-p=\"2\"><path d=\"M192 146H212V176H192ZM228 146H252V176H228Z\" fill=\"url(#twim38557h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><circle cx=\"202\" cy=\"161\" r=\"5\" fill=\"#2f7de1\" stroke=\"#1f5fae\" stroke-width=\"1\"\/><circle cx=\"240\" cy=\"161\" r=\"5\" fill=\"#2f7de1\" stroke=\"#1f5fae\" stroke-width=\"1\"\/><rect x=\"212\" y=\"176\" width=\"16\" height=\"8\" fill=\"#ffffff\"\/><\/g><g data-p=\"1\"><path d=\"M185 90H255L232 146H208Z\" fill=\"#f6f8fb\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g pointer-events=\"none\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\".6\"><circle cx=\"200\" cy=\"108\" r=\"2.8\"\/><circle cx=\"210\" cy=\"108\" r=\"2.8\"\/><circle cx=\"220\" cy=\"108\" r=\"2.8\"\/><circle cx=\"230\" cy=\"108\" r=\"2.8\"\/><circle cx=\"240\" cy=\"108\" r=\"2.8\"\/><circle cx=\"205\" cy=\"116\" r=\"2.8\"\/><circle cx=\"215\" cy=\"116\" r=\"2.8\"\/><circle cx=\"225\" cy=\"116\" r=\"2.8\"\/><circle cx=\"235\" cy=\"116\" r=\"2.8\"\/><circle cx=\"210\" cy=\"124\" r=\"2.8\"\/><circle cx=\"220\" cy=\"124\" r=\"2.8\"\/><circle cx=\"230\" cy=\"124\" r=\"2.8\"\/><circle cx=\"214\" cy=\"132\" r=\"2.8\"\/><circle cx=\"224\" cy=\"132\" r=\"2.8\"\/><circle cx=\"218\" cy=\"140\" r=\"2.8\"\/><circle cx=\"220\" cy=\"152\" r=\"2.8\"\/><circle cx=\"218\" cy=\"162\" r=\"2.8\"\/><circle cx=\"222\" cy=\"172\" r=\"2.8\"\/><circle cx=\"219\" cy=\"180\" r=\"2.8\"\/><\/g><line x1=\"20\" y1=\"200\" x2=\"980\" y2=\"200\" stroke=\"#8a97a8\" stroke-width=\"0.8\" stroke-dasharray=\"14 4 2 4\" pointer-events=\"none\" opacity=\".7\"\/><text x=\"30\" y=\"62\" font-size=\"10.5\" font-weight=\"700\" letter-spacing=\".06em\" fill=\"#8a97a8\" pointer-events=\"none\">INJECTION UNIT<\/text><text x=\"745\" y=\"322\" font-size=\"10.5\" font-weight=\"700\" letter-spacing=\".06em\" fill=\"#8a97a8\" text-anchor=\"middle\" pointer-events=\"none\">CLAMPING UNIT<\/text><g data-p=\"1\" class=\"twim-b\"><line x1=\"272\" y1=\"100\" x2=\"247\" y2=\"108\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"272\" cy=\"100\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"272\" y=\"104\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\" class=\"twim-b\"><line x1=\"180\" y1=\"128\" x2=\"196\" y2=\"148\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"180\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"180\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\" class=\"twim-b\"><line x1=\"250\" y1=\"248\" x2=\"250\" y2=\"224\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"250\" cy=\"248\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"250\" y=\"252\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\" class=\"twim-b\"><line x1=\"400\" y1=\"248\" x2=\"380\" y2=\"233\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"400\" cy=\"248\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"400\" y=\"252\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\" class=\"twim-b\"><line x1=\"318\" y1=\"128\" x2=\"328\" y2=\"146\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"318\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"318\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\" class=\"twim-b\"><line x1=\"150\" y1=\"150\" x2=\"170\" y2=\"199\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"150\" cy=\"150\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"150\" y=\"154\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\" class=\"twim-b\"><line x1=\"372\" y1=\"128\" x2=\"388\" y2=\"186\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"372\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"372\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\" class=\"twim-b\"><line x1=\"410\" y1=\"100\" x2=\"409\" y2=\"180\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"410\" cy=\"100\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"410\" y=\"104\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\" class=\"twim-b\"><line x1=\"448\" y1=\"250\" x2=\"450\" y2=\"212\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"448\" cy=\"250\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"448\" y=\"254\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\" class=\"twim-b\"><line x1=\"442\" y1=\"128\" x2=\"434\" y2=\"181\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"442\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"442\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><g data-p=\"11\" class=\"twim-b\"><line x1=\"140\" y1=\"250\" x2=\"140\" y2=\"224\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"140\" cy=\"250\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"140\" y=\"254\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><g data-p=\"12\" class=\"twim-b\"><line x1=\"74\" y1=\"150\" x2=\"74\" y2=\"168\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"74\" cy=\"150\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"74\" y=\"154\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">12<\/text><\/g><g data-p=\"13\" class=\"twim-b\"><circle cx=\"215\" cy=\"272\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"215\" y=\"276\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">13<\/text><\/g><g data-p=\"14\" class=\"twim-b\"><circle cx=\"110\" cy=\"316\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"110\" y=\"320\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">14<\/text><\/g><g data-p=\"15\" class=\"twim-b\"><circle cx=\"475\" cy=\"240\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"475\" y=\"244\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">15<\/text><\/g><g data-p=\"16\" class=\"twim-b\"><circle cx=\"605\" cy=\"240\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"605\" y=\"244\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">16<\/text><\/g><g data-p=\"17\" class=\"twim-b\"><circle cx=\"885\" cy=\"240\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"885\" y=\"244\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">17<\/text><\/g><g data-p=\"18\" class=\"twim-b\"><line x1=\"790\" y1=\"72\" x2=\"790\" y2=\"92\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"790\" cy=\"72\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"790\" y=\"76\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">18<\/text><\/g><g data-p=\"19\" class=\"twim-b\"><line x1=\"945\" y1=\"70\" x2=\"925\" y2=\"92\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"945\" cy=\"70\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"945\" y=\"74\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">19<\/text><\/g><g data-p=\"20\" class=\"twim-b\"><line x1=\"800\" y1=\"152\" x2=\"800\" y2=\"126\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"800\" cy=\"152\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"800\" y=\"156\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">20<\/text><\/g><g data-p=\"21\" class=\"twim-b\"><line x1=\"680\" y1=\"250\" x2=\"700\" y2=\"222\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"680\" cy=\"250\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"680\" y=\"254\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">21<\/text><\/g><g data-p=\"22\" class=\"twim-b\"><line x1=\"935\" y1=\"150\" x2=\"935\" y2=\"165\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"935\" cy=\"150\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"935\" y=\"154\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">22<\/text><\/g><g data-p=\"23\" class=\"twim-b\"><line x1=\"652\" y1=\"152\" x2=\"652\" y2=\"178\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"652\" cy=\"152\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"652\" y=\"156\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">23<\/text><\/g><g data-p=\"24\" class=\"twim-b\"><line x1=\"606\" y1=\"165\" x2=\"606\" y2=\"197\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"606\" cy=\"165\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"606\" y=\"169\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">24<\/text><\/g><g data-p=\"25\" class=\"twim-b\"><circle cx=\"600\" cy=\"378\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"600\" y=\"382\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">25<\/text><\/g><g data-p=\"26\" class=\"twim-b\"><circle cx=\"140\" cy=\"388\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"140\" y=\"392\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">26<\/text><\/g><g data-p=\"27\" class=\"twim-b\"><line x1=\"442\" y1=\"376\" x2=\"420\" y2=\"376\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"442\" cy=\"376\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"442\" y=\"380\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">27<\/text><\/g><g data-p=\"28\" class=\"twim-b\"><line x1=\"885\" y1=\"374\" x2=\"860\" y2=\"374\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"885\" cy=\"374\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"885\" y=\"378\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">28<\/text><\/g><g data-p=\"29\" class=\"twim-b\"><line x1=\"428\" y1=\"50\" x2=\"450\" y2=\"50\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle cx=\"428\" cy=\"50\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"428\" y=\"54\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">29<\/text><\/g><\/svg><div class=\"twim-tip\" role=\"status\"><\/div><\/div><div class=\"twim-key\"><span><i style=\"background:#e6ecf3;border:1px solid #5b6b7f\"><\/i>Steel<\/span><span><i style=\"background:#f2a33c\"><\/i>Plastic<\/span><span><i style=\"background:#f59e0b\"><\/i>Heaters<\/span><span><i style=\"background:#7fbf7f\"><\/i>Hydraulic oil<\/span><span><i style=\"background:#2f7de1\"><\/i>Cooling water<\/span><\/div><script> (function () { var root = document.getElementById('twim38557'); if (!root) return; var D = {\"1\":[\"Hopper\",\"Stores plastic pellets and gravity-feeds them into the barrel.\"],\"2\":[\"Feed Throat (water-cooled)\",\"Pellet entry into the barrel; cooled so pellets do not melt early and bridge.\"],\"3\":[\"Barrel\",\"Heated steel cylinder that houses the screw and melts the resin.\"],\"4\":[\"Heater Bands\",\"Electric bands that heat the barrel in separately controlled zones.\"],\"5\":[\"Thermocouples\",\"Measure each zone temperature for closed-loop heater control.\"],\"6\":[\"Reciprocating Screw\",\"Feed zone conveys pellets, compression zone melts them, metering zone evens the melt; then the screw moves forward like a plunger to inject.\"],\"7\":[\"Check Ring (Non-return Valve)\",\"Lets melt flow forward while the screw turns; seals to stop backflow during injection.\"],\"8\":[\"Barrel Head \\\/ End Cap\",\"Closes the front of the barrel and connects it to the nozzle.\"],\"9\":[\"Nozzle\",\"Seals against the mold sprue bushing and delivers melt into the mold.\"],\"10\":[\"Nozzle Heater\",\"Keeps the nozzle hot so melt does not freeze off or drool.\"],\"11\":[\"Screw Drive Motor\",\"Hydraulic motor that rotates the screw to melt and meter the next shot.\"],\"12\":[\"Injection Cylinder\",\"Pushes the screw forward to inject the shot and hold pressure.\"],\"13\":[\"Carriage Cylinder\",\"Moves the injection unit forward to seat the nozzle, or back to retract it.\"],\"14\":[\"Injection Unit Carriage\",\"Sliding base that carries the whole injection unit.\"],\"15\":[\"Stationary Platen\",\"Fixed platen that holds the A half of the mold; the nozzle reaches the mold through its center hole.\"],\"16\":[\"Moving Platen\",\"Holds the B half of the mold and slides to open and close it.\"],\"17\":[\"Rear Platen (Tailstock)\",\"Anchors the toggle and takes the reaction of the clamp force.\"],\"18\":[\"Tie Bars\",\"Four bars that guide the moving platen and carry the clamp tonnage in tension.\"],\"19\":[\"Tie-bar Nuts \\\/ Mold Height Adjuster\",\"Rear nuts turn together to set platen spacing for different mold heights.\"],\"20\":[\"Toggle Linkage\",\"Multiplies cylinder force; locks straight at full extension to hold the mold shut.\"],\"21\":[\"Crosshead\",\"Joins the clamp cylinder rod to the toggle links.\"],\"22\":[\"Clamp Cylinder\",\"Drives the crosshead to open and close the mold.\"],\"23\":[\"Hydraulic Ejector Cylinder\",\"Mounted on the moving platen; drives the ejector rod.\"],\"24\":[\"Ejector Rod (Knock-out Rod)\",\"Passes through the moving platen and pushes the mold ejector plates.\"],\"25\":[\"Machine Base \\\/ Frame\",\"Rigid welded bed that supports both units and houses the oil tank.\"],\"26\":[\"Hydraulic Power Unit\",\"Motor, pump and oil tank that supply pressure and flow to every cylinder.\"],\"27\":[\"Oil Cooler\",\"Water-cooled exchanger that keeps the hydraulic oil temperature stable.\"],\"28\":[\"Control Panel (HMI)\",\"Sets and monitors temperatures, speeds, pressures and the cycle sequence.\"],\"29\":[\"Safety Gate \\\/ Guards\",\"Interlocked guards; opening the gate stops the clamp from closing.\"]}; var svg = root.querySelector('svg'), stage = root.querySelector('.twim-stage'), tip = root.querySelector('.twim-tip'); var els = svg.querySelectorAll('[data-p]'), rows = root.querySelectorAll('li[data-p]'), cur = null, i; function box(list) { var r = null; for (var k = 0; k < list.length; k++) { var b = list[k].getBoundingClientRect(); if (!b.width && !b.height) continue; r = r ? { l: Math.min(r.l, b.left), t: Math.min(r.t, b.top), r: Math.max(r.r, b.right), b: Math.max(r.b, b.bottom) } : { l: b.left, t: b.top, r: b.right, b: b.bottom }; } return r; } function show(n) { n = String(n); cur = n; var part = [], badge = []; for (i = 0; i < els.length; i++) { var on = els[i].getAttribute('data-p') === n; els[i].style.opacity = on ? '1' : '0.18'; if (on) (els[i].getAttribute('class') === 'twim-b' ? badge : part).push(els[i]); } for (i = 0; i < rows.length; i++) rows[i].classList.toggle('on', rows[i].getAttribute('data-p') === n); tip.innerHTML = '<b>' + n + '. ' + D[n][0] + '<\/b>' + D[n][1]; tip.style.display = 'block'; var S = stage.getBoundingClientRect(), W = S.width, H = S.height; var w = tip.offsetWidth, h = tip.offsetHeight, g = 12; var P = box(part) || box(badge), Bd = box(badge) || P; var all = { l: Math.min(P.l, Bd.l) - S.left, t: Math.min(P.t, Bd.t) - S.top, r: Math.max(P.r, Bd.r) - S.left, b: Math.max(P.b, Bd.b) - S.top }; var by = (Bd.t + Bd.b) \/ 2 - S.top, bx = (Bd.l + Bd.r) \/ 2 - S.left, x, y; if (all.r + g + w <= W) { x = all.r + g; y = by - h \/ 2; } else if (all.l - g - w >= 0) { x = all.l - g - w; y = by - h \/ 2; } else if (all.b + g + h <= H) { y = all.b + g; x = bx - w \/ 2; } else { y = all.t - g - h; x = bx - w \/ 2; } x = Math.max(4, Math.min(x, W - w - 4)); y = Math.max(4, Math.min(y, H - h - 4)); tip.style.left = x + 'px'; tip.style.top = y + 'px'; } function hide() { cur = null; tip.style.display = 'none'; for (i = 0; i < els.length; i++) els[i].style.opacity = ''; for (i = 0; i < rows.length; i++) rows[i].classList.remove('on'); } function pick(e) { var t = e.target.closest ? e.target.closest('[data-p]') : null; return t && root.contains(t) ? t.getAttribute('data-p') : null; } var touch = false; root.addEventListener('touchstart', function () { touch = true; }, { passive: true }); svg.addEventListener('mouseover', function (e) { if (touch) return; var n = pick(e); if (n) show(n); }); svg.addEventListener('mouseleave', function () { if (!touch) hide(); }); for (i = 0; i < rows.length; i++) { rows[i].addEventListener('mouseenter', function () { if (!touch) show(this.getAttribute('data-p')); }); rows[i].addEventListener('mouseleave', function () { if (!touch) hide(); }); } root.addEventListener('click', function (e) { var n = pick(e); if (n) { if (cur === n && touch) hide(); else show(n); } else hide(); }); document.addEventListener('click', function (e) { if (cur && !root.contains(e.target)) hide(); }); window.addEventListener('resize', function () { if (cur) show(cur); }); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twime60905\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this diagram on your site<\/strong><button type=\"button\" class=\"twime-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-im-machine&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_im_machine_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:640px&quot; loading=&quot;lazy&quot; title=&quot;Injection Molding Machine Parts - Interactive Diagram&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_im_machine&quot;){var f=document.getElementById(&quot;tw-im-machine&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Injection molding machine diagram by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twime60905'); if (!box) return; var btn = box.querySelector('.twime-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><div id=\"design-tips\" class=\"wp-block-group tw-tool tw-cat-part is-layout-flow wp-block-group-is-layout-flow\"><div class=\"tw-dt\" id=\"twdt62522\"><style> #twdt62522{max-width:1000px;margin:24px auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif;color:#1f2a37;line-height:1.5} #twdt62522 h3{margin:0 0 4px;font-size:20px;line-height:1.3;color:#1e3a5f} #twdt62522 .tw-dt-sub{margin:0 0 14px;font-size:13.5px;color:#5b6b7f} #twdt62522 .tw-dt-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:0 0 14px} #twdt62522 .tw-dt-nav button{display:flex;align-items:center;gap:7px;text-align:left;border:1px solid #c9d3df;border-radius:6px;padding:7px 8px;font-size:12.5px;font-weight:600;cursor:pointer;line-height:1.2;min-height:42px} #twdt62522 .tw-dt-nav b{flex:0 0 22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px} #twdt62522 .tw-dt-panel{background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;padding:18px 20px} #twdt62522 .tw-dt-panel h4{margin:0 0 2px;font-size:19px;color:#1e3a5f} #twdt62522 .tw-dt-lead{margin:0 0 14px;color:#5b6b7f;font-size:14px} #twdt62522 .tw-dt-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px} #twdt62522 .tw-dt-rules{margin:0 0 12px;padding:0 0 0 18px;font-size:14px} #twdt62522 .tw-dt-rules li{margin:0 0 6px} #twdt62522 .tw-dt-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px} #twdt62522 .tw-dt-num{background:#f3f6fa;border-radius:6px;padding:8px 10px} #twdt62522 .tw-dt-num div{font-size:11.5px;color:#5b6b7f;font-weight:600} #twdt62522 .tw-dt-num b{display:block;font-size:14.5px;color:#1e3a5f;margin-top:2px} #twdt62522 .tw-dt-box{margin:16px 0 0;border-top:1px solid #dfe5ec;padding-top:14px} #twdt62522 .tw-dt-box h5{margin:0 0 8px;font-size:14px;color:#1e3a5f;text-transform:uppercase;letter-spacing:.04em} #twdt62522 .tw-dt-tw{overflow-x:auto} #twdt62522 .tw-dt-tw table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:520px} #twdt62522 .tw-dt-tw th,#twdt62522 .tw-dt-tw td{border:1px solid #dfe5ec;padding:6px 9px;text-align:left} #twdt62522 .tw-dt-tw thead th{background:#1e3a5f;color:#ffffff;font-weight:600} #twdt62522 .tw-dt-calc{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end} #twdt62522 .tw-dt-calc label{display:flex;flex-direction:column;font-size:12px;font-weight:600;color:#5b6b7f;gap:4px} #twdt62522 .tw-dt-calc input,#twdt62522 .tw-dt-calc select{padding:7px 8px;font-size:14px;border:1px solid #c9d3df;border-radius:6px;width:130px;box-sizing:border-box;background:#ffffff} #twdt62522 .tw-dt-out{font-size:15px;color:#1e3a5f;font-weight:700;padding:8px 12px;background:#e8eff8;border-radius:6px} #twdt62522 .tw-dt-note{font-size:12px;color:#5b6b7f;margin:8px 0 0} #twdt62522 .tw-dt-chk{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px} #twdt62522 .tw-dt-chk label{display:flex;gap:8px;align-items:flex-start;font-size:14px;cursor:pointer} #twdt62522 .tw-dt-chk input{margin-top:4px} #twdt62522 .tw-dt-prog{height:10px;border-radius:5px;background:#e6ecf3;margin:4px 0 14px;overflow:hidden} #twdt62522 .tw-dt-prog i{display:block;height:10px;background:#15803d;width:0} #twdt62522 .tw-dt-btns{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 0} #twdt62522 .tw-dt-btns a,#twdt62522 .tw-dt-btns button{display:inline-block;border-radius:6px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;border:0} #twdt62522 .tw-dt-play{border:1px solid #dfe5ec;border-radius:8px;padding:10px 12px;background:#fbfcfe} #twdt62522 .tw-dt-ph{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5b6b7f;margin:0 0 6px} #twdt62522 .tw-dt-play svg{display:block;width:100%;height:auto;background:#ffffff;border:1px solid #e6ecf3;border-radius:6px;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twdt62522 .tw-dt-ctl{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:10px 0 8px} #twdt62522 .tw-dt-ctl label{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:#5b6b7f} #twdt62522 .tw-dt-ctl label b{color:#1e3a5f} #twdt62522 .tw-dt-ctl input[type=range]{width:100%;accent-color:#1e3a5f;margin:0} #twdt62522 .tw-dt-ctl select{padding:6px 8px;font-size:13px;border:1px solid #c9d3df;border-radius:6px;background:#ffffff} #twdt62522 .tw-dt-ctl .tw-dt-cb{flex-direction:row;align-items:center;gap:7px;grid-column:1\/-1} #twdt62522 .tw-dt-verd{list-style:none;margin:0;padding:0} #twdt62522 .tw-dt-verd li{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.4;margin:0 0 5px} #twdt62522 .tw-dt-verd b{flex:0 0 18px;height:18px;border-radius:50%;color:#ffffff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px} @media (max-width:520px){#twdt62522 .tw-dt-ctl{grid-template-columns:1fr}} @media (max-width:860px){#twdt62522 .tw-dt-nav{grid-template-columns:repeat(3,1fr)}#twdt62522 .tw-dt-cols{grid-template-columns:1fr}} <\/style><h3>Injection Molding Design Tips &ndash; 12 Essentials<\/h3><p class=\"tw-dt-sub\">Interactive reference for part designers: pick a topic, then drag the sliders &ndash; the part redraws and the design checks update live.<\/p><div class=\"tw-dt-nav\" role=\"tablist\"><button type=\"button\" role=\"tab\" data-t=\"1\" style=\"background:#1e3a5f;color:#ffffff;border-color:#1e3a5f\"><b style=\"background:#ffffff;color:#1e3a5f\">1<\/b>Wall Thickness<\/button><button type=\"button\" role=\"tab\" data-t=\"2\" style=\"background:#ffffff;color:#1e3a5f\"><b style=\"background:#1e3a5f;color:#ffffff\">2<\/b>Draft Angles<\/button><button type=\"button\" role=\"tab\" data-t=\"3\" style=\"background:#ffffff;color:#1e3a5f\"><b style=\"background:#1e3a5f;color:#ffffff\">3<\/b>Ribs<\/button><button type=\"button\" role=\"tab\" data-t=\"4\" style=\"background:#ffffff;color:#1e3a5f\"><b style=\"background:#1e3a5f;color:#ffffff\">4<\/b>Bosses<\/button><button type=\"button\" role=\"tab\" data-t=\"5\" style=\"background:#ffffff;color:#1e3a5f\"><b style=\"background:#1e3a5f;color:#ffffff\">5<\/b>Radii &amp; Fillets<\/button><button type=\"button\" role=\"tab\" data-t=\"6\" style=\"background:#ffffff;color:#1e3a5f\"><b style=\"background:#1e3a5f;color:#ffffff\">6<\/b>Undercuts<\/button><button type=\"button\" role=\"tab\" data-t=\"7\" style=\"background:#ffffff;color:#1e3a5f\"><b style=\"background:#1e3a5f;color:#ffffff\">7<\/b>Snap Fits<\/button><button type=\"button\" role=\"tab\" data-t=\"8\" style=\"background:#ffffff;color:#1e3a5f\"><b style=\"background:#1e3a5f;color:#ffffff\">8<\/b>Living Hinges<\/button><button type=\"button\" role=\"tab\" data-t=\"9\" style=\"background:#ffffff;color:#1e3a5f\"><b style=\"background:#1e3a5f;color:#ffffff\">9<\/b>Surface Finish<\/button><button type=\"button\" role=\"tab\" data-t=\"10\" style=\"background:#ffffff;color:#1e3a5f\"><b style=\"background:#1e3a5f;color:#ffffff\">10<\/b>Tolerances<\/button><button type=\"button\" role=\"tab\" data-t=\"11\" style=\"background:#ffffff;color:#1e3a5f\"><b style=\"background:#1e3a5f;color:#ffffff\">11<\/b>Gate Placement Strategy<\/button><button type=\"button\" role=\"tab\" data-t=\"12\" style=\"background:#ffffff;color:#1e3a5f\"><b style=\"background:#1e3a5f;color:#ffffff\">12<\/b>DFM Checklist<\/button><\/div><section class=\"tw-dt-panel\" data-p=\"1\" style=\"display:block\"><h4>1. Wall Thickness<\/h4><p class=\"tw-dt-lead\">Keep the nominal wall as uniform as possible, within the material range below.<\/p><div class=\"tw-dt-cols\"><div><ul class=\"tw-dt-rules\"><li>Design one nominal wall and keep it everywhere.<\/li><li>Change thickness gradually: taper over at least 3&#215; the thickness change.<\/li><li>Core out thick areas instead of leaving solid plastic.<\/li><li>Thinner walls cool faster: cycle time grows roughly with wall thickness squared.<\/li><\/ul><div class=\"tw-dt-nums\"><div class=\"tw-dt-num\"><div>Thickness variation<\/div><b>keep within about &#177;10%<\/b><\/div><div class=\"tw-dt-num\"><div>Transition taper<\/div><b>&#8805; 3 : 1<\/b><\/div><div class=\"tw-dt-num\"><div>Typical range<\/div><b>1&#8211;3.5 mm<\/b><\/div><\/div><\/div><div class=\"tw-dt-play\" data-n=\"1\"><div class=\"tw-dt-ph\">Try it &#8211; drag the sliders<\/div><svg viewBox=\"0 0 400 240\" role=\"img\" aria-label=\"Live design preview: Wall Thickness\"><\/svg><div class=\"tw-dt-ctl\"><label><span>Nominal wall t <b data-o=\"t\">2<\/b> mm<\/span><input type=\"range\" data-k=\"t\" min=\"0.5\" max=\"5\" step=\"0.1\" value=\"2\"><\/label><label><span>Thick section <b data-o=\"ratio\">1.8<\/b> &#215; t<\/span><input type=\"range\" data-k=\"ratio\" min=\"1\" max=\"2.5\" step=\"0.05\" value=\"1.8\"><\/label><label><span>Material<\/span><select data-k=\"mat\"><option value=\"1.1|3.6\" selected>ABS<\/option><option value=\"0.8|3.0\">Acetal (POM)<\/option><option value=\"0.6|3.8\">Acrylic (PMMA)<\/option><option value=\"0.8|3.0\">LCP<\/option><option value=\"0.8|2.9\">Nylon (PA)<\/option><option value=\"1.0|3.8\">Polycarbonate (PC)<\/option><option value=\"0.6|3.2\">Polyester (PBT)<\/option><option value=\"0.8|5.1\">Polyethylene (PE)<\/option><option value=\"0.5|4.6\">PPS<\/option><option value=\"0.6|3.8\">Polypropylene (PP)<\/option><option value=\"0.9|3.8\">Polystyrene (PS)<\/option><option value=\"2.0|19.0\">Polyurethane (PU)<\/option><\/select><\/label><\/div><ul class=\"tw-dt-verd\"><\/ul><\/div><\/div><div class=\"tw-dt-box\"><h5>Recommended wall thickness by material<\/h5><div class=\"tw-dt-tw\"><table><thead><tr><th>Material<\/th><th>Min (mm)<\/th><th>Max (mm)<\/th><th>Range (in)<\/th><\/tr><\/thead><tbody><tr><td>ABS<\/td><td>1.1<\/td><td>3.6<\/td><td>0.043 &ndash; 0.142<\/td><\/tr><tr><td>Acetal (POM)<\/td><td>0.8<\/td><td>3.0<\/td><td>0.031 &ndash; 0.118<\/td><\/tr><tr><td>Acrylic (PMMA)<\/td><td>0.6<\/td><td>3.8<\/td><td>0.024 &ndash; 0.150<\/td><\/tr><tr><td>LCP<\/td><td>0.8<\/td><td>3.0<\/td><td>0.031 &ndash; 0.118<\/td><\/tr><tr><td>Nylon (PA)<\/td><td>0.8<\/td><td>2.9<\/td><td>0.031 &ndash; 0.114<\/td><\/tr><tr><td>Polycarbonate (PC)<\/td><td>1.0<\/td><td>3.8<\/td><td>0.039 &ndash; 0.150<\/td><\/tr><tr><td>Polyester (PBT)<\/td><td>0.6<\/td><td>3.2<\/td><td>0.024 &ndash; 0.126<\/td><\/tr><tr><td>Polyethylene (PE)<\/td><td>0.8<\/td><td>5.1<\/td><td>0.031 &ndash; 0.201<\/td><\/tr><tr><td>PPS<\/td><td>0.5<\/td><td>4.6<\/td><td>0.020 &ndash; 0.181<\/td><\/tr><tr><td>Polypropylene (PP)<\/td><td>0.6<\/td><td>3.8<\/td><td>0.024 &ndash; 0.150<\/td><\/tr><tr><td>Polystyrene (PS)<\/td><td>0.9<\/td><td>3.8<\/td><td>0.035 &ndash; 0.150<\/td><\/tr><tr><td>Polyurethane (PU)<\/td><td>2.0<\/td><td>19.0<\/td><td>0.079 &ndash; 0.748<\/td><\/tr><\/tbody><\/table><\/div><p class=\"tw-dt-note\">Typical practical ranges. Thinner is possible for small parts with short flow; thicker sections should be cored out.<\/p><\/div><\/section><section class=\"tw-dt-panel\" data-p=\"2\" style=\"display:none\"><h4>2. Draft Angles<\/h4><p class=\"tw-dt-lead\">Add draft on every face parallel to the mold opening so parts release cleanly.<\/p><div class=\"tw-dt-cols\"><div><ul class=\"tw-dt-rules\"><li>1&#8211;2&#176; is a safe default; 0.5&#176; only on polished, shallow faces.<\/li><li>Deep parts and cores need more draft than shallow ones.<\/li><li>Textured faces need extra draft (see Surface Finish).<\/li><li>Draft the inside (core side) at least as much as the outside.<\/li><\/ul><div class=\"tw-dt-nums\"><div class=\"tw-dt-num\"><div>Default draft<\/div><b>1&#8211;2&#176;<\/b><\/div><div class=\"tw-dt-num\"><div>Minimum, polished<\/div><b>0.5&#176;<\/b><\/div><div class=\"tw-dt-num\"><div>Texture<\/div><b>+1.5&#176; per 0.025 mm depth<\/b><\/div><\/div><\/div><div class=\"tw-dt-play\" data-n=\"2\"><div class=\"tw-dt-ph\">Try it &#8211; drag the sliders<\/div><svg viewBox=\"0 0 400 240\" role=\"img\" aria-label=\"Live design preview: Draft Angles\"><\/svg><div class=\"tw-dt-ctl\"><label><span>Draft angle <b data-o=\"a\">0.5<\/b> &#176;<\/span><input type=\"range\" data-k=\"a\" min=\"0\" max=\"5\" step=\"0.25\" value=\"0.5\"><\/label><label><span>Wall depth <b data-o=\"H\">40<\/b> mm<\/span><input type=\"range\" data-k=\"H\" min=\"5\" max=\"80\" step=\"1\" value=\"40\"><\/label><label><span>Texture depth <b data-o=\"tex\">0<\/b> mm<\/span><input type=\"range\" data-k=\"tex\" min=\"0\" max=\"0.15\" step=\"0.005\" value=\"0\"><\/label><\/div><ul class=\"tw-dt-verd\"><\/ul><\/div><\/div><\/section><section class=\"tw-dt-panel\" data-p=\"3\" style=\"display:none\"><h4>3. Ribs<\/h4><p class=\"tw-dt-lead\">Ribs add stiffness without thickening the wall &ndash; if they are thin enough not to sink.<\/p><div class=\"tw-dt-cols\"><div><ul class=\"tw-dt-rules\"><li>Rib thickness 50&#8211;60% of the wall it sits on (40&#8211;50% on glossy show faces).<\/li><li>Height up to 3&#215; the wall.<\/li><li>Space ribs at least 2&#215; the wall apart.<\/li><li>Draft 0.5&#8211;1&#176; per side; radius the base 0.25&#8211;0.5&#215; wall.<\/li><\/ul><div class=\"tw-dt-nums\"><div class=\"tw-dt-num\"><div>Thickness<\/div><b>0.5&#8211;0.6 t<\/b><\/div><div class=\"tw-dt-num\"><div>Height<\/div><b>&#8804; 3 t<\/b><\/div><div class=\"tw-dt-num\"><div>Spacing<\/div><b>&#8805; 2 t<\/b><\/div><\/div><\/div><div class=\"tw-dt-play\" data-n=\"3\"><div class=\"tw-dt-ph\">Try it &#8211; drag the sliders<\/div><svg viewBox=\"0 0 400 240\" role=\"img\" aria-label=\"Live design preview: Ribs\"><\/svg><div class=\"tw-dt-ctl\"><label><span>Wall t <b data-o=\"t\">2.5<\/b> mm<\/span><input type=\"range\" data-k=\"t\" min=\"1\" max=\"4\" step=\"0.1\" value=\"2.5\"><\/label><label><span>Rib thickness <b data-o=\"rp\">85<\/b> % of t<\/span><input type=\"range\" data-k=\"rp\" min=\"30\" max=\"100\" step=\"1\" value=\"85\"><\/label><label><span>Rib height <b data-o=\"h\">3.5<\/b> &#215; t<\/span><input type=\"range\" data-k=\"h\" min=\"1\" max=\"5\" step=\"0.1\" value=\"3.5\"><\/label><\/div><ul class=\"tw-dt-verd\"><\/ul><\/div><\/div><\/section><section class=\"tw-dt-panel\" data-p=\"4\" style=\"display:none\"><h4>4. Bosses<\/h4><p class=\"tw-dt-lead\">Bosses take screws and inserts; they must be cored and supported.<\/p><div class=\"tw-dt-cols\"><div><ul class=\"tw-dt-rules\"><li>Boss OD about 2&#8211;2.5&#215; the hole diameter.<\/li><li>Boss wall about 60% of the nominal wall, cored out.<\/li><li>Tie bosses to walls with ribs or gussets instead of standing alone.<\/li><li>Radius the base; use the screw maker's hole size for self-tapping screws.<\/li><\/ul><div class=\"tw-dt-nums\"><div class=\"tw-dt-num\"><div>Outer diameter<\/div><b>&#8776; 2&#8211;2.5 &#215; hole<\/b><\/div><div class=\"tw-dt-num\"><div>Boss wall<\/div><b>&#8776; 0.6 t<\/b><\/div><div class=\"tw-dt-num\"><div>Base radius<\/div><b>0.25&#8211;0.5 t<\/b><\/div><\/div><\/div><div class=\"tw-dt-play\" data-n=\"4\"><div class=\"tw-dt-ph\">Try it &#8211; drag the sliders<\/div><svg viewBox=\"0 0 400 240\" role=\"img\" aria-label=\"Live design preview: Bosses\"><\/svg><div class=\"tw-dt-ctl\"><label><span>Hole diameter <b data-o=\"d\">3<\/b> mm<\/span><input type=\"range\" data-k=\"d\" min=\"1.5\" max=\"8\" step=\"0.1\" value=\"3\"><\/label><label><span>Boss OD <b data-o=\"od\">3<\/b> &#215; hole<\/span><input type=\"range\" data-k=\"od\" min=\"1.4\" max=\"3.5\" step=\"0.05\" value=\"3\"><\/label><label><span>Nominal wall t <b data-o=\"t\">2<\/b> mm<\/span><input type=\"range\" data-k=\"t\" min=\"1\" max=\"4\" step=\"0.1\" value=\"2\"><\/label><\/div><ul class=\"tw-dt-verd\"><\/ul><\/div><\/div><\/section><section class=\"tw-dt-panel\" data-p=\"5\" style=\"display:none\"><h4>5. Radii &amp; Fillets<\/h4><p class=\"tw-dt-lead\">Rounded corners help flow, reduce stress and keep the wall uniform.<\/p><div class=\"tw-dt-cols\"><div><ul class=\"tw-dt-rules\"><li>Inside radius at least 0.5&#215; the wall.<\/li><li>Outside radius = inside radius + wall, so the corner stays the same thickness.<\/li><li>Sharp inside corners concentrate stress and are where parts crack.<\/li><li>Edges on the parting line can stay sharp for a clean shut-off.<\/li><\/ul><div class=\"tw-dt-nums\"><div class=\"tw-dt-num\"><div>Inside radius r<\/div><b>&#8805; 0.5 t<\/b><\/div><div class=\"tw-dt-num\"><div>Outside radius R<\/div><b>r + t<\/b><\/div><div class=\"tw-dt-num\"><div>Ideal r<\/div><b>&#8776; 0.6&#8211;0.75 t<\/b><\/div><\/div><\/div><div class=\"tw-dt-play\" data-n=\"5\"><div class=\"tw-dt-ph\">Try it &#8211; drag the sliders<\/div><svg viewBox=\"0 0 400 240\" role=\"img\" aria-label=\"Live design preview: Radii &amp; Fillets\"><\/svg><div class=\"tw-dt-ctl\"><label><span>Wall t <b data-o=\"t\">2<\/b> mm<\/span><input type=\"range\" data-k=\"t\" min=\"1\" max=\"4\" step=\"0.1\" value=\"2\"><\/label><label><span>Inside radius r <b data-o=\"r\">0.2<\/b> mm<\/span><input type=\"range\" data-k=\"r\" min=\"0\" max=\"4\" step=\"0.1\" value=\"0.2\"><\/label><label><span>Outside radius R <b data-o=\"R\">0.5<\/b> mm<\/span><input type=\"range\" data-k=\"R\" min=\"0\" max=\"8\" step=\"0.1\" value=\"0.5\"><\/label><\/div><ul class=\"tw-dt-verd\"><\/ul><\/div><\/div><\/section><section class=\"tw-dt-panel\" data-p=\"6\" style=\"display:none\"><h4>6. Undercuts<\/h4><p class=\"tw-dt-lead\">Anything that stops a straight pull needs a side action &ndash; or a smarter design.<\/p><div class=\"tw-dt-cols\"><div><ul class=\"tw-dt-rules\"><li>First try to remove it: open the feature to the parting line or use a pass-through core.<\/li><li>Side holes and outer undercuts need sliders; inner undercuts need lifters.<\/li><li>Small undercuts can be bumped off in flexible resins like PP or PE.<\/li><li>Every action adds cost, cycle time and maintenance.<\/li><\/ul><div class=\"tw-dt-nums\"><div class=\"tw-dt-num\"><div>Best option<\/div><b>redesign to straight pull<\/b><\/div><div class=\"tw-dt-num\"><div>Outside undercut<\/div><b>slider<\/b><\/div><div class=\"tw-dt-num\"><div>Inside undercut<\/div><b>lifter \/ collapsible core<\/b><\/div><\/div><\/div><div class=\"tw-dt-play\" data-n=\"6\"><div class=\"tw-dt-ph\">Try it &#8211; drag the sliders<\/div><svg viewBox=\"0 0 400 240\" role=\"img\" aria-label=\"Live design preview: Undercuts\"><\/svg><div class=\"tw-dt-ctl\"><label><span>Part diameter <b data-o=\"D\">30<\/b> mm<\/span><input type=\"range\" data-k=\"D\" min=\"10\" max=\"100\" step=\"1\" value=\"30\"><\/label><label><span>Undercut depth <b data-o=\"u\">0.6<\/b> mm<\/span><input type=\"range\" data-k=\"u\" min=\"0\" max=\"3\" step=\"0.05\" value=\"0.6\"><\/label><label><span>Material<\/span><select data-k=\"mat\"><option value=\"5\" selected>PP (~5%)<\/option><option value=\"6\">PE (~6%)<\/option><option value=\"10\">TPE (~10%)<\/option><option value=\"3\">POM (~3%)<\/option><option value=\"3.5\">PA (~3%)<\/option><option value=\"1.5\">ABS (~1.5%)<\/option><option value=\"1\">PC (~1%)<\/option><\/select><\/label><\/div><ul class=\"tw-dt-verd\"><\/ul><\/div><\/div><\/section><section class=\"tw-dt-panel\" data-p=\"7\" style=\"display:none\"><h4>7. Snap Fits<\/h4><p class=\"tw-dt-lead\">Cantilever snaps must bend without passing the resin's strain limit.<\/p><div class=\"tw-dt-cols\"><div><ul class=\"tw-dt-rules\"><li>Taper the beam (thickness down to about half at the tip) to spread strain evenly.<\/li><li>Radius the root at least 0.5&#215; beam thickness.<\/li><li>Keep strain under the allowable limit &ndash; use the calculator below.<\/li><li>For repeated assembly use about 60% of the one-time strain limit.<\/li><\/ul><div class=\"tw-dt-nums\"><div class=\"tw-dt-num\"><div>Root radius<\/div><b>&#8805; 0.5 t<\/b><\/div><div class=\"tw-dt-num\"><div>Tapered beam<\/div><b>tip &#8776; 0.5 t<\/b><\/div><div class=\"tw-dt-num\"><div>Deflection<\/div><b>y = k &#183; &#949; &#183; L&#178; \/ t<\/b><\/div><\/div><\/div><div class=\"tw-dt-play\" data-n=\"7\"><div class=\"tw-dt-ph\">Try it &#8211; drag the sliders<\/div><svg viewBox=\"0 0 400 240\" role=\"img\" aria-label=\"Live design preview: Snap Fits\"><\/svg><div class=\"tw-dt-ctl\"><label><span>Beam length L <b data-o=\"L\">12<\/b> mm<\/span><input type=\"range\" data-k=\"L\" min=\"5\" max=\"30\" step=\"0.5\" value=\"12\"><\/label><label><span>Root thickness t <b data-o=\"t\">1.8<\/b> mm<\/span><input type=\"range\" data-k=\"t\" min=\"0.5\" max=\"3\" step=\"0.1\" value=\"1.8\"><\/label><label><span>Required deflection y <b data-o=\"y\">1.5<\/b> mm<\/span><input type=\"range\" data-k=\"y\" min=\"0.2\" max=\"5\" step=\"0.1\" value=\"1.5\"><\/label><label><span>Material<\/span><select data-k=\"mat\"><option value=\"2.5\" selected>ABS (2.5%)<\/option><option value=\"4\">PC (4%)<\/option><option value=\"3\">PC\/ABS (3%)<\/option><option value=\"6\">PA6 conditioned (6%)<\/option><option value=\"5\">POM (5%)<\/option><option value=\"6.01\">PP (6%)<\/option><\/select><\/label><label><span>Beam shape<\/span><select data-k=\"k\"><option value=\"0.67\" selected>Constant thickness<\/option><option value=\"1.09\">Tapered to t\/2<\/option><\/select><\/label><\/div><ul class=\"tw-dt-verd\"><\/ul><\/div><\/div><\/section><section class=\"tw-dt-panel\" data-p=\"8\" style=\"display:none\"><h4>8. Living Hinges<\/h4><p class=\"tw-dt-lead\">A thin web molded in PP or PE that can flex thousands of times.<\/p><div class=\"tw-dt-cols\"><div><ul class=\"tw-dt-rules\"><li>Use PP (best) or PE; most other resins crack.<\/li><li>Hinge thickness 0.25&#8211;0.4 mm, radiused on both sides.<\/li><li>Gate so the melt flows across the hinge, never along it.<\/li><li>Flex the hinge right after molding to orient the molecules.<\/li><\/ul><div class=\"tw-dt-nums\"><div class=\"tw-dt-num\"><div>Material<\/div><b>PP or PE<\/b><\/div><div class=\"tw-dt-num\"><div>Thickness<\/div><b>0.25&#8211;0.4 mm<\/b><\/div><div class=\"tw-dt-num\"><div>Flow<\/div><b>across the hinge<\/b><\/div><\/div><\/div><div class=\"tw-dt-play\" data-n=\"8\"><div class=\"tw-dt-ph\">Try it &#8211; drag the sliders<\/div><svg viewBox=\"0 0 400 240\" role=\"img\" aria-label=\"Live design preview: Living Hinges\"><\/svg><div class=\"tw-dt-ctl\"><label><span>Hinge thickness <b data-o=\"th\">0.6<\/b> mm<\/span><input type=\"range\" data-k=\"th\" min=\"0.1\" max=\"1\" step=\"0.05\" value=\"0.6\"><\/label><label><span>Fold angle <b data-o=\"ang\">70<\/b> &#176;<\/span><input type=\"range\" data-k=\"ang\" min=\"0\" max=\"180\" step=\"1\" value=\"70\"><\/label><label><span>Material<\/span><select data-k=\"mat\"><option value=\"PP\" selected>PP<\/option><option value=\"PE\">PE<\/option><option value=\"ABS\">ABS<\/option><option value=\"PC\">PC<\/option><option value=\"PA\">PA (Nylon)<\/option><\/select><\/label><\/div><ul class=\"tw-dt-verd\"><\/ul><\/div><\/div><\/section><section class=\"tw-dt-panel\" data-p=\"9\" style=\"display:none\"><h4>9. Surface Finish<\/h4><p class=\"tw-dt-lead\">Specify SPI polish or texture early &ndash; it drives draft, steel and cost.<\/p><div class=\"tw-dt-cols\"><div><ul class=\"tw-dt-rules\"><li>Glossy SPI A finishes need hardened steel and show every flaw.<\/li><li>SPI B and C are cost-effective for most internal and semi-visible parts.<\/li><li>Blasted and textured finishes hide sink and flow lines but need more draft.<\/li><li>Allow about 1.5&#176; extra draft for each 0.025 mm of texture depth.<\/li><\/ul><div class=\"tw-dt-nums\"><div class=\"tw-dt-num\"><div>Glossy<\/div><b>SPI A-1 to A-3<\/b><\/div><div class=\"tw-dt-num\"><div>Semi-gloss \/ matte<\/div><b>SPI B \/ C<\/b><\/div><div class=\"tw-dt-num\"><div>Textured<\/div><b>SPI D, VDI, MT<\/b><\/div><\/div><\/div><div class=\"tw-dt-play\" data-n=\"9\"><div class=\"tw-dt-ph\">Try it &#8211; drag the sliders<\/div><svg viewBox=\"0 0 400 240\" role=\"img\" aria-label=\"Live design preview: Surface Finish\"><\/svg><div class=\"tw-dt-ctl\"><label><span>Finish<\/span><select data-k=\"g\"><option value=\"0\">SPI A-1 &#8211; Lenses, mirrors, high gloss<\/option><option value=\"1\">SPI A-2 &#8211; High-gloss cosmetic parts<\/option><option value=\"2\">SPI A-3 &#8211; Gloss cosmetic parts<\/option><option value=\"3\">SPI B-1 &#8211; Semi-gloss, light cosmetic<\/option><option value=\"4\">SPI B-2 &#8211; Semi-gloss, general<\/option><option value=\"5\">SPI B-3 &#8211; Medium finish<\/option><option value=\"6\">SPI C-1 &#8211; Low gloss, internal parts<\/option><option value=\"7\">SPI C-2 &#8211; Matte, internal parts<\/option><option value=\"8\">SPI C-3 &#8211; Matte, non-cosmetic<\/option><option value=\"9\">SPI D-1 &#8211; Satin texture<\/option><option value=\"10\" selected>SPI D-2 &#8211; Dull texture<\/option><option value=\"11\">SPI D-3 &#8211; Coarse texture<\/option><\/select><\/label><label><span>Draft angle <b data-o=\"a\">1.5<\/b> &#176;<\/span><input type=\"range\" data-k=\"a\" min=\"0\" max=\"6\" step=\"0.25\" value=\"1.5\"><\/label><\/div><ul class=\"tw-dt-verd\"><\/ul><\/div><\/div><div class=\"tw-dt-box\"><h5>SPI finish grades and typical draft<\/h5><div class=\"tw-dt-tw\"><table><thead><tr><th>SPI<\/th><th>Method<\/th><th>Ra (&#181;m)<\/th><th>Typical use<\/th><th>Min draft<\/th><\/tr><\/thead><tbody><tr><td><b>A-1<\/b><\/td><td>Grade #3 diamond buff<\/td><td>0.012&#8211;0.025<\/td><td>Lenses, mirrors, high gloss<\/td><td>0.5&#8211;1&#176;<\/td><\/tr><tr><td><b>A-2<\/b><\/td><td>Grade #6 diamond buff<\/td><td>0.025&#8211;0.05<\/td><td>High-gloss cosmetic parts<\/td><td>0.5&#8211;1&#176;<\/td><\/tr><tr><td><b>A-3<\/b><\/td><td>Grade #15 diamond buff<\/td><td>0.05&#8211;0.10<\/td><td>Gloss cosmetic parts<\/td><td>1&#176;<\/td><\/tr><tr><td><b>B-1<\/b><\/td><td>600 grit paper<\/td><td>0.05&#8211;0.10<\/td><td>Semi-gloss, light cosmetic<\/td><td>1&#176;<\/td><\/tr><tr><td><b>B-2<\/b><\/td><td>400 grit paper<\/td><td>0.10&#8211;0.15<\/td><td>Semi-gloss, general<\/td><td>1&#8211;1.5&#176;<\/td><\/tr><tr><td><b>B-3<\/b><\/td><td>320 grit paper<\/td><td>0.28&#8211;0.32<\/td><td>Medium finish<\/td><td>1.5&#176;<\/td><\/tr><tr><td><b>C-1<\/b><\/td><td>600 grit stone<\/td><td>0.35&#8211;0.40<\/td><td>Low gloss, internal parts<\/td><td>1.5&#176;<\/td><\/tr><tr><td><b>C-2<\/b><\/td><td>400 grit stone<\/td><td>0.45&#8211;0.55<\/td><td>Matte, internal parts<\/td><td>1.5&#8211;2&#176;<\/td><\/tr><tr><td><b>C-3<\/b><\/td><td>320 grit stone<\/td><td>0.63&#8211;0.70<\/td><td>Matte, non-cosmetic<\/td><td>2&#176;<\/td><\/tr><tr><td><b>D-1<\/b><\/td><td>Dry blast, glass bead #11<\/td><td>0.80&#8211;1.00<\/td><td>Satin texture<\/td><td>2&#8211;3&#176;<\/td><\/tr><tr><td><b>D-2<\/b><\/td><td>Dry blast, #240 oxide<\/td><td>1.00&#8211;2.80<\/td><td>Dull texture<\/td><td>3&#8211;5&#176;<\/td><\/tr><tr><td><b>D-3<\/b><\/td><td>Dry blast, #24 oxide<\/td><td>3.20&#8211;18.0<\/td><td>Coarse texture<\/td><td>5&#176; +<\/td><\/tr><\/tbody><\/table><\/div><p class=\"tw-dt-note\">Draft values are typical minimums for shallow features; deep parts need more.<\/p><\/div><\/section><section class=\"tw-dt-panel\" data-p=\"10\" style=\"display:none\"><h4>10. Tolerances<\/h4><p class=\"tw-dt-lead\">Hold tight tolerances only on features that really need them.<\/p><div class=\"tw-dt-cols\"><div><ul class=\"tw-dt-rules\"><li>Put general tolerances on everything and tight ones only on critical fits.<\/li><li>Keep critical dimensions within one mold half, not across the parting line.<\/li><li>High-shrink resins (PP, PE, POM, PA) need looser tolerances than PC or ABS.<\/li><li>Uniform walls and good cooling matter more than tight numbers on a drawing.<\/li><\/ul><div class=\"tw-dt-nums\"><div class=\"tw-dt-num\"><div>Commercial (0&#8211;25 mm)<\/div><b>&#177; 0.10 mm<\/b><\/div><div class=\"tw-dt-num\"><div>Fine (0&#8211;25 mm)<\/div><b>&#177; 0.05 mm<\/b><\/div><div class=\"tw-dt-num\"><div>High-shrink resins<\/div><b>&#215; 1.5&#8211;2<\/b><\/div><\/div><\/div><div class=\"tw-dt-play\" data-n=\"10\"><div class=\"tw-dt-ph\">Try it &#8211; drag the sliders<\/div><svg viewBox=\"0 0 400 240\" role=\"img\" aria-label=\"Live design preview: Tolerances\"><\/svg><div class=\"tw-dt-ctl\"><label><span>Nominal dimension <b data-o=\"dim\">40<\/b> mm<\/span><input type=\"range\" data-k=\"dim\" min=\"2\" max=\"300\" step=\"1\" value=\"40\"><\/label><label><span>Requested tolerance &#177; <b data-o=\"tol\">0.12<\/b> mm<\/span><input type=\"range\" data-k=\"tol\" min=\"0.01\" max=\"0.5\" step=\"0.01\" value=\"0.12\"><\/label><label><span>Resin<\/span><select data-k=\"shr\"><option value=\"1\" selected>Low shrink (ABS, PC, PS)<\/option><option value=\"1.75\">High shrink (PP, PE, POM, PA)<\/option><\/select><\/label><label class=\"tw-dt-cb\"><input type=\"checkbox\" data-k=\"pl\"><span>Dimension crosses the parting line<\/span><\/label><\/div><ul class=\"tw-dt-verd\"><\/ul><\/div><\/div><div class=\"tw-dt-box\"><h5>Typical achievable tolerances (stable resins such as ABS, PC)<\/h5><div class=\"tw-dt-tw\"><table><thead><tr><th>Dimension (mm)<\/th><th>Commercial<\/th><th>Fine (extra cost)<\/th><\/tr><\/thead><tbody><tr><td>0 &#8211; 25<\/td><td>&#177; 0.10 mm<\/td><td>&#177; 0.05 mm<\/td><\/tr><tr><td>25 &#8211; 50<\/td><td>&#177; 0.15 mm<\/td><td>&#177; 0.08 mm<\/td><\/tr><tr><td>50 &#8211; 100<\/td><td>&#177; 0.20 mm<\/td><td>&#177; 0.10 mm<\/td><\/tr><tr><td>100 &#8211; 200<\/td><td>&#177; 0.30 mm<\/td><td>&#177; 0.15 mm<\/td><\/tr><tr><td>over 200<\/td><td>&#177; 0.15 % mm<\/td><td>&#177; 0.08 % mm<\/td><\/tr><\/tbody><\/table><\/div><p class=\"tw-dt-note\">Guide values for well-designed parts. High-shrink resins (PP, PE, POM, PA) typically need 1.5&#8211;2&#215; these values; glass-filled grades shrink less along the flow than across it.<\/p><\/div><\/section><section class=\"tw-dt-panel\" data-p=\"11\" style=\"display:none\"><h4>11. Gate Placement Strategy<\/h4><p class=\"tw-dt-lead\">Where the plastic enters decides sink, weld lines, warp and cosmetics.<\/p><div class=\"tw-dt-cols\"><div><ul class=\"tw-dt-rules\"><li>Gate into the thickest section and flow from thick to thin.<\/li><li>Keep gate marks off cosmetic and functional surfaces.<\/li><li>Place weld lines away from load-bearing and visible areas.<\/li><li>Balance flow so all edges fill at the same time; vent the last-to-fill spots.<\/li><\/ul><div class=\"tw-dt-nums\"><div class=\"tw-dt-num\"><div>Edge \/ tab gate<\/div><b>general, easy to trim<\/b><\/div><div class=\"tw-dt-num\"><div>Sub \/ tunnel gate<\/div><b>auto-degating, small parts<\/b><\/div><div class=\"tw-dt-num\"><div>Pin-point \/ hot tip<\/div><b>top gating, 3-plate or hot runner<\/b><\/div><\/div><\/div><div class=\"tw-dt-play\" data-n=\"11\"><div class=\"tw-dt-ph\">Try it &#8211; drag the sliders<\/div><svg viewBox=\"0 0 400 240\" role=\"img\" aria-label=\"Live design preview: Gate Placement Strategy\"><\/svg><div class=\"tw-dt-ctl\"><label><span>Gate position <b data-o=\"pos\">85<\/b> % along part<\/span><input type=\"range\" data-k=\"pos\" min=\"0\" max=\"100\" step=\"1\" value=\"85\"><\/label><\/div><ul class=\"tw-dt-verd\"><\/ul><\/div><\/div><\/section><section class=\"tw-dt-panel\" data-p=\"12\" style=\"display:none\"><h4>12. DFM Checklist<\/h4><p class=\"tw-dt-lead\">Run through this list before you release a part for tooling.<\/p><div class=\"tw-dt-prog\"><i><\/i><\/div><ul class=\"tw-dt-chk\"><li><label><input type=\"checkbox\" data-c=\"0\"><span>Nominal wall is uniform; thickness changes are tapered<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"1\"><span>Walls are inside the recommended range for the resin<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"2\"><span>All faces parallel to the pull have draft (more for texture)<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"3\"><span>Ribs are 50&#8211;60% of the wall and no taller than 3&#215; the wall<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"4\"><span>Bosses are cored, about 2&#215; hole OD, tied to walls<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"5\"><span>Inside radii are at least 0.5&#215; the wall<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"6\"><span>Undercuts removed, or slider \/ lifter planned and quoted<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"7\"><span>Snap-fit strain is inside the resin limit<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"8\"><span>Gate location agreed: thick section, off cosmetic faces<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"9\"><span>Weld lines are away from loads and show surfaces<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"10\"><span>Last-to-fill areas, blind ribs and bosses can be vented<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"11\"><span>Ejector pin marks are acceptable where they land<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"12\"><span>Parting line position is agreed<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"13\"><span>Critical dimensions and tolerances are marked; the rest are general<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"14\"><span>Surface finish \/ texture is specified (SPI, VDI or MT)<\/span><\/label><\/li><li><label><input type=\"checkbox\" data-c=\"15\"><span>Resin grade, color and shrinkage are confirmed<\/span><\/label><\/li><\/ul><div class=\"tw-dt-btns\"><button type=\"button\" class=\"tw-dt-copy\" style=\"background:#e8eff8;color:#1e3a5f\">Copy checklist<\/button><button type=\"button\" class=\"tw-dt-reset\" style=\"background:#ffffff;color:#5b6b7f;border:1px solid #c9d3df\">Reset<\/button><a href=\"https:\/\/www.plasticmoulds.net\/contact-us\" style=\"background:#f59e0b;color:#ffffff\">Get a free DFM review<\/a><\/div><\/section><script> (function () { var root = document.getElementById('twdt62522'); if (!root) return; var nav = root.querySelectorAll('.tw-dt-nav button'), panels = root.querySelectorAll('.tw-dt-panel'); function go(n) { for (var i = 0; i < nav.length; i++) { var on = nav[i].getAttribute('data-t') === n, b = nav[i].querySelector('b'); nav[i].style.background = on ? '#1e3a5f' : '#ffffff'; nav[i].style.color = on ? '#ffffff' : '#1e3a5f'; nav[i].style.borderColor = on ? '#1e3a5f' : '#c9d3df'; b.style.background = on ? '#ffffff' : '#1e3a5f'; b.style.color = on ? '#1e3a5f' : '#ffffff'; nav[i].setAttribute('aria-selected', on ? 'true' : 'false'); } for (i = 0; i < panels.length; i++) panels[i].style.display = panels[i].getAttribute('data-p') === n ? 'block' : 'none'; } for (var i = 0; i < nav.length; i++) nav[i].addEventListener('click', function () { go(this.getAttribute('data-t')); }); \/* ---------- live design playgrounds ---------- *\/ var SPI = [{\"g\":\"A-1\",\"ra\":\"0.012&#8211;0.025\",\"use\":\"Lenses, mirrors, high gloss\",\"min\":0.5},{\"g\":\"A-2\",\"ra\":\"0.025&#8211;0.05\",\"use\":\"High-gloss cosmetic parts\",\"min\":0.5},{\"g\":\"A-3\",\"ra\":\"0.05&#8211;0.10\",\"use\":\"Gloss cosmetic parts\",\"min\":1},{\"g\":\"B-1\",\"ra\":\"0.05&#8211;0.10\",\"use\":\"Semi-gloss, light cosmetic\",\"min\":1},{\"g\":\"B-2\",\"ra\":\"0.10&#8211;0.15\",\"use\":\"Semi-gloss, general\",\"min\":1},{\"g\":\"B-3\",\"ra\":\"0.28&#8211;0.32\",\"use\":\"Medium finish\",\"min\":1.5},{\"g\":\"C-1\",\"ra\":\"0.35&#8211;0.40\",\"use\":\"Low gloss, internal parts\",\"min\":1.5},{\"g\":\"C-2\",\"ra\":\"0.45&#8211;0.55\",\"use\":\"Matte, internal parts\",\"min\":1.5},{\"g\":\"C-3\",\"ra\":\"0.63&#8211;0.70\",\"use\":\"Matte, non-cosmetic\",\"min\":2},{\"g\":\"D-1\",\"ra\":\"0.80&#8211;1.00\",\"use\":\"Satin texture\",\"min\":2},{\"g\":\"D-2\",\"ra\":\"1.00&#8211;2.80\",\"use\":\"Dull texture\",\"min\":3},{\"g\":\"D-3\",\"ra\":\"3.20&#8211;18.0\",\"use\":\"Coarse texture\",\"min\":5}]; var A = '#f2a33c', AS = '#b9771f', RED = '#d63c3c', GRN = '#15803d', NAV = '#1e3a5f', GRY = '#5b6b7f', STL = '#e6ecf3'; function R(x, y, w, h, f, s, sw) { return '<rect x=\"' + x + '\" y=\"' + y + '\" width=\"' + Math.max(0, w) + '\" height=\"' + Math.max(0, h) + '\" fill=\"' + (f || A) + '\" stroke=\"' + (s || AS) + '\" stroke-width=\"' + (sw || 1) + '\"\/>'; } function P(d, f, s, sw, x) { return '<path d=\"' + d + '\" fill=\"' + (f || A) + '\" stroke=\"' + (s || AS) + '\" stroke-width=\"' + (sw || 1) + '\"' + (x || '') + '\/>'; } function T(x, y, s, c, a, z) { return '<text x=\"' + x + '\" y=\"' + y + '\" font-size=\"' + (z || 11) + '\" font-weight=\"700\" fill=\"' + (c || NAV) + '\" text-anchor=\"' + (a || 'middle') + '\">' + s + '<\/text>'; } function L(x1, y1, x2, y2, c, w, x) { return '<line x1=\"' + x1 + '\" y1=\"' + y1 + '\" x2=\"' + x2 + '\" y2=\"' + y2 + '\" stroke=\"' + (c || NAV) + '\" stroke-width=\"' + (w || 1) + '\"' + (x || '') + '\/>'; } function SINK(x1, x2, y, d) { return d > 0.3 ? P('M' + x1 + ',' + y + ' Q' + ((x1 + x2) \/ 2) + ',' + (y + d * 2) + ' ' + x2 + ',' + y + ' Z', '#ffffff', RED, 1.6) : ''; } function VOID(cx, cy, r) { return '<circle cx=\"' + cx + '\" cy=\"' + cy + '\" r=\"' + r + '\" fill=\"#ffffff\" stroke=\"' + RED + '\" stroke-width=\"1.6\"\/>'; } function ARW(x1, y1, x2, y2, c) { var a = Math.atan2(y2 - y1, x2 - x1), h = 8; return L(x1, y1, x2, y2, c, 2) + '<polygon points=\"' + x2 + ',' + y2 + ' ' + (x2 - h * Math.cos(a - 0.45)) + ',' + (y2 - h * Math.sin(a - 0.45)) + ' ' + (x2 - h * Math.cos(a + 0.45)) + ',' + (y2 - h * Math.sin(a + 0.45)) + '\" fill=\"' + c + '\"\/>'; } function CRACK(x, y) { return P('M' + x + ',' + y + ' l5,5 l-4,4 l6,6', 'none', RED, 2); } function f(v, d) { return (+v).toFixed(d === undefined ? 1 : d); } function ck(cond1, cond2, ok, warn, bad) { return cond1 ? ['ok', ok] : (cond2 ? ['warn', warn] : ['bad', bad]); } var D = {}; D[1] = function (v) { var mm = v.mat.split('|'), mn = +mm[0], mx = +mm[1], k = 11, y0 = 60, tp = v.t * k, Tm = v.t * v.ratio, Tp = Tm * k, pct = Math.round((v.ratio - 1) * 100); var s = P('M30,' + y0 + ' H370 V' + (y0 + tp) + ' H300 V' + (y0 + Tp) + ' H200 V' + (y0 + tp) + ' H30 Z'); if (v.ratio > 1.15) s += SINK(205, 295, y0, Math.min(7, (v.ratio - 1.15) * 7)); if (v.ratio > 1.9) s += VOID(250, y0 + Tp * 0.55, Math.min(12, Tp \/ 5)); s += T(30, y0 - 12, 't = ' + f(v.t) + ' mm', NAV, 'start') + T(250, y0 + Tp + 18, 'T = ' + f(Tm) + ' mm'); var c = []; c.push(v.t < mn ? ['bad', 'Wall below ' + mn + ' mm: short-shot and fill risk for this resin'] : v.t > mx ? ['bad', 'Wall above ' + mx + ' mm: sink, voids and a long cycle'] : ['ok', 'Wall inside the ' + mn + '&#8211;' + mx + ' mm range for this resin']); c.push(ck(pct <= 15, pct <= 50, 'Thickness variation ' + pct + '%: uniform enough', 'Variation ' + pct + '%: taper the change at 3:1 or more', 'Variation ' + pct + '%: core out the thick section')); c.push(['info', 'Cooling time about &#215;' + f(Math.pow(Tm \/ 2, 2)) + ' vs a 2 mm wall (thickest section sets the cycle)']); return [s, c]; }; D[2] = function (v) { var H = Math.min(150, v.H * 1.9), vis = Math.min(22, v.a * 4) * Math.PI \/ 180, off = H * Math.tan(vis), b = 205, top = b - H; var req = (v.H <= 25 ? 0.5 : 1) + 1.5 * v.tex \/ 0.0254, amp = v.tex * 70; var edge = ''; var n = 14; for (var i = 0; i <= n; i++) { var fr = i \/ n, x = 130 + off * fr + ((i % 2 && amp) ? -amp : 0), y = b - H * fr; edge += (i ? ' L' : 'M') + x.toFixed(1) + ',' + y.toFixed(1); } var s = P('M146,' + b + ' L' + (146 + off) + ',' + top + ' H330 V' + b + ' Z', STL, GRY, 1.5); s += P(edge + ' L' + (146 + off) + ',' + top + ' L146,' + b + ' Z'); s += R(130 + off, top - 14, 330 - 130 - off, 14); s += ARW(365, 190, 365, 50, GRN) + T(365, 208, 'pull', GRN); s += L(130, b, 130, top - 4, GRY, 1, ' stroke-dasharray=\"4 3\"'); s += T(240, b + 22, 'draft ' + f(v.a, 2) + '&#176; (drawn &#215;4)', NAV) + T(240, 100, 'core', GRY); var bad = v.a < req - 0.5, warn = v.a < req; if (warn) { for (var j = 0; j < 4; j++) s += L(124, top + 20 + j * (H - 30) \/ 4, 124, top + 34 + j * (H - 30) \/ 4, RED, 2.5); } var c = [ck(!warn, !bad, 'Draft ' + f(v.a, 2) + '&#176; meets the ' + f(req, 1) + '&#176; minimum', 'Draft just under the ' + f(req, 1) + '&#176; minimum: risk of scuffing', 'Draft under ' + f(req, 1) + '&#176;: drag marks and sticking on ejection')]; if (v.tex > 0) c.push(['info', 'Texture ' + f(v.tex, 3) + ' mm adds ' + f(1.5 * v.tex \/ 0.0254, 1) + '&#176; to the requirement']); c.push(['info', 'Each side moves in ' + f(v.H * Math.tan(v.a * Math.PI \/ 180), 2) + ' mm over ' + v.H + ' mm depth']); return [s, c]; }; D[3] = function (v) { var tp = 24, w = tp * v.rp \/ 100, h = Math.min(140, tp * v.h), cx = 200, y0 = 46; var s = P('M40,' + y0 + ' H360 V' + (y0 + tp) + ' H' + (cx + w \/ 2) + ' V' + (y0 + tp + h - 3) + ' Q' + cx + ',' + (y0 + tp + h + 2) + ' ' + (cx - w \/ 2) + ',' + (y0 + tp + h - 3) + ' V' + (y0 + tp) + ' H40 Z'); if (v.rp > 60) s += SINK(cx - w \/ 2 - 8, cx + w \/ 2 + 8, y0, (v.rp - 60) \/ 40 * 8); if (v.rp >= 90) s += VOID(cx, y0 + tp + 6, Math.max(3, w \/ 4)); s += T(44, y0 - 10, 't = ' + f(v.t) + ' mm', NAV, 'start') + T(cx + w \/ 2 + 8, y0 + tp + h \/ 2, 'rib ' + f(v.t * v.rp \/ 100, 2) + ' mm', NAV, 'start') + T(cx - w \/ 2 - 8, y0 + tp + h \/ 2, 'h ' + f(v.t * v.h) + ' mm', NAV, 'end'); var c = [ck(v.rp <= 60, v.rp <= 75, 'Rib ' + v.rp + '% of wall: no sink expected', 'Rib ' + v.rp + '% of wall: light sink on glossy faces', 'Rib ' + v.rp + '% of wall: visible sink on the show face'), ck(v.h <= 3, v.h <= 4, 'Height ' + f(v.h) + '&#215; t: fills and ejects well', 'Height ' + f(v.h) + '&#215; t: add draft, watch fill at the tip', 'Height ' + f(v.h) + '&#215; t: hard to fill and eject &#8211; use two lower ribs')]; c.push(['info', 'Recommended rib thickness: ' + f(v.t * 0.5, 2) + '&#8211;' + f(v.t * 0.6, 2) + ' mm']); return [s, c]; }; D[4] = function (v) { var OD = v.d * v.od, w = (OD - v.d) \/ 2, wr = w \/ v.t, k = Math.min(14, 150 \/ OD), cx = 200, y0 = 46, tp = v.t * k, ODp = OD * k, dp = v.d * k, y1 = y0 + tp, bh = 86; var s = R(40, y0, 320, tp); s += P('M' + (cx - ODp \/ 2) + ',' + y1 + ' H' + (cx - ODp \/ 2 - 40) + ' L' + (cx - ODp \/ 2) + ',' + (y1 + 54) + ' Z') + P('M' + (cx + ODp \/ 2) + ',' + y1 + ' H' + (cx + ODp \/ 2 + 40) + ' L' + (cx + ODp \/ 2) + ',' + (y1 + 54) + ' Z'); s += R(cx - ODp \/ 2, y1 - 1, (ODp - dp) \/ 2, bh + 1) + R(cx + dp \/ 2, y1 - 1, (ODp - dp) \/ 2, bh + 1); s += L(cx - dp \/ 2, y1, cx + dp \/ 2, y1, AS, 1); if (wr > 0.7) s += SINK(cx - ODp \/ 2 - 6, cx + ODp \/ 2 + 6, y0, Math.min(8, (wr - 0.7) * 14)); if (v.od < 1.8) s += CRACK(cx - ODp \/ 2 + 2, y1 + 40) + CRACK(cx + ODp \/ 2 - 10, y1 + 52); s += T(cx, y1 + bh + 18, 'OD ' + f(OD) + ' mm &#183; hole ' + f(v.d) + ' mm &#183; boss wall ' + f(w, 2) + ' mm') + T(44, y0 - 10, 't = ' + f(v.t) + ' mm', NAV, 'start'); var c = [v.od < 1.8 ? ['bad', 'OD only ' + f(v.od, 2) + '&#215; hole: boss splits when the screw goes in'] : v.od < 2 ? ['warn', 'OD ' + f(v.od, 2) + '&#215; hole: thin for self-tapping screws'] : v.od <= 2.5 ? ['ok', 'OD ' + f(v.od, 2) + '&#215; hole: good proportion'] : ['warn', 'OD ' + f(v.od, 2) + '&#215; hole: larger than needed'], ck(wr <= 0.7, wr <= 0.85, 'Boss wall ' + f(wr * 100, 0) + '% of t: no sink expected', 'Boss wall ' + f(wr * 100, 0) + '% of t: possible sink opposite', 'Boss wall ' + f(wr * 100, 0) + '% of t: sink opposite the boss')]; c.push(['info', 'Gussets tie the boss to the wall and stop it bending']); return [s, c]; }; D[5] = function (v) { var k = 16, x0 = 60, y0 = 210, tp = v.t * k, rp = v.r * k, Rp = v.R * k; var d = 'M' + x0 + ',30 V' + (y0 - Rp) + (Rp > 0 ? ' A' + Rp + ',' + Rp + ' 0 0 0 ' + (x0 + Rp) + ',' + y0 : '') + ' H370 V' + (y0 - tp) + ' H' + (x0 + tp + rp) + (rp > 0 ? ' A' + rp + ',' + rp + ' 0 0 1 ' + (x0 + tp) + ',' + (y0 - tp - rp) : '') + ' V30 Z'; var so = v.R - v.R \/ Math.SQRT2, si = v.t + v.r - v.r \/ Math.SQRT2, ct = (si - so) * Math.SQRT2, cr = ct \/ v.t, rt = v.r \/ v.t, kt = Math.min(3.5, 1 + 0.5 \/ Math.sqrt(Math.max(rt, 0.02))); var s = P(d); if (rt < 0.25) s += CRACK(x0 + tp + 2, y0 - tp - 18) + CRACK(x0 + tp + 12, y0 - tp - 8); if (cr > 1.15) s += P('M' + (x0 + 2) + ',' + (y0 - 2) + ' l14,-14', 'none', '#d97706', 3); s += T(x0 + tp + rp + 14, y0 - tp - rp - 6, 'r = ' + f(v.r) + ' mm', NAV, 'start') + T(x0 + 6, y0 + 20, 'R = ' + f(v.R) + ' mm (ideal ' + f(v.r + v.t) + ')', NAV, 'start') + T(x0 + tp \/ 2, 24, 't ' + f(v.t), NAV); var c = [ck(rt >= 0.5, rt >= 0.25, 'Inside radius ' + f(rt, 2) + '&#215; t: low stress concentration', 'Inside radius ' + f(rt, 2) + '&#215; t: increase toward 0.5 t', 'Sharp inside corner: stress about &#215;' + f(kt) + ', crack risk'), ck(cr >= 0.85 && cr <= 1.15, cr >= 0.7 && cr <= 1.3, 'Corner thickness ' + f(ct, 2) + ' mm: matches the wall', 'Corner thickness ' + f(ct, 2) + ' mm: set R = r + t = ' + f(v.r + v.t) + ' mm', 'Corner thickness ' + f(ct, 2) + ' mm vs ' + f(v.t) + ' mm wall: ' + (cr > 1 ? 'sink and warp at the corner' : 'weak, thin corner'))]; c.push(['info', 'Stress concentration about &#215;' + f(kt) + ' (rough estimate)']); return [s, c]; }; D[6] = function (v) { var strain = v.u > 0 ? 2 * v.u \/ v.D * 100 : 0, al = +v.mat, up = Math.min(28, v.u * 12); var s = R(96, 76, 208, 134, STL, GRY, 1.5) + R(80, 60, 240, 16) + R(80, 76, 16, 114) + R(304, 76, 16, 114); if (up > 0) s += P('M96,' + (166 - up \/ 2) + ' L' + (96 + up) + ',178 L96,190 Z') + P('M304,' + (166 - up \/ 2) + ' L' + (304 - up) + ',178 L304,190 Z'); s += T(200, 140, 'core', GRY) + T(200, 228, '&#216; ' + v.D + ' mm part, ' + f(v.u, 2) + ' mm undercut (drawn larger)', NAV, 'middle', 10.5); var c; if (v.u === 0) { s += ARW(200, 54, 200, 18, GRN); c = [['ok', 'No undercut: straight pull, simplest mold']]; } else if (strain <= al) { s += ARW(200, 54, 200, 18, GRN) + ARW(76, 150, 50, 150, '#d97706') + ARW(324, 150, 350, 150, '#d97706'); c = [['ok', 'Strip strain ' + f(strain, 2) + '% within ~' + al + '%: can be bumped off (round the lead-in, eject warm)']]; } else if (strain <= al * 1.5) { s += ARW(76, 150, 50, 150, '#d97706') + ARW(324, 150, 350, 150, '#d97706'); c = [['warn', 'Strip strain ' + f(strain, 2) + '% just over ~' + al + '%: risky bump-off, test early']]; } else { s += ARW(60, 178, 30, 178, RED) + ARW(340, 178, 370, 178, RED); c = [['bad', 'Strip strain ' + f(strain, 2) + '% over ~' + al + '%: needs collapsible core, lifters or sliders']]; } c.push(['info', 'Strain allowances are rough guides &#8211; they depend on grade, temperature and lead-in angle']); return [s, c]; }; D[7] = function (v) { var k = +v.k, al = +v.mat, e = v.y * v.t \/ (k * v.L * v.L) * 100; var Lp = Math.min(270, v.L * 9), tp = Math.min(40, v.t * 12), tip = k > 1 ? tp \/ 2 : tp, dp = Math.min(70, v.y * 12), x0 = 70, yc = 96, n = 20, top = '', bot = ''; for (var i = 0; i <= n; i++) { var fr = i \/ n, x = x0 + Lp * fr, dy = dp * fr * fr * (3 - fr) \/ 2, th = tp + (tip - tp) * fr; top += (i ? ' L' : 'M') + x.toFixed(1) + ',' + (yc + dy - th \/ 2).toFixed(1); bot = ' L' + x.toFixed(1) + ',' + (yc + dy + th \/ 2).toFixed(1) + bot; } var tx = x0 + Lp, ty = yc + dp, over = e > al; var s = R(20, 50, 50, 140) + P('M' + x0 + ',' + (yc - tp \/ 2) + ' H' + tx + ' V' + (yc + tp \/ 2) + ' H' + x0 + ' Z', 'none', GRY, 1, ' stroke-dasharray=\"4 3\"'); s += P(top + bot.replace(\/^ L\/, ' L') + ' Z', A, over ? RED : AS, over ? 2 : 1); s += P('M' + tx + ',' + (ty - tip \/ 2) + ' l0,-12 l16,12 Z'); if (over) s += CRACK(x0 + 2, yc - tp \/ 2 - 2); s += L(tx + 24, yc, tx + 24, ty, NAV, 1) + T(tx + 28, (yc + ty) \/ 2 + 4, 'y ' + f(v.y) + ' mm', NAV, 'start'); s += T(200, 224, 'strain &#949; = ' + f(e, 2) + '% (limit ' + Math.round(al * 10) \/ 10 + '%)', over ? RED : NAV); var c = [ck(e <= 0.6 * al, e <= al, 'Strain ' + f(e, 2) + '%: fine for repeated snapping', 'Strain ' + f(e, 2) + '%: one-time assembly only', 'Strain ' + f(e, 2) + '% over the ' + Math.round(al * 10) \/ 10 + '% limit: lengthen, thin or taper the beam')]; c.push(['info', 'Root radius at least 0.5 t; tapering to t\/2 cuts strain by about 40%']); return [s, c]; }; D[8] = function (v) { var thp = Math.max(2, v.th * 22), py = 176, px = 200, okM = v.mat === 'PP', midM = v.mat === 'PE'; var s = R(60, py - 18, 130, 18) + R(190, py - 18, 20, thp, A, okM || midM ? AS : RED, okM || midM ? 1 : 2); s += '<g transform=\"rotate(' + (-v.ang) + ' ' + px + ' ' + (py - 18 + thp \/ 2) + ')\">' + R(210, py - 18, 130, 18) + '<\/g>'; if (!okM && !midM || v.th > 0.5) s += CRACK(196, py - 34); s += T(200, py + 26, v.mat + ' hinge ' + f(v.th, 2) + ' mm (drawn larger)') + T(200, py + 44, 'fold ' + Math.round(v.ang) + '&#176;', GRY); var c = [okM ? ['ok', 'PP: the best living-hinge resin'] : midM ? ['warn', 'PE works but has a shorter flex life than PP'] : ['bad', v.mat + ' is not suitable: the hinge cracks after a few flexes'], ck(v.th >= 0.25 && v.th <= 0.4, v.th >= 0.2 && v.th <= 0.5, 'Thickness ' + f(v.th, 2) + ' mm: in the 0.25&#8211;0.4 mm sweet spot', 'Thickness ' + f(v.th, 2) + ' mm: workable, move toward 0.25&#8211;0.4 mm', v.th < 0.2 ? 'Thickness ' + f(v.th, 2) + ' mm: tears and fills poorly' : 'Thickness ' + f(v.th, 2) + ' mm: too stiff, cracks when folded')]; c.push(['info', 'Gate so melt flows across the hinge; flex it right after molding']); return [s, c]; }; D[9] = function (v) { var g = SPI[+v.g], ra = parseFloat(g.ra.split(\/[^0-9.]\/).pop()) || 0.1, amp = Math.min(12, 0.5 + ra * 1.6), vis = Math.min(24, v.a * 4) * Math.PI \/ 180, H = 150, b = 200, off = H * Math.tan(vis), n = 30, e = ''; for (var i = 0; i <= n; i++) { var fr = i \/ n, x = 200 + off * fr + ((i % 2) ? amp : 0), y = b - H * fr; e += ' L' + x.toFixed(1) + ',' + y.toFixed(1); } var bad = v.a < g.min - 0.5, warn = v.a < g.min; var s = P('M120,' + b + e + ' L120,' + (b - H) + ' Z'); s += ARW(330, 190, 330, 60, GRN) + T(330, 208, 'pull', GRN) + L(200, b, 200, b - H - 4, GRY, 1, ' stroke-dasharray=\"4 3\"'); if (warn) { for (var j = 0; j < 4; j++) s += L(222 + off * (j \/ 4), b - 20 - j * 34, 222 + off * (j \/ 4), b - 36 - j * 34, RED, 2.5); } s += T(160, b + 22, 'SPI ' + g.g + ' &#183; Ra ' + g.ra + ' &#181;m &#183; draft ' + f(v.a, 2) + '&#176;'); var c = [ck(!warn, !bad, 'Draft ' + f(v.a, 2) + '&#176; meets the ~' + g.min + '&#176; minimum for SPI ' + g.g, 'Draft just under ~' + g.min + '&#176;: risk of scuffing on SPI ' + g.g, 'Draft under ~' + g.min + '&#176;: scuffed texture and sticking')]; c.push(['info', 'Typical use: ' + g.use]); return [s, c]; }; D[10] = function (v) { var dm = v.dim, cm = dm <= 25 ? 0.10 : dm <= 50 ? 0.15 : dm <= 100 ? 0.20 : dm <= 200 ? 0.30 : dm * 0.0015, fn = dm <= 25 ? 0.05 : dm <= 50 ? 0.08 : dm <= 100 ? 0.10 : dm <= 200 ? 0.15 : dm * 0.0008; cm *= +v.shr; fn *= +v.shr; if (v.pl) { cm += 0.05; fn += 0.05; } var mx = Math.max(cm * 1.5, v.tol * 1.2, 0.2), X = function (val) { return 40 + Math.min(1, val \/ mx) * 320; }, y = 160; var s = R(40, y, X(fn) - 40, 18, '#fde2e2', '#fde2e2') + R(X(fn), y, X(cm) - X(fn), 18, '#fdecc8', '#fdecc8') + R(X(cm), y, 360 - X(cm), 18, '#dcfce7', '#dcfce7'); s += T((40 + X(fn)) \/ 2, y + 32, 'not realistic', RED, 'middle', 10) + T((X(fn) + X(cm)) \/ 2, y + 32, 'fine', '#b45309', 'middle', 10) + T((X(cm) + 360) \/ 2, y + 32, 'commercial', GRN, 'middle', 10); s += L(X(v.tol), y - 8, X(v.tol), y + 26, NAV, 3) + T(X(v.tol), y - 12, '&#177;' + f(v.tol, 2), NAV); s += R(110, 40, 180, 70) + L(100, 75, 300, 75, RED, 1.4, ' stroke-dasharray=\"8 4\"') + T(304, 79, 'PL', RED, 'start', 10); s += v.pl ? L(96, 40, 96, 110, RED, 2) : L(96, 82, 96, 110, GRN, 2); s += T(200, 128, dm + ' mm dimension', NAV); var c = [v.tol >= cm ? ['ok', '&#177;' + f(v.tol, 2) + ' mm is commercial (&#8805; &#177;' + f(cm, 2) + ')'] : v.tol >= fn ? ['warn', '&#177;' + f(v.tol, 2) + ' mm is a fine tolerance: extra tooling and QC cost'] : ['bad', '&#177;' + f(v.tol, 2) + ' mm is below the fine limit &#177;' + f(fn, 2) + ': not realistic as molded']]; if (v.pl) c.push(['warn', 'Crossing the parting line adds flash and mismatch: keep critical dims in one mold half']); return [s, c]; }; D[11] = function (v) { var gx = 40 + v.pos \/ 100 * 320, hx = 300, hy = 135, id = 'twdt62522-clip'; var s = '<defs><clipPath id=\"' + id + '\"><rect x=\"40\" y=\"70\" width=\"320\" height=\"130\"\/><\/clipPath><\/defs>'; s += R(40, 70, 107, 130, '#e8932a', AS) + R(147, 70, 106, 130, A, AS) + R(253, 70, 107, 130, '#f8cf96', AS); s += T(93, 62, '3.0 mm', NAV, 'middle', 10.5) + T(200, 62, '2.0 mm', NAV, 'middle', 10.5) + T(306, 62, '1.5 mm', NAV, 'middle', 10.5); var rings = ''; for (var r = 30; r < 420; r += 30) rings += '<circle cx=\"' + gx + '\" cy=\"200\" r=\"' + r + '\" fill=\"none\" stroke=\"#8a4b00\" stroke-width=\"1\" stroke-dasharray=\"3 3\" opacity=\"0.55\"\/>'; var dx = hx - gx, dy = hy - 200, dl = Math.sqrt(dx * dx + dy * dy) || 1; s += '<g clip-path=\"url(#' + id + ')\">' + rings + L(hx + dx \/ dl * 16, hy + dy \/ dl * 16, hx + dx \/ dl * 400, hy + dy \/ dl * 400, RED, 2.5) + '<\/g>'; s += '<circle cx=\"' + hx + '\" cy=\"' + hy + '\" r=\"16\" fill=\"#ffffff\" stroke=\"' + AS + '\" stroke-width=\"1\"\/>'; s += '<polygon points=\"' + (gx - 9) + ',214 ' + (gx + 9) + ',214 ' + gx + ',200\" fill=\"' + NAV + '\"\/>' + T(gx, 230, 'gate', NAV); var c = [ck(v.pos < 34, v.pos < 67, 'Gate at the thick end: packs the thick section, no sink', 'Gate in the middle zone: the thick end may sink &#8211; move toward it', 'Gate at the thin end: flow thin &#8594; thick causes sink, voids and short shots')]; c.push(['info', 'Red line = weld line behind the hole: keep it away from loads and show faces']); return [s, c]; }; var ICON = { ok: ['#15803d', '&#10003;'], warn: ['#d97706', '!'], bad: ['#d63c3c', '&#10007;'], info: ['#5b6b7f', 'i'] }; var plays = root.querySelectorAll('.tw-dt-play'); function run(pl) { var n = pl.getAttribute('data-n'), v = {}, ins = pl.querySelectorAll('[data-k]'); for (var i = 0; i < ins.length; i++) { var el = ins[i], key = el.getAttribute('data-k'); if (el.type === 'checkbox') v[key] = el.checked ? 1 : 0; else if (el.tagName === 'SELECT') v[key] = el.value; else { v[key] = parseFloat(el.value); var out = pl.querySelector('[data-o=\"' + key + '\"]'); if (out) out.textContent = el.value; } } var r = D[n](v); pl.querySelector('svg').innerHTML = '<rect width=\"400\" height=\"240\" fill=\"#ffffff\"\/>' + r[0]; var h = ''; for (i = 0; i < r[1].length; i++) { var ic = ICON[r[1][i][0]]; h += '<li><b style=\"background:' + ic[0] + '\">' + ic[1] + '<\/b><span style=\"color:' + (r[1][i][0] === 'info' ? '#5b6b7f' : '#1f2a37') + '\">' + r[1][i][1] + '<\/span><\/li>'; } pl.querySelector('.tw-dt-verd').innerHTML = h; } for (i = 0; i < plays.length; i++) { (function (pl) { var ins = pl.querySelectorAll('[data-k]'); for (var j = 0; j < ins.length; j++) { ins[j].addEventListener('input', function () { run(pl); }); ins[j].addEventListener('change', function () { run(pl); }); } run(pl); })(plays[i]); } \/* DFM checklist *\/ var boxes = root.querySelectorAll('.tw-dt-chk input'), bar = root.querySelector('.tw-dt-prog i'), KEY = 'tw_dfm_checklist'; function save() { var s = []; for (var j = 0; j < boxes.length; j++) s.push(boxes[j].checked ? 1 : 0); try { localStorage.setItem(KEY, s.join('')); } catch (e) {} } function prog() { var c = 0; for (var j = 0; j < boxes.length; j++) if (boxes[j].checked) c++; bar.style.width = (c \/ boxes.length * 100) + '%'; bar.parentNode.setAttribute('title', c + ' of ' + boxes.length + ' checked'); } try { var saved = localStorage.getItem(KEY) || ''; for (i = 0; i < boxes.length; i++) boxes[i].checked = saved.charAt(i) === '1'; } catch (e) {} for (i = 0; i < boxes.length; i++) boxes[i].addEventListener('change', function () { save(); prog(); }); prog(); root.querySelector('.tw-dt-reset').addEventListener('click', function () { for (var j = 0; j < boxes.length; j++) boxes[j].checked = false; save(); prog(); }); root.querySelector('.tw-dt-copy').addEventListener('click', function () { var btn = this, lines = ['Injection Molding DFM Checklist']; for (var j = 0; j < boxes.length; j++) lines.push((boxes[j].checked ? '[x] ' : '[ ] ') + boxes[j].parentNode.textContent.trim()); var txt = lines.join('\\n'); function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy checklist'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(txt).then(done, done); } else { var ta = document.createElement('textarea'); ta.value = txt; document.body.appendChild(ta); ta.select(); try { document.execCommand('copy'); } catch (e) {} document.body.removeChild(ta); done(); } }); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twdte77828\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this reference on your site<\/strong><button type=\"button\" class=\"twdte-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-design-tips&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_design_tips_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:900px&quot; loading=&quot;lazy&quot; title=&quot;Injection Molding Design Tips - Interactive Reference&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_design_tips&quot;){var f=document.getElementById(&quot;tw-design-tips&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Injection molding design reference by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twdte77828'); if (!box) return; var btn = box.querySelector('.twdte-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><\/div><div id=\"vent-depth\" class=\"wp-block-group tw-tool tw-cat-mold is-layout-flow wp-block-group-is-layout-flow\"><div class=\"tw-vd\" id=\"twvd15167\"><style> #twvd15167{max-width:1000px;margin:24px auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif;color:#1f2a37} #twvd15167 h3{margin:0 0 4px;font-size:20px;line-height:1.3;color:#1e3a5f} #twvd15167 .tw-vd-sub{margin:0 0 14px;font-size:13.5px;color:#5b6b7f} #twvd15167 .tw-vd-grid{display:grid;grid-template-columns:320px 1fr;gap:16px} #twvd15167 .tw-vd-card{background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;padding:14px 16px} #twvd15167 .tw-vd-f{margin:0 0 14px} #twvd15167 .tw-vd-f:last-child{margin-bottom:0} #twvd15167 .tw-vd-lab{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5b6b7f;margin:0 0 6px} #twvd15167 select{width:100%;box-sizing:border-box;padding:9px 10px;font-size:14px;border:1px solid #c9d3df;border-radius:6px;background:#ffffff;color:#1f2a37} #twvd15167 .tw-vd-seg{display:flex;flex-wrap:wrap;gap:6px} #twvd15167 .tw-vd-seg button{flex:1 1 auto;border:1px solid #c9d3df;border-radius:6px;padding:7px 9px;font-size:13px;font-weight:600;cursor:pointer;line-height:1.25} #twvd15167 .tw-vd-chk{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer} #twvd15167 .tw-vd-big{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 4px} #twvd15167 .tw-vd-big b{font-size:38px;line-height:1.1;color:#1e3a5f} #twvd15167 .tw-vd-big span{font-size:15px;color:#5b6b7f} #twvd15167 .tw-vd-note{font-size:13px;color:#5b6b7f;margin:0 0 12px} #twvd15167 .tw-vd-bar{position:relative;height:10px;border-radius:5px;background:#e6ecf3;margin:22px 0 22px} #twvd15167 .tw-vd-bar i{position:absolute;top:0;height:10px;border-radius:5px;background:#9fc4f2} #twvd15167 .tw-vd-bar em{position:absolute;top:-6px;width:4px;height:22px;margin-left:-2px;background:#1e3a5f;border-radius:2px} #twvd15167 .tw-vd-bar small{position:absolute;top:14px;font-size:11px;color:#5b6b7f;transform:translateX(-50%);white-space:nowrap} #twvd15167 .tw-vd-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 12px} #twvd15167 .tw-vd-kpi{background:#f3f6fa;border-radius:6px;padding:9px 10px} #twvd15167 .tw-vd-kpi div{font-size:11.5px;color:#5b6b7f;font-weight:600} #twvd15167 .tw-vd-kpi b{display:block;font-size:17px;color:#1e3a5f;margin-top:2px} #twvd15167 .tw-vd-kpi small{display:block;font-size:11.5px;color:#5b6b7f} #twvd15167 svg{display:block;width:100%;height:auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twvd15167 ul.tw-vd-rules{margin:14px 0 0;padding:0 0 0 18px;font-size:13.5px;line-height:1.55} #twvd15167 ul.tw-vd-rules li{margin:0 0 4px} #twvd15167 .tw-vd-table{overflow-x:auto;margin:16px 0 0} #twvd15167 .tw-vd-table table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px} #twvd15167 .tw-vd-table th,#twvd15167 .tw-vd-table td{border:1px solid #dfe5ec;padding:7px 10px;text-align:left} #twvd15167 .tw-vd-table thead th{background:#1e3a5f;color:#ffffff;font-weight:600} #twvd15167 .tw-vd-table tbody tr{cursor:pointer} #twvd15167 .tw-vd-disc{font-size:12px;color:#5b6b7f;margin:10px 0 0} @media (max-width:820px){#twvd15167 .tw-vd-grid{grid-template-columns:1fr}} @media (max-width:480px){#twvd15167 .tw-vd-kpis{grid-template-columns:1fr 1fr}#twvd15167 .tw-vd-big b{font-size:32px}} <\/style><h3>Mold Vent Depth Calculator<\/h3><p class=\"tw-vd-sub\">Pick a resin and where the vent goes &ndash; get a starting vent depth, land length, relief depth and vent width.<\/p><div class=\"tw-vd-grid\"><div class=\"tw-vd-card\"><div class=\"tw-vd-f\"><label class=\"tw-vd-lab\" for=\"twvd15167-m\">Material<\/label><select id=\"twvd15167-m\" class=\"tw-vd-mat\"><optgroup label=\"Crystalline, runny\"><option value=\"pp\">PP (Polypropylene)<\/option><option value=\"pe\">PE (HDPE \/ LDPE)<\/option><option value=\"pa\">PA6 \/ PA66 (Nylon)<\/option><option value=\"pagf\">PA + Glass Fiber<\/option><option value=\"pom\">POM (Acetal)<\/option><option value=\"pbt\">PBT<\/option><option value=\"pet\">PET<\/option><option value=\"tpe\">TPE (SEBS \/ TPV)<\/option><\/optgroup><optgroup label=\"Very low viscosity\"><option value=\"pps\">PPS<\/option><option value=\"lcp\">LCP<\/option><\/optgroup><optgroup label=\"Amorphous, viscous\"><option value=\"ps\">PS (GPPS \/ HIPS)<\/option><option value=\"abs\" selected>ABS<\/option><option value=\"san\">SAN<\/option><option value=\"pcabs\">PC\/ABS<\/option><option value=\"pvc\">PVC (Rigid)<\/option><option value=\"tpu\">TPU<\/option><option value=\"pc\">PC (Polycarbonate)<\/option><option value=\"pmma\">PMMA (Acrylic)<\/option><option value=\"ppo\">PPO \/ PPE (Noryl)<\/option><option value=\"psu\">PSU \/ PEI<\/option><option value=\"peek\">PEEK<\/option><\/optgroup><\/select><\/div><div class=\"tw-vd-f\"><span class=\"tw-vd-lab\">Vent location<\/span><div class=\"tw-vd-seg\" data-seg=\"loc\"><button type=\"button\" data-v=\"0\">Near gate \/ thin rib<\/button><button type=\"button\" data-v=\"0.5\">End of fill \/ PL<\/button><button type=\"button\" data-v=\"1\">Runner \/ slug well<\/button><\/div><\/div><div class=\"tw-vd-f\"><span class=\"tw-vd-lab\">Grade flow<\/span><div class=\"tw-vd-seg\" data-seg=\"flow\"><button type=\"button\" data-v=\"-0.25\">High flow<\/button><button type=\"button\" data-v=\"0\">Standard<\/button><button type=\"button\" data-v=\"0.25\">Low flow<\/button><\/div><\/div><div class=\"tw-vd-f\"><span class=\"tw-vd-lab\">Part size<\/span><div class=\"tw-vd-seg\" data-seg=\"size\"><button type=\"button\" data-v=\"6\">Small part<\/button><button type=\"button\" data-v=\"12\">Large part<\/button><\/div><\/div><div class=\"tw-vd-f\"><label class=\"tw-vd-chk\"><input type=\"checkbox\" class=\"tw-vd-fill\"> Glass \/ mineral filled grade<\/label><\/div><\/div><div class=\"tw-vd-card\"><span class=\"tw-vd-lab\">Recommended vent depth<\/span><div class=\"tw-vd-big\"><b class=\"o-d\">0.032 mm<\/b><span class=\"o-in\">0.0013 in<\/span><\/div><p class=\"tw-vd-note o-note\"><\/p><div class=\"tw-vd-bar\"><i class=\"o-rng\"><\/i><em class=\"o-mk\"><\/em><small class=\"o-lo\"><\/small><small class=\"o-hi\"><\/small><\/div><div class=\"tw-vd-kpis\"><div class=\"tw-vd-kpi\"><div>Land length L<\/div><b class=\"o-l\">1.0 &ndash; 2.0 mm<\/b><small>start 1.5 mm<\/small><\/div><div class=\"tw-vd-kpi\"><div>Relief depth h<\/div><b class=\"o-h\">0.50 mm<\/b><small>&ge; 10 &times; d, min 0.5<\/small><\/div><div class=\"tw-vd-kpi\"><div>Vent width W<\/div><b class=\"o-w\">6 mm<\/b><small class=\"o-ws\">small part<\/small><\/div><\/div><svg viewBox=\"0 0 640 230\" role=\"img\" aria-label=\"Vent cross-section with live dimensions\"><defs><pattern id=\"twvd15167-h\" width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"8\" height=\"8\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"#5b6b7f\" stroke-width=\"0.6\" stroke-opacity=\"0.35\"\/><\/pattern><marker id=\"twvd15167-a\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\"><path d=\"M0,1 L10,5 L0,9 Z\" fill=\"#1e3a5f\"\/><\/marker><\/defs><rect x=\"0\" y=\"0\" width=\"640\" height=\"230\" fill=\"#ffffff\"\/><path d=\"M20,30 H620 V108 H20 Z\" fill=\"url(#twvd15167-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path class=\"o-bp\" d=\"M20,200 V116 H200 V116 H360 V140 H620 V200 Z\" fill=\"url(#twvd15167-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"20\" y=\"70\" width=\"180\" height=\"46\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><line x1=\"215\" y1=\"112\" x2=\"600\" y2=\"112\" stroke=\"#2f7de1\" stroke-width=\"1.2\" stroke-dasharray=\"6 4\"\/><path d=\"M600,108 L610,112 L600,116 Z\" fill=\"#2f7de1\"\/><line x1=\"20\" y1=\"112\" x2=\"620\" y2=\"112\" stroke=\"#d63c3c\" stroke-width=\"1.2\" stroke-dasharray=\"9 5\" opacity=\"0.55\"\/><line x1=\"240\" y1=\"108\" x2=\"240\" y2=\"80\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"240\" y1=\"80\" x2=\"250\" y2=\"80\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><text class=\"o-sd\" x=\"254\" y=\"84\" font-size=\"13\" font-weight=\"700\" fill=\"#1e3a5f\">d = 0.032 mm<\/text><line x1=\"226\" y1=\"104\" x2=\"226\" y2=\"120\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twvd15167-a)\" marker-end=\"url(#twvd15167-a)\"\/><line x1=\"200\" y1=\"150\" x2=\"200\" y2=\"172\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"360\" y1=\"145\" x2=\"360\" y2=\"172\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"202\" y1=\"166\" x2=\"358\" y2=\"166\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twvd15167-a)\" marker-end=\"url(#twvd15167-a)\"\/><text class=\"o-sl\" x=\"280\" y=\"160\" font-size=\"13\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">L = 1.5 mm<\/text><line x1=\"560\" y1=\"116\" x2=\"560\" y2=\"140\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twvd15167-a)\" marker-end=\"url(#twvd15167-a)\"\/><text class=\"o-sh\" x=\"552\" y=\"160\" font-size=\"13\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"end\">h = 0.50 mm<\/text><text x=\"110\" y=\"62\" font-size=\"12\" font-weight=\"700\" fill=\"#b9771f\" text-anchor=\"middle\">Cavity (last to fill)<\/text><text x=\"280\" y=\"22\" font-size=\"12\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Vent land<\/text><text x=\"490\" y=\"22\" font-size=\"12\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Relief channel &#8594; atmosphere<\/text><line x1=\"280\" y1=\"26\" x2=\"280\" y2=\"30\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><text x=\"20\" y=\"222\" font-size=\"11\" fill=\"#5b6b7f\">Not to scale &#8211; vent depth exaggerated. Red dashed line = parting line.<\/text><\/svg><\/div><\/div><div class=\"tw-vd-card\" style=\"margin-top:16px\"><span class=\"tw-vd-lab\">Venting rules of thumb<\/span><ul class=\"tw-vd-rules\"><li><b>As deep as possible without flash.<\/b> Start at the value shown, sample, then deepen in small steps until flash appears and back off.<\/li><li><b>Low end of the range<\/b> near the gate and at the bottom of thin ribs; <b>high end<\/b> along runners and in thick sections.<\/li><li><b>Land length<\/b> about 1&ndash;2 mm (never under ~0.8 mm). Shorten it if you see burning or high fill pressure.<\/li><li><b>Relief channel<\/b> right after the land, at least 10&times; the vent depth and no shallower than about 0.5 mm, same width as the vent.<\/li><li><b>Collector channels<\/b> further out need a cross-section at least equal to all the vents feeding them (add a 1.5&ndash;2&times; margin).<\/li><li><b>Vent every last-to-fill spot<\/b>, every weld-line meeting point, blind ribs and bosses (use vented pins or inserts there), and the runner ends.<\/li><li><b>Wider is better<\/b> &ndash; about 6 mm on small parts, 12 mm on large ones, so the vent still works if the end of fill shifts.<\/li><\/ul><\/div><div class=\"tw-vd-table\"><table><thead><tr><th>Material<\/th><th>Group<\/th><th>Vent depth (mm)<\/th><th>Vent depth (in)<\/th><\/tr><\/thead><tbody><tr data-k=\"pp\"><td>PP (Polypropylene)<\/td><td>Crystalline, runny<\/td><td>0.015 &ndash; 0.025<\/td><td>0.0006 &ndash; 0.0010<\/td><\/tr><tr data-k=\"pe\"><td>PE (HDPE \/ LDPE)<\/td><td>Crystalline, runny<\/td><td>0.015 &ndash; 0.025<\/td><td>0.0006 &ndash; 0.0010<\/td><\/tr><tr data-k=\"pa\"><td>PA6 \/ PA66 (Nylon)<\/td><td>Crystalline, runny<\/td><td>0.010 &ndash; 0.020<\/td><td>0.0004 &ndash; 0.0008<\/td><\/tr><tr data-k=\"pagf\"><td>PA + Glass Fiber<\/td><td>Crystalline, runny<\/td><td>0.015 &ndash; 0.025<\/td><td>0.0006 &ndash; 0.0010<\/td><\/tr><tr data-k=\"pom\"><td>POM (Acetal)<\/td><td>Crystalline, runny<\/td><td>0.015 &ndash; 0.025<\/td><td>0.0006 &ndash; 0.0010<\/td><\/tr><tr data-k=\"pbt\"><td>PBT<\/td><td>Crystalline, runny<\/td><td>0.015 &ndash; 0.025<\/td><td>0.0006 &ndash; 0.0010<\/td><\/tr><tr data-k=\"pet\"><td>PET<\/td><td>Crystalline, runny<\/td><td>0.015 &ndash; 0.025<\/td><td>0.0006 &ndash; 0.0010<\/td><\/tr><tr data-k=\"tpe\"><td>TPE (SEBS \/ TPV)<\/td><td>Crystalline, runny<\/td><td>0.015 &ndash; 0.025<\/td><td>0.0006 &ndash; 0.0010<\/td><\/tr><tr data-k=\"pps\"><td>PPS<\/td><td>Very low viscosity<\/td><td>0.005 &ndash; 0.012<\/td><td>0.0002 &ndash; 0.0005<\/td><\/tr><tr data-k=\"lcp\"><td>LCP<\/td><td>Very low viscosity<\/td><td>0.005 &ndash; 0.012<\/td><td>0.0002 &ndash; 0.0005<\/td><\/tr><tr data-k=\"ps\"><td>PS (GPPS \/ HIPS)<\/td><td>Amorphous, viscous<\/td><td>0.020 &ndash; 0.035<\/td><td>0.0008 &ndash; 0.0014<\/td><\/tr><tr data-k=\"abs\"><td>ABS<\/td><td>Amorphous, viscous<\/td><td>0.025 &ndash; 0.040<\/td><td>0.0010 &ndash; 0.0016<\/td><\/tr><tr data-k=\"san\"><td>SAN<\/td><td>Amorphous, viscous<\/td><td>0.025 &ndash; 0.040<\/td><td>0.0010 &ndash; 0.0016<\/td><\/tr><tr data-k=\"pcabs\"><td>PC\/ABS<\/td><td>Amorphous, viscous<\/td><td>0.025 &ndash; 0.040<\/td><td>0.0010 &ndash; 0.0016<\/td><\/tr><tr data-k=\"pvc\"><td>PVC (Rigid)<\/td><td>Amorphous, viscous<\/td><td>0.025 &ndash; 0.040<\/td><td>0.0010 &ndash; 0.0016<\/td><\/tr><tr data-k=\"tpu\"><td>TPU<\/td><td>Amorphous, viscous<\/td><td>0.025 &ndash; 0.040<\/td><td>0.0010 &ndash; 0.0016<\/td><\/tr><tr data-k=\"pc\"><td>PC (Polycarbonate)<\/td><td>Amorphous, viscous<\/td><td>0.030 &ndash; 0.050<\/td><td>0.0012 &ndash; 0.0020<\/td><\/tr><tr data-k=\"pmma\"><td>PMMA (Acrylic)<\/td><td>Amorphous, viscous<\/td><td>0.030 &ndash; 0.050<\/td><td>0.0012 &ndash; 0.0020<\/td><\/tr><tr data-k=\"ppo\"><td>PPO \/ PPE (Noryl)<\/td><td>Amorphous, viscous<\/td><td>0.030 &ndash; 0.050<\/td><td>0.0012 &ndash; 0.0020<\/td><\/tr><tr data-k=\"psu\"><td>PSU \/ PEI<\/td><td>Amorphous, viscous<\/td><td>0.030 &ndash; 0.050<\/td><td>0.0012 &ndash; 0.0020<\/td><\/tr><tr data-k=\"peek\"><td>PEEK<\/td><td>Amorphous, viscous<\/td><td>0.025 &ndash; 0.050<\/td><td>0.0010 &ndash; 0.0020<\/td><\/tr><\/tbody><\/table><\/div><p class=\"tw-vd-disc\">Typical starting values for the primary vent land. Grade, melt flow, fillers, mold temperature and injection speed all shift the right depth &ndash; always check the resin supplier's datasheet and confirm on the first mold trial.<\/p><script> (function () { var root = document.getElementById('twvd15167'); if (!root) return; var M = [{\"k\":\"pp\",\"l\":\"PP (Polypropylene)\",\"g\":\"Crystalline, runny\",\"a\":0.015,\"b\":0.025},{\"k\":\"pe\",\"l\":\"PE (HDPE \\\/ LDPE)\",\"g\":\"Crystalline, runny\",\"a\":0.015,\"b\":0.025},{\"k\":\"pa\",\"l\":\"PA6 \\\/ PA66 (Nylon)\",\"g\":\"Crystalline, runny\",\"a\":0.01,\"b\":0.02},{\"k\":\"pagf\",\"l\":\"PA + Glass Fiber\",\"g\":\"Crystalline, runny\",\"a\":0.015,\"b\":0.025},{\"k\":\"pom\",\"l\":\"POM (Acetal)\",\"g\":\"Crystalline, runny\",\"a\":0.015,\"b\":0.025},{\"k\":\"pbt\",\"l\":\"PBT\",\"g\":\"Crystalline, runny\",\"a\":0.015,\"b\":0.025},{\"k\":\"pet\",\"l\":\"PET\",\"g\":\"Crystalline, runny\",\"a\":0.015,\"b\":0.025},{\"k\":\"tpe\",\"l\":\"TPE (SEBS \\\/ TPV)\",\"g\":\"Crystalline, runny\",\"a\":0.015,\"b\":0.025},{\"k\":\"pps\",\"l\":\"PPS\",\"g\":\"Very low viscosity\",\"a\":0.005,\"b\":0.012},{\"k\":\"lcp\",\"l\":\"LCP\",\"g\":\"Very low viscosity\",\"a\":0.005,\"b\":0.012},{\"k\":\"ps\",\"l\":\"PS (GPPS \\\/ HIPS)\",\"g\":\"Amorphous, viscous\",\"a\":0.02,\"b\":0.035},{\"k\":\"abs\",\"l\":\"ABS\",\"g\":\"Amorphous, viscous\",\"a\":0.025,\"b\":0.04},{\"k\":\"san\",\"l\":\"SAN\",\"g\":\"Amorphous, viscous\",\"a\":0.025,\"b\":0.04},{\"k\":\"pcabs\",\"l\":\"PC\\\/ABS\",\"g\":\"Amorphous, viscous\",\"a\":0.025,\"b\":0.04},{\"k\":\"pvc\",\"l\":\"PVC (Rigid)\",\"g\":\"Amorphous, viscous\",\"a\":0.025,\"b\":0.04},{\"k\":\"tpu\",\"l\":\"TPU\",\"g\":\"Amorphous, viscous\",\"a\":0.025,\"b\":0.04},{\"k\":\"pc\",\"l\":\"PC (Polycarbonate)\",\"g\":\"Amorphous, viscous\",\"a\":0.03,\"b\":0.05},{\"k\":\"pmma\",\"l\":\"PMMA (Acrylic)\",\"g\":\"Amorphous, viscous\",\"a\":0.03,\"b\":0.05},{\"k\":\"ppo\",\"l\":\"PPO \\\/ PPE (Noryl)\",\"g\":\"Amorphous, viscous\",\"a\":0.03,\"b\":0.05},{\"k\":\"psu\",\"l\":\"PSU \\\/ PEI\",\"g\":\"Amorphous, viscous\",\"a\":0.03,\"b\":0.05},{\"k\":\"peek\",\"l\":\"PEEK\",\"g\":\"Amorphous, viscous\",\"a\":0.025,\"b\":0.05}]; var st = { loc: 0.5, flow: 0, size: 6 }; var sel = root.querySelector('.tw-vd-mat'), fill = root.querySelector('.tw-vd-fill'); function q(c) { return root.querySelector(c); } function mat(k) { for (var i = 0; i < M.length; i++) if (M[i].k === k) return M[i]; return M[0]; } function f3(v) { return v.toFixed(3); } function paintSeg() { var segs = root.querySelectorAll('.tw-vd-seg'); for (var i = 0; i < segs.length; i++) { var key = segs[i].getAttribute('data-seg'), b = segs[i].querySelectorAll('button'); for (var j = 0; j < b.length; j++) { var on = +b[j].getAttribute('data-v') === st[key]; b[j].style.background = on ? '#1e3a5f' : '#ffffff'; b[j].style.color = on ? '#ffffff' : '#1e3a5f'; b[j].style.borderColor = on ? '#1e3a5f' : '#c9d3df'; } } } function calc() { var m = mat(sel.value), lo = m.a, hi = m.b; if (fill.checked) { lo += 0.005; hi += 0.005; } var k = Math.max(0, Math.min(1, st.loc + st.flow)); var raw = lo + (hi - lo) * k, step = raw >= 0.015 ? 0.005 : 0.001; var d = Math.min(hi, Math.max(lo, Math.round(raw \/ step) * step)); d = Math.round(d * 1000) \/ 1000; var h = Math.max(0.5, Math.ceil(d * 10 \/ 0.05) * 0.05); q('.o-d').textContent = f3(d) + ' mm'; q('.o-in').textContent = (d \/ 25.4).toFixed(4) + ' in'; q('.o-note').textContent = m.l + ' \u00b7 ' + m.g.toLowerCase() + ' \u00b7 range ' + f3(lo) + '\u2013' + f3(hi) + ' mm' + (fill.checked ? ' (filled grade +0.005)' : ''); var span = 0.06, x1 = lo \/ span * 100, x2 = hi \/ span * 100, xd = d \/ span * 100; var rng = q('.o-rng'); rng.style.left = x1 + '%'; rng.style.width = (x2 - x1) + '%'; q('.o-mk').style.left = xd + '%'; var a = q('.o-lo'), b = q('.o-hi'); a.style.left = x1 + '%'; a.textContent = f3(lo); b.style.left = x2 + '%'; b.textContent = f3(hi); q('.o-h').textContent = h.toFixed(2) + ' mm'; q('.o-w').textContent = st.size + ' mm'; q('.o-ws').textContent = st.size === 6 ? 'small part' : 'large part'; q('.o-sd').textContent = 'd = ' + f3(d) + ' mm'; q('.o-sh').textContent = 'h = ' + h.toFixed(2) + ' mm'; var rows = root.querySelectorAll('.tw-vd-table tbody tr'); for (var i = 0; i < rows.length; i++) rows[i].style.background = rows[i].getAttribute('data-k') === m.k ? '#e8eff8' : ''; } root.addEventListener('click', function (e) { var b = e.target.closest ? e.target.closest('.tw-vd-seg button') : null; if (b) { st[b.parentNode.getAttribute('data-seg')] = +b.getAttribute('data-v'); paintSeg(); calc(); return; } var tr = e.target.closest ? e.target.closest('.tw-vd-table tbody tr') : null; if (tr) { sel.value = tr.getAttribute('data-k'); calc(); sel.scrollIntoView({ block: 'nearest', behavior: 'smooth' }); } }); sel.addEventListener('change', calc); fill.addEventListener('change', calc); paintSeg(); calc(); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twvde15982\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this calculator on your site<\/strong><button type=\"button\" class=\"twvde-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-vent-depth&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_vent_depth_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:1300px&quot; loading=&quot;lazy&quot; title=&quot;Mold Vent Depth Calculator&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_vent_depth&quot;){var f=document.getElementById(&quot;tw-vent-depth&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Vent depth calculator by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twvde15982'); if (!box) return; var btn = box.querySelector('.twvde-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><\/div><div id=\"runner-balancing\" class=\"wp-block-group tw-tool tw-cat-mold is-layout-flow wp-block-group-is-layout-flow\"><div class=\"tw-ms\" id=\"twrb67161\"><style> #twrb67161{max-width:1000px;margin:24px auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif;color:#1f2a37} #twrb67161 .tw-ms-head{margin:0 0 10px} #twrb67161 .tw-ms-head h3{margin:0 0 4px;font-size:20px;line-height:1.3;color:#1e3a5f} #twrb67161 .tw-ms-head p{margin:0;font-size:13.5px;color:#5b6b7f} #twrb67161 .tw-ms-stage{position:relative;background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;overflow:hidden} #twrb67161 .tw-ms-stage svg{display:block;width:100%;height:auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twrb67161 .tw-ms-stage svg [data-p]{cursor:pointer;transition:opacity .15s} #twrb67161 .tw-ms-tip{position:absolute;display:none;z-index:5;box-sizing:border-box;background:#ffffff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.45;pointer-events:none;box-shadow:0 4px 14px rgba(30,58,95,.12)} #twrb67161 .tw-ms-tip .h{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-weight:700;color:#1e3a5f} #twrb67161 .tw-ms-tip p{margin:0;color:#374151} #twrb67161 .tw-ms-num{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#1e3a5f;color:#ffffff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center} @media (max-width:560px){#twrb67161 .tw-ms-tip{font-size:12px;padding:7px 9px}} <\/style><div class=\"tw-ms-head\"><h3>Runner Balancing &ndash; Single Runner vs H-Pattern vs Artificial Balance<\/h3><p>8-cavity runner layouts seen from the parting line. Press Play or drag the slider to compare how evenly they fill; hover or tap any part or number.<\/p><\/div><div class=\"tw-ms-stage\"><svg viewBox=\"0 0 1000 470\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Plan views comparing an unbalanced single runner, a naturally balanced H-pattern runner and an artificially balanced runner for 8 cavities\"><defs><pattern id=\"twrb67161-h\" width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"8\" height=\"8\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"#5b6b7f\" stroke-width=\"0.6\" stroke-opacity=\"0.35\"\/><\/pattern><marker id=\"twrb67161-m\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\"><path d=\"M0,1 L10,5 L0,9 Z\" fill=\"#1e3a5f\"\/><\/marker><marker id=\"twrb67161-w\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"5\" markerHeight=\"5\" orient=\"auto\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"#ffffff\"\/><\/marker><\/defs><rect x=\"0\" y=\"0\" width=\"1000\" height=\"470\" fill=\"#ffffff\"\/><g data-p=\"11\"><rect x=\"20\" y=\"90\" width=\"300\" height=\"270\" fill=\"url(#twrb67161-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"350\" y=\"90\" width=\"300\" height=\"270\" fill=\"url(#twrb67161-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"680\" y=\"90\" width=\"300\" height=\"270\" fill=\"url(#twrb67161-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"6\"><rect x=\"112\" y=\"150\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"42\" y=\"150\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"112\" y=\"260\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"42\" y=\"260\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"192\" y=\"150\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"262\" y=\"150\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"192\" y=\"260\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"262\" y=\"260\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"772\" y=\"150\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"702\" y=\"150\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"772\" y=\"260\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"702\" y=\"260\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"852\" y=\"150\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"922\" y=\"150\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"852\" y=\"260\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"922\" y=\"260\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"377\" y=\"110\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"377\" y=\"300\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"447\" y=\"110\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"447\" y=\"300\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"517\" y=\"110\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"517\" y=\"300\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"587\" y=\"110\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"587\" y=\"300\" width=\"36\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect data-fill=\"0\" data-t0=\"0.05\" data-t1=\"0.5\" data-y0=\"150\" data-dir=\"up\" x=\"113\" y=\"151\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"0\" x=\"130\" y=\"179\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"1\" data-t0=\"0.22\" data-t1=\"0.98\" data-y0=\"150\" data-dir=\"up\" x=\"43\" y=\"151\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"1\" x=\"60\" y=\"179\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"2\" data-t0=\"0.05\" data-t1=\"0.5\" data-y0=\"260\" data-dir=\"down\" x=\"113\" y=\"261\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"2\" x=\"130\" y=\"289\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"3\" data-t0=\"0.22\" data-t1=\"0.98\" data-y0=\"260\" data-dir=\"down\" x=\"43\" y=\"261\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"3\" x=\"60\" y=\"289\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"4\" data-t0=\"0.05\" data-t1=\"0.5\" data-y0=\"150\" data-dir=\"up\" x=\"193\" y=\"151\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"4\" x=\"210\" y=\"179\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"5\" data-t0=\"0.22\" data-t1=\"0.98\" data-y0=\"150\" data-dir=\"up\" x=\"263\" y=\"151\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"5\" x=\"280\" y=\"179\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"6\" data-t0=\"0.05\" data-t1=\"0.5\" data-y0=\"260\" data-dir=\"down\" x=\"193\" y=\"261\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"6\" x=\"210\" y=\"289\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"7\" data-t0=\"0.22\" data-t1=\"0.98\" data-y0=\"260\" data-dir=\"down\" x=\"263\" y=\"261\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"7\" x=\"280\" y=\"289\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"8\" data-t0=\"0.16\" data-t1=\"0.86\" data-y0=\"150\" data-dir=\"up\" x=\"773\" y=\"151\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"8\" x=\"790\" y=\"179\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"9\" data-t0=\"0.14\" data-t1=\"0.84\" data-y0=\"150\" data-dir=\"up\" x=\"703\" y=\"151\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"9\" x=\"720\" y=\"179\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"10\" data-t0=\"0.16\" data-t1=\"0.86\" data-y0=\"260\" data-dir=\"down\" x=\"773\" y=\"261\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"10\" x=\"790\" y=\"289\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"11\" data-t0=\"0.14\" data-t1=\"0.84\" data-y0=\"260\" data-dir=\"down\" x=\"703\" y=\"261\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"11\" x=\"720\" y=\"289\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"12\" data-t0=\"0.16\" data-t1=\"0.86\" data-y0=\"150\" data-dir=\"up\" x=\"853\" y=\"151\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"12\" x=\"870\" y=\"179\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"13\" data-t0=\"0.14\" data-t1=\"0.84\" data-y0=\"150\" data-dir=\"up\" x=\"923\" y=\"151\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"13\" x=\"940\" y=\"179\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"14\" data-t0=\"0.16\" data-t1=\"0.86\" data-y0=\"260\" data-dir=\"down\" x=\"853\" y=\"261\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"14\" x=\"870\" y=\"289\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"15\" data-t0=\"0.14\" data-t1=\"0.84\" data-y0=\"260\" data-dir=\"down\" x=\"923\" y=\"261\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"15\" x=\"940\" y=\"289\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"16\" data-t0=\"0.15\" data-t1=\"0.85\" data-y0=\"110\" data-dir=\"up\" x=\"378\" y=\"111\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"16\" x=\"395\" y=\"139\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"17\" data-t0=\"0.15\" data-t1=\"0.85\" data-y0=\"300\" data-dir=\"down\" x=\"378\" y=\"301\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"17\" x=\"395\" y=\"329\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"18\" data-t0=\"0.15\" data-t1=\"0.85\" data-y0=\"110\" data-dir=\"up\" x=\"448\" y=\"111\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"18\" x=\"465\" y=\"139\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"19\" data-t0=\"0.15\" data-t1=\"0.85\" data-y0=\"300\" data-dir=\"down\" x=\"448\" y=\"301\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"19\" x=\"465\" y=\"329\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"20\" data-t0=\"0.15\" data-t1=\"0.85\" data-y0=\"110\" data-dir=\"up\" x=\"518\" y=\"111\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"20\" x=\"535\" y=\"139\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"21\" data-t0=\"0.15\" data-t1=\"0.85\" data-y0=\"300\" data-dir=\"down\" x=\"518\" y=\"301\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"21\" x=\"535\" y=\"329\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"22\" data-t0=\"0.15\" data-t1=\"0.85\" data-y0=\"110\" data-dir=\"up\" x=\"588\" y=\"111\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"22\" x=\"605\" y=\"139\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><rect data-fill=\"23\" data-t0=\"0.15\" data-t1=\"0.85\" data-y0=\"300\" data-dir=\"down\" x=\"588\" y=\"301\" width=\"34\" height=\"0\" fill=\"#f2a33c\"\/><text data-pct=\"23\" x=\"605\" y=\"329\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">0%<\/text><\/g><g data-p=\"2\"><rect x=\"60\" y=\"226\" width=\"220\" height=\"8\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"430\" y=\"225\" width=\"140\" height=\"10\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"790\" y=\"224\" width=\"80\" height=\"12\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"720\" y=\"225.5\" width=\"70\" height=\"9\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"870\" y=\"225.5\" width=\"70\" height=\"9\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"3\"><rect x=\"127\" y=\"206\" width=\"6\" height=\"48\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"788\" y=\"206\" width=\"4\" height=\"48\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"207\" y=\"206\" width=\"6\" height=\"48\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"868\" y=\"206\" width=\"4\" height=\"48\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"57\" y=\"206\" width=\"6\" height=\"48\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"715.5\" y=\"206\" width=\"9\" height=\"48\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"277\" y=\"206\" width=\"6\" height=\"48\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"935.5\" y=\"206\" width=\"9\" height=\"48\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"426\" y=\"172\" width=\"8\" height=\"116\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"566\" y=\"172\" width=\"8\" height=\"116\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"4\"><rect x=\"395\" y=\"169\" width=\"70\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"535\" y=\"169\" width=\"70\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"395\" y=\"285\" width=\"70\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"535\" y=\"285\" width=\"70\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"392\" y=\"166\" width=\"6\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"462\" y=\"166\" width=\"6\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"532\" y=\"166\" width=\"6\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"602\" y=\"166\" width=\"6\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"392\" y=\"288\" width=\"6\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"462\" y=\"288\" width=\"6\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"532\" y=\"288\" width=\"6\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"602\" y=\"288\" width=\"6\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"7\"><circle cx=\"48\" cy=\"230\" r=\"5\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><circle cx=\"292\" cy=\"230\" r=\"5\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"48\" y=\"227\" width=\"12\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"280\" y=\"227\" width=\"12\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><circle cx=\"708\" cy=\"230\" r=\"5\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><circle cx=\"952\" cy=\"230\" r=\"5\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"708\" y=\"227\" width=\"12\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"940\" y=\"227\" width=\"12\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><circle cx=\"430\" cy=\"163\" r=\"4.5\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><circle cx=\"430\" cy=\"297\" r=\"4.5\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"427\" y=\"163\" width=\"6\" height=\"9\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"427\" y=\"288\" width=\"6\" height=\"9\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><circle cx=\"570\" cy=\"163\" r=\"4.5\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><circle cx=\"570\" cy=\"297\" r=\"4.5\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"567\" y=\"163\" width=\"6\" height=\"9\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"567\" y=\"288\" width=\"6\" height=\"9\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"1\"><circle cx=\"170\" cy=\"230\" r=\"9\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><circle cx=\"170\" cy=\"230\" r=\"4\" fill=\"#d98a20\"\/><circle cx=\"500\" cy=\"230\" r=\"9\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><circle cx=\"500\" cy=\"230\" r=\"4\" fill=\"#d98a20\"\/><circle cx=\"830\" cy=\"230\" r=\"9\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><circle cx=\"830\" cy=\"230\" r=\"4\" fill=\"#d98a20\"\/><\/g><g data-p=\"5\"><rect x=\"128\" y=\"200\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"58\" y=\"200\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"128\" y=\"254\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"58\" y=\"254\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"208\" y=\"200\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"278\" y=\"200\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"208\" y=\"254\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"278\" y=\"254\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"788.5\" y=\"200\" width=\"3\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"717\" y=\"200\" width=\"6\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"788.5\" y=\"254\" width=\"3\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"717\" y=\"254\" width=\"6\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"868.5\" y=\"200\" width=\"3\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"937\" y=\"200\" width=\"6\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"868.5\" y=\"254\" width=\"3\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"937\" y=\"254\" width=\"6\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"393\" y=\"160\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"393\" y=\"294\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"463\" y=\"160\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"463\" y=\"294\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"533\" y=\"160\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"533\" y=\"294\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"603\" y=\"160\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><rect x=\"603\" y=\"294\" width=\"4\" height=\"6\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><\/g><g data-p=\"8\"><polyline points=\"170,230 130,230 130,200\" fill=\"none\" stroke=\"#1e3a5f\" stroke-width=\"1.4\" stroke-dasharray=\"5 3\" transform=\"translate(0,-6)\"\/><polyline points=\"170,230 60,230 60,200\" fill=\"none\" stroke=\"#1e3a5f\" stroke-width=\"1.4\" stroke-dasharray=\"5 3\" transform=\"translate(0,-10)\"\/><text x=\"130\" y=\"143\" font-size=\"9.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">near<\/text><text x=\"60\" y=\"143\" font-size=\"9.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">far<\/text><\/g><g data-p=\"9\"><polyline points=\"500,224 576,224 576,166 605,166\" fill=\"none\" stroke=\"#1e3a5f\" stroke-width=\"1.4\" stroke-dasharray=\"5 3\"\/><polyline points=\"500,224 564,224 564,178 535,178\" fill=\"none\" stroke=\"#1e3a5f\" stroke-width=\"1.4\" stroke-dasharray=\"5 3\"\/><\/g><g data-p=\"10\"><text x=\"810\" y=\"220\" font-size=\"9.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">&#216;10<\/text><text x=\"755\" y=\"222\" font-size=\"9.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">&#216;8<\/text><text x=\"882\" y=\"245\" font-size=\"9.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">&#216;3<\/text><text x=\"955\" y=\"245\" font-size=\"9.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"start\">&#216;6<\/text><\/g><g pointer-events=\"none\"><line x1=\"170\" y1=\"84\" x2=\"170\" y2=\"366\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><line x1=\"500\" y1=\"84\" x2=\"500\" y2=\"366\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><line x1=\"830\" y1=\"84\" x2=\"830\" y2=\"366\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><text x=\"170\" y=\"40\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">1 &#183; SINGLE RUNNER<\/text><text x=\"170\" y=\"58\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">In-line, equal runner sizes &#183; unbalanced<\/text><text data-s=\"s1\" x=\"170\" y=\"384\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\"><\/text><text x=\"170\" y=\"410\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Near cavities fill first and overpack<\/text><text x=\"170\" y=\"428\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Far cavities risk short shots<\/text><text x=\"170\" y=\"446\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Only acceptable for very easy parts<\/text><text x=\"500\" y=\"40\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">2 &#183; H-PATTERN<\/text><text x=\"500\" y=\"58\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Natural balance<\/text><text data-s=\"s2\" x=\"500\" y=\"384\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\"><\/text><text x=\"500\" y=\"410\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Same flow length and sizes to every cavity<\/text><text x=\"500\" y=\"428\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Fills evenly at any process setting<\/text><text x=\"500\" y=\"446\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">More runner volume and mold space<\/text><text x=\"830\" y=\"40\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">3 &#183; ARTIFICIAL BALANCE<\/text><text x=\"830\" y=\"58\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">In-line layout, sized runners and gates<\/text><text data-s=\"s3\" x=\"830\" y=\"384\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\"><\/text><text x=\"830\" y=\"410\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Compact, less runner scrap<\/text><text x=\"830\" y=\"428\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Sizes tuned with flow simulation<\/text><text x=\"830\" y=\"446\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Balance shifts with material and settings<\/text><\/g><g data-p=\"1\"><line x1=\"181\" y1=\"270\" x2=\"170\" y2=\"239\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"170\" cy=\"239\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"170\" cy=\"270\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"170\" y=\"274\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><line x1=\"256\" y1=\"252\" x2=\"245\" y2=\"232\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"245\" cy=\"232\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"245\" cy=\"252\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"245\" y=\"256\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"256\" y1=\"210\" x2=\"213\" y2=\"216\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"213\" cy=\"216\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"245\" cy=\"210\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"245\" y=\"214\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"489\" y1=\"182\" x2=\"550\" y2=\"172\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"550\" cy=\"172\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"500\" cy=\"182\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"500\" y=\"186\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"319\" y1=\"186\" x2=\"282\" y2=\"203\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"282\" cy=\"203\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"308\" cy=\"186\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"308\" y=\"190\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"371\" y1=\"135\" x2=\"377\" y2=\"135\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"377\" cy=\"135\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"360\" cy=\"135\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"360\" y=\"139\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><line x1=\"321\" y1=\"256\" x2=\"295\" y2=\"233\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"295\" cy=\"233\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"310\" cy=\"256\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"310\" y=\"260\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><line x1=\"106\" y1=\"140\" x2=\"95\" y2=\"226\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"95\" cy=\"226\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"95\" cy=\"140\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"95\" y=\"144\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><line x1=\"629\" y1=\"250\" x2=\"575\" y2=\"250\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"575\" cy=\"250\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"640\" cy=\"250\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"640\" y=\"254\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\"><line x1=\"894\" y1=\"252\" x2=\"905\" y2=\"234\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"905\" cy=\"234\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"905\" cy=\"252\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"905\" y=\"256\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><g data-p=\"11\"><line x1=\"45\" y1=\"104\" x2=\"34\" y2=\"104\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"34\" cy=\"104\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"34\" cy=\"104\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"34\" y=\"108\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><div class=\"tw-rb-ctrl\" style=\"display:flex;align-items:center;gap:12px;margin:10px 0 0;flex-wrap:wrap\"><button type=\"button\" class=\"tw-rb-play\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;min-width:118px\">&#9654; Play fill<\/button><label style=\"display:flex;align-items:center;gap:8px;flex:1;min-width:220px;font-size:13px;color:#5b6b7f\">Fill time\n<input type=\"range\" class=\"tw-rb-range\" min=\"0\" max=\"100\" value=\"60\" style=\"flex:1;accent-color:#1e3a5f\"><\/label><span class=\"tw-rb-val\" style=\"font-size:13px;font-weight:700;color:#1e3a5f;min-width:44px;text-align:right\">60%<\/span><\/div><script> (function () { var root = document.getElementById('twrb67161'); if (!root) return; var P = [{\"n\":1,\"name\":\"Sprue\",\"fn\":\"Melt enters at the mold center, seen here end-on from the parting line.\",\"bx\":170,\"by\":270,\"ax\":170,\"ay\":239},{\"n\":2,\"name\":\"Primary Runner\",\"fn\":\"Main channel leaving the sprue. It should be the largest runner in the system.\",\"bx\":245,\"by\":252,\"ax\":245,\"ay\":232},{\"n\":3,\"name\":\"Branch (Secondary) Runner\",\"fn\":\"Splits the flow off to each cavity or to the next runner level.\",\"bx\":245,\"by\":210,\"ax\":213,\"ay\":216},{\"n\":4,\"name\":\"Tertiary Runner\",\"fn\":\"Third runner level of the H-pattern; every split is symmetric, so every path is identical.\",\"bx\":500,\"by\":182,\"ax\":550,\"ay\":172},{\"n\":5,\"name\":\"Gates\",\"fn\":\"Narrow entry into each cavity. Gate size controls when each cavity starts and stops filling.\",\"bx\":308,\"by\":186,\"ax\":282,\"ay\":203},{\"n\":6,\"name\":\"Cavities\",\"fn\":\"Eight identical cavities per layout. Play the fill to compare how evenly each layout fills them.\",\"bx\":360,\"by\":135,\"ax\":377,\"ay\":135},{\"n\":7,\"name\":\"Cold Slug Wells\",\"fn\":\"Runner extensions past each junction that trap the cold front of the melt before it reaches a gate.\",\"bx\":310,\"by\":256,\"ax\":295,\"ay\":233},{\"n\":8,\"name\":\"Unequal Flow Lengths\",\"fn\":\"Near cavities sit much closer to the sprue than far ones, so with equal runner sizes they fill first and overpack.\",\"bx\":95,\"by\":140,\"ax\":95,\"ay\":226},{\"n\":9,\"name\":\"Equal Flow Paths\",\"fn\":\"Same length, same number of turns, same diameters to every cavity - that is natural balance.\",\"bx\":640,\"by\":250,\"ax\":575,\"ay\":250},{\"n\":10,\"name\":\"Sized Runners & Gates\",\"fn\":\"Near branches and gates are made smaller, far ones larger, so all cavities fill together. Usually tuned with flow simulation.\",\"bx\":905,\"by\":252,\"ax\":905,\"ay\":234},{\"n\":11,\"name\":\"Parting Line Face\",\"fn\":\"View looking straight at the parting line of the B plate, where runners and cavities are cut.\",\"bx\":34,\"by\":104,\"ax\":34,\"ay\":104}]; var svg = root.querySelector('svg'), stage = root.querySelector('.tw-ms-stage'), tip = root.querySelector('.tw-ms-tip'); var els = svg.querySelectorAll('[data-p]'); var pinned = null; function part(n) { for (var i = 0; i < P.length; i++) { if (String(P[i].n) === String(n)) return P[i]; } return null; } function union(n) { var x1 = 1e9, y1 = 1e9, x2 = -1e9, y2 = -1e9; for (var i = 0; i < els.length; i++) { if (els[i].getAttribute('data-p') !== String(n)) continue; var b = els[i].getBBox(); x1 = Math.min(x1, b.x); y1 = Math.min(y1, b.y); x2 = Math.max(x2, b.x + b.width); y2 = Math.max(y2, b.y + b.height); } return { x1: x1, y1: y1, x2: x2, y2: y2 }; } function clamp(v, a, b) { return Math.max(a, Math.min(b, v)); } function place(n, p) { var s = svg.getBoundingClientRect(), w = stage.getBoundingClientRect(); var k = s.width \/ 1000, ox = s.left - w.left, oy = s.top - w.top; var u = union(n); var L = ox + u.x1 * k, T = oy + u.y1 * k, Rt = ox + u.x2 * k, B = oy + u.y2 * k; var bx = ox + p.bx * k, by = oy + p.by * k; var W = w.width, H = w.height, gap = 10, m = 6; tip.style.display = 'block'; tip.style.width = Math.min(250, W - 2 * m) + 'px'; var tw = tip.offsetWidth, th = tip.offsetHeight; var order = p.bx < 500 ? ['l', 'r', 'b', 't'] : ['r', 'l', 'b', 't']; var pos = null; function at(sd) { if (sd === 'l') return { x: L - gap - tw, y: clamp(by - th \/ 2, m, H - th - m), ok: L - gap - tw >= m }; if (sd === 'r') return { x: Rt + gap, y: clamp(by - th \/ 2, m, H - th - m), ok: Rt + gap + tw <= W - m }; if (sd === 'b') return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: B + gap, ok: B + gap + th <= H - m }; return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: T - gap - th, ok: T - gap - th >= m }; } for (var i = 0; i < order.length && !pos; i++) { var c = at(order[i]); if (c.ok) pos = c; } if (!pos) { var sp = { l: L - tw, r: W - Rt - tw, t: T - th, b: H - B - th }, best = 'b'; for (var key in sp) { if (sp[key] > sp[best]) best = key; } pos = at(best); } tip.style.left = clamp(pos.x, m, W - tw - m) + 'px'; tip.style.top = clamp(pos.y, m, H - th - m) + 'px'; } function show(n) { var p = part(n); if (!p) return; var i; for (i = 0; i < els.length; i++) els[i].style.opacity = els[i].getAttribute('data-p') === String(n) ? '1' : '0.18'; tip.innerHTML = '<div class=\"h\"><span class=\"tw-ms-num\"><\/span><span class=\"nm\"><\/span><\/div><p><\/p>'; tip.querySelector('.tw-ms-num').textContent = p.n; tip.querySelector('.nm').textContent = p.name; tip.querySelector('p').textContent = p.fn; place(n, p); } function hide() { var i; for (i = 0; i < els.length; i++) els[i].style.opacity = ''; tip.style.display = 'none'; } function bind(el) { var n = el.getAttribute('data-p'); el.addEventListener('mouseenter', function () { if (pinned === null) show(n); }); el.addEventListener('mouseleave', function () { if (pinned === null) hide(); }); el.addEventListener('click', function (e) { e.stopPropagation(); if (pinned === n) { pinned = null; hide(); } else { pinned = n; show(n); } }); } for (var i = 0; i < els.length; i++) bind(els[i]); svg.addEventListener('click', function () { pinned = null; hide(); }); window.addEventListener('resize', function () { if (pinned !== null) show(pinned); else hide(); }); })(); <\/script><script> (function () { var root = document.getElementById('twrb67161'); if (!root) return; var fills = root.querySelectorAll('[data-fill]'), range = root.querySelector('.tw-rb-range'), val = root.querySelector('.tw-rb-val'), btn = root.querySelector('.tw-rb-play'); var s1 = root.querySelector('[data-s=\"s1\"]'), s2 = root.querySelector('[data-s=\"s2\"]'), s3 = root.querySelector('[data-s=\"s3\"]'); var timer = null; function frac(el, t) { var a = +el.getAttribute('data-t0'), b = +el.getAttribute('data-t1'); return Math.max(0, Math.min(1, (t - a) \/ (b - a))); } function render(t) { var near = 1, far = 1, minA = 1, maxA = 0; for (var i = 0; i < fills.length; i++) { var el = fills[i], f = frac(el, t), h = Math.round(48 * f), y0 = +el.getAttribute('data-y0'); el.setAttribute('height', h); el.setAttribute('y', el.getAttribute('data-dir') === 'up' ? (y0 + 49 - h) : (y0 + 1)); var pct = root.querySelector('[data-pct=\"' + el.getAttribute('data-fill') + '\"]'); pct.textContent = Math.round(f * 100) + '%'; pct.setAttribute('fill', f >= 1 && t < 0.97 && +el.getAttribute('data-t1') < 0.6 ? '#d63c3c' : '#1e3a5f'); var t0 = +el.getAttribute('data-t0'); if (t0 === 0.05) near = Math.min(near, f); if (t0 === 0.22) far = Math.min(far, f); } if (t <= 0.05) s1.textContent = 'Waiting for melt'; else if (near >= 1 && far < 1) { s1.textContent = 'Near full, far only ' + Math.round(far * 100) + '%'; s1.setAttribute('fill', '#d63c3c'); } else { s1.textContent = far >= 1 ? 'All full - near cavities overpacked' : 'Near cavities ahead'; s1.setAttribute('fill', far >= 1 ? '#d63c3c' : '#1e3a5f'); } s2.textContent = t <= 0.15 ? 'Waiting for melt' : (t >= 0.85 ? 'All cavities full together' : 'All cavities filling together'); s3.textContent = t <= 0.14 ? 'Waiting for melt' : (t >= 0.86 ? 'All cavities full together' : 'All cavities filling together'); val.textContent = Math.round(t * 100) + '%'; } function stop() { if (timer) { clearInterval(timer); timer = null; } btn.innerHTML = '&#9654; Play fill'; } range.addEventListener('input', function () { stop(); render(range.value \/ 100); }); btn.addEventListener('click', function () { if (timer) { stop(); return; } var v = +range.value; if (v >= 100) v = 0; btn.innerHTML = '&#10074;&#10074; Pause'; timer = setInterval(function () { v = Math.min(100, v + 1); range.value = v; render(v \/ 100); if (v >= 100) stop(); }, 45); }); render(range.value \/ 100); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twrbe51007\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this diagram on your site<\/strong><button type=\"button\" class=\"twrbe-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-runner-balance&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_runner_balance_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:680px&quot; loading=&quot;lazy&quot; title=&quot;Runner Balancing: Natural vs Artificial - Interactive Diagram&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_runner_balance&quot;){var f=document.getElementById(&quot;tw-runner-balance&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive runner balancing diagram by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twrbe51007'); if (!box) return; var btn = box.querySelector('.twrbe-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><\/div><div id=\"ejection-system\" class=\"wp-block-group tw-tool tw-cat-mold is-layout-flow wp-block-group-is-layout-flow\"><div class=\"tw-omg\" id=\"twejg85189\"><style> #twejg85189{max-width:1000px;margin:24px auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif;color:#1f2a37} #twejg85189 .tw-omg-head h3{margin:0 0 4px;font-size:20px;line-height:1.3;color:#1e3a5f} #twejg85189 .tw-omg-head p{margin:0 0 12px;font-size:13.5px;color:#5b6b7f} #twejg85189 .tw-omg-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px} #twejg85189 .tw-omg-tabs button{border:1px solid #c9d3df;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;line-height:1.2} #twejg85189 .tw-ms-stage{position:relative;background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;overflow:hidden} #twejg85189 .tw-ms-stage svg{display:block;width:100%;height:auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twejg85189 .tw-ms-stage svg [data-p]{cursor:pointer;transition:opacity .15s} #twejg85189 .tw-ms-tip{position:absolute;display:none;z-index:5;box-sizing:border-box;background:#ffffff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.45;pointer-events:none;box-shadow:0 4px 14px rgba(30,58,95,.12)} #twejg85189 .tw-ms-tip .h{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-weight:700;color:#1e3a5f} #twejg85189 .tw-ms-tip p{margin:0;color:#374151} #twejg85189 .tw-ms-num{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#1e3a5f;color:#ffffff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center} #twejg85189 .tw-omg-table{overflow-x:auto;margin:18px 0 0} #twejg85189 .tw-omg-table table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.45;min-width:720px} #twejg85189 .tw-omg-table th,#twejg85189 .tw-omg-table td{border:1px solid #dfe5ec;padding:8px 10px;text-align:left;vertical-align:top} #twejg85189 .tw-omg-table thead th{background:#1e3a5f;color:#ffffff;font-weight:600} #twejg85189 .tw-omg-table tbody th{background:#f3f6fa;color:#1e3a5f;font-weight:600;white-space:nowrap} #twejg85189 .tw-omg-key{display:flex;gap:16px;flex-wrap:wrap;margin:8px 0 0;font-size:12.5px;color:#5b6b7f} #twejg85189 .tw-omg-key span{display:inline-flex;align-items:center;gap:6px} #twejg85189 .tw-omg-key i{display:inline-block;width:14px;height:10px;border-radius:2px} @media (max-width:560px){#twejg85189 .tw-ms-tip{font-size:12px;padding:7px 9px}#twejg85189 .tw-omg-tabs button{padding:7px 10px;font-size:13px}} <\/style><div class=\"tw-omg-head\"><h3>Ejection System Design Guide &ndash; Pins, Blades, Sleeves &amp; Stripper Plates<\/h3><p>Pick an ejector type, then hover or tap any part or number.<\/p><\/div><div class=\"tw-omg-tabs\" role=\"tablist\"><button type=\"button\" role=\"tab\" data-tab=\"pin\" style=\"background:#1e3a5f;color:#ffffff;border-color:#1e3a5f\">Ejector Pin<\/button><button type=\"button\" role=\"tab\" data-tab=\"blade\" style=\"background:#ffffff;color:#1e3a5f\">Blade Ejector<\/button><button type=\"button\" role=\"tab\" data-tab=\"sleeve\" style=\"background:#ffffff;color:#1e3a5f\">Ejector Sleeve<\/button><button type=\"button\" role=\"tab\" data-tab=\"stripper\" style=\"background:#ffffff;color:#1e3a5f\">Stripper Plate<\/button><\/div><svg width=\"0\" height=\"0\" style=\"position:absolute;width:0;height:0;overflow:hidden\" aria-hidden=\"true\" focusable=\"false\"><defs><pattern id=\"twejg85189-h\" width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"8\" height=\"8\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"#5b6b7f\" stroke-width=\"0.6\" stroke-opacity=\"0.35\"\/><\/pattern><marker id=\"twejg85189-a\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"#1e3a5f\"\/><\/marker><marker id=\"twejg85189-ad\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\"><path d=\"M0,1 L10,5 L0,9 Z\" fill=\"#1e3a5f\"\/><\/marker><\/defs><\/svg><div class=\"tw-ms-stage\" data-panel=\"pin\" data-parts=\"[{&quot;n&quot;:1,&quot;name&quot;:&quot;Cavity (A) Plate&quot;,&quot;fn&quot;:&quot;Shown in the closed position; it moves away before ejection starts.&quot;,&quot;bx&quot;:58,&quot;by&quot;:108,&quot;ax&quot;:58,&quot;ay&quot;:108},{&quot;n&quot;:2,&quot;name&quot;:&quot;Core (B) Plate&quot;,&quot;fn&quot;:&quot;Holds the core. Shrinking plastic grips the core, which is why ejection is needed.&quot;,&quot;bx&quot;:58,&quot;by&quot;:250,&quot;ax&quot;:58,&quot;ay&quot;:250},{&quot;n&quot;:3,&quot;name&quot;:&quot;Molded Part&quot;,&quot;fn&quot;:&quot;Box-shaped part gripping the core. Right: seen from the core side, with walls and ribs.&quot;,&quot;bx&quot;:282,&quot;by&quot;:146,&quot;ax&quot;:250,&quot;ay&quot;:150},{&quot;n&quot;:4,&quot;name&quot;:&quot;Ejector Pins&quot;,&quot;fn&quot;:&quot;Round hardened pins - the cheapest, most common ejector. Tips sit flush with the core surface.&quot;,&quot;bx&quot;:232,&quot;by&quot;:230,&quot;ax&quot;:203,&quot;ay&quot;:230},{&quot;n&quot;:5,&quot;name&quot;:&quot;Ejector Retainer Plate&quot;,&quot;fn&quot;:&quot;Upper ejector plate; its counterbores capture the heads of every ejector.&quot;,&quot;bx&quot;:110,&quot;by&quot;:330,&quot;ax&quot;:110,&quot;ay&quot;:330},{&quot;n&quot;:6,&quot;name&quot;:&quot;Ejector Plate&quot;,&quot;fn&quot;:&quot;Lower plate pushed by the machine&#039;s ejector rod; drives all ejectors together.&quot;,&quot;bx&quot;:230,&quot;by&quot;:350,&quot;ax&quot;:230,&quot;ay&quot;:350},{&quot;n&quot;:7,&quot;name&quot;:&quot;Mold Base (Spacers + Clamp)&quot;,&quot;fn&quot;:&quot;Spacer blocks create the ejector housing; the bottom clamp plate closes it.&quot;,&quot;bx&quot;:53,&quot;by&quot;:300,&quot;ax&quot;:53,&quot;ay&quot;:300},{&quot;n&quot;:8,&quot;name&quot;:&quot;Ejection Stroke S&quot;,&quot;fn&quot;:&quot;Plate travel. Make S long enough to clear the part from the core fully - typically core height plus about 5-10 mm.&quot;,&quot;bx&quot;:654,&quot;by&quot;:300,&quot;ax&quot;:642,&quot;ay&quot;:318},{&quot;n&quot;:9,&quot;name&quot;:&quot;Pin Layout&quot;,&quot;fn&quot;:&quot;Place pins at corners, under walls and on rib crossings, balanced so the part lifts evenly without tilting.&quot;,&quot;bx&quot;:948,&quot;by&quot;:126,&quot;ax&quot;:920,&quot;ay&quot;:126},{&quot;n&quot;:10,&quot;name&quot;:&quot;Ribs &amp; Walls (High Grip)&quot;,&quot;fn&quot;:&quot;Ribs and walls grip the core hardest - push there, never in the middle of a thin flat area.&quot;,&quot;bx&quot;:712,&quot;by&quot;:230,&quot;ax&quot;:752,&quot;ay&quot;:190}]\" style=\"display:block\"><svg viewBox=\"0 0 1000 490\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Ejector pin ejection: molding, ejection and pin layout\"><rect x=\"0\" y=\"0\" width=\"1000\" height=\"490\" fill=\"#ffffff\"\/><g data-p=\"1\"><rect x=\"40\" y=\"90\" width=\"260\" height=\"80\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"2\"><path d=\"M40,170 L100,170 L100,130 L240,130 L240,170 L300,170 L300,270 L40,270 Z\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M370,170 L430,170 L430,130 L570,130 L570,170 L630,170 L630,270 L370,270 Z\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"7\"><rect x=\"40\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"274\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"40\" y=\"380\" width=\"260\" height=\"22\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"370\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"604\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"370\" y=\"380\" width=\"260\" height=\"22\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"5\"><rect x=\"70\" y=\"320\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"400\" y=\"290\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"6\"><rect x=\"70\" y=\"340\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"400\" y=\"310\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"4\"><rect x=\"92\" y=\"170\" width=\"6\" height=\"162\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"88\" y=\"332\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"242\" y=\"170\" width=\"6\" height=\"162\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"238\" y=\"332\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"137\" y=\"130\" width=\"6\" height=\"202\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"133\" y=\"332\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"197\" y=\"130\" width=\"6\" height=\"202\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"193\" y=\"332\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"422\" y=\"140\" width=\"6\" height=\"162\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"418\" y=\"302\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"572\" y=\"140\" width=\"6\" height=\"162\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"568\" y=\"302\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"467\" y=\"100\" width=\"6\" height=\"202\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"463\" y=\"302\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"527\" y=\"100\" width=\"6\" height=\"202\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"523\" y=\"302\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"3\"><path d=\"M90,170 L90,120 L250,120 L250,170 L240,170 L240,130 L100,130 L100,170 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M420,140 L420,90 L580,90 L580,140 L570,140 L570,100 L430,100 L430,140 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"740\" y=\"120\" width=\"180\" height=\"140\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"752\" y=\"132\" width=\"156\" height=\"116\" fill=\"#f7c98a\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"8\"><line x1=\"604\" y1=\"360\" x2=\"648\" y2=\"360\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"600\" y1=\"330\" x2=\"648\" y2=\"330\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"642\" y1=\"358\" x2=\"642\" y2=\"332\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twejg85189-ad)\" marker-end=\"url(#twejg85189-ad)\"\/><text x=\"648\" y=\"349\" font-size=\"12\" font-weight=\"700\" font-style=\"italic\" fill=\"#1e3a5f\">S<\/text><\/g><g data-p=\"10\"><rect x=\"828\" y=\"132\" width=\"4\" height=\"116\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"752\" y=\"188\" width=\"156\" height=\"4\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"9\"><circle cx=\"746\" cy=\"126\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"914\" cy=\"126\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"746\" cy=\"254\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"914\" cy=\"254\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"746\" cy=\"190\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"914\" cy=\"190\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"830\" cy=\"152\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"830\" cy=\"228\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"786\" cy=\"190\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"874\" cy=\"190\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g pointer-events=\"none\"><line x1=\"40\" y1=\"170\" x2=\"300\" y2=\"170\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><line x1=\"170\" y1=\"84\" x2=\"170\" y2=\"410\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><line x1=\"500\" y1=\"84\" x2=\"500\" y2=\"410\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><rect x=\"400\" y=\"320\" width=\"200\" height=\"40\" fill=\"none\" stroke=\"#5b6b7f\" stroke-width=\"1\" stroke-dasharray=\"4 3\" opacity=\"0.7\"\/><text x=\"170\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">MOLDING<\/text><text x=\"170\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Mold closed, pins flush with the core<\/text><text x=\"170\" y=\"440\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Pins rest flush<\/text><text x=\"170\" y=\"458\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Heads held in the retainer plate<\/text><text x=\"170\" y=\"476\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Plates at rest on stop pins<\/text><text x=\"500\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">EJECTION<\/text><text x=\"500\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Plates travel S, pins push the part off<\/text><text x=\"500\" y=\"440\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Push on walls and the core top<\/text><text x=\"500\" y=\"458\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Part lifts evenly<\/text><text x=\"500\" y=\"476\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Return pins reset the plates<\/text><text x=\"830\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">LAYOUT RULES<\/text><text x=\"830\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Where to put the pins<\/text><text x=\"830\" y=\"440\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Pins at corners, walls, ribs<\/text><text x=\"830\" y=\"458\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Balance them around the part<\/text><text x=\"830\" y=\"476\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Use the largest diameter that fits<\/text><text x=\"830\" y=\"110\" font-size=\"10.5\" font-weight=\"700\" fill=\"#5b6b7f\" text-anchor=\"middle\">Core-side view of the part<\/text><\/g><g data-p=\"1\"><circle cx=\"58\" cy=\"108\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"58\" y=\"112\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><circle cx=\"58\" cy=\"250\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"58\" y=\"254\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"271\" y1=\"146\" x2=\"250\" y2=\"150\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"250\" cy=\"150\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"282\" cy=\"146\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"282\" y=\"150\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"221\" y1=\"230\" x2=\"203\" y2=\"230\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"203\" cy=\"230\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"232\" cy=\"230\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"232\" y=\"234\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><circle cx=\"110\" cy=\"330\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"110\" y=\"334\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><circle cx=\"230\" cy=\"350\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"230\" y=\"354\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><circle cx=\"53\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"53\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><line x1=\"643\" y1=\"300\" x2=\"642\" y2=\"318\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"642\" cy=\"318\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"654\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"654\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><line x1=\"937\" y1=\"126\" x2=\"920\" y2=\"126\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"920\" cy=\"126\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"948\" cy=\"126\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"948\" y=\"130\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\"><line x1=\"723\" y1=\"230\" x2=\"752\" y2=\"190\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"752\" cy=\"190\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"712\" cy=\"230\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"712\" y=\"234\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><div class=\"tw-ms-stage\" data-panel=\"blade\" data-parts=\"[{&quot;n&quot;:1,&quot;name&quot;:&quot;Cavity (A) Plate&quot;,&quot;fn&quot;:&quot;Shown in the closed position; it moves away before ejection starts.&quot;,&quot;bx&quot;:58,&quot;by&quot;:108,&quot;ax&quot;:58,&quot;ay&quot;:108},{&quot;n&quot;:2,&quot;name&quot;:&quot;Core (B) Plate&quot;,&quot;fn&quot;:&quot;Has a narrow slot that forms the deep rib - the rib grips this slot very hard.&quot;,&quot;bx&quot;:58,&quot;by&quot;:250,&quot;ax&quot;:58,&quot;ay&quot;:250},{&quot;n&quot;:3,&quot;name&quot;:&quot;Molded Part&quot;,&quot;fn&quot;:&quot;Cover with side walls and one deep, thin rib. Right: core-side view.&quot;,&quot;bx&quot;:282,&quot;by&quot;:136,&quot;ax&quot;:260,&quot;ay&quot;:146},{&quot;n&quot;:4,&quot;name&quot;:&quot;Deep Thin Rib&quot;,&quot;fn&quot;:&quot;Too thin for a round pin. Without push at its root it can stick or tear off.&quot;,&quot;bx&quot;:120,&quot;by&quot;:200,&quot;ax&quot;:167,&quot;ay&quot;:200},{&quot;n&quot;:5,&quot;name&quot;:&quot;Blade Ejector&quot;,&quot;fn&quot;:&quot;Flat blade sized to the rib bottom, on a round shank. Keep the thin blade section short so it does not buckle.&quot;,&quot;bx&quot;:222,&quot;by&quot;:250,&quot;ax&quot;:173,&quot;ay&quot;:245},{&quot;n&quot;:6,&quot;name&quot;:&quot;Ejector Pins&quot;,&quot;fn&quot;:&quot;Ordinary round pins still push the walls and corners where there is room.&quot;,&quot;bx&quot;:282,&quot;by&quot;:205,&quot;ax&quot;:258,&quot;ay&quot;:205},{&quot;n&quot;:7,&quot;name&quot;:&quot;Ejector Retainer Plate&quot;,&quot;fn&quot;:&quot;Upper ejector plate; its counterbores capture the heads of every ejector.&quot;,&quot;bx&quot;:110,&quot;by&quot;:330,&quot;ax&quot;:110,&quot;ay&quot;:330},{&quot;n&quot;:8,&quot;name&quot;:&quot;Ejector Plate&quot;,&quot;fn&quot;:&quot;Lower plate pushed by the machine&#039;s ejector rod; drives all ejectors together.&quot;,&quot;bx&quot;:230,&quot;by&quot;:350,&quot;ax&quot;:230,&quot;ay&quot;:350},{&quot;n&quot;:9,&quot;name&quot;:&quot;Mold Base (Spacers + Clamp)&quot;,&quot;fn&quot;:&quot;Spacer blocks create the ejector housing; the bottom clamp plate closes it.&quot;,&quot;bx&quot;:53,&quot;by&quot;:300,&quot;ax&quot;:53,&quot;ay&quot;:300},{&quot;n&quot;:10,&quot;name&quot;:&quot;Ejection Stroke S&quot;,&quot;fn&quot;:&quot;Plate travel. Make S long enough to clear the part from the core fully - typically core height plus about 5-10 mm.&quot;,&quot;bx&quot;:654,&quot;by&quot;:300,&quot;ax&quot;:642,&quot;ay&quot;:318},{&quot;n&quot;:11,&quot;name&quot;:&quot;Blade Positions&quot;,&quot;fn&quot;:&quot;Blades run along the rib bottom. Use them only where pins cannot fit - they cost more and need an EDM slot.&quot;,&quot;bx&quot;:892,&quot;by&quot;:164,&quot;ax&quot;:833,&quot;ay&quot;:164}]\" style=\"display:none\"><svg viewBox=\"0 0 1000 490\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Blade (flat) ejector for a deep thin rib: molding, ejection and layout\"><rect x=\"0\" y=\"0\" width=\"1000\" height=\"490\" fill=\"#ffffff\"\/><g data-p=\"1\"><rect x=\"40\" y=\"90\" width=\"260\" height=\"80\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"2\"><path d=\"M40,170 L90,170 L90,152 L167,152 L167,220 L173,220 L173,152 L250,152 L250,170 L300,170 L300,270 L40,270 Z\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M370,170 L420,170 L420,152 L497,152 L497,220 L503,220 L503,152 L580,152 L580,170 L630,170 L630,270 L370,270 Z\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"9\"><rect x=\"40\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"274\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"40\" y=\"380\" width=\"260\" height=\"22\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"370\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"604\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"370\" y=\"380\" width=\"260\" height=\"22\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"7\"><rect x=\"70\" y=\"320\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"400\" y=\"290\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"8\"><rect x=\"70\" y=\"340\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"400\" y=\"310\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"3\"><path d=\"M80,170 L80,140 L260,140 L260,170 L250,170 L250,152 L173,152 L173,220 L167,220 L167,152 L90,152 L90,170 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M410,140 L410,110 L590,110 L590,140 L580,140 L580,122 L503,122 L503,190 L497,190 L497,122 L420,122 L420,140 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"740\" y=\"120\" width=\"180\" height=\"140\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"750\" y=\"130\" width=\"160\" height=\"120\" fill=\"#f7c98a\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"4\"><rect x=\"167\" y=\"152\" width=\"6\" height=\"68\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"497\" y=\"122\" width=\"6\" height=\"68\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"827\" y=\"130\" width=\"6\" height=\"120\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"5\"><rect x=\"167\" y=\"220\" width=\"6\" height=\"46\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"164\" y=\"266\" width=\"12\" height=\"66\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"160\" y=\"332\" width=\"20\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"497\" y=\"190\" width=\"6\" height=\"46\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"494\" y=\"236\" width=\"12\" height=\"66\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"490\" y=\"302\" width=\"20\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"6\"><rect x=\"82\" y=\"170\" width=\"6\" height=\"162\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"78\" y=\"332\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"252\" y=\"170\" width=\"6\" height=\"162\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"248\" y=\"332\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"412\" y=\"140\" width=\"6\" height=\"162\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"408\" y=\"302\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"582\" y=\"140\" width=\"6\" height=\"162\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"578\" y=\"302\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"745\" cy=\"125\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"915\" cy=\"125\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"745\" cy=\"255\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"915\" cy=\"255\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"10\"><line x1=\"604\" y1=\"360\" x2=\"648\" y2=\"360\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"600\" y1=\"330\" x2=\"648\" y2=\"330\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"642\" y1=\"358\" x2=\"642\" y2=\"332\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twejg85189-ad)\" marker-end=\"url(#twejg85189-ad)\"\/><text x=\"648\" y=\"349\" font-size=\"12\" font-weight=\"700\" font-style=\"italic\" fill=\"#1e3a5f\">S<\/text><\/g><g data-p=\"11\"><rect x=\"827\" y=\"146\" width=\"6\" height=\"36\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"827\" y=\"198\" width=\"6\" height=\"36\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g pointer-events=\"none\"><line x1=\"40\" y1=\"170\" x2=\"300\" y2=\"170\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><line x1=\"170\" y1=\"84\" x2=\"170\" y2=\"410\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><line x1=\"500\" y1=\"84\" x2=\"500\" y2=\"410\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><rect x=\"400\" y=\"320\" width=\"200\" height=\"40\" fill=\"none\" stroke=\"#5b6b7f\" stroke-width=\"1\" stroke-dasharray=\"4 3\" opacity=\"0.7\"\/><text x=\"170\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">MOLDING<\/text><text x=\"170\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Blade sits under the rib, flush<\/text><text x=\"170\" y=\"440\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Blade fits the rib bottom<\/text><text x=\"170\" y=\"458\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Round shank for strength<\/text><text x=\"170\" y=\"476\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Head held in the retainer<\/text><text x=\"500\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">EJECTION<\/text><text x=\"500\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Blade pushes the rib straight out<\/text><text x=\"500\" y=\"440\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">No tearing of the rib<\/text><text x=\"500\" y=\"458\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Pins push the walls<\/text><text x=\"500\" y=\"476\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Plates travel S<\/text><text x=\"830\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">LAYOUT RULES<\/text><text x=\"830\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Where to use blades<\/text><text x=\"830\" y=\"440\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Thin, deep ribs and narrow walls<\/text><text x=\"830\" y=\"458\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Blade thickness = rib bottom width<\/text><text x=\"830\" y=\"476\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Use only where pins will not fit<\/text><text x=\"830\" y=\"110\" font-size=\"10.5\" font-weight=\"700\" fill=\"#5b6b7f\" text-anchor=\"middle\">Core-side view of the part<\/text><\/g><g data-p=\"1\"><circle cx=\"58\" cy=\"108\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"58\" y=\"112\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><circle cx=\"58\" cy=\"250\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"58\" y=\"254\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"271\" y1=\"136\" x2=\"260\" y2=\"146\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"260\" cy=\"146\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"282\" cy=\"136\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"282\" y=\"140\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"131\" y1=\"200\" x2=\"167\" y2=\"200\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"167\" cy=\"200\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"200\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"204\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"211\" y1=\"250\" x2=\"173\" y2=\"245\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"173\" cy=\"245\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"222\" cy=\"250\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"222\" y=\"254\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"271\" y1=\"205\" x2=\"258\" y2=\"205\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"258\" cy=\"205\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"282\" cy=\"205\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"282\" y=\"209\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><circle cx=\"110\" cy=\"330\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"110\" y=\"334\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><circle cx=\"230\" cy=\"350\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"230\" y=\"354\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><circle cx=\"53\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"53\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\"><line x1=\"643\" y1=\"300\" x2=\"642\" y2=\"318\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"642\" cy=\"318\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"654\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"654\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><g data-p=\"11\"><line x1=\"881\" y1=\"164\" x2=\"833\" y2=\"164\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"833\" cy=\"164\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"892\" cy=\"164\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"892\" y=\"168\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><div class=\"tw-ms-stage\" data-panel=\"sleeve\" data-parts=\"[{&quot;n&quot;:1,&quot;name&quot;:&quot;Cavity (A) Plate&quot;,&quot;fn&quot;:&quot;Shown in the closed position; it moves away before ejection starts.&quot;,&quot;bx&quot;:58,&quot;by&quot;:108,&quot;ax&quot;:58,&quot;ay&quot;:108},{&quot;n&quot;:2,&quot;name&quot;:&quot;Core (B) Plate&quot;,&quot;fn&quot;:&quot;Bored to form the outside of the boss; the sleeve slides in this bore.&quot;,&quot;bx&quot;:58,&quot;by&quot;:250,&quot;ax&quot;:58,&quot;ay&quot;:250},{&quot;n&quot;:3,&quot;name&quot;:&quot;Molded Part&quot;,&quot;fn&quot;:&quot;Cover with a screw boss. Right: core-side view.&quot;,&quot;bx&quot;:282,&quot;by&quot;:136,&quot;ax&quot;:260,&quot;ay&quot;:146},{&quot;n&quot;:4,&quot;name&quot;:&quot;Boss&quot;,&quot;fn&quot;:&quot;Tube-shaped feature that grips the core pin tightly as it shrinks.&quot;,&quot;bx&quot;:118,&quot;by&quot;:186,&quot;ax&quot;:156,&quot;ay&quot;:186},{&quot;n&quot;:5,&quot;name&quot;:&quot;Ejector Sleeve&quot;,&quot;fn&quot;:&quot;Hollow ejector that pushes the whole boss end evenly - no pin mark inside the boss, no stress whitening.&quot;,&quot;bx&quot;:118,&quot;by&quot;:250,&quot;ax&quot;:156,&quot;ay&quot;:250},{&quot;n&quot;:6,&quot;name&quot;:&quot;Core Pin (Fixed)&quot;,&quot;fn&quot;:&quot;Forms the boss hole. Anchored in the bottom clamp plate and does not move; the sleeve strips the boss off it.&quot;,&quot;bx&quot;:222,&quot;by&quot;:262,&quot;ax&quot;:176,&quot;ay&quot;:262},{&quot;n&quot;:7,&quot;name&quot;:&quot;Ejector Pins&quot;,&quot;fn&quot;:&quot;Ordinary round pins push the walls and corners.&quot;,&quot;bx&quot;:282,&quot;by&quot;:205,&quot;ax&quot;:258,&quot;ay&quot;:205},{&quot;n&quot;:8,&quot;name&quot;:&quot;Ejector Retainer Plate&quot;,&quot;fn&quot;:&quot;Captures the ejector and sleeve heads; the core pin passes through it.&quot;,&quot;bx&quot;:110,&quot;by&quot;:330,&quot;ax&quot;:110,&quot;ay&quot;:330},{&quot;n&quot;:9,&quot;name&quot;:&quot;Ejector Plate&quot;,&quot;fn&quot;:&quot;Pushed by the machine ejector rod; the core pin passes through a clearance hole.&quot;,&quot;bx&quot;:230,&quot;by&quot;:350,&quot;ax&quot;:230,&quot;ay&quot;:350},{&quot;n&quot;:10,&quot;name&quot;:&quot;Mold Base (Spacers + Clamp)&quot;,&quot;fn&quot;:&quot;The bottom clamp plate also anchors the core pin head.&quot;,&quot;bx&quot;:53,&quot;by&quot;:300,&quot;ax&quot;:53,&quot;ay&quot;:300},{&quot;n&quot;:11,&quot;name&quot;:&quot;Ejection Stroke S&quot;,&quot;fn&quot;:&quot;Sleeve stroke must strip the boss fully off the core pin - at least the boss hole depth plus clearance.&quot;,&quot;bx&quot;:654,&quot;by&quot;:300,&quot;ax&quot;:642,&quot;ay&quot;:318}]\" style=\"display:none\"><svg viewBox=\"0 0 1000 490\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Ejector sleeve around a boss with a fixed core pin: molding, ejection and layout\"><rect x=\"0\" y=\"0\" width=\"1000\" height=\"490\" fill=\"#ffffff\"\/><g data-p=\"1\"><rect x=\"40\" y=\"90\" width=\"260\" height=\"80\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"2\"><path d=\"M40,170 L90,170 L90,152 L156,152 L156,210 L184,210 L184,152 L250,152 L250,170 L300,170 L300,270 L40,270 Z\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M370,170 L420,170 L420,152 L486,152 L486,210 L514,210 L514,152 L580,152 L580,170 L630,170 L630,270 L370,270 Z\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"10\"><rect x=\"40\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"274\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"40\" y=\"380\" width=\"260\" height=\"22\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"370\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"604\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"370\" y=\"380\" width=\"260\" height=\"22\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"8\"><rect x=\"70\" y=\"320\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"400\" y=\"290\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"9\"><rect x=\"70\" y=\"340\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"400\" y=\"310\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"3\"><path d=\"M80,170 L80,140 L260,140 L260,170 L250,170 L250,152 L184,152 L184,210 L176,210 L176,146 L164,146 L164,210 L156,210 L156,152 L90,152 L90,170 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M410,140 L410,110 L590,110 L590,140 L580,140 L580,122 L514,122 L514,180 L506,180 L506,116 L494,116 L494,180 L486,180 L486,122 L420,122 L420,140 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"740\" y=\"120\" width=\"180\" height=\"140\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"750\" y=\"130\" width=\"160\" height=\"120\" fill=\"#f7c98a\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"4\"><circle cx=\"830\" cy=\"190\" r=\"22\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"5\"><rect x=\"156\" y=\"210\" width=\"8\" height=\"122\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"176\" y=\"210\" width=\"8\" height=\"122\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"150\" y=\"332\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"176\" y=\"332\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"486\" y=\"180\" width=\"8\" height=\"122\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"506\" y=\"180\" width=\"8\" height=\"122\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"480\" y=\"302\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"506\" y=\"302\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"830\" cy=\"190\" r=\"11\" fill=\"none\" stroke=\"#5b6b7f\" stroke-width=\"7\"\/><circle cx=\"830\" cy=\"190\" r=\"11\" fill=\"none\" stroke=\"#c9d3de\" stroke-width=\"5\"\/><\/g><g data-p=\"6\"><rect x=\"164\" y=\"146\" width=\"12\" height=\"248\" fill=\"#aebccb\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"158\" y=\"394\" width=\"24\" height=\"8\" fill=\"#aebccb\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"494\" y=\"146\" width=\"12\" height=\"248\" fill=\"#aebccb\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"488\" y=\"394\" width=\"24\" height=\"8\" fill=\"#aebccb\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"830\" cy=\"190\" r=\"6\" fill=\"#aebccb\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"7\"><rect x=\"82\" y=\"170\" width=\"6\" height=\"162\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"78\" y=\"332\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"252\" y=\"170\" width=\"6\" height=\"162\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"248\" y=\"332\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"412\" y=\"140\" width=\"6\" height=\"162\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"408\" y=\"302\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"582\" y=\"140\" width=\"6\" height=\"162\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"578\" y=\"302\" width=\"14\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"745\" cy=\"125\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"915\" cy=\"125\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"745\" cy=\"255\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><circle cx=\"915\" cy=\"255\" r=\"5\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"11\"><line x1=\"604\" y1=\"360\" x2=\"648\" y2=\"360\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"600\" y1=\"330\" x2=\"648\" y2=\"330\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"642\" y1=\"358\" x2=\"642\" y2=\"332\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twejg85189-ad)\" marker-end=\"url(#twejg85189-ad)\"\/><text x=\"648\" y=\"349\" font-size=\"12\" font-weight=\"700\" font-style=\"italic\" fill=\"#1e3a5f\">S<\/text><\/g><g pointer-events=\"none\"><line x1=\"40\" y1=\"170\" x2=\"300\" y2=\"170\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><line x1=\"170\" y1=\"84\" x2=\"170\" y2=\"410\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><line x1=\"500\" y1=\"84\" x2=\"500\" y2=\"410\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><rect x=\"400\" y=\"320\" width=\"200\" height=\"40\" fill=\"none\" stroke=\"#5b6b7f\" stroke-width=\"1\" stroke-dasharray=\"4 3\" opacity=\"0.7\"\/><text x=\"170\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">MOLDING<\/text><text x=\"170\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Sleeve around the core pin, flush<\/text><text x=\"170\" y=\"440\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Sleeve flush with boss end<\/text><text x=\"170\" y=\"458\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Core pin fixed in clamp plate<\/text><text x=\"170\" y=\"476\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Sleeve head in retainer<\/text><text x=\"500\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">EJECTION<\/text><text x=\"500\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Sleeve rises, core pin stays<\/text><text x=\"500\" y=\"440\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Boss stripped off the pin<\/text><text x=\"500\" y=\"458\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Even push, no marks<\/text><text x=\"500\" y=\"476\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Plates travel S<\/text><text x=\"830\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">LAYOUT RULES<\/text><text x=\"830\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Where to use sleeves<\/text><text x=\"830\" y=\"440\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Bosses and round cores<\/text><text x=\"830\" y=\"458\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Sleeve wall not too thin<\/text><text x=\"830\" y=\"476\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Stroke clears the core pin<\/text><text x=\"830\" y=\"110\" font-size=\"10.5\" font-weight=\"700\" fill=\"#5b6b7f\" text-anchor=\"middle\">Core-side view of the part<\/text><\/g><g data-p=\"1\"><circle cx=\"58\" cy=\"108\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"58\" y=\"112\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><circle cx=\"58\" cy=\"250\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"58\" y=\"254\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"271\" y1=\"136\" x2=\"260\" y2=\"146\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"260\" cy=\"146\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"282\" cy=\"136\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"282\" y=\"140\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"129\" y1=\"186\" x2=\"156\" y2=\"186\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"156\" cy=\"186\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"118\" cy=\"186\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"118\" y=\"190\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"129\" y1=\"250\" x2=\"156\" y2=\"250\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"156\" cy=\"250\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"118\" cy=\"250\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"118\" y=\"254\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"211\" y1=\"262\" x2=\"176\" y2=\"262\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"176\" cy=\"262\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"222\" cy=\"262\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"222\" y=\"266\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><line x1=\"271\" y1=\"205\" x2=\"258\" y2=\"205\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"258\" cy=\"205\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"282\" cy=\"205\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"282\" y=\"209\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><circle cx=\"110\" cy=\"330\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"110\" y=\"334\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><circle cx=\"230\" cy=\"350\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"230\" y=\"354\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\"><circle cx=\"53\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"53\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><g data-p=\"11\"><line x1=\"643\" y1=\"300\" x2=\"642\" y2=\"318\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"642\" cy=\"318\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"654\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"654\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><div class=\"tw-ms-stage\" data-panel=\"stripper\" data-parts=\"[{&quot;n&quot;:1,&quot;name&quot;:&quot;Cavity (A) Plate&quot;,&quot;fn&quot;:&quot;Shown in the closed position; it moves away before ejection starts.&quot;,&quot;bx&quot;:58,&quot;by&quot;:108,&quot;ax&quot;:58,&quot;ay&quot;:108},{&quot;n&quot;:2,&quot;name&quot;:&quot;Core (B) Plate &amp; Core&quot;,&quot;fn&quot;:&quot;The core stays fixed; the stripper plate slides up it and pushes the part off.&quot;,&quot;bx&quot;:58,&quot;by&quot;:250,&quot;ax&quot;:58,&quot;ay&quot;:250},{&quot;n&quot;:3,&quot;name&quot;:&quot;Molded Part (Cup)&quot;,&quot;fn&quot;:&quot;Round, thin-walled cup that would distort or show marks if pushed by pins.&quot;,&quot;bx&quot;:232,&quot;by&quot;:100,&quot;ax&quot;:220,&quot;ay&quot;:114},{&quot;n&quot;:4,&quot;name&quot;:&quot;Stripper Plate&quot;,&quot;fn&quot;:&quot;Ring plate around the core that pushes the full rim of the part at once.&quot;,&quot;bx&quot;:282,&quot;by&quot;:182,&quot;ax&quot;:282,&quot;ay&quot;:182},{&quot;n&quot;:5,&quot;name&quot;:&quot;Push Rods&quot;,&quot;fn&quot;:&quot;Connect the ejector plate to the stripper plate (stripper bolts can also be used).&quot;,&quot;bx&quot;:242,&quot;by&quot;:240,&quot;ax&quot;:265,&quot;ay&quot;:240},{&quot;n&quot;:6,&quot;name&quot;:&quot;Tapered Fit&quot;,&quot;fn&quot;:&quot;Taper (about 5-10 degrees) between stripper and core, so they separate without rubbing or galling.&quot;,&quot;bx&quot;:70,&quot;by&quot;:182,&quot;ax&quot;:108,&quot;ay&quot;:182},{&quot;n&quot;:7,&quot;name&quot;:&quot;Ejector Retainer Plate&quot;,&quot;fn&quot;:&quot;Upper ejector plate; its counterbores capture the heads of every ejector.&quot;,&quot;bx&quot;:110,&quot;by&quot;:330,&quot;ax&quot;:110,&quot;ay&quot;:330},{&quot;n&quot;:8,&quot;name&quot;:&quot;Ejector Plate&quot;,&quot;fn&quot;:&quot;Lower plate pushed by the machine&#039;s ejector rod; drives all ejectors together.&quot;,&quot;bx&quot;:230,&quot;by&quot;:350,&quot;ax&quot;:230,&quot;ay&quot;:350},{&quot;n&quot;:9,&quot;name&quot;:&quot;Mold Base (Spacers + Clamp)&quot;,&quot;fn&quot;:&quot;Spacer blocks create the ejector housing; the bottom clamp plate closes it.&quot;,&quot;bx&quot;:53,&quot;by&quot;:300,&quot;ax&quot;:53,&quot;ay&quot;:300},{&quot;n&quot;:10,&quot;name&quot;:&quot;Ejection Stroke S&quot;,&quot;fn&quot;:&quot;Plate travel. Make S long enough to clear the part from the core fully - typically core height plus about 5-10 mm.&quot;,&quot;bx&quot;:654,&quot;by&quot;:300,&quot;ax&quot;:642,&quot;ay&quot;:318},{&quot;n&quot;:11,&quot;name&quot;:&quot;Full-Rim Contact&quot;,&quot;fn&quot;:&quot;The stripper pushes the whole rim: no ejector marks, no distortion, even on very thin walls.&quot;,&quot;bx&quot;:948,&quot;by&quot;:140,&quot;ax&quot;:882,&quot;ay&quot;:152}]\" style=\"display:none\"><svg viewBox=\"0 0 1000 490\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Stripper plate ejection for a round cup: molding, ejection and layout\"><rect x=\"0\" y=\"0\" width=\"1000\" height=\"490\" fill=\"#ffffff\"\/><g data-p=\"1\"><rect x=\"40\" y=\"90\" width=\"260\" height=\"80\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"9\"><rect x=\"40\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"274\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"40\" y=\"380\" width=\"260\" height=\"22\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"370\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"604\" y=\"270\" width=\"26\" height=\"110\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"370\" y=\"380\" width=\"260\" height=\"22\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"7\"><rect x=\"70\" y=\"320\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"400\" y=\"290\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"8\"><rect x=\"70\" y=\"340\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"400\" y=\"310\" width=\"200\" height=\"20\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"5\"><rect x=\"65\" y=\"194\" width=\"10\" height=\"138\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"61\" y=\"332\" width=\"18\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"265\" y=\"194\" width=\"10\" height=\"138\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"261\" y=\"332\" width=\"18\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"395\" y=\"164\" width=\"10\" height=\"138\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"391\" y=\"302\" width=\"18\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"595\" y=\"164\" width=\"10\" height=\"138\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"591\" y=\"302\" width=\"18\" height=\"8\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"2\"><path d=\"M40,194 L106,194 L110,170 L110,120 L230,120 L230,170 L234,194 L300,194 L300,270 L40,270 Z\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M370,194 L436,194 L440,170 L440,120 L560,120 L560,170 L564,194 L630,194 L630,270 L370,270 Z\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><circle cx=\"830\" cy=\"200\" r=\"60\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"4\"><path d=\"M40,170 L110,170 L106,194 L40,194 Z\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M230,170 L300,170 L300,194 L234,194 Z\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M370,140 L440,140 L436,164 L370,164 Z\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M560,140 L630,140 L630,164 L564,164 Z\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"730\" y=\"124\" width=\"200\" height=\"152\" fill=\"url(#twejg85189-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"3\"><path d=\"M100,170 L100,110 L240,110 L240,170 L230,170 L230,120 L110,120 L110,170 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M430,140 L430,80 L570,80 L570,140 L560,140 L560,90 L440,90 L440,140 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"6\"><line x1=\"110\" y1=\"170\" x2=\"106\" y2=\"194\" stroke=\"#1e3a5f\" stroke-width=\"3\"\/><line x1=\"230\" y1=\"170\" x2=\"234\" y2=\"194\" stroke=\"#1e3a5f\" stroke-width=\"3\"\/><line x1=\"440\" y1=\"140\" x2=\"436\" y2=\"164\" stroke=\"#1e3a5f\" stroke-width=\"3\"\/><line x1=\"560\" y1=\"140\" x2=\"564\" y2=\"164\" stroke=\"#1e3a5f\" stroke-width=\"3\"\/><circle cx=\"830\" cy=\"200\" r=\"62\" fill=\"none\" stroke=\"#1e3a5f\" stroke-width=\"1.5\" stroke-dasharray=\"4 3\"\/><\/g><g data-p=\"10\"><line x1=\"604\" y1=\"360\" x2=\"648\" y2=\"360\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"600\" y1=\"330\" x2=\"648\" y2=\"330\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"642\" y1=\"358\" x2=\"642\" y2=\"332\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twejg85189-ad)\" marker-end=\"url(#twejg85189-ad)\"\/><text x=\"648\" y=\"349\" font-size=\"12\" font-weight=\"700\" font-style=\"italic\" fill=\"#1e3a5f\">S<\/text><\/g><g data-p=\"11\"><path d=\"M760,200 A70,70 0 1,0 900,200 A70,70 0 1,0 760,200 Z M770,200 A60,60 0 1,1 890,200 A60,60 0 1,1 770,200 Z\" fill=\"#f2a33c\" fill-rule=\"evenodd\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g pointer-events=\"none\"><line x1=\"40\" y1=\"170\" x2=\"300\" y2=\"170\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><line x1=\"170\" y1=\"84\" x2=\"170\" y2=\"410\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><line x1=\"500\" y1=\"84\" x2=\"500\" y2=\"410\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><rect x=\"400\" y=\"320\" width=\"200\" height=\"40\" fill=\"none\" stroke=\"#5b6b7f\" stroke-width=\"1\" stroke-dasharray=\"4 3\" opacity=\"0.7\"\/><text x=\"170\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">MOLDING<\/text><text x=\"170\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Part rim sits on the stripper plate<\/text><text x=\"170\" y=\"440\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Stripper rings the core<\/text><text x=\"170\" y=\"458\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Tapered fit to the core<\/text><text x=\"170\" y=\"476\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Push rods to the ejector plate<\/text><text x=\"500\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">EJECTION<\/text><text x=\"500\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Stripper plate lifts, core stays<\/text><text x=\"500\" y=\"440\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Whole rim pushed at once<\/text><text x=\"500\" y=\"458\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">No pin marks<\/text><text x=\"500\" y=\"476\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Plates travel S<\/text><text x=\"830\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">LAYOUT RULES<\/text><text x=\"830\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Where to use a stripper plate<\/text><text x=\"830\" y=\"440\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Round thin-walled cups, caps<\/text><text x=\"830\" y=\"458\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Tapered fit, about 5&#8211;10&#176;<\/text><text x=\"830\" y=\"476\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Higher cost, larger mold<\/text><text x=\"830\" y=\"110\" font-size=\"10.5\" font-weight=\"700\" fill=\"#5b6b7f\" text-anchor=\"middle\">Core-side view of the part<\/text><\/g><g data-p=\"1\"><circle cx=\"58\" cy=\"108\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"58\" y=\"112\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><circle cx=\"58\" cy=\"250\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"58\" y=\"254\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"221\" y1=\"100\" x2=\"220\" y2=\"114\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"220\" cy=\"114\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"232\" cy=\"100\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"232\" y=\"104\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><circle cx=\"282\" cy=\"182\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"282\" y=\"186\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"253\" y1=\"240\" x2=\"265\" y2=\"240\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"265\" cy=\"240\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"242\" cy=\"240\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"242\" y=\"244\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"81\" y1=\"182\" x2=\"108\" y2=\"182\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"108\" cy=\"182\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"70\" cy=\"182\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"70\" y=\"186\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><circle cx=\"110\" cy=\"330\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"110\" y=\"334\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><circle cx=\"230\" cy=\"350\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"230\" y=\"354\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><circle cx=\"53\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"53\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\"><line x1=\"643\" y1=\"300\" x2=\"642\" y2=\"318\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"642\" cy=\"318\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"654\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"654\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><g data-p=\"11\"><line x1=\"937\" y1=\"140\" x2=\"882\" y2=\"152\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"882\" cy=\"152\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"948\" cy=\"140\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"948\" y=\"144\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><div class=\"tw-omg-key\"><span><i style=\"background:#f2a33c\"><\/i>Molded part<\/span><span><i style=\"background:#c9d3de;border:1px solid #5b6b7f\"><\/i>Ejector (moves)<\/span><span><i style=\"background:#aebccb;border:1px solid #5b6b7f\"><\/i>Fixed core pin<\/span><span><i style=\"background:#e6ecf3;border:1px solid #5b6b7f\"><\/i>Mold steel<\/span><span><i style=\"border-top:2px dashed #5b6b7f;height:0;width:16px\"><\/i>Plates at rest<\/span><\/div><div class=\"tw-omg-table\"><table><thead><tr><th><\/th><th>Ejector Pin<\/th><th>Blade Ejector<\/th><th>Ejector Sleeve<\/th><th>Stripper Plate<\/th><\/tr><\/thead><tbody><tr><th>Use for<\/th><td>Most parts: flat areas, walls, ribs, corners<\/td><td>Thin deep ribs, narrow walls<\/td><td>Bosses, round cores, holes<\/td><td>Round thin-walled cups, caps, containers<\/td><\/tr><tr><th>Push area<\/th><td>Small round spot<\/td><td>Long narrow strip<\/td><td>Full ring around a boss<\/td><td>Whole rim of the part<\/td><\/tr><tr><th>Marks<\/th><td>Round witness marks<\/td><td>Thin line marks on rib ends<\/td><td>Ring mark on boss end<\/td><td>None on the cosmetic surface<\/td><\/tr><tr><th>Cost<\/th><td>Lowest, standard catalog parts<\/td><td>Higher, needs EDM slot<\/td><td>Medium, needs fixed core pin<\/td><td>Highest, extra plate and fits<\/td><\/tr><tr><th>Watch out<\/th><td>Small pins bend; high local stress<\/td><td>Fragile blade section<\/td><td>Thin sleeve walls wear<\/td><td>Mostly limited to round parts<\/td><\/tr><\/tbody><\/table><\/div><script> (function () { var root = document.getElementById('twejg85189'); if (!root) return; var tabs = root.querySelectorAll('.tw-omg-tabs button'), panels = root.querySelectorAll('.tw-ms-stage'); var resets = []; function clamp(v, a, b) { return Math.max(a, Math.min(b, v)); } function initStage(stage) { var P = JSON.parse(stage.getAttribute('data-parts')); var svg = stage.querySelector('svg'), tip = stage.querySelector('.tw-ms-tip'); var els = svg.querySelectorAll('[data-p]'); var pinned = null; function part(n) { for (var i = 0; i < P.length; i++) { if (String(P[i].n) === String(n)) return P[i]; } return null; } function union(n) { var x1 = 1e9, y1 = 1e9, x2 = -1e9, y2 = -1e9; for (var i = 0; i < els.length; i++) { if (els[i].getAttribute('data-p') !== String(n)) continue; var b = els[i].getBBox(); x1 = Math.min(x1, b.x); y1 = Math.min(y1, b.y); x2 = Math.max(x2, b.x + b.width); y2 = Math.max(y2, b.y + b.height); } return { x1: x1, y1: y1, x2: x2, y2: y2 }; } function place(n, p) { var s = svg.getBoundingClientRect(), w = stage.getBoundingClientRect(); var k = s.width \/ 1000, ox = s.left - w.left, oy = s.top - w.top; var u = union(n); var L = ox + u.x1 * k, T = oy + u.y1 * k, Rt = ox + u.x2 * k, B = oy + u.y2 * k; var bx = ox + p.bx * k, by = oy + p.by * k; var W = w.width, H = w.height, gap = 10, m = 6; tip.style.display = 'block'; tip.style.width = Math.min(250, W - 2 * m) + 'px'; var tw = tip.offsetWidth, th = tip.offsetHeight; var order = p.bx < 500 ? ['r', 'l', 'b', 't'] : ['l', 'r', 'b', 't']; var pos = null; function at(sd) { if (sd === 'l') return { x: L - gap - tw, y: clamp(by - th \/ 2, m, H - th - m), ok: L - gap - tw >= m }; if (sd === 'r') return { x: Rt + gap, y: clamp(by - th \/ 2, m, H - th - m), ok: Rt + gap + tw <= W - m }; if (sd === 'b') return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: B + gap, ok: B + gap + th <= H - m }; return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: T - gap - th, ok: T - gap - th >= m }; } for (var i = 0; i < order.length && !pos; i++) { var c = at(order[i]); if (c.ok) pos = c; } if (!pos) { var sp = { l: L - tw, r: W - Rt - tw, t: T - th, b: H - B - th }, best = 'b'; for (var key in sp) { if (sp[key] > sp[best]) best = key; } pos = at(best); } tip.style.left = clamp(pos.x, m, W - tw - m) + 'px'; tip.style.top = clamp(pos.y, m, H - th - m) + 'px'; } function show(n) { var p = part(n); if (!p) return; for (var i = 0; i < els.length; i++) els[i].style.opacity = els[i].getAttribute('data-p') === String(n) ? '1' : '0.18'; tip.innerHTML = '<div class=\"h\"><span class=\"tw-ms-num\"><\/span><span class=\"nm\"><\/span><\/div><p><\/p>'; tip.querySelector('.tw-ms-num').textContent = p.n; var d = document.createElement('textarea'); d.innerHTML = p.name; tip.querySelector('.nm').textContent = d.value; d.innerHTML = p.fn; tip.querySelector('p').textContent = d.value; place(n, p); } function hide() { for (var i = 0; i < els.length; i++) els[i].style.opacity = ''; tip.style.display = 'none'; } for (var i = 0; i < els.length; i++) { (function (el) { var n = el.getAttribute('data-p'); el.addEventListener('mouseenter', function () { if (pinned === null) show(n); }); el.addEventListener('mouseleave', function () { if (pinned === null) hide(); }); el.addEventListener('click', function (e) { e.stopPropagation(); if (pinned === n) { pinned = null; hide(); } else { pinned = n; show(n); } }); })(els[i]); } svg.addEventListener('click', function () { pinned = null; hide(); }); resets.push(function () { pinned = null; hide(); }); } for (var i = 0; i < panels.length; i++) initStage(panels[i]); for (i = 0; i < tabs.length; i++) { tabs[i].addEventListener('click', function () { var key = this.getAttribute('data-tab'); for (var j = 0; j < tabs.length; j++) { var on = tabs[j].getAttribute('data-tab') === key; tabs[j].style.background = on ? '#1e3a5f' : '#ffffff'; tabs[j].style.color = on ? '#ffffff' : '#1e3a5f'; tabs[j].style.borderColor = on ? '#1e3a5f' : '#c9d3df'; tabs[j].setAttribute('aria-selected', on ? 'true' : 'false'); } for (j = 0; j < panels.length; j++) panels[j].style.display = panels[j].getAttribute('data-panel') === key ? 'block' : 'none'; for (j = 0; j < resets.length; j++) resets[j](); }); } window.addEventListener('resize', function () { for (var j = 0; j < resets.length; j++) resets[j](); }); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twejge13251\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this guide on your site<\/strong><button type=\"button\" class=\"twejge-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-ejection-guide&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_ejection_guide_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:1020px&quot; loading=&quot;lazy&quot; title=&quot;Ejection System Design Guide - Interactive&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_ejection_guide&quot;){var f=document.getElementById(&quot;tw-ejection-guide&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive ejection system guide by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twejge13251'); if (!box) return; var btn = box.querySelector('.twejge-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><\/div><div id=\"overmolding\" class=\"wp-block-group tw-tool tw-cat-structure is-layout-flow wp-block-group-is-layout-flow\"><div class=\"tw-omg\" id=\"twomg76816\"><style> #twomg76816{max-width:1000px;margin:24px auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif;color:#1f2a37} #twomg76816 .tw-omg-head h3{margin:0 0 4px;font-size:20px;line-height:1.3;color:#1e3a5f} #twomg76816 .tw-omg-head p{margin:0 0 12px;font-size:13.5px;color:#5b6b7f} #twomg76816 .tw-omg-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px} #twomg76816 .tw-omg-tabs button{border:1px solid #c9d3df;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;line-height:1.2} #twomg76816 .tw-ms-stage{position:relative;background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;overflow:hidden} #twomg76816 .tw-ms-stage svg{display:block;width:100%;height:auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twomg76816 .tw-ms-stage svg [data-p]{cursor:pointer;transition:opacity .15s} #twomg76816 .tw-ms-tip{position:absolute;display:none;z-index:5;box-sizing:border-box;background:#ffffff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.45;pointer-events:none;box-shadow:0 4px 14px rgba(30,58,95,.12)} #twomg76816 .tw-ms-tip .h{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-weight:700;color:#1e3a5f} #twomg76816 .tw-ms-tip p{margin:0;color:#374151} #twomg76816 .tw-ms-num{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#1e3a5f;color:#ffffff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center} #twomg76816 .tw-omg-table{overflow-x:auto;margin:18px 0 0} #twomg76816 .tw-omg-table table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.45;min-width:640px} #twomg76816 .tw-omg-table th,#twomg76816 .tw-omg-table td{border:1px solid #dfe5ec;padding:8px 10px;text-align:left;vertical-align:top} #twomg76816 .tw-omg-table thead th{background:#1e3a5f;color:#ffffff;font-weight:600} #twomg76816 .tw-omg-table tbody th{background:#f3f6fa;color:#1e3a5f;font-weight:600;white-space:nowrap} #twomg76816 .tw-omg-key{display:flex;gap:16px;flex-wrap:wrap;margin:8px 0 0;font-size:12.5px;color:#5b6b7f} #twomg76816 .tw-omg-key span{display:inline-flex;align-items:center;gap:6px} #twomg76816 .tw-omg-key i{display:inline-block;width:14px;height:10px;border-radius:2px} @media (max-width:560px){#twomg76816 .tw-ms-tip{font-size:12px;padding:7px 9px}#twomg76816 .tw-omg-tabs button{padding:7px 10px;font-size:13px}} <\/style><div class=\"tw-omg-head\"><h3>Two-Shot, Overmolding &amp; Insert Molding &ndash; Interactive Guide<\/h3><p>Pick a process, then hover or tap any part or number in the three steps.<\/p><\/div><div class=\"tw-omg-tabs\" role=\"tablist\"><button type=\"button\" role=\"tab\" data-tab=\"2k\" style=\"background:#1e3a5f;color:#ffffff;border-color:#1e3a5f\">Two-Shot (2K)<\/button><button type=\"button\" role=\"tab\" data-tab=\"om\" style=\"background:#ffffff;color:#1e3a5f\">Overmolding<\/button><button type=\"button\" role=\"tab\" data-tab=\"im\" style=\"background:#ffffff;color:#1e3a5f\">Insert Molding<\/button><\/div><svg width=\"0\" height=\"0\" style=\"position:absolute;width:0;height:0;overflow:hidden\" aria-hidden=\"true\" focusable=\"false\"><defs><pattern id=\"twomg76816-h\" width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"8\" height=\"8\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"#5b6b7f\" stroke-width=\"0.6\" stroke-opacity=\"0.35\"\/><\/pattern><marker id=\"twomg76816-a\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"#1e3a5f\"\/><\/marker><\/defs><\/svg><div class=\"tw-ms-stage\" data-panel=\"2k\" data-parts=\"[{&quot;n&quot;:1,&quot;name&quot;:&quot;Cavity 1 (Shot 1)&quot;,&quot;fn&quot;:&quot;Forms the rigid substrate in the first shot.&quot;,&quot;bx&quot;:60,&quot;by&quot;:128,&quot;ax&quot;:60,&quot;ay&quot;:128},{&quot;n&quot;:2,&quot;name&quot;:&quot;Core (B Side)&quot;,&quot;fn&quot;:&quot;The same core carries the substrate from cavity 1 to cavity 2 - the part never leaves the mold.&quot;,&quot;bx&quot;:60,&quot;by&quot;:310,&quot;ax&quot;:60,&quot;ay&quot;:310},{&quot;n&quot;:3,&quot;name&quot;:&quot;Rigid Substrate&quot;,&quot;fn&quot;:&quot;First material, e.g. PC, ABS, PP or PA. Still warm when shot 2 arrives, which helps the bond.&quot;,&quot;bx&quot;:70,&quot;by&quot;:262,&quot;ax&quot;:95,&quot;ay&quot;:222},{&quot;n&quot;:4,&quot;name&quot;:&quot;Shut-off Pins&quot;,&quot;fn&quot;:&quot;Pins in cavity 1 that form through-holes in the substrate for the TPE to lock into.&quot;,&quot;bx&quot;:232,&quot;by&quot;:150,&quot;ax&quot;:204,&quot;ay&quot;:170},{&quot;n&quot;:5,&quot;name&quot;:&quot;Gate 1 (Barrel A)&quot;,&quot;fn&quot;:&quot;First injection unit fills the substrate cavity.&quot;,&quot;bx&quot;:200,&quot;by&quot;:128,&quot;ax&quot;:173,&quot;ay&quot;:140},{&quot;n&quot;:6,&quot;name&quot;:&quot;Cavity 2 (Shot 2)&quot;,&quot;fn&quot;:&quot;Larger cavity that leaves space over the substrate for the soft material.&quot;,&quot;bx&quot;:390,&quot;by&quot;:128,&quot;ax&quot;:390,&quot;ay&quot;:128},{&quot;n&quot;:7,&quot;name&quot;:&quot;TPE Overmold (Shot 2)&quot;,&quot;fn&quot;:&quot;Soft second material, e.g. TPE or TPU, molded directly onto the substrate.&quot;,&quot;bx&quot;:562,&quot;by&quot;:160,&quot;ax&quot;:540,&quot;ay&quot;:190},{&quot;n&quot;:8,&quot;name&quot;:&quot;Gate 2 (Barrel B)&quot;,&quot;fn&quot;:&quot;Second injection unit on the same machine injects the TPE.&quot;,&quot;bx&quot;:530,&quot;by&quot;:128,&quot;ax&quot;:503,&quot;ay&quot;:140},{&quot;n&quot;:9,&quot;name&quot;:&quot;Rotary Platen 180&#176;&quot;,&quot;fn&quot;:&quot;The moving half turns 180 degrees between shots (or a core-back slide moves), so both shots run every cycle.&quot;,&quot;bx&quot;:574,&quot;by&quot;:352,&quot;ax&quot;:530,&quot;ay&quot;:360},{&quot;n&quot;:10,&quot;name&quot;:&quot;Mechanical Interlock&quot;,&quot;fn&quot;:&quot;TPE flows through the holes and anchors itself, so it holds even if the chemical bond is weak.&quot;,&quot;bx&quot;:768,&quot;by&quot;:262,&quot;ax&quot;:800,&quot;ay&quot;:206},{&quot;n&quot;:11,&quot;name&quot;:&quot;Bond Line&quot;,&quot;fn&quot;:&quot;Interface where the two materials fuse. Choose compatible pairs, e.g. PP + TPE-S or PC + TPU.&quot;,&quot;bx&quot;:892,&quot;by&quot;:160,&quot;ax&quot;:870,&quot;ay&quot;:196}]\" style=\"display:block\"><svg viewBox=\"0 0 1000 470\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Two-shot 2K injection molding in three steps\"><rect x=\"0\" y=\"0\" width=\"1000\" height=\"470\" fill=\"#ffffff\"\/><g data-p=\"1\"><rect x=\"40\" y=\"110\" width=\"260\" height=\"120\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"6\"><rect x=\"370\" y=\"110\" width=\"260\" height=\"120\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"2\"><path d=\"M40,230 H100 V206 H240 V230 H300 V330 H40 Z\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M370,230 H430 V206 H570 V230 H630 V330 H370 Z\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"3\"><path d=\"M90,230 V196 H136 V206 H144 V196 H196 V206 H204 V196 H250 V230 H240 V206 H100 V230 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M420,230 V196 H466 V206 H474 V196 H526 V206 H534 V196 H580 V230 H570 V206 H430 V230 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M750,230 V196 H796 V206 H804 V196 H856 V206 H864 V196 H910 V230 H900 V206 H760 V230 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"4\"><rect x=\"136\" y=\"150\" width=\"8\" height=\"56\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"196\" y=\"150\" width=\"8\" height=\"56\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"5\"><polygon points=\"166,110 174,110 172,196 168,196\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"7\"><rect x=\"440\" y=\"184\" width=\"120\" height=\"12\" fill=\"#9b6bd1\" stroke=\"#6b46a8\" stroke-width=\"0.8\"\/><rect x=\"466\" y=\"196\" width=\"8\" height=\"10\" fill=\"#9b6bd1\" stroke=\"#6b46a8\" stroke-width=\"0.8\"\/><rect x=\"526\" y=\"196\" width=\"8\" height=\"10\" fill=\"#9b6bd1\" stroke=\"#6b46a8\" stroke-width=\"0.8\"\/><rect x=\"770\" y=\"184\" width=\"120\" height=\"12\" fill=\"#9b6bd1\" stroke=\"#6b46a8\" stroke-width=\"0.8\"\/><\/g><g data-p=\"8\"><polygon points=\"496,110 504,110 502,184 498,184\" fill=\"#9b6bd1\" stroke=\"#6b46a8\" stroke-width=\"0.8\"\/><\/g><g data-p=\"9\"><path d=\"M476,372 A24,24 0 1,1 522,378\" fill=\"none\" stroke=\"#1e3a5f\" stroke-width=\"2.2\" marker-end=\"url(#twomg76816-a)\"\/><text x=\"500\" y=\"376\" font-size=\"11\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">180&#176;<\/text><\/g><g data-p=\"10\"><rect x=\"796\" y=\"196\" width=\"8\" height=\"10\" fill=\"#9b6bd1\" stroke=\"#6b46a8\" stroke-width=\"0.8\"\/><rect x=\"856\" y=\"196\" width=\"8\" height=\"10\" fill=\"#9b6bd1\" stroke=\"#6b46a8\" stroke-width=\"0.8\"\/><\/g><g data-p=\"11\"><line x1=\"770\" y1=\"196\" x2=\"890\" y2=\"196\" stroke=\"#1e3a5f\" stroke-width=\"2.4\" stroke-dasharray=\"5 3\"\/><\/g><g pointer-events=\"none\"><line x1=\"40\" y1=\"230\" x2=\"300\" y2=\"230\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><line x1=\"370\" y1=\"230\" x2=\"630\" y2=\"230\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><line x1=\"170\" y1=\"94\" x2=\"170\" y2=\"344\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><line x1=\"500\" y1=\"94\" x2=\"500\" y2=\"344\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><line x1=\"830\" y1=\"94\" x2=\"830\" y2=\"344\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><text x=\"718\" y=\"182\" font-size=\"10.5\" font-weight=\"700\" fill=\"#6b46a8\" text-anchor=\"start\">Soft TPE<\/text><text x=\"830\" y=\"254\" font-size=\"10.5\" font-weight=\"700\" fill=\"#b9771f\" text-anchor=\"middle\">Rigid substrate<\/text><text x=\"170\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">STEP 1 &#183; SHOT 1<\/text><text x=\"170\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Cavity 1 molds the rigid substrate<\/text><text x=\"170\" y=\"412\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Rigid substrate<\/text><text x=\"170\" y=\"430\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Pins form interlock holes<\/text><text x=\"170\" y=\"448\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Barrel A injects<\/text><text x=\"500\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">STEP 2 &#183; ROTATE + SHOT 2<\/text><text x=\"500\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Core turns 180&#176; into cavity 2<\/text><text x=\"500\" y=\"412\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Soft TPE over hot substrate<\/text><text x=\"500\" y=\"430\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Barrel B injects<\/text><text x=\"500\" y=\"448\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Next substrate molds in cavity 1<\/text><text x=\"830\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">STEP 3 &#183; EJECT<\/text><text x=\"830\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Finished two-material part<\/text><text x=\"830\" y=\"412\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Bond + mechanical interlock<\/text><text x=\"830\" y=\"430\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">One machine, one mold, one cycle<\/text><text x=\"830\" y=\"448\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Best for high volume<\/text><\/g><g data-p=\"1\"><circle cx=\"60\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"60\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><circle cx=\"60\" cy=\"310\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"60\" y=\"314\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"81\" y1=\"262\" x2=\"95\" y2=\"222\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"95\" cy=\"222\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"70\" cy=\"262\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"70\" y=\"266\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"221\" y1=\"150\" x2=\"204\" y2=\"170\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"204\" cy=\"170\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"232\" cy=\"150\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"232\" y=\"154\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"189\" y1=\"128\" x2=\"173\" y2=\"140\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"173\" cy=\"140\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"200\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"200\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><circle cx=\"390\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"390\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><line x1=\"551\" y1=\"160\" x2=\"540\" y2=\"190\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"540\" cy=\"190\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"562\" cy=\"160\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"562\" y=\"164\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><line x1=\"519\" y1=\"128\" x2=\"503\" y2=\"140\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"503\" cy=\"140\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"530\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"530\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><line x1=\"563\" y1=\"352\" x2=\"530\" y2=\"360\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"530\" cy=\"360\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"574\" cy=\"352\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"574\" y=\"356\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\"><line x1=\"779\" y1=\"262\" x2=\"800\" y2=\"206\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"800\" cy=\"206\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"768\" cy=\"262\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"768\" y=\"266\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><g data-p=\"11\"><line x1=\"881\" y1=\"160\" x2=\"870\" y2=\"196\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"870\" cy=\"196\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"892\" cy=\"160\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"892\" y=\"164\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><div class=\"tw-ms-stage\" data-panel=\"om\" data-parts=\"[{&quot;n&quot;:1,&quot;name&quot;:&quot;Mold 1 Cavity&quot;,&quot;fn&quot;:&quot;Ordinary single-shot mold that makes the rigid substrate.&quot;,&quot;bx&quot;:60,&quot;by&quot;:128,&quot;ax&quot;:60,&quot;ay&quot;:128},{&quot;n&quot;:2,&quot;name&quot;:&quot;Mold 1 Core&quot;,&quot;fn&quot;:&quot;Core of the first mold; parts are ejected and stocked or passed straight on.&quot;,&quot;bx&quot;:60,&quot;by&quot;:310,&quot;ax&quot;:60,&quot;ay&quot;:310},{&quot;n&quot;:3,&quot;name&quot;:&quot;Interlock Pins&quot;,&quot;fn&quot;:&quot;Form through-holes in the substrate so the overmold can lock in mechanically.&quot;,&quot;bx&quot;:232,&quot;by&quot;:150,&quot;ax&quot;:204,&quot;ay&quot;:170},{&quot;n&quot;:4,&quot;name&quot;:&quot;Gate 1&quot;,&quot;fn&quot;:&quot;Fills the substrate in the first mold.&quot;,&quot;bx&quot;:200,&quot;by&quot;:128,&quot;ax&quot;:173,&quot;ay&quot;:140},{&quot;n&quot;:5,&quot;name&quot;:&quot;Rigid Substrate&quot;,&quot;fn&quot;:&quot;Molded first, then moved to the second mold. It may be cold, so bonding relies more on interlocks.&quot;,&quot;bx&quot;:70,&quot;by&quot;:262,&quot;ax&quot;:95,&quot;ay&quot;:222},{&quot;n&quot;:6,&quot;name&quot;:&quot;Robot \\\/ Manual Transfer&quot;,&quot;fn&quot;:&quot;A robot gripper or an operator loads the substrate into mold 2. Adds handling time each cycle.&quot;,&quot;bx&quot;:612,&quot;by&quot;:96,&quot;ax&quot;:556,&quot;ay&quot;:104},{&quot;n&quot;:7,&quot;name&quot;:&quot;Mold 2 Core Nest&quot;,&quot;fn&quot;:&quot;Locates the substrate accurately so it cannot shift or crush when the mold closes.&quot;,&quot;bx&quot;:390,&quot;by&quot;:310,&quot;ax&quot;:390,&quot;ay&quot;:310},{&quot;n&quot;:8,&quot;name&quot;:&quot;Mold 2 Cavity&quot;,&quot;fn&quot;:&quot;Second mold, sized for the overmold layer on top of the substrate.&quot;,&quot;bx&quot;:720,&quot;by&quot;:128,&quot;ax&quot;:720,&quot;ay&quot;:128},{&quot;n&quot;:9,&quot;name&quot;:&quot;TPE Overmold&quot;,&quot;fn&quot;:&quot;Soft material fills the pad and the interlock holes.&quot;,&quot;bx&quot;:892,&quot;by&quot;:160,&quot;ax&quot;:870,&quot;ay&quot;:190},{&quot;n&quot;:10,&quot;name&quot;:&quot;Gate 2&quot;,&quot;fn&quot;:&quot;Injects the overmold material in the second mold, often on a separate machine.&quot;,&quot;bx&quot;:860,&quot;by&quot;:128,&quot;ax&quot;:833,&quot;ay&quot;:140},{&quot;n&quot;:11,&quot;name&quot;:&quot;Shut-off Surface&quot;,&quot;fn&quot;:&quot;Where cavity steel seals on the substrate. Tight shut-off (with slight preload) stops TPE flash.&quot;,&quot;bx&quot;:942,&quot;by&quot;:176,&quot;ax&quot;:906,&quot;ay&quot;:196}]\" style=\"display:none\"><svg viewBox=\"0 0 1000 470\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Pick and place overmolding in three steps\"><rect x=\"0\" y=\"0\" width=\"1000\" height=\"470\" fill=\"#ffffff\"\/><g data-p=\"1\"><rect x=\"40\" y=\"110\" width=\"260\" height=\"120\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"8\"><rect x=\"700\" y=\"110\" width=\"260\" height=\"120\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"2\"><path d=\"M40,230 H100 V206 H240 V230 H300 V330 H40 Z\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"7\"><path d=\"M370,230 H430 V206 H570 V230 H630 V330 H370 Z\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M700,230 H760 V206 H900 V230 H960 V330 H700 Z\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"5\"><path d=\"M90,230 V196 H136 V206 H144 V196 H196 V206 H204 V196 H250 V230 H240 V206 H100 V230 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M420,180 V146 H466 V156 H474 V146 H526 V156 H534 V146 H580 V180 H570 V156 H430 V180 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M750,230 V196 H796 V206 H804 V196 H856 V206 H864 V196 H910 V230 H900 V206 H760 V230 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"3\"><rect x=\"136\" y=\"150\" width=\"8\" height=\"56\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"196\" y=\"150\" width=\"8\" height=\"56\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"4\"><polygon points=\"166,110 174,110 172,196 168,196\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"9\"><rect x=\"770\" y=\"184\" width=\"120\" height=\"12\" fill=\"#9b6bd1\" stroke=\"#6b46a8\" stroke-width=\"0.8\"\/><rect x=\"796\" y=\"196\" width=\"8\" height=\"10\" fill=\"#9b6bd1\" stroke=\"#6b46a8\" stroke-width=\"0.8\"\/><rect x=\"856\" y=\"196\" width=\"8\" height=\"10\" fill=\"#9b6bd1\" stroke=\"#6b46a8\" stroke-width=\"0.8\"\/><\/g><g data-p=\"10\"><polygon points=\"826,110 834,110 832,184 828,184\" fill=\"#9b6bd1\" stroke=\"#6b46a8\" stroke-width=\"0.8\"\/><\/g><g data-p=\"11\"><line x1=\"750\" y1=\"196\" x2=\"769\" y2=\"196\" stroke=\"#1e3a5f\" stroke-width=\"4\"\/><line x1=\"891\" y1=\"196\" x2=\"910\" y2=\"196\" stroke=\"#1e3a5f\" stroke-width=\"4\"\/><\/g><g data-p=\"6\"><rect x=\"444\" y=\"100\" width=\"112\" height=\"18\" fill=\"#cbd5e1\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"412\" y=\"118\" width=\"8\" height=\"50\" fill=\"#cbd5e1\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"580\" y=\"118\" width=\"8\" height=\"50\" fill=\"#cbd5e1\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"412\" y=\"112\" width=\"176\" height=\"8\" fill=\"#cbd5e1\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><line x1=\"612\" y1=\"128\" x2=\"612\" y2=\"196\" stroke=\"#1e3a5f\" stroke-width=\"2\" marker-end=\"url(#twomg76816-a)\"\/><\/g><g pointer-events=\"none\"><line x1=\"40\" y1=\"230\" x2=\"300\" y2=\"230\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><line x1=\"700\" y1=\"230\" x2=\"960\" y2=\"230\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><line x1=\"170\" y1=\"94\" x2=\"170\" y2=\"344\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><line x1=\"500\" y1=\"94\" x2=\"500\" y2=\"344\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><line x1=\"830\" y1=\"94\" x2=\"830\" y2=\"344\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><text x=\"170\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">STEP 1 &#183; MOLD 1<\/text><text x=\"170\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Single-shot mold makes the substrate<\/text><text x=\"170\" y=\"412\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Rigid substrate<\/text><text x=\"170\" y=\"430\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Standard tool and machine<\/text><text x=\"170\" y=\"448\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Parts can be stocked<\/text><text x=\"500\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">STEP 2 &#183; TRANSFER<\/text><text x=\"500\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Robot or operator loads mold 2<\/text><text x=\"500\" y=\"412\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Substrate placed in core nest<\/text><text x=\"500\" y=\"430\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Accurate location is critical<\/text><text x=\"500\" y=\"448\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Adds handling time<\/text><text x=\"830\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">STEP 3 &#183; MOLD 2 &#183; SHOT 2<\/text><text x=\"830\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Overmold molded onto the substrate<\/text><text x=\"830\" y=\"412\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Cavity shuts off on substrate<\/text><text x=\"830\" y=\"430\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">TPE fills pad and holes<\/text><text x=\"830\" y=\"448\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Best for low to medium volume<\/text><\/g><g data-p=\"1\"><circle cx=\"60\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"60\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><circle cx=\"60\" cy=\"310\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"60\" y=\"314\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"221\" y1=\"150\" x2=\"204\" y2=\"170\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"204\" cy=\"170\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"232\" cy=\"150\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"232\" y=\"154\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"189\" y1=\"128\" x2=\"173\" y2=\"140\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"173\" cy=\"140\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"200\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"200\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"81\" y1=\"262\" x2=\"95\" y2=\"222\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"95\" cy=\"222\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"70\" cy=\"262\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"70\" y=\"266\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"601\" y1=\"96\" x2=\"556\" y2=\"104\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"556\" cy=\"104\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"612\" cy=\"96\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"612\" y=\"100\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><circle cx=\"390\" cy=\"310\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"390\" y=\"314\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><circle cx=\"720\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"720\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><line x1=\"881\" y1=\"160\" x2=\"870\" y2=\"190\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"870\" cy=\"190\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"892\" cy=\"160\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"892\" y=\"164\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\"><line x1=\"849\" y1=\"128\" x2=\"833\" y2=\"140\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"833\" cy=\"140\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"860\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"860\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><g data-p=\"11\"><line x1=\"931\" y1=\"176\" x2=\"906\" y2=\"196\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"906\" cy=\"196\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"942\" cy=\"176\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"942\" y=\"180\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><div class=\"tw-ms-stage\" data-panel=\"im\" data-parts=\"[{&quot;n&quot;:1,&quot;name&quot;:&quot;Cavity (A) Plate&quot;,&quot;fn&quot;:&quot;Shown open in step 1 for loading, closed in step 2 for injection.&quot;,&quot;bx&quot;:60,&quot;by&quot;:84,&quot;ax&quot;:60,&quot;ay&quot;:84},{&quot;n&quot;:2,&quot;name&quot;:&quot;Core (B) Plate&quot;,&quot;fn&quot;:&quot;Holds the locating pin; many insert molds run on vertical machines so inserts stay put by gravity.&quot;,&quot;bx&quot;:60,&quot;by&quot;:310,&quot;ax&quot;:60,&quot;ay&quot;:310},{&quot;n&quot;:3,&quot;name&quot;:&quot;Locating Core Pin&quot;,&quot;fn&quot;:&quot;Holds the insert in position and fills its thread so no plastic gets inside.&quot;,&quot;bx&quot;:222,&quot;by&quot;:214,&quot;ax&quot;:176,&quot;ay&quot;:220},{&quot;n&quot;:4,&quot;name&quot;:&quot;Metal Insert&quot;,&quot;fn&quot;:&quot;Brass or steel insert - threaded bush, pin or terminal. Often pre-heated to reduce stress and improve fill.&quot;,&quot;bx&quot;:108,&quot;by&quot;:150,&quot;ax&quot;:154,&quot;ay&quot;:150},{&quot;n&quot;:5,&quot;name&quot;:&quot;Knurl \\\/ Retention Grooves&quot;,&quot;fn&quot;:&quot;Plastic flows into grooves and knurls, locking the insert against pull-out and torque.&quot;,&quot;bx&quot;:892,&quot;by&quot;:200,&quot;ax&quot;:846,&quot;ay&quot;:213},{&quot;n&quot;:6,&quot;name&quot;:&quot;Plastic Body&quot;,&quot;fn&quot;:&quot;Molded around the insert. Keep enough wall thickness around it to avoid cracking as the plastic shrinks.&quot;,&quot;bx&quot;:390,&quot;by&quot;:200,&quot;ax&quot;:422,&quot;ay&quot;:200},{&quot;n&quot;:7,&quot;name&quot;:&quot;Gate&quot;,&quot;fn&quot;:&quot;Single shot of plastic; gate away from the insert so flow does not push it off the pin.&quot;,&quot;bx&quot;:530,&quot;by&quot;:128,&quot;ax&quot;:503,&quot;ay&quot;:140},{&quot;n&quot;:8,&quot;name&quot;:&quot;Shut-off Face&quot;,&quot;fn&quot;:&quot;Insert face seals against the core plate, keeping the thread free of flash.&quot;,&quot;bx&quot;:562,&quot;by&quot;:262,&quot;ax&quot;:516,&quot;ay&quot;:231},{&quot;n&quot;:9,&quot;name&quot;:&quot;Insert Loading&quot;,&quot;fn&quot;:&quot;Operator or robot places the insert on the pin each cycle; insert-present sensors guard the mold.&quot;,&quot;bx&quot;:262,&quot;by&quot;:150,&quot;ax&quot;:218,&quot;ay&quot;:150},{&quot;n&quot;:10,&quot;name&quot;:&quot;Clean Threaded Bore&quot;,&quot;fn&quot;:&quot;Ready-to-use thread with no tapping or heat-staking after molding.&quot;,&quot;bx&quot;:892,&quot;by&quot;:254,&quot;ax&quot;:836,&quot;ay&quot;:222}]\" style=\"display:none\"><svg viewBox=\"0 0 1000 470\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Insert molding with a threaded metal insert in three steps\"><rect x=\"0\" y=\"0\" width=\"1000\" height=\"470\" fill=\"#ffffff\"\/><g data-p=\"1\"><rect x=\"40\" y=\"66\" width=\"260\" height=\"60\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"90\" y=\"96\" width=\"160\" height=\"30\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"370\" y=\"110\" width=\"260\" height=\"120\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"2\"><rect x=\"40\" y=\"230\" width=\"260\" height=\"100\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"370\" y=\"230\" width=\"260\" height=\"100\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"3\"><rect x=\"164\" y=\"210\" width=\"12\" height=\"90\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"494\" y=\"210\" width=\"12\" height=\"90\" fill=\"url(#twomg76816-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"6\"><rect x=\"420\" y=\"170\" width=\"160\" height=\"60\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"750\" y=\"170\" width=\"160\" height=\"60\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"4\"><path d=\"M154,136 H186 V146 H182 V151 H186 V161 H182 V166 H186 V180 H154 V166 H158 V161 H154 V151 H158 V146 H154 Z\" fill=\"#c9a94e\" stroke=\"#8a6d1f\" stroke-width=\"1\"\/><path d=\"M484,186 H516 V196 H512 V201 H516 V211 H512 V216 H516 V230 H484 V216 H488 V211 H484 V201 H488 V196 H484 Z\" fill=\"#c9a94e\" stroke=\"#8a6d1f\" stroke-width=\"1\"\/><path d=\"M814,186 H846 V196 H842 V201 H846 V211 H842 V216 H846 V230 H814 V216 H818 V211 H814 V201 H818 V196 H814 Z\" fill=\"#c9a94e\" stroke=\"#8a6d1f\" stroke-width=\"1\"\/><\/g><g data-p=\"5\"><rect x=\"814\" y=\"196\" width=\"4\" height=\"5\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1.2\"\/><rect x=\"814\" y=\"211\" width=\"4\" height=\"5\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1.2\"\/><rect x=\"842\" y=\"196\" width=\"4\" height=\"5\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1.2\"\/><rect x=\"842\" y=\"211\" width=\"4\" height=\"5\" fill=\"#f2a33c\" stroke=\"#1e3a5f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"10\"><rect x=\"824\" y=\"210\" width=\"12\" height=\"20\" fill=\"#ffffff\" stroke=\"#8a6d1f\" stroke-width=\"1\"\/><line x1=\"824\" y1=\"213\" x2=\"836\" y2=\"215\" stroke=\"#8a6d1f\" stroke-width=\"1\"\/><line x1=\"824\" y1=\"217\" x2=\"836\" y2=\"219\" stroke=\"#8a6d1f\" stroke-width=\"1\"\/><line x1=\"824\" y1=\"221\" x2=\"836\" y2=\"223\" stroke=\"#8a6d1f\" stroke-width=\"1\"\/><line x1=\"824\" y1=\"225\" x2=\"836\" y2=\"227\" stroke=\"#8a6d1f\" stroke-width=\"1\"\/><\/g><g data-p=\"7\"><polygon points=\"496,110 504,110 502,170 498,170\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"8\"><line x1=\"484\" y1=\"230\" x2=\"516\" y2=\"230\" stroke=\"#1e3a5f\" stroke-width=\"4\"\/><\/g><g data-p=\"9\"><line x1=\"216\" y1=\"136\" x2=\"216\" y2=\"186\" stroke=\"#1e3a5f\" stroke-width=\"2\" marker-end=\"url(#twomg76816-a)\"\/><\/g><g pointer-events=\"none\"><line x1=\"370\" y1=\"230\" x2=\"630\" y2=\"230\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><line x1=\"170\" y1=\"94\" x2=\"170\" y2=\"344\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><line x1=\"500\" y1=\"94\" x2=\"500\" y2=\"344\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><line x1=\"830\" y1=\"94\" x2=\"830\" y2=\"344\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><text x=\"170\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">STEP 1 &#183; LOAD INSERT<\/text><text x=\"170\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Mold open, insert placed on the pin<\/text><text x=\"170\" y=\"412\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Insert on locating pin<\/text><text x=\"170\" y=\"430\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Often pre-heated<\/text><text x=\"170\" y=\"448\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Manual or robot loading<\/text><text x=\"500\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">STEP 2 &#183; CLOSE + INJECT<\/text><text x=\"500\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Plastic flows around the insert<\/text><text x=\"500\" y=\"412\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Pin and face seal the thread<\/text><text x=\"500\" y=\"430\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">One shot of plastic<\/text><text x=\"500\" y=\"448\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Gate away from the insert<\/text><text x=\"830\" y=\"34\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">STEP 3 &#183; FINISHED PART<\/text><text x=\"830\" y=\"52\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Metal insert locked in plastic<\/text><text x=\"830\" y=\"412\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Grooves resist pull-out and torque<\/text><text x=\"830\" y=\"430\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">No post-molding assembly<\/text><text x=\"830\" y=\"448\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Threads, pins, terminals<\/text><\/g><g data-p=\"1\"><circle cx=\"60\" cy=\"84\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"60\" y=\"88\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><circle cx=\"60\" cy=\"310\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"60\" y=\"314\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"211\" y1=\"214\" x2=\"176\" y2=\"220\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"176\" cy=\"220\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"222\" cy=\"214\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"222\" y=\"218\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"119\" y1=\"150\" x2=\"154\" y2=\"150\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"154\" cy=\"150\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"108\" cy=\"150\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"108\" y=\"154\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"881\" y1=\"200\" x2=\"846\" y2=\"213\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"846\" cy=\"213\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"892\" cy=\"200\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"892\" y=\"204\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"401\" y1=\"200\" x2=\"422\" y2=\"200\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"422\" cy=\"200\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"390\" cy=\"200\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"390\" y=\"204\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><line x1=\"519\" y1=\"128\" x2=\"503\" y2=\"140\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"503\" cy=\"140\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"530\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"530\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><line x1=\"551\" y1=\"262\" x2=\"516\" y2=\"231\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"516\" cy=\"231\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"562\" cy=\"262\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"562\" y=\"266\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><line x1=\"251\" y1=\"150\" x2=\"218\" y2=\"150\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"218\" cy=\"150\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"262\" cy=\"150\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"262\" y=\"154\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\"><line x1=\"881\" y1=\"254\" x2=\"836\" y2=\"222\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"836\" cy=\"222\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"892\" cy=\"254\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"892\" y=\"258\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><div class=\"tw-omg-key\"><span><i style=\"background:#f2a33c\"><\/i>Rigid plastic (shot 1)<\/span><span><i style=\"background:#9b6bd1\"><\/i>Soft TPE \/ TPU (shot 2)<\/span><span><i style=\"background:#c9a94e\"><\/i>Metal insert<\/span><span><i style=\"background:#e6ecf3;border:1px solid #5b6b7f\"><\/i>Mold steel<\/span><\/div><div class=\"tw-omg-table\"><table><thead><tr><th><\/th><th>Two-Shot (2K)<\/th><th>Overmolding<\/th><th>Insert Molding<\/th><\/tr><\/thead><tbody><tr><th>Machine<\/th><td>Two-barrel machine with rotary platen or core-back<\/td><td>Standard machine(s)<\/td><td>Standard or vertical machine<\/td><\/tr><tr><th>Tooling<\/th><td>One complex 2K mold<\/td><td>Two simpler molds<\/td><td>One mold plus insert loading<\/td><\/tr><tr><th>Cycle<\/th><td>Shortest &ndash; both shots every cycle<\/td><td>Longest &ndash; two cycles plus transfer<\/td><td>One shot plus loading time<\/td><\/tr><tr><th>Best volume<\/th><td>High<\/td><td>Low to medium<\/td><td>Any<\/td><\/tr><tr><th>Bond<\/th><td>Chemical + mechanical (warm substrate)<\/td><td>Mainly mechanical; chemical if materials match<\/td><td>Mechanical (knurls, grooves, undercuts)<\/td><\/tr><tr><th>Typical parts<\/th><td>Toothbrushes, tool grips, seals, buttons<\/td><td>Soft-touch grips, low-volume two-material parts<\/td><td>Threaded bosses, terminals, pins, bushings<\/td><\/tr><\/tbody><\/table><\/div><script> (function () { var root = document.getElementById('twomg76816'); if (!root) return; var tabs = root.querySelectorAll('.tw-omg-tabs button'), panels = root.querySelectorAll('.tw-ms-stage'); var resets = []; function clamp(v, a, b) { return Math.max(a, Math.min(b, v)); } function initStage(stage) { var P = JSON.parse(stage.getAttribute('data-parts')); var svg = stage.querySelector('svg'), tip = stage.querySelector('.tw-ms-tip'); var els = svg.querySelectorAll('[data-p]'); var pinned = null; function part(n) { for (var i = 0; i < P.length; i++) { if (String(P[i].n) === String(n)) return P[i]; } return null; } function union(n) { var x1 = 1e9, y1 = 1e9, x2 = -1e9, y2 = -1e9; for (var i = 0; i < els.length; i++) { if (els[i].getAttribute('data-p') !== String(n)) continue; var b = els[i].getBBox(); x1 = Math.min(x1, b.x); y1 = Math.min(y1, b.y); x2 = Math.max(x2, b.x + b.width); y2 = Math.max(y2, b.y + b.height); } return { x1: x1, y1: y1, x2: x2, y2: y2 }; } function place(n, p) { var s = svg.getBoundingClientRect(), w = stage.getBoundingClientRect(); var k = s.width \/ 1000, ox = s.left - w.left, oy = s.top - w.top; var u = union(n); var L = ox + u.x1 * k, T = oy + u.y1 * k, Rt = ox + u.x2 * k, B = oy + u.y2 * k; var bx = ox + p.bx * k, by = oy + p.by * k; var W = w.width, H = w.height, gap = 10, m = 6; tip.style.display = 'block'; tip.style.width = Math.min(250, W - 2 * m) + 'px'; var tw = tip.offsetWidth, th = tip.offsetHeight; var order = p.bx < 500 ? ['r', 'l', 'b', 't'] : ['l', 'r', 'b', 't']; var pos = null; function at(sd) { if (sd === 'l') return { x: L - gap - tw, y: clamp(by - th \/ 2, m, H - th - m), ok: L - gap - tw >= m }; if (sd === 'r') return { x: Rt + gap, y: clamp(by - th \/ 2, m, H - th - m), ok: Rt + gap + tw <= W - m }; if (sd === 'b') return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: B + gap, ok: B + gap + th <= H - m }; return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: T - gap - th, ok: T - gap - th >= m }; } for (var i = 0; i < order.length && !pos; i++) { var c = at(order[i]); if (c.ok) pos = c; } if (!pos) { var sp = { l: L - tw, r: W - Rt - tw, t: T - th, b: H - B - th }, best = 'b'; for (var key in sp) { if (sp[key] > sp[best]) best = key; } pos = at(best); } tip.style.left = clamp(pos.x, m, W - tw - m) + 'px'; tip.style.top = clamp(pos.y, m, H - th - m) + 'px'; } function show(n) { var p = part(n); if (!p) return; for (var i = 0; i < els.length; i++) els[i].style.opacity = els[i].getAttribute('data-p') === String(n) ? '1' : '0.18'; tip.innerHTML = '<div class=\"h\"><span class=\"tw-ms-num\"><\/span><span class=\"nm\"><\/span><\/div><p><\/p>'; tip.querySelector('.tw-ms-num').textContent = p.n; var d = document.createElement('textarea'); d.innerHTML = p.name; tip.querySelector('.nm').textContent = d.value; d.innerHTML = p.fn; tip.querySelector('p').textContent = d.value; place(n, p); } function hide() { for (var i = 0; i < els.length; i++) els[i].style.opacity = ''; tip.style.display = 'none'; } for (var i = 0; i < els.length; i++) { (function (el) { var n = el.getAttribute('data-p'); el.addEventListener('mouseenter', function () { if (pinned === null) show(n); }); el.addEventListener('mouseleave', function () { if (pinned === null) hide(); }); el.addEventListener('click', function (e) { e.stopPropagation(); if (pinned === n) { pinned = null; hide(); } else { pinned = n; show(n); } }); })(els[i]); } svg.addEventListener('click', function () { pinned = null; hide(); }); resets.push(function () { pinned = null; hide(); }); } for (var i = 0; i < panels.length; i++) initStage(panels[i]); for (i = 0; i < tabs.length; i++) { tabs[i].addEventListener('click', function () { var key = this.getAttribute('data-tab'); for (var j = 0; j < tabs.length; j++) { var on = tabs[j].getAttribute('data-tab') === key; tabs[j].style.background = on ? '#1e3a5f' : '#ffffff'; tabs[j].style.color = on ? '#ffffff' : '#1e3a5f'; tabs[j].style.borderColor = on ? '#1e3a5f' : '#c9d3df'; tabs[j].setAttribute('aria-selected', on ? 'true' : 'false'); } for (j = 0; j < panels.length; j++) panels[j].style.display = panels[j].getAttribute('data-panel') === key ? 'block' : 'none'; for (j = 0; j < resets.length; j++) resets[j](); }); } window.addEventListener('resize', function () { for (var j = 0; j < resets.length; j++) resets[j](); }); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twomge74392\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this guide on your site<\/strong><button type=\"button\" class=\"twomge-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-overmold-guide&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_overmold_guide_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:980px&quot; loading=&quot;lazy&quot; title=&quot;Two-Shot, Overmolding and Insert Molding - Interactive Guide&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_overmold_guide&quot;){var f=document.getElementById(&quot;tw-overmold-guide&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive overmolding guide by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twomge74392'); if (!box) return; var btn = box.querySelector('.twomge-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><\/div><div id=\"cooling-channels\" class=\"wp-block-group tw-tool tw-cat-mold is-layout-flow wp-block-group-is-layout-flow\"><div class=\"tw-ms\" id=\"twcc17655\"><style> #twcc17655{max-width:1000px;margin:24px auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif;color:#1f2a37} #twcc17655 .tw-ms-head{margin:0 0 10px} #twcc17655 .tw-ms-head h3{margin:0 0 4px;font-size:20px;line-height:1.3;color:#1e3a5f} #twcc17655 .tw-ms-head p{margin:0;font-size:13.5px;color:#5b6b7f} #twcc17655 .tw-ms-stage{position:relative;background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;overflow:hidden} #twcc17655 .tw-ms-stage svg{display:block;width:100%;height:auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twcc17655 .tw-ms-stage svg [data-p]{cursor:pointer;transition:opacity .15s} #twcc17655 .tw-ms-tip{position:absolute;display:none;z-index:5;box-sizing:border-box;background:#ffffff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.45;pointer-events:none;box-shadow:0 4px 14px rgba(30,58,95,.12)} #twcc17655 .tw-ms-tip .h{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-weight:700;color:#1e3a5f} #twcc17655 .tw-ms-tip p{margin:0;color:#374151} #twcc17655 .tw-ms-num{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#1e3a5f;color:#ffffff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center} @media (max-width:560px){#twcc17655 .tw-ms-tip{font-size:12px;padding:7px 9px}} <\/style><div class=\"tw-ms-head\"><h3>Mold Cooling Channels &ndash; Straight vs Baffle vs Bubbler<\/h3><p>Three ways to bring cooling water to the part. Hover or tap any part or number.<\/p><\/div><div class=\"tw-ms-stage\"><svg viewBox=\"0 0 1000 520\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Cross-sections comparing straight drilled cooling channels, a baffle and a bubbler in an injection mold\"><defs><pattern id=\"twcc17655-h\" width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"8\" height=\"8\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"#5b6b7f\" stroke-width=\"0.6\" stroke-opacity=\"0.35\"\/><\/pattern><marker id=\"twcc17655-m\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\"><path d=\"M0,1 L10,5 L0,9 Z\" fill=\"#1e3a5f\"\/><\/marker><marker id=\"twcc17655-w\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"5\" markerHeight=\"5\" orient=\"auto\"><path d=\"M0,0 L10,5 L0,10 Z\" fill=\"#ffffff\"\/><\/marker><\/defs><rect x=\"0\" y=\"0\" width=\"1000\" height=\"520\" fill=\"#ffffff\"\/><g data-p=\"1\"><rect x=\"30\" y=\"110\" width=\"280\" height=\"140\" fill=\"url(#twcc17655-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"360\" y=\"100\" width=\"280\" height=\"200\" fill=\"url(#twcc17655-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"690\" y=\"100\" width=\"280\" height=\"200\" fill=\"url(#twcc17655-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"2\"><path d=\"M30,250 H72 V232 H268 V250 H310 V400 H30 Z\" fill=\"url(#twcc17655-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M360,300 H442 V172 H558 V300 H640 V420 H360 Z\" fill=\"url(#twcc17655-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M690,300 H772 V172 H888 V300 H970 V420 H690 Z\" fill=\"url(#twcc17655-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"3\"><path d=\"M60,250 V220 H280 V250 H268 V232 H72 V250 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M430,300 V160 H570 V300 H558 V172 H442 V300 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M760,300 V160 H900 V300 H888 V172 H772 V300 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"4\"><circle cx=\"92\" cy=\"196\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"92\" cy=\"196\" r=\"2.2\" fill=\"#ffffff\"\/><circle cx=\"144\" cy=\"196\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><path d=\"M140.5,192.5 L147.5,199.5 M147.5,192.5 L140.5,199.5\" stroke=\"#ffffff\" stroke-width=\"1.6\"\/><circle cx=\"196\" cy=\"196\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"196\" cy=\"196\" r=\"2.2\" fill=\"#ffffff\"\/><circle cx=\"248\" cy=\"196\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><path d=\"M244.5,192.5 L251.5,199.5 M251.5,192.5 L244.5,199.5\" stroke=\"#ffffff\" stroke-width=\"1.6\"\/><circle cx=\"92\" cy=\"264\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"92\" cy=\"264\" r=\"2.2\" fill=\"#ffffff\"\/><circle cx=\"144\" cy=\"264\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><path d=\"M140.5,260.5 L147.5,267.5 M147.5,260.5 L140.5,267.5\" stroke=\"#ffffff\" stroke-width=\"1.6\"\/><circle cx=\"196\" cy=\"264\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"196\" cy=\"264\" r=\"2.2\" fill=\"#ffffff\"\/><circle cx=\"248\" cy=\"264\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><path d=\"M244.5,260.5 L251.5,267.5 M251.5,260.5 L244.5,267.5\" stroke=\"#ffffff\" stroke-width=\"1.6\"\/><circle cx=\"395\" cy=\"200\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"605\" cy=\"200\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"395\" cy=\"250\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"605\" cy=\"250\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"725\" cy=\"200\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"935\" cy=\"200\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"725\" cy=\"250\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"935\" cy=\"250\" r=\"8\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><\/g><g data-p=\"5\"><line x1=\"256\" y1=\"196\" x2=\"296\" y2=\"196\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"280\" y1=\"220\" x2=\"296\" y2=\"220\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"290\" y1=\"198\" x2=\"290\" y2=\"218\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twcc17655-m)\" marker-end=\"url(#twcc17655-m)\"\/><text x=\"294\" y=\"212\" font-size=\"11\" font-weight=\"700\" font-style=\"italic\" fill=\"#1e3a5f\">C<\/text><line x1=\"92\" y1=\"186\" x2=\"92\" y2=\"144\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"144\" y1=\"186\" x2=\"144\" y2=\"144\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><line x1=\"94\" y1=\"150\" x2=\"142\" y2=\"150\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twcc17655-m)\" marker-end=\"url(#twcc17655-m)\"\/><text x=\"118\" y=\"144\" font-size=\"11\" font-weight=\"700\" font-style=\"italic\" fill=\"#1e3a5f\" text-anchor=\"middle\">P<\/text><text x=\"196\" y=\"183\" font-size=\"10\" font-weight=\"700\" font-style=\"italic\" fill=\"#1e3a5f\" text-anchor=\"middle\">&#216;D<\/text><\/g><g data-p=\"8\"><rect x=\"360\" y=\"372\" width=\"280\" height=\"16\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><\/g><g data-p=\"6\"><path d=\"M486,388 V198 L500,190 L514,198 V388 Z\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><\/g><g data-p=\"7\"><rect x=\"498\" y=\"206\" width=\"4\" height=\"182\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"11\"><rect x=\"690\" y=\"392\" width=\"146\" height=\"16\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><\/g><g data-p=\"12\"><rect x=\"816\" y=\"352\" width=\"154\" height=\"16\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><\/g><g data-p=\"9\"><path d=\"M816,368 V198 L830,190 L844,198 V368 Z\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><\/g><g data-p=\"10\"><rect x=\"825\" y=\"204\" width=\"10\" height=\"204\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><rect x=\"827.5\" y=\"204\" width=\"5\" height=\"204\" fill=\"#2f7de1\"\/><\/g><g pointer-events=\"none\"><line x1=\"30\" y1=\"250\" x2=\"310\" y2=\"250\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><line x1=\"360\" y1=\"300\" x2=\"640\" y2=\"300\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><line x1=\"690\" y1=\"300\" x2=\"970\" y2=\"300\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><line x1=\"492\" y1=\"360\" x2=\"492\" y2=\"226\" stroke=\"#ffffff\" stroke-width=\"1.6\" marker-end=\"url(#twcc17655-w)\"\/><line x1=\"508\" y1=\"222\" x2=\"508\" y2=\"356\" stroke=\"#ffffff\" stroke-width=\"1.6\" marker-end=\"url(#twcc17655-w)\"\/><line x1=\"370\" y1=\"380\" x2=\"470\" y2=\"380\" stroke=\"#ffffff\" stroke-width=\"1.6\" marker-end=\"url(#twcc17655-w)\"\/><line x1=\"530\" y1=\"380\" x2=\"630\" y2=\"380\" stroke=\"#ffffff\" stroke-width=\"1.6\" marker-end=\"url(#twcc17655-w)\"\/><line x1=\"830\" y1=\"396\" x2=\"830\" y2=\"214\" stroke=\"#ffffff\" stroke-width=\"1.6\" marker-end=\"url(#twcc17655-w)\"\/><line x1=\"821\" y1=\"214\" x2=\"821\" y2=\"340\" stroke=\"#ffffff\" stroke-width=\"1.6\" marker-end=\"url(#twcc17655-w)\"\/><line x1=\"839\" y1=\"214\" x2=\"839\" y2=\"340\" stroke=\"#ffffff\" stroke-width=\"1.6\" marker-end=\"url(#twcc17655-w)\"\/><line x1=\"700\" y1=\"400\" x2=\"810\" y2=\"400\" stroke=\"#ffffff\" stroke-width=\"1.6\" marker-end=\"url(#twcc17655-w)\"\/><line x1=\"860\" y1=\"360\" x2=\"960\" y2=\"360\" stroke=\"#ffffff\" stroke-width=\"1.6\" marker-end=\"url(#twcc17655-w)\"\/><text x=\"170\" y=\"40\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">1 &#183; STRAIGHT DRILLED CHANNELS<\/text><text x=\"170\" y=\"60\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Holes drilled through the plates<\/text><text x=\"170\" y=\"464\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Best for: flat and shallow parts<\/text><text x=\"170\" y=\"482\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Rule: C = 1&#8211;2 D, P = 3&#8211;5 D<\/text><text x=\"170\" y=\"500\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Limit: cannot reach inside deep cores<\/text><text x=\"500\" y=\"40\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">2 &#183; BAFFLE<\/text><text x=\"500\" y=\"60\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">A blade splits one hole into up \/ down flow<\/text><text x=\"500\" y=\"464\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Best for: deep, wide cores<\/text><text x=\"500\" y=\"482\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Simple, cheap, high flow<\/text><text x=\"500\" y=\"500\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Limit: weaker cooling at the blade tip<\/text><text x=\"830\" y=\"40\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">3 &#183; BUBBLER (FOUNTAIN)<\/text><text x=\"830\" y=\"60\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">An inner tube sprays water onto the core tip<\/text><text x=\"830\" y=\"464\" font-size=\"11.5\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">Best for: slender cores and core pins<\/text><text x=\"830\" y=\"482\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Coldest water reaches the tip first<\/text><text x=\"830\" y=\"500\" font-size=\"11\" font-weight=\"400\" fill=\"#5b6b7f\" text-anchor=\"middle\">Rule: tube bore area &#8776; annulus area<\/text><text x=\"360\" y=\"436\" font-size=\"10\" font-weight=\"700\" fill=\"#1d5fb3\" text-anchor=\"start\">IN<\/text><text x=\"640\" y=\"436\" font-size=\"10\" font-weight=\"700\" fill=\"#1d5fb3\" text-anchor=\"end\">OUT<\/text><text x=\"690\" y=\"436\" font-size=\"10\" font-weight=\"700\" fill=\"#1d5fb3\" text-anchor=\"start\">IN<\/text><text x=\"970\" y=\"348\" font-size=\"10\" font-weight=\"700\" fill=\"#1d5fb3\" text-anchor=\"end\">OUT<\/text><\/g><g data-p=\"1\"><line x1=\"63\" y1=\"128\" x2=\"52\" y2=\"128\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"52\" cy=\"128\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"52\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"52\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><line x1=\"63\" y1=\"380\" x2=\"52\" y2=\"380\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"52\" cy=\"380\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"52\" cy=\"380\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"52\" y=\"384\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"141\" y1=\"300\" x2=\"66\" y2=\"240\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"66\" cy=\"240\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"130\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"130\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"241\" y1=\"320\" x2=\"248\" y2=\"272\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"248\" cy=\"272\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"230\" cy=\"320\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"230\" y=\"324\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"241\" y1=\"140\" x2=\"288\" y2=\"200\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"288\" cy=\"200\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"230\" cy=\"140\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"230\" y=\"144\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"475\" y1=\"250\" x2=\"486\" y2=\"250\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"486\" cy=\"250\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"464\" cy=\"250\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"464\" y=\"254\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><line x1=\"525\" y1=\"230\" x2=\"502\" y2=\"230\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"502\" cy=\"230\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"536\" cy=\"230\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"536\" y=\"234\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><line x1=\"431\" y1=\"350\" x2=\"420\" y2=\"374\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"420\" cy=\"374\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"420\" cy=\"350\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"420\" y=\"354\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><line x1=\"781\" y1=\"250\" x2=\"816\" y2=\"250\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"816\" cy=\"250\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"792\" cy=\"250\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"792\" y=\"254\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\"><line x1=\"857\" y1=\"230\" x2=\"835\" y2=\"230\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"835\" cy=\"230\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"868\" cy=\"230\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"868\" y=\"234\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><g data-p=\"11\"><line x1=\"739\" y1=\"440\" x2=\"750\" y2=\"408\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"750\" cy=\"408\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"750\" cy=\"440\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"750\" y=\"444\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><g data-p=\"12\"><line x1=\"899\" y1=\"334\" x2=\"910\" y2=\"352\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"910\" cy=\"352\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"910\" cy=\"334\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"910\" y=\"338\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">12<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><script> (function () { var root = document.getElementById('twcc17655'); if (!root) return; var P = [{\"n\":1,\"name\":\"Cavity (A) Plate\",\"fn\":\"Forms the outside of the part. Cooled here by straight drilled channels in all three examples.\",\"bx\":52,\"by\":128,\"ax\":52,\"ay\":128},{\"n\":2,\"name\":\"Core (B) Plate & Core\",\"fn\":\"Forms the inside of the part. A deep core traps heat and is the hardest area to cool.\",\"bx\":52,\"by\":380,\"ax\":52,\"ay\":380},{\"n\":3,\"name\":\"Molded Part\",\"fn\":\"Shallow part (left) and the same deep cup on a tall core (middle and right).\",\"bx\":130,\"by\":300,\"ax\":66,\"ay\":240},{\"n\":4,\"name\":\"Straight Drilled Channels\",\"fn\":\"Cross-drilled holes running through the plate (seen end-on as circles). Cheap and easy; ideal for flat or shallow areas.\",\"bx\":230,\"by\":320,\"ax\":248,\"ay\":272},{\"n\":5,\"name\":\"Channel Layout Rules\",\"fn\":\"D = channel diameter. Keep C (surface to channel center) about 1-2 D and pitch P about 3-5 D for even cooling.\",\"bx\":230,\"by\":140,\"ax\":288,\"ay\":200},{\"n\":6,\"name\":\"Baffle Hole\",\"fn\":\"Vertical hole drilled up into the core and filled with flowing water.\",\"bx\":464,\"by\":250,\"ax\":486,\"ay\":250},{\"n\":7,\"name\":\"Baffle Blade\",\"fn\":\"Thin plate that splits the hole: water runs up one side, over the top and down the other. The blade tip is a weaker-cooled spot.\",\"bx\":536,\"by\":230,\"ax\":502,\"ay\":230},{\"n\":8,\"name\":\"Baffle Feed Channel\",\"fn\":\"Horizontal supply line; the blade blocks it so all water is forced up into the core.\",\"bx\":420,\"by\":350,\"ax\":420,\"ay\":374},{\"n\":9,\"name\":\"Bubbler Hole (Annulus)\",\"fn\":\"Vertical hole in the core; water returns down the ring-shaped gap around the tube.\",\"bx\":792,\"by\":250,\"ax\":816,\"ay\":250},{\"n\":10,\"name\":\"Bubbler Tube\",\"fn\":\"Inner tube that shoots the coldest water straight onto the core tip, like a fountain. Size it so tube bore area roughly equals annulus area.\",\"bx\":868,\"by\":230,\"ax\":835,\"ay\":230},{\"n\":11,\"name\":\"Bubbler Inlet Channel\",\"fn\":\"Lower supply line that feeds water into the bottom of the tube.\",\"bx\":750,\"by\":440,\"ax\":750,\"ay\":408},{\"n\":12,\"name\":\"Bubbler Outlet Channel\",\"fn\":\"Upper return line that collects the warmed water coming down the annulus.\",\"bx\":910,\"by\":334,\"ax\":910,\"ay\":352}]; var svg = root.querySelector('svg'), stage = root.querySelector('.tw-ms-stage'), tip = root.querySelector('.tw-ms-tip'); var els = svg.querySelectorAll('[data-p]'); var pinned = null; function part(n) { for (var i = 0; i < P.length; i++) { if (String(P[i].n) === String(n)) return P[i]; } return null; } function union(n) { var x1 = 1e9, y1 = 1e9, x2 = -1e9, y2 = -1e9; for (var i = 0; i < els.length; i++) { if (els[i].getAttribute('data-p') !== String(n)) continue; var b = els[i].getBBox(); x1 = Math.min(x1, b.x); y1 = Math.min(y1, b.y); x2 = Math.max(x2, b.x + b.width); y2 = Math.max(y2, b.y + b.height); } return { x1: x1, y1: y1, x2: x2, y2: y2 }; } function clamp(v, a, b) { return Math.max(a, Math.min(b, v)); } function place(n, p) { var s = svg.getBoundingClientRect(), w = stage.getBoundingClientRect(); var k = s.width \/ 1000, ox = s.left - w.left, oy = s.top - w.top; var u = union(n); var L = ox + u.x1 * k, T = oy + u.y1 * k, Rt = ox + u.x2 * k, B = oy + u.y2 * k; var bx = ox + p.bx * k, by = oy + p.by * k; var W = w.width, H = w.height, gap = 10, m = 6; tip.style.display = 'block'; tip.style.width = Math.min(250, W - 2 * m) + 'px'; var tw = tip.offsetWidth, th = tip.offsetHeight; var order = p.bx < 500 ? ['l', 'r', 'b', 't'] : ['r', 'l', 'b', 't']; var pos = null; function at(sd) { if (sd === 'l') return { x: L - gap - tw, y: clamp(by - th \/ 2, m, H - th - m), ok: L - gap - tw >= m }; if (sd === 'r') return { x: Rt + gap, y: clamp(by - th \/ 2, m, H - th - m), ok: Rt + gap + tw <= W - m }; if (sd === 'b') return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: B + gap, ok: B + gap + th <= H - m }; return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: T - gap - th, ok: T - gap - th >= m }; } for (var i = 0; i < order.length && !pos; i++) { var c = at(order[i]); if (c.ok) pos = c; } if (!pos) { var sp = { l: L - tw, r: W - Rt - tw, t: T - th, b: H - B - th }, best = 'b'; for (var key in sp) { if (sp[key] > sp[best]) best = key; } pos = at(best); } tip.style.left = clamp(pos.x, m, W - tw - m) + 'px'; tip.style.top = clamp(pos.y, m, H - th - m) + 'px'; } function show(n) { var p = part(n); if (!p) return; var i; for (i = 0; i < els.length; i++) els[i].style.opacity = els[i].getAttribute('data-p') === String(n) ? '1' : '0.18'; tip.innerHTML = '<div class=\"h\"><span class=\"tw-ms-num\"><\/span><span class=\"nm\"><\/span><\/div><p><\/p>'; tip.querySelector('.tw-ms-num').textContent = p.n; tip.querySelector('.nm').textContent = p.name; tip.querySelector('p').textContent = p.fn; place(n, p); } function hide() { var i; for (i = 0; i < els.length; i++) els[i].style.opacity = ''; tip.style.display = 'none'; } function bind(el) { var n = el.getAttribute('data-p'); el.addEventListener('mouseenter', function () { if (pinned === null) show(n); }); el.addEventListener('mouseleave', function () { if (pinned === null) hide(); }); el.addEventListener('click', function (e) { e.stopPropagation(); if (pinned === n) { pinned = null; hide(); } else { pinned = n; show(n); } }); } for (var i = 0; i < els.length; i++) bind(els[i]); svg.addEventListener('click', function () { pinned = null; hide(); }); window.addEventListener('resize', function () { if (pinned !== null) show(pinned); else hide(); }); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twcce68140\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this diagram on your site<\/strong><button type=\"button\" class=\"twcce-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-cooling-compare&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_cooling_compare_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:640px&quot; loading=&quot;lazy&quot; title=&quot;Mold Cooling Channels: Straight vs Baffle vs Bubbler - Interactive Diagram&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_cooling_compare&quot;){var f=document.getElementById(&quot;tw-cooling-compare&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive mold cooling diagram by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twcce68140'); if (!box) return; var btn = box.querySelector('.twcce-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><\/div><div id=\"two-vs-three-plate\" class=\"wp-block-group tw-tool tw-cat-structure is-layout-flow wp-block-group-is-layout-flow\"><div class=\"tw-ms\" id=\"twpc98199\"><style> #twpc98199{max-width:1000px;margin:24px auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif;color:#1f2a37} #twpc98199 .tw-ms-head{margin:0 0 10px} #twpc98199 .tw-ms-head h3{margin:0 0 4px;font-size:20px;line-height:1.3;color:#1e3a5f} #twpc98199 .tw-ms-head p{margin:0;font-size:13.5px;color:#5b6b7f} #twpc98199 .tw-ms-stage{position:relative;background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;overflow:hidden} #twpc98199 .tw-ms-stage svg{display:block;width:100%;height:auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twpc98199 .tw-ms-stage svg [data-p]{cursor:pointer;transition:opacity .15s} #twpc98199 .tw-ms-tip{position:absolute;display:none;z-index:5;box-sizing:border-box;background:#ffffff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.45;pointer-events:none;box-shadow:0 4px 14px rgba(30,58,95,.12)} #twpc98199 .tw-ms-tip .h{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-weight:700;color:#1e3a5f} #twpc98199 .tw-ms-tip p{margin:0;color:#374151} #twpc98199 .tw-ms-num{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#1e3a5f;color:#ffffff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center} @media (max-width:560px){#twpc98199 .tw-ms-tip{font-size:12px;padding:7px 9px}} <\/style><div class=\"tw-ms-head\"><h3>Two-Plate vs Three-Plate Mold<\/h3><p>Same two-cavity part, both molds closed. Hover or tap any part or number.<\/p><\/div><div class=\"tw-ms-stage\"><svg viewBox=\"0 0 1000 556\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Side-by-side cross-sections of a two-plate and a three-plate injection mold, 21 numbered components\"><defs><pattern id=\"twpc98199-h\" width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"8\" height=\"8\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"#5b6b7f\" stroke-width=\"0.6\" stroke-opacity=\"0.35\"\/><\/pattern><\/defs><rect x=\"0\" y=\"0\" width=\"1000\" height=\"556\" fill=\"#ffffff\"\/><g data-p=\"3\"><rect x=\"75\" y=\"150\" width=\"360\" height=\"40\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"565\" y=\"110\" width=\"360\" height=\"40\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"862\" y=\"124\" width=\"26\" height=\"26\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"16\"><rect x=\"585\" y=\"150\" width=\"320\" height=\"40\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"4\"><rect x=\"95\" y=\"190\" width=\"320\" height=\"110\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"585\" y=\"190\" width=\"320\" height=\"110\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"5\"><path d=\"M95,300 H142 V272 H198 V300 H312 V272 H368 V300 H415 V390 H95 Z\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M585,300 H632 V272 H688 V300 H802 V272 H858 V300 H905 V390 H585 Z\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"6\"><rect x=\"95\" y=\"390\" width=\"30\" height=\"100\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"385\" y=\"390\" width=\"30\" height=\"100\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"585\" y=\"390\" width=\"30\" height=\"100\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"875\" y=\"390\" width=\"30\" height=\"100\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"7\"><rect x=\"128\" y=\"450\" width=\"254\" height=\"20\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"618\" y=\"450\" width=\"254\" height=\"20\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"8\"><rect x=\"128\" y=\"470\" width=\"254\" height=\"20\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"618\" y=\"470\" width=\"254\" height=\"20\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"9\"><rect x=\"75\" y=\"490\" width=\"360\" height=\"40\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"565\" y=\"490\" width=\"360\" height=\"40\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"10\"><rect x=\"133\" y=\"300\" width=\"6\" height=\"162\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"129\" y=\"462\" width=\"14\" height=\"8\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"201\" y=\"300\" width=\"6\" height=\"162\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"197\" y=\"462\" width=\"14\" height=\"8\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"303\" y=\"300\" width=\"6\" height=\"162\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"299\" y=\"462\" width=\"14\" height=\"8\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"371\" y=\"300\" width=\"6\" height=\"162\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"367\" y=\"462\" width=\"14\" height=\"8\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"623\" y=\"300\" width=\"6\" height=\"162\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"619\" y=\"462\" width=\"14\" height=\"8\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"691\" y=\"300\" width=\"6\" height=\"162\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"687\" y=\"462\" width=\"14\" height=\"8\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"793\" y=\"300\" width=\"6\" height=\"162\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"789\" y=\"462\" width=\"14\" height=\"8\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"861\" y=\"300\" width=\"6\" height=\"162\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"857\" y=\"462\" width=\"14\" height=\"8\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"15\"><rect x=\"251\" y=\"316\" width=\"8\" height=\"146\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"248\" y=\"462\" width=\"14\" height=\"8\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"17\"><rect x=\"587\" y=\"110\" width=\"16\" height=\"8\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M591,118 H599 V284 Q595,292 591,284 Z\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"19\"><rect x=\"866\" y=\"138\" width=\"18\" height=\"12\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"872\" y=\"150\" width=\"6\" height=\"90\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"18\"><rect x=\"652\" y=\"110\" width=\"16\" height=\"8\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"657\" y=\"118\" width=\"6\" height=\"71\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"822\" y=\"110\" width=\"16\" height=\"8\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"827\" y=\"118\" width=\"6\" height=\"71\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"2\"><rect x=\"228\" y=\"150\" width=\"54\" height=\"12\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"242\" y=\"162\" width=\"26\" height=\"138\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"718\" y=\"110\" width=\"54\" height=\"12\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"732\" y=\"122\" width=\"26\" height=\"68\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"13\"><polygon points=\"251,150 259,150 263,300 247,300\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"249\" y=\"300\" width=\"12\" height=\"16\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"14\"><rect x=\"220\" y=\"295\" width=\"70\" height=\"10\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"210\" y=\"297\" width=\"10\" height=\"4\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"290\" y=\"297\" width=\"10\" height=\"4\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"20\"><polygon points=\"741,110 749,110 752,190 738,190\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"656\" y=\"186\" width=\"178\" height=\"8\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"21\"><polygon points=\"656,194 664,194 661,260 659,260\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><polygon points=\"826,194 834,194 831,260 829,260\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"11\"><path d=\"M130,300 V260 H210 V300 H198 V272 H142 V300 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M300,300 V260 H380 V300 H368 V272 H312 V300 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M620,300 V260 H700 V300 H688 V272 H632 V300 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M790,300 V260 H870 V300 H858 V272 H802 V300 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"12\"><circle cx=\"150\" cy=\"232\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"190\" cy=\"232\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"320\" cy=\"232\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"360\" cy=\"232\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"170\" cy=\"345\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"340\" cy=\"345\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"630\" cy=\"232\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"690\" cy=\"232\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"800\" cy=\"232\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"860\" cy=\"232\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"660\" cy=\"345\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"830\" cy=\"345\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><\/g><g data-p=\"1\"><rect x=\"222\" y=\"128\" width=\"22\" height=\"22\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"266\" y=\"128\" width=\"22\" height=\"22\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"712\" y=\"88\" width=\"22\" height=\"22\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"756\" y=\"88\" width=\"22\" height=\"22\" fill=\"url(#twpc98199-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g pointer-events=\"none\"><text x=\"255\" y=\"36\" font-size=\"15\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">TWO-PLATE MOLD<\/text><text x=\"255\" y=\"56\" font-size=\"11\" fill=\"#5b6b7f\" text-anchor=\"middle\">1 parting line &#183; sprue + runner + edge gate &#183; runner ejects with parts<\/text><text x=\"745\" y=\"36\" font-size=\"15\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">THREE-PLATE MOLD<\/text><text x=\"745\" y=\"56\" font-size=\"11\" fill=\"#5b6b7f\" text-anchor=\"middle\">3 parting lines &#183; pin-point gates &#183; runner separates automatically<\/text><line x1=\"80\" y1=\"300\" x2=\"430\" y2=\"300\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><text x=\"72\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#d63c3c\" text-anchor=\"end\">PL<\/text><line x1=\"570\" y1=\"300\" x2=\"920\" y2=\"300\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><line x1=\"570\" y1=\"190\" x2=\"920\" y2=\"190\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><line x1=\"560\" y1=\"150\" x2=\"930\" y2=\"150\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><text x=\"928\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#d63c3c\">PL1<\/text><text x=\"928\" y=\"194\" font-size=\"11\" font-weight=\"700\" fill=\"#d63c3c\">PL2<\/text><text x=\"934\" y=\"154\" font-size=\"11\" font-weight=\"700\" fill=\"#d63c3c\">PL3<\/text><line x1=\"255\" y1=\"116\" x2=\"255\" y2=\"542\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><line x1=\"745\" y1=\"76\" x2=\"745\" y2=\"542\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><\/g><g data-p=\"1\"><line x1=\"51\" y1=\"139\" x2=\"222\" y2=\"139\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"222\" cy=\"139\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"40\" cy=\"139\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"40\" y=\"143\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><line x1=\"481\" y1=\"156\" x2=\"282\" y2=\"156\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"282\" cy=\"156\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"470\" cy=\"156\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"470\" y=\"160\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"51\" y1=\"170\" x2=\"80\" y2=\"170\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"80\" cy=\"170\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"40\" cy=\"170\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"40\" y=\"174\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"51\" y1=\"215\" x2=\"100\" y2=\"215\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"100\" cy=\"215\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"40\" cy=\"215\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"40\" y=\"219\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"51\" y1=\"360\" x2=\"100\" y2=\"360\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"100\" cy=\"360\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"40\" cy=\"360\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"40\" y=\"364\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"51\" y1=\"430\" x2=\"110\" y2=\"430\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"110\" cy=\"430\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"40\" cy=\"430\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"40\" y=\"434\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><line x1=\"481\" y1=\"458\" x2=\"382\" y2=\"460\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"382\" cy=\"460\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"470\" cy=\"458\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"470\" y=\"462\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><line x1=\"481\" y1=\"484\" x2=\"382\" y2=\"481\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"382\" cy=\"481\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"470\" cy=\"484\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"470\" y=\"488\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><line x1=\"51\" y1=\"512\" x2=\"80\" y2=\"512\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"80\" cy=\"512\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"40\" cy=\"512\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"40\" y=\"516\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\"><line x1=\"481\" y1=\"425\" x2=\"377\" y2=\"425\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"377\" cy=\"425\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"470\" cy=\"425\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"470\" y=\"429\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><g data-p=\"11\"><line x1=\"481\" y1=\"268\" x2=\"380\" y2=\"280\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"380\" cy=\"280\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"470\" cy=\"268\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"470\" y=\"272\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><g data-p=\"12\"><line x1=\"481\" y1=\"232\" x2=\"366\" y2=\"232\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"366\" cy=\"232\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"470\" cy=\"232\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"470\" y=\"236\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">12<\/text><\/g><g data-p=\"13\"><line x1=\"481\" y1=\"200\" x2=\"261\" y2=\"200\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"261\" cy=\"200\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"470\" cy=\"200\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"470\" y=\"204\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">13<\/text><\/g><g data-p=\"14\"><line x1=\"481\" y1=\"304\" x2=\"290\" y2=\"301\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"290\" cy=\"301\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"470\" cy=\"304\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"470\" y=\"308\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">14<\/text><\/g><g data-p=\"15\"><line x1=\"481\" y1=\"400\" x2=\"259\" y2=\"410\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"259\" cy=\"410\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"470\" cy=\"400\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"470\" y=\"404\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">15<\/text><\/g><g data-p=\"16\"><line x1=\"949\" y1=\"170\" x2=\"902\" y2=\"170\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"902\" cy=\"170\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"960\" cy=\"170\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"960\" y=\"174\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">16<\/text><\/g><g data-p=\"17\"><line x1=\"519\" y1=\"230\" x2=\"591\" y2=\"230\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"591\" cy=\"230\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"530\" cy=\"230\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"530\" y=\"234\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">17<\/text><\/g><g data-p=\"18\"><line x1=\"949\" y1=\"128\" x2=\"833\" y2=\"140\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"833\" cy=\"140\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"960\" cy=\"128\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"960\" y=\"132\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">18<\/text><\/g><g data-p=\"19\"><line x1=\"949\" y1=\"205\" x2=\"878\" y2=\"205\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"878\" cy=\"205\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"960\" cy=\"205\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"960\" y=\"209\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">19<\/text><\/g><g data-p=\"20\"><line x1=\"949\" y1=\"240\" x2=\"834\" y2=\"190\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"834\" cy=\"190\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"960\" cy=\"240\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"960\" y=\"244\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">20<\/text><\/g><g data-p=\"21\"><line x1=\"949\" y1=\"272\" x2=\"832\" y2=\"250\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"832\" cy=\"250\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"960\" cy=\"272\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"960\" y=\"276\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">21<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><script> (function () { var root = document.getElementById('twpc98199'); if (!root) return; var P = [{\"n\":1,\"name\":\"Locating Ring\",\"fn\":\"Centers each mold on the fixed platen in line with the machine nozzle.\",\"bx\":40,\"by\":139,\"ax\":222,\"ay\":139},{\"n\":2,\"name\":\"Sprue Bushing\",\"fn\":\"Takes melt from the nozzle. Two-plate: runs down to the parting line. Three-plate: stops at the runner plate (PL2).\",\"bx\":470,\"by\":156,\"ax\":282,\"ay\":156},{\"n\":3,\"name\":\"Top Clamp Plate\",\"fn\":\"Fixes the stationary half to the platen. In the three-plate mold it also holds the runner puller pins.\",\"bx\":40,\"by\":170,\"ax\":80,\"ay\":170},{\"n\":4,\"name\":\"Cavity (A) Plate\",\"fn\":\"Forms the outside of the parts. In the three-plate mold it floats on guide pins so it can pull away from the runner.\",\"bx\":40,\"by\":215,\"ax\":100,\"ay\":215},{\"n\":5,\"name\":\"Core (B) Plate\",\"fn\":\"Moving plate; its raised cores form the inside of the parts.\",\"bx\":40,\"by\":360,\"ax\":100,\"ay\":360},{\"n\":6,\"name\":\"Spacer Block\",\"fn\":\"Parallels that create the space for ejector plate travel.\",\"bx\":40,\"by\":430,\"ax\":110,\"ay\":430},{\"n\":7,\"name\":\"Ejector Retainer Plate\",\"fn\":\"Upper ejector plate that captures the ejector pin heads.\",\"bx\":470,\"by\":458,\"ax\":382,\"ay\":460},{\"n\":8,\"name\":\"Ejector Plate\",\"fn\":\"Lower ejector plate, pushed by the machine's ejector rod.\",\"bx\":470,\"by\":484,\"ax\":382,\"ay\":481},{\"n\":9,\"name\":\"Bottom Clamp Plate\",\"fn\":\"Fixes the moving half to the machine's moving platen.\",\"bx\":40,\"by\":512,\"ax\":80,\"ay\":512},{\"n\":10,\"name\":\"Ejector Pins\",\"fn\":\"Push the parts off the cores; tips sit flush with the molding surface.\",\"bx\":470,\"by\":425,\"ax\":377,\"ay\":425},{\"n\":11,\"name\":\"Molded Parts\",\"fn\":\"Same two-cavity part in both molds: side-gated in the two-plate, top-gated in the three-plate.\",\"bx\":470,\"by\":268,\"ax\":380,\"ay\":280},{\"n\":12,\"name\":\"Cooling Channels\",\"fn\":\"Water lines in the cavity and core plates that control cycle time and warpage.\",\"bx\":470,\"by\":232,\"ax\":366,\"ay\":232},{\"n\":13,\"name\":\"Sprue (2-Plate)\",\"fn\":\"Tapered melt channel straight down to the single parting line.\",\"bx\":470,\"by\":200,\"ax\":261,\"ay\":200},{\"n\":14,\"name\":\"Runner & Edge Gate (2-Plate)\",\"fn\":\"Runner on the parting line with side gates; it ejects together with the parts and must be cut off.\",\"bx\":470,\"by\":304,\"ax\":290,\"ay\":301},{\"n\":15,\"name\":\"Sprue Puller Pin (2-Plate)\",\"fn\":\"Holds the sprue and runner on the moving side so they eject with the parts.\",\"bx\":470,\"by\":400,\"ax\":259,\"ay\":410},{\"n\":16,\"name\":\"Runner Stripper Plate (3-Plate)\",\"fn\":\"Extra plate that strips the runner off the puller pins so it drops free on its own.\",\"bx\":960,\"by\":170,\"ax\":902,\"ay\":170},{\"n\":17,\"name\":\"Support Guide Pin (3-Plate)\",\"fn\":\"Long pins from the top clamp plate that carry and align the stripper plate and the floating A plate.\",\"bx\":530,\"by\":230,\"ax\":591,\"ay\":230},{\"n\":18,\"name\":\"Runner Puller Pins (3-Plate)\",\"fn\":\"Undercut pins that hold the runner at PL2 and snap off the pin-point gates as the A plate pulls away.\",\"bx\":960,\"by\":128,\"ax\":833,\"ay\":140},{\"n\":19,\"name\":\"Stop (Puller) Bolt (3-Plate)\",\"fn\":\"Limits how far each plate travels and sets the opening sequence that separates runner from parts.\",\"bx\":960,\"by\":205,\"ax\":878,\"ay\":205},{\"n\":20,\"name\":\"Sprue & Runner on PL2 (3-Plate)\",\"fn\":\"Runner sits between stripper plate and A plate, above the parts, and is removed separately from them.\",\"bx\":960,\"by\":240,\"ax\":834,\"ay\":190},{\"n\":21,\"name\":\"Pin-Point Gate (3-Plate)\",\"fn\":\"Tiny gate on top of the part that breaks off automatically, leaving a small mark; gate can go almost anywhere.\",\"bx\":960,\"by\":272,\"ax\":832,\"ay\":250}]; var svg = root.querySelector('svg'), stage = root.querySelector('.tw-ms-stage'), tip = root.querySelector('.tw-ms-tip'); var els = svg.querySelectorAll('[data-p]'); var pinned = null; function part(n) { for (var i = 0; i < P.length; i++) { if (String(P[i].n) === String(n)) return P[i]; } return null; } function union(n) { var x1 = 1e9, y1 = 1e9, x2 = -1e9, y2 = -1e9; for (var i = 0; i < els.length; i++) { if (els[i].getAttribute('data-p') !== String(n)) continue; var b = els[i].getBBox(); x1 = Math.min(x1, b.x); y1 = Math.min(y1, b.y); x2 = Math.max(x2, b.x + b.width); y2 = Math.max(y2, b.y + b.height); } return { x1: x1, y1: y1, x2: x2, y2: y2 }; } function clamp(v, a, b) { return Math.max(a, Math.min(b, v)); } function place(n, p) { var s = svg.getBoundingClientRect(), w = stage.getBoundingClientRect(); var k = s.width \/ 1000, ox = s.left - w.left, oy = s.top - w.top; var u = union(n); var L = ox + u.x1 * k, T = oy + u.y1 * k, Rt = ox + u.x2 * k, B = oy + u.y2 * k; var bx = ox + p.bx * k, by = oy + p.by * k; var W = w.width, H = w.height, gap = 10, m = 6; tip.style.display = 'block'; tip.style.width = Math.min(250, W - 2 * m) + 'px'; var tw = tip.offsetWidth, th = tip.offsetHeight; var order = p.bx < 500 ? ['l', 'r', 'b', 't'] : ['r', 'l', 'b', 't']; var pos = null; function at(sd) { if (sd === 'l') return { x: L - gap - tw, y: clamp(by - th \/ 2, m, H - th - m), ok: L - gap - tw >= m }; if (sd === 'r') return { x: Rt + gap, y: clamp(by - th \/ 2, m, H - th - m), ok: Rt + gap + tw <= W - m }; if (sd === 'b') return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: B + gap, ok: B + gap + th <= H - m }; return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: T - gap - th, ok: T - gap - th >= m }; } for (var i = 0; i < order.length && !pos; i++) { var c = at(order[i]); if (c.ok) pos = c; } if (!pos) { var sp = { l: L - tw, r: W - Rt - tw, t: T - th, b: H - B - th }, best = 'b'; for (var key in sp) { if (sp[key] > sp[best]) best = key; } pos = at(best); } tip.style.left = clamp(pos.x, m, W - tw - m) + 'px'; tip.style.top = clamp(pos.y, m, H - th - m) + 'px'; } function show(n) { var p = part(n); if (!p) return; var i; for (i = 0; i < els.length; i++) els[i].style.opacity = els[i].getAttribute('data-p') === String(n) ? '1' : '0.18'; tip.innerHTML = '<div class=\"h\"><span class=\"tw-ms-num\"><\/span><span class=\"nm\"><\/span><\/div><p><\/p>'; tip.querySelector('.tw-ms-num').textContent = p.n; tip.querySelector('.nm').textContent = p.name; tip.querySelector('p').textContent = p.fn; place(n, p); } function hide() { var i; for (i = 0; i < els.length; i++) els[i].style.opacity = ''; tip.style.display = 'none'; } function bind(el) { var n = el.getAttribute('data-p'); el.addEventListener('mouseenter', function () { if (pinned === null) show(n); }); el.addEventListener('mouseleave', function () { if (pinned === null) hide(); }); el.addEventListener('click', function (e) { e.stopPropagation(); if (pinned === n) { pinned = null; hide(); } else { pinned = n; show(n); } }); } for (var i = 0; i < els.length; i++) bind(els[i]); svg.addEventListener('click', function () { pinned = null; hide(); }); window.addEventListener('resize', function () { if (pinned !== null) show(pinned); else hide(); }); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twpce83255\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this diagram on your site<\/strong><button type=\"button\" class=\"twpce-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-plate-compare&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_plate_compare_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:660px&quot; loading=&quot;lazy&quot; title=&quot;Two-Plate vs Three-Plate Mold - Interactive Cross-Section&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_plate_compare&quot;){var f=document.getElementById(&quot;tw-plate-compare&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive two-plate vs three-plate mold diagram by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twpce83255'); if (!box) return; var btn = box.querySelector('.twpce-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><\/div><div id=\"open-tip-vs-valve-gate\" class=\"wp-block-group tw-tool tw-cat-structure is-layout-flow wp-block-group-is-layout-flow\"><div class=\"tw-ms\" id=\"twhc64498\"><style> #twhc64498{max-width:1000px;margin:24px auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif;color:#1f2a37} #twhc64498 .tw-ms-head{margin:0 0 10px} #twhc64498 .tw-ms-head h3{margin:0 0 4px;font-size:20px;line-height:1.3;color:#1e3a5f} #twhc64498 .tw-ms-head p{margin:0;font-size:13.5px;color:#5b6b7f} #twhc64498 .tw-ms-stage{position:relative;background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;overflow:hidden} #twhc64498 .tw-ms-stage svg{display:block;width:100%;height:auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twhc64498 .tw-ms-stage svg [data-p]{cursor:pointer;transition:opacity .15s} #twhc64498 .tw-ms-tip{position:absolute;display:none;z-index:5;box-sizing:border-box;background:#ffffff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.45;pointer-events:none;box-shadow:0 4px 14px rgba(30,58,95,.12)} #twhc64498 .tw-ms-tip .h{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-weight:700;color:#1e3a5f} #twhc64498 .tw-ms-tip p{margin:0;color:#374151} #twhc64498 .tw-ms-num{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#1e3a5f;color:#ffffff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center} @media (max-width:560px){#twhc64498 .tw-ms-tip{font-size:12px;padding:7px 9px}} <\/style><div class=\"tw-ms-head\"><h3>Open Tip (CTC) vs Valve Gate (VV) Hot Runner<\/h3><p>Left: open thermal-tip nozzle. Right: valve-gate nozzle with cylinder and pin. Same manifold, same part. Hover or tap any part or number.<\/p><\/div><div class=\"tw-ms-stage\"><svg viewBox=\"0 0 1000 540\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Cross-section comparing an open tip hot runner nozzle with a valve gate hot runner nozzle, 23 numbered components\"><defs><pattern id=\"twhc64498-h\" width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"8\" height=\"8\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"#5b6b7f\" stroke-width=\"0.6\" stroke-opacity=\"0.35\"\/><\/pattern><\/defs><rect x=\"0\" y=\"0\" width=\"1000\" height=\"540\" fill=\"#ffffff\"\/><g data-p=\"3\"><rect x=\"160\" y=\"62\" width=\"680\" height=\"50\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"466\" y=\"62\" width=\"68\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"4\"><rect x=\"190\" y=\"112\" width=\"620\" height=\"120\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"236\" y=\"112\" width=\"528\" height=\"84\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"302\" y=\"196\" width=\"56\" height=\"36\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"642\" y=\"196\" width=\"56\" height=\"36\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"9\"><rect x=\"190\" y=\"232\" width=\"620\" height=\"140\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"260\" y=\"280\" width=\"480\" height=\"92\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"302\" y=\"232\" width=\"56\" height=\"84\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"642\" y=\"232\" width=\"56\" height=\"84\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"12\"><rect x=\"190\" y=\"372\" width=\"620\" height=\"98\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M260,372 H284 V334 H376 V372 H624 V334 H716 V372 H740 V440 H260 Z\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"14\"><rect x=\"290\" y=\"112\" width=\"20\" height=\"28\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"8\"><rect x=\"476\" y=\"180\" width=\"48\" height=\"16\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"5\"><rect x=\"250\" y=\"140\" width=\"500\" height=\"40\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"6\"><circle cx=\"270\" cy=\"147\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><circle cx=\"270\" cy=\"174\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><circle cx=\"420\" cy=\"147\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><circle cx=\"420\" cy=\"174\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><circle cx=\"580\" cy=\"147\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><circle cx=\"580\" cy=\"174\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><circle cx=\"730\" cy=\"147\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><circle cx=\"730\" cy=\"174\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><\/g><g data-p=\"21\"><rect x=\"658\" y=\"112\" width=\"24\" height=\"36\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"15\"><rect x=\"306\" y=\"180\" width=\"48\" height=\"16\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"316\" y=\"196\" width=\"28\" height=\"104\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"22\"><rect x=\"646\" y=\"180\" width=\"48\" height=\"16\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"656\" y=\"196\" width=\"28\" height=\"104\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"17\"><rect x=\"308\" y=\"204\" width=\"8\" height=\"88\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><rect x=\"344\" y=\"204\" width=\"8\" height=\"88\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><rect x=\"648\" y=\"204\" width=\"8\" height=\"88\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><rect x=\"684\" y=\"204\" width=\"8\" height=\"88\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><\/g><g data-p=\"2\"><rect x=\"468\" y=\"62\" width=\"64\" height=\"12\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"482\" y=\"74\" width=\"36\" height=\"66\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"474\" y=\"80\" width=\"8\" height=\"28\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><rect x=\"518\" y=\"80\" width=\"8\" height=\"28\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><\/g><g data-p=\"7\"><rect x=\"496\" y=\"62\" width=\"8\" height=\"96\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"326\" y=\"154\" width=\"348\" height=\"8\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"326\" y=\"158\" width=\"8\" height=\"22\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"664\" y=\"158\" width=\"12\" height=\"22\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"327\" y=\"180\" width=\"6\" height=\"120\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"664\" y=\"180\" width=\"12\" height=\"120\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"11\"><path d=\"M270,372 V320 H390 V372 H376 V334 H284 V372 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M610,372 V320 H730 V372 H716 V334 H624 V372 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"16\"><polygon points=\"316,300 344,300 334,316 326,316\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"327\" y=\"316\" width=\"6\" height=\"4\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M327,320 Q330,312 333,320 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"18\"><rect x=\"636\" y=\"66\" width=\"68\" height=\"42\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"704\" y=\"70\" width=\"86\" height=\"5\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"704\" y=\"99\" width=\"86\" height=\"5\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"19\"><rect x=\"640\" y=\"74\" width=\"60\" height=\"18\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"20\"><rect x=\"667\" y=\"92\" width=\"6\" height=\"228\" fill=\"#c3cfdc\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"23\"><polygon points=\"656,300 684,300 674,316 666,316\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"667\" y=\"300\" width=\"6\" height=\"20\" fill=\"#c3cfdc\" stroke=\"#5b6b7f\" stroke-width=\"1\"\/><\/g><g data-p=\"13\"><line x1=\"355\" y1=\"200\" x2=\"355\" y2=\"296\" stroke=\"#1f2937\" stroke-width=\"2\" stroke-linecap=\"round\"\/><circle cx=\"355\" cy=\"296\" r=\"2.5\" fill=\"#1f2937\"\/><line x1=\"695\" y1=\"200\" x2=\"695\" y2=\"296\" stroke=\"#1f2937\" stroke-width=\"2\" stroke-linecap=\"round\"\/><circle cx=\"695\" cy=\"296\" r=\"2.5\" fill=\"#1f2937\"\/><line x1=\"788\" y1=\"166\" x2=\"700\" y2=\"166\" stroke=\"#1f2937\" stroke-width=\"2\" stroke-linecap=\"round\"\/><circle cx=\"700\" cy=\"166\" r=\"2.5\" fill=\"#1f2937\"\/><\/g><g data-p=\"10\"><circle cx=\"213\" cy=\"214\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"787\" cy=\"214\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"230\" cy=\"300\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"770\" cy=\"300\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"420\" cy=\"300\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"500\" cy=\"300\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"580\" cy=\"300\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"310\" cy=\"410\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"350\" cy=\"410\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"650\" cy=\"410\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"690\" cy=\"410\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><\/g><g data-p=\"1\"><rect x=\"430\" y=\"36\" width=\"48\" height=\"26\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"522\" y=\"36\" width=\"48\" height=\"26\" fill=\"url(#twhc64498-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g pointer-events=\"none\"><rect x=\"160\" y=\"52\" width=\"270\" height=\"10\" fill=\"#efe6cf\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"570\" y=\"52\" width=\"270\" height=\"10\" fill=\"#efe6cf\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><text x=\"330\" y=\"500\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">OPEN TIP &#183; CTC<\/text><text x=\"330\" y=\"518\" font-size=\"11\" fill=\"#5b6b7f\" text-anchor=\"middle\">Thermal gate &#183; simple &#183; low cost &#183; gate vestige<\/text><text x=\"670\" y=\"500\" font-size=\"14\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">VALVE GATE &#183; VV<\/text><text x=\"670\" y=\"518\" font-size=\"11\" fill=\"#5b6b7f\" text-anchor=\"middle\">Pin shut-off &#183; clean gate &#183; sequential fill possible<\/text><line x1=\"178\" y1=\"372\" x2=\"822\" y2=\"372\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><text x=\"172\" y=\"376\" font-size=\"12\" font-weight=\"700\" fill=\"#d63c3c\" text-anchor=\"end\">PL<\/text><line x1=\"500\" y1=\"28\" x2=\"500\" y2=\"486\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><text x=\"845\" y=\"364\" font-size=\"10.5\" fill=\"#5b6b7f\">A side (fixed)<\/text><text x=\"845\" y=\"389\" font-size=\"10.5\" fill=\"#5b6b7f\">B side (moving)<\/text><\/g><g data-p=\"1\"><line x1=\"131\" y1=\"30\" x2=\"432\" y2=\"44\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"432\" cy=\"44\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"30\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"34\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><line x1=\"131\" y1=\"58\" x2=\"468\" y2=\"68\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"468\" cy=\"68\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"58\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"62\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"131\" y1=\"88\" x2=\"166\" y2=\"88\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"166\" cy=\"88\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"88\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"92\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"131\" y1=\"124\" x2=\"200\" y2=\"124\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"200\" cy=\"124\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"124\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"128\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"131\" y1=\"180\" x2=\"254\" y2=\"170\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"254\" cy=\"170\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"180\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"184\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"131\" y1=\"206\" x2=\"275\" y2=\"176\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"275\" cy=\"176\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"206\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"210\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><line x1=\"869\" y1=\"166\" x2=\"560\" y2=\"158\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"560\" cy=\"158\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"166\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"170\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><line x1=\"869\" y1=\"196\" x2=\"524\" y2=\"190\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"524\" cy=\"190\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"196\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"200\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><line x1=\"131\" y1=\"330\" x2=\"200\" y2=\"330\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"200\" cy=\"330\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"330\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"334\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\"><line x1=\"869\" y1=\"336\" x2=\"776\" y2=\"300\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"776\" cy=\"300\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"336\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"340\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><g data-p=\"11\"><line x1=\"131\" y1=\"360\" x2=\"272\" y2=\"355\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"272\" cy=\"355\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"360\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"364\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><g data-p=\"12\"><line x1=\"131\" y1=\"430\" x2=\"205\" y2=\"430\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"205\" cy=\"430\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"430\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"434\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">12<\/text><\/g><g data-p=\"13\"><line x1=\"869\" y1=\"278\" x2=\"695\" y2=\"278\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"695\" cy=\"278\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"278\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"282\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">13<\/text><\/g><g data-p=\"14\"><line x1=\"131\" y1=\"152\" x2=\"290\" y2=\"130\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"290\" cy=\"130\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"152\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"156\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">14<\/text><\/g><g data-p=\"15\"><line x1=\"131\" y1=\"236\" x2=\"306\" y2=\"190\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"306\" cy=\"190\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"236\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"240\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">15<\/text><\/g><g data-p=\"16\"><line x1=\"131\" y1=\"300\" x2=\"324\" y2=\"314\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"324\" cy=\"314\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">16<\/text><\/g><g data-p=\"17\"><line x1=\"131\" y1=\"266\" x2=\"308\" y2=\"266\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"308\" cy=\"266\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"266\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"270\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">17<\/text><\/g><g data-p=\"18\"><line x1=\"869\" y1=\"96\" x2=\"704\" y2=\"90\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"704\" cy=\"90\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"96\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"100\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">18<\/text><\/g><g data-p=\"19\"><line x1=\"869\" y1=\"66\" x2=\"700\" y2=\"80\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"700\" cy=\"80\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"66\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"70\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">19<\/text><\/g><g data-p=\"20\"><line x1=\"869\" y1=\"252\" x2=\"673\" y2=\"252\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"673\" cy=\"252\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"252\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"256\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">20<\/text><\/g><g data-p=\"21\"><line x1=\"869\" y1=\"136\" x2=\"682\" y2=\"130\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"682\" cy=\"130\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"136\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"140\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">21<\/text><\/g><g data-p=\"22\"><line x1=\"869\" y1=\"222\" x2=\"694\" y2=\"188\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"694\" cy=\"188\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"222\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"226\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">22<\/text><\/g><g data-p=\"23\"><line x1=\"869\" y1=\"304\" x2=\"678\" y2=\"312\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"678\" cy=\"312\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"304\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"308\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">23<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><script> (function () { var root = document.getElementById('twhc64498'); if (!root) return; var P = [{\"n\":1,\"name\":\"Locating Ring\",\"fn\":\"Centers the mold on the fixed platen so the machine nozzle meets the inlet nozzle.\",\"bx\":120,\"by\":30,\"ax\":432,\"ay\":44},{\"n\":2,\"name\":\"Inlet Nozzle\",\"fn\":\"Heated entry nozzle that feeds melt from the machine nozzle into the manifold (band heater in orange).\",\"bx\":120,\"by\":58,\"ax\":468,\"ay\":68},{\"n\":3,\"name\":\"Top Clamp Plate\",\"fn\":\"Clamps the hot half to the fixed platen; on the valve-gate side it also houses the valve cylinder.\",\"bx\":120,\"by\":88,\"ax\":166,\"ay\":88},{\"n\":4,\"name\":\"Manifold Plate\",\"fn\":\"Frame plate whose pocket holds the manifold with an insulating air gap all round.\",\"bx\":120,\"by\":124,\"ax\":200,\"ay\":124},{\"n\":5,\"name\":\"Hot Runner Manifold\",\"fn\":\"Heated block that splits the melt to both drops - the same for open-tip and valve-gate systems.\",\"bx\":120,\"by\":180,\"ax\":254,\"ay\":170},{\"n\":6,\"name\":\"Manifold Heaters\",\"fn\":\"Tubular heaters in the manifold that hold the melt channel at set temperature.\",\"bx\":120,\"by\":206,\"ax\":275,\"ay\":176},{\"n\":7,\"name\":\"Hot Melt Channel\",\"fn\":\"Molten flow path from the inlet to both gates; nothing freezes, so no runner is ejected.\",\"bx\":880,\"by\":166,\"ax\":560,\"ay\":158},{\"n\":8,\"name\":\"Center Locator\",\"fn\":\"Locates the manifold on the centerline so thermal growth spreads evenly outward.\",\"bx\":880,\"by\":196,\"ax\":524,\"ay\":190},{\"n\":9,\"name\":\"Cavity (A) Plate & Insert\",\"fn\":\"Holds both nozzle bores and forms the outer part surface; kept cool by water around the hot nozzles.\",\"bx\":120,\"by\":330,\"ax\":200,\"ay\":330},{\"n\":10,\"name\":\"Cooling Channels\",\"fn\":\"Water lines that keep the plates and inserts cool around the nozzles and gate area.\",\"bx\":880,\"by\":336,\"ax\":776,\"ay\":300},{\"n\":11,\"name\":\"Molded Part\",\"fn\":\"Same part on both sides: the open tip leaves a small raised gate vestige, the valve gate a flush pin mark.\",\"bx\":120,\"by\":360,\"ax\":272,\"ay\":355},{\"n\":12,\"name\":\"Core (B) Plate & Insert\",\"fn\":\"Moving half of the mold (shown cut short); the raised core forms the inside of the part.\",\"bx\":120,\"by\":430,\"ax\":205,\"ay\":430},{\"n\":13,\"name\":\"Thermocouples\",\"fn\":\"Sensors in each nozzle and the manifold that let the controller hold every heater zone on temperature.\",\"bx\":880,\"by\":278,\"ax\":695,\"ay\":278},{\"n\":14,\"name\":\"Pressure Pad (CTC side)\",\"fn\":\"Back-up pad that preloads the manifold onto the open nozzle while limiting heat loss to the clamp plate.\",\"bx\":120,\"by\":152,\"ax\":290,\"ay\":130},{\"n\":15,\"name\":\"Open Hot Nozzle (CTC)\",\"fn\":\"Heated nozzle with no mechanical shut-off; the gate closes only by freezing between shots.\",\"bx\":120,\"by\":236,\"ax\":306,\"ay\":190},{\"n\":16,\"name\":\"Open Thermal Tip & Gate\",\"fn\":\"Tip heat controls gate freeze-off. Simple and low cost, but can string or drool and leaves a raised vestige.\",\"bx\":120,\"by\":300,\"ax\":324,\"ay\":314},{\"n\":17,\"name\":\"Nozzle Heaters\",\"fn\":\"Coil heaters around both nozzle bodies, each one controlled as its own zone.\",\"bx\":120,\"by\":266,\"ax\":308,\"ay\":266},{\"n\":18,\"name\":\"Valve Cylinder (VV)\",\"fn\":\"Pneumatic or hydraulic cylinder in the top clamp plate; air or oil ports drive the pin open and closed.\",\"bx\":880,\"by\":96,\"ax\":704,\"ay\":90},{\"n\":19,\"name\":\"Piston\",\"fn\":\"Lifts the valve pin to open the gate for filling and drives it down to shut the gate before the mold opens.\",\"bx\":880,\"by\":66,\"ax\":700,\"ay\":80},{\"n\":20,\"name\":\"Valve Pin\",\"fn\":\"Long pin running through the manifold and nozzle; its tip seals the gate mechanically.\",\"bx\":880,\"by\":252,\"ax\":673,\"ay\":252},{\"n\":21,\"name\":\"Valve Pin Bushing\",\"fn\":\"Guides and seals the pin where it passes through the manifold, stopping melt leaking up the pin.\",\"bx\":880,\"by\":136,\"ax\":682,\"ay\":130},{\"n\":22,\"name\":\"Valve Gate Nozzle (VV)\",\"fn\":\"Heated nozzle with a central bore for the valve pin; melt flows around the pin down to the gate.\",\"bx\":880,\"by\":222,\"ax\":694,\"ay\":188},{\"n\":23,\"name\":\"Valve Gate (Pin Shut-off)\",\"fn\":\"Pin closed in the gate: clean flush gate mark, no stringing, larger gates and sequential filling possible.\",\"bx\":880,\"by\":304,\"ax\":678,\"ay\":312}]; var svg = root.querySelector('svg'), stage = root.querySelector('.tw-ms-stage'), tip = root.querySelector('.tw-ms-tip'); var els = svg.querySelectorAll('[data-p]'); var pinned = null; function part(n) { for (var i = 0; i < P.length; i++) { if (String(P[i].n) === String(n)) return P[i]; } return null; } function union(n) { var x1 = 1e9, y1 = 1e9, x2 = -1e9, y2 = -1e9; for (var i = 0; i < els.length; i++) { if (els[i].getAttribute('data-p') !== String(n)) continue; var b = els[i].getBBox(); x1 = Math.min(x1, b.x); y1 = Math.min(y1, b.y); x2 = Math.max(x2, b.x + b.width); y2 = Math.max(y2, b.y + b.height); } return { x1: x1, y1: y1, x2: x2, y2: y2 }; } function clamp(v, a, b) { return Math.max(a, Math.min(b, v)); } function place(n, p) { var s = svg.getBoundingClientRect(), w = stage.getBoundingClientRect(); var k = s.width \/ 1000, ox = s.left - w.left, oy = s.top - w.top; var u = union(n); var L = ox + u.x1 * k, T = oy + u.y1 * k, Rt = ox + u.x2 * k, B = oy + u.y2 * k; var bx = ox + p.bx * k, by = oy + p.by * k; var W = w.width, H = w.height, gap = 10, m = 6; tip.style.display = 'block'; tip.style.width = Math.min(250, W - 2 * m) + 'px'; var tw = tip.offsetWidth, th = tip.offsetHeight; var order = p.bx < 500 ? ['l', 'r', 'b', 't'] : ['r', 'l', 'b', 't']; var pos = null; function at(sd) { if (sd === 'l') return { x: L - gap - tw, y: clamp(by - th \/ 2, m, H - th - m), ok: L - gap - tw >= m }; if (sd === 'r') return { x: Rt + gap, y: clamp(by - th \/ 2, m, H - th - m), ok: Rt + gap + tw <= W - m }; if (sd === 'b') return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: B + gap, ok: B + gap + th <= H - m }; return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: T - gap - th, ok: T - gap - th >= m }; } for (var i = 0; i < order.length && !pos; i++) { var c = at(order[i]); if (c.ok) pos = c; } if (!pos) { var sp = { l: L - tw, r: W - Rt - tw, t: T - th, b: H - B - th }, best = 'b'; for (var key in sp) { if (sp[key] > sp[best]) best = key; } pos = at(best); } tip.style.left = clamp(pos.x, m, W - tw - m) + 'px'; tip.style.top = clamp(pos.y, m, H - th - m) + 'px'; } function show(n) { var p = part(n); if (!p) return; var i; for (i = 0; i < els.length; i++) els[i].style.opacity = els[i].getAttribute('data-p') === String(n) ? '1' : '0.18'; tip.innerHTML = '<div class=\"h\"><span class=\"tw-ms-num\"><\/span><span class=\"nm\"><\/span><\/div><p><\/p>'; tip.querySelector('.tw-ms-num').textContent = p.n; tip.querySelector('.nm').textContent = p.name; tip.querySelector('p').textContent = p.fn; place(n, p); } function hide() { var i; for (i = 0; i < els.length; i++) els[i].style.opacity = ''; tip.style.display = 'none'; } function bind(el) { var n = el.getAttribute('data-p'); el.addEventListener('mouseenter', function () { if (pinned === null) show(n); }); el.addEventListener('mouseleave', function () { if (pinned === null) hide(); }); el.addEventListener('click', function (e) { e.stopPropagation(); if (pinned === n) { pinned = null; hide(); } else { pinned = n; show(n); } }); } for (var i = 0; i < els.length; i++) bind(els[i]); svg.addEventListener('click', function () { pinned = null; hide(); }); window.addEventListener('resize', function () { if (pinned !== null) show(pinned); else hide(); }); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twhce63227\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this diagram on your site<\/strong><button type=\"button\" class=\"twhce-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-hr-compare&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_hr_compare_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:640px&quot; loading=&quot;lazy&quot; title=&quot;Open Tip vs Valve Gate Hot Runner - Interactive Cross-Section&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_hr_compare&quot;){var f=document.getElementById(&quot;tw-hr-compare&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive open tip vs valve gate diagram by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twhce63227'); if (!box) return; var btn = box.querySelector('.twhce-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><\/div><div id=\"hot-runner-system\" class=\"wp-block-group tw-tool tw-cat-structure is-layout-flow wp-block-group-is-layout-flow\"><div class=\"tw-ms\" id=\"twhr34540\"><style> #twhr34540{max-width:1000px;margin:24px auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif;color:#1f2a37} #twhr34540 .tw-ms-head{margin:0 0 10px} #twhr34540 .tw-ms-head h3{margin:0 0 4px;font-size:20px;line-height:1.3;color:#1e3a5f} #twhr34540 .tw-ms-head p{margin:0;font-size:13.5px;color:#5b6b7f} #twhr34540 .tw-ms-stage{position:relative;background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;overflow:hidden} #twhr34540 .tw-ms-stage svg{display:block;width:100%;height:auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twhr34540 .tw-ms-stage svg [data-p]{cursor:pointer;transition:opacity .15s} #twhr34540 .tw-ms-tip{position:absolute;display:none;z-index:5;box-sizing:border-box;background:#ffffff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.45;pointer-events:none;box-shadow:0 4px 14px rgba(30,58,95,.12)} #twhr34540 .tw-ms-tip .h{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-weight:700;color:#1e3a5f} #twhr34540 .tw-ms-tip p{margin:0;color:#374151} #twhr34540 .tw-ms-num{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#1e3a5f;color:#ffffff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center} @media (max-width:560px){#twhr34540 .tw-ms-tip{font-size:12px;padding:7px 9px}} <\/style><div class=\"tw-ms-head\"><h3>Hot Runner System &ndash; Cross-Section<\/h3><p>Hot runner mold, closed position, 2 heated drops with direct gates. Hover or tap any part or number.<\/p><\/div><div class=\"tw-ms-stage\"><svg viewBox=\"0 0 1000 700\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Cross-section of a hot runner injection mold with 25 numbered components\"><defs><pattern id=\"twhr34540-h\" width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"8\" height=\"8\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"#5b6b7f\" stroke-width=\"0.6\" stroke-opacity=\"0.35\"\/><\/pattern><\/defs><rect x=\"0\" y=\"0\" width=\"1000\" height=\"700\" fill=\"#ffffff\"\/><g data-p=\"5\"><rect x=\"160\" y=\"62\" width=\"680\" height=\"50\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"466\" y=\"62\" width=\"68\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"4\"><rect x=\"160\" y=\"52\" width=\"270\" height=\"10\" fill=\"#efe6cf\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"570\" y=\"52\" width=\"270\" height=\"10\" fill=\"#efe6cf\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"24\"><rect x=\"160\" y=\"600\" width=\"680\" height=\"50\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"480\" y=\"600\" width=\"40\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"6\"><rect x=\"190\" y=\"112\" width=\"620\" height=\"120\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"236\" y=\"112\" width=\"528\" height=\"84\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"302\" y=\"196\" width=\"56\" height=\"36\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"642\" y=\"196\" width=\"56\" height=\"36\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"16\"><rect x=\"190\" y=\"232\" width=\"620\" height=\"140\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"260\" y=\"280\" width=\"480\" height=\"92\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"302\" y=\"232\" width=\"56\" height=\"84\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"642\" y=\"232\" width=\"56\" height=\"84\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"19\"><rect x=\"190\" y=\"372\" width=\"620\" height=\"108\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M260,372 H284 V334 H376 V372 H624 V334 H716 V372 H740 V440 H260 Z\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"20\"><rect x=\"190\" y=\"480\" width=\"60\" height=\"120\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"750\" y=\"480\" width=\"60\" height=\"120\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"22\"><rect x=\"258\" y=\"548\" width=\"484\" height=\"26\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"23\"><rect x=\"258\" y=\"574\" width=\"484\" height=\"26\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"21\"><rect x=\"273\" y=\"372\" width=\"8\" height=\"194\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"268\" y=\"566\" width=\"18\" height=\"8\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"379\" y=\"372\" width=\"8\" height=\"194\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"374\" y=\"566\" width=\"18\" height=\"8\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"613\" y=\"372\" width=\"8\" height=\"194\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"608\" y=\"566\" width=\"18\" height=\"8\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"719\" y=\"372\" width=\"8\" height=\"194\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"714\" y=\"566\" width=\"18\" height=\"8\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"11\"><rect x=\"290\" y=\"112\" width=\"20\" height=\"28\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"690\" y=\"112\" width=\"20\" height=\"28\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"10\"><rect x=\"476\" y=\"180\" width=\"48\" height=\"16\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"7\"><rect x=\"250\" y=\"140\" width=\"500\" height=\"40\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"8\"><circle cx=\"270\" cy=\"147\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><circle cx=\"270\" cy=\"174\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><circle cx=\"420\" cy=\"147\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><circle cx=\"420\" cy=\"174\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><circle cx=\"580\" cy=\"147\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><circle cx=\"580\" cy=\"174\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><circle cx=\"730\" cy=\"147\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><circle cx=\"730\" cy=\"174\" r=\"5\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><\/g><g data-p=\"12\"><rect x=\"306\" y=\"180\" width=\"48\" height=\"16\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"316\" y=\"196\" width=\"28\" height=\"104\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"646\" y=\"180\" width=\"48\" height=\"16\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"656\" y=\"196\" width=\"28\" height=\"104\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"15\"><polygon points=\"316,300 344,300 334,316 326,316\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"327\" y=\"316\" width=\"6\" height=\"4\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><polygon points=\"656,300 684,300 674,316 666,316\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"667\" y=\"316\" width=\"6\" height=\"4\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"13\"><rect x=\"308\" y=\"204\" width=\"8\" height=\"88\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><rect x=\"344\" y=\"204\" width=\"8\" height=\"88\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><rect x=\"648\" y=\"204\" width=\"8\" height=\"88\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><rect x=\"684\" y=\"204\" width=\"8\" height=\"88\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><\/g><g data-p=\"2\"><rect x=\"468\" y=\"62\" width=\"64\" height=\"12\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"482\" y=\"74\" width=\"36\" height=\"66\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"3\"><rect x=\"474\" y=\"80\" width=\"8\" height=\"28\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><rect x=\"518\" y=\"80\" width=\"8\" height=\"28\" fill=\"#f59e0b\" stroke=\"#b45309\" stroke-width=\"0.8\"\/><\/g><g data-p=\"9\"><rect x=\"496\" y=\"62\" width=\"8\" height=\"96\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"326\" y=\"154\" width=\"348\" height=\"8\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"326\" y=\"158\" width=\"8\" height=\"22\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"666\" y=\"158\" width=\"8\" height=\"22\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"327\" y=\"180\" width=\"6\" height=\"120\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"667\" y=\"180\" width=\"6\" height=\"120\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"18\"><path d=\"M270,372 V320 H390 V372 H376 V334 H284 V372 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M610,372 V320 H730 V372 H716 V334 H624 V372 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"14\"><line x1=\"355\" y1=\"200\" x2=\"355\" y2=\"296\" stroke=\"#1f2937\" stroke-width=\"2\" stroke-linecap=\"round\"\/><circle cx=\"355\" cy=\"296\" r=\"2.5\" fill=\"#1f2937\"\/><line x1=\"695\" y1=\"200\" x2=\"695\" y2=\"296\" stroke=\"#1f2937\" stroke-width=\"2\" stroke-linecap=\"round\"\/><circle cx=\"695\" cy=\"296\" r=\"2.5\" fill=\"#1f2937\"\/><line x1=\"812\" y1=\"166\" x2=\"650\" y2=\"166\" stroke=\"#1f2937\" stroke-width=\"2\" stroke-linecap=\"round\"\/><circle cx=\"650\" cy=\"166\" r=\"2.5\" fill=\"#1f2937\"\/><\/g><g data-p=\"17\"><circle cx=\"213\" cy=\"214\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"787\" cy=\"214\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"230\" cy=\"300\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"770\" cy=\"300\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"420\" cy=\"300\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"500\" cy=\"300\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"580\" cy=\"300\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"310\" cy=\"410\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"350\" cy=\"410\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"650\" cy=\"410\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"690\" cy=\"410\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><\/g><g data-p=\"25\"><rect x=\"812\" y=\"146\" width=\"40\" height=\"54\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"852\" y=\"158\" width=\"6\" height=\"10\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"852\" y=\"178\" width=\"6\" height=\"10\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><line x1=\"812\" y1=\"154\" x2=\"764\" y2=\"154\" stroke=\"#1f2937\" stroke-width=\"1\" stroke-dasharray=\"3 2\"\/><line x1=\"812\" y1=\"190\" x2=\"764\" y2=\"190\" stroke=\"#1f2937\" stroke-width=\"1\" stroke-dasharray=\"3 2\"\/><\/g><g data-p=\"1\"><rect x=\"430\" y=\"36\" width=\"48\" height=\"26\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"522\" y=\"36\" width=\"48\" height=\"26\" fill=\"url(#twhr34540-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g pointer-events=\"none\"><line x1=\"178\" y1=\"372\" x2=\"822\" y2=\"372\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><text x=\"172\" y=\"376\" font-size=\"12\" font-weight=\"700\" fill=\"#d63c3c\" text-anchor=\"end\">PL<\/text><line x1=\"500\" y1=\"28\" x2=\"500\" y2=\"690\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><text x=\"845\" y=\"364\" font-size=\"10.5\" fill=\"#5b6b7f\">A side (fixed)<\/text><text x=\"845\" y=\"389\" font-size=\"10.5\" fill=\"#5b6b7f\">B side (moving)<\/text><\/g><g data-p=\"1\"><line x1=\"131\" y1=\"30\" x2=\"432\" y2=\"44\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"432\" cy=\"44\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"30\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"34\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><line x1=\"869\" y1=\"110\" x2=\"518\" y2=\"128\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"518\" cy=\"128\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"110\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"114\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"869\" y1=\"84\" x2=\"526\" y2=\"94\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"526\" cy=\"94\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"84\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"88\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"131\" y1=\"57\" x2=\"166\" y2=\"57\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"166\" cy=\"57\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"57\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"61\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"131\" y1=\"88\" x2=\"166\" y2=\"88\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"166\" cy=\"88\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"88\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"92\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"131\" y1=\"120\" x2=\"200\" y2=\"124\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"200\" cy=\"124\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"120\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"124\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><line x1=\"131\" y1=\"150\" x2=\"254\" y2=\"162\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"254\" cy=\"162\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"150\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"154\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><line x1=\"131\" y1=\"178\" x2=\"272\" y2=\"151\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"272\" cy=\"151\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"178\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"182\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><line x1=\"131\" y1=\"206\" x2=\"420\" y2=\"158\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"420\" cy=\"158\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"206\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"210\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\"><line x1=\"869\" y1=\"230\" x2=\"524\" y2=\"190\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"524\" cy=\"190\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"230\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"234\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><g data-p=\"11\"><line x1=\"869\" y1=\"136\" x2=\"710\" y2=\"126\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"710\" cy=\"126\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"136\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"140\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><g data-p=\"12\"><line x1=\"869\" y1=\"204\" x2=\"694\" y2=\"190\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"694\" cy=\"190\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"204\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"208\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">12<\/text><\/g><g data-p=\"13\"><line x1=\"131\" y1=\"270\" x2=\"308\" y2=\"270\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"308\" cy=\"270\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"270\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"274\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">13<\/text><\/g><g data-p=\"14\"><line x1=\"869\" y1=\"256\" x2=\"695\" y2=\"256\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"695\" cy=\"256\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"256\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"260\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">14<\/text><\/g><g data-p=\"15\"><line x1=\"131\" y1=\"302\" x2=\"324\" y2=\"312\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"324\" cy=\"312\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"302\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"306\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">15<\/text><\/g><g data-p=\"16\"><line x1=\"131\" y1=\"240\" x2=\"200\" y2=\"250\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"200\" cy=\"250\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"240\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"244\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">16<\/text><\/g><g data-p=\"17\"><line x1=\"869\" y1=\"290\" x2=\"776\" y2=\"300\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"776\" cy=\"300\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"290\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"294\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">17<\/text><\/g><g data-p=\"18\"><line x1=\"869\" y1=\"330\" x2=\"730\" y2=\"340\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"730\" cy=\"340\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"330\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"334\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">18<\/text><\/g><g data-p=\"19\"><line x1=\"131\" y1=\"455\" x2=\"205\" y2=\"455\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"205\" cy=\"455\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"455\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"459\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">19<\/text><\/g><g data-p=\"20\"><line x1=\"131\" y1=\"530\" x2=\"212\" y2=\"530\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"212\" cy=\"530\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"530\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"534\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">20<\/text><\/g><g data-p=\"21\"><line x1=\"869\" y1=\"420\" x2=\"727\" y2=\"420\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"727\" cy=\"420\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"420\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"424\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">21<\/text><\/g><g data-p=\"22\"><line x1=\"869\" y1=\"558\" x2=\"741\" y2=\"560\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"741\" cy=\"560\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"558\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"562\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">22<\/text><\/g><g data-p=\"23\"><line x1=\"869\" y1=\"588\" x2=\"741\" y2=\"588\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"741\" cy=\"588\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"588\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"592\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">23<\/text><\/g><g data-p=\"24\"><line x1=\"131\" y1=\"625\" x2=\"166\" y2=\"625\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"166\" cy=\"625\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"625\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"629\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">24<\/text><\/g><g data-p=\"25\"><line x1=\"869\" y1=\"173\" x2=\"858\" y2=\"173\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"858\" cy=\"173\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"173\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"177\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">25<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><script> (function () { var root = document.getElementById('twhr34540'); if (!root) return; var P = [{\"n\":1,\"name\":\"Locating Ring\",\"fn\":\"Centers the mold on the fixed platen so the machine nozzle meets the inlet nozzle.\",\"bx\":120,\"by\":30,\"ax\":432,\"ay\":44},{\"n\":2,\"name\":\"Inlet (Main) Nozzle\",\"fn\":\"Heated entry bushing that takes melt from the machine nozzle into the manifold.\",\"bx\":880,\"by\":110,\"ax\":518,\"ay\":128},{\"n\":3,\"name\":\"Inlet Nozzle Heater\",\"fn\":\"Band heater that keeps the inlet nozzle at melt temperature between shots.\",\"bx\":880,\"by\":84,\"ax\":526,\"ay\":94},{\"n\":4,\"name\":\"Insulation Board\",\"fn\":\"Heat-insulating sheet that stops hot-runner heat flowing into the machine platen.\",\"bx\":120,\"by\":57,\"ax\":166,\"ay\":57},{\"n\":5,\"name\":\"Top Clamp Plate\",\"fn\":\"Clamps the hot half to the fixed platen and takes the manifold's back-up load.\",\"bx\":120,\"by\":88,\"ax\":166,\"ay\":88},{\"n\":6,\"name\":\"Manifold Plate\",\"fn\":\"Frame plate whose pocket houses the manifold, separated from it by an insulating air gap.\",\"bx\":120,\"by\":120,\"ax\":200,\"ay\":124},{\"n\":7,\"name\":\"Hot Runner Manifold\",\"fn\":\"Heated steel block that splits the melt and carries it to every drop at a uniform temperature.\",\"bx\":120,\"by\":150,\"ax\":254,\"ay\":162},{\"n\":8,\"name\":\"Manifold Heaters\",\"fn\":\"Tubular heaters pressed into grooves in the manifold to hold the melt channel at set temperature.\",\"bx\":120,\"by\":178,\"ax\":272,\"ay\":151},{\"n\":9,\"name\":\"Hot Melt Channel\",\"fn\":\"Always-molten flow path through inlet, manifold and nozzles, so no cold runner is produced.\",\"bx\":120,\"by\":206,\"ax\":420,\"ay\":158},{\"n\":10,\"name\":\"Center Locator\",\"fn\":\"Locates the manifold on the mold centerline so thermal growth spreads evenly outward.\",\"bx\":880,\"by\":230,\"ax\":524,\"ay\":190},{\"n\":11,\"name\":\"Pressure Pad\",\"fn\":\"Small-contact back-up disc that preloads the manifold onto the nozzles while limiting heat loss.\",\"bx\":880,\"by\":136,\"ax\":710,\"ay\":126},{\"n\":12,\"name\":\"Hot Drop Nozzle\",\"fn\":\"Heated nozzle that carries melt from the manifold straight to the gate of each cavity.\",\"bx\":880,\"by\":204,\"ax\":694,\"ay\":190},{\"n\":13,\"name\":\"Nozzle Heater\",\"fn\":\"Coil heater around each nozzle body, controlled as its own zone for accurate gate temperature.\",\"bx\":120,\"by\":270,\"ax\":308,\"ay\":270},{\"n\":14,\"name\":\"Thermocouples\",\"fn\":\"Temperature sensors in the manifold and every nozzle that feed the temperature controller.\",\"bx\":880,\"by\":256,\"ax\":695,\"ay\":256},{\"n\":15,\"name\":\"Nozzle Tip & Gate\",\"fn\":\"The tip sets gate size and freeze-off; the part keeps only a small gate vestige, no runner to trim.\",\"bx\":120,\"by\":302,\"ax\":324,\"ay\":312},{\"n\":16,\"name\":\"Cavity (A) Plate & Insert\",\"fn\":\"Holds the nozzle bores and forms the outer part surface; it must stay cool around the hot nozzles.\",\"bx\":120,\"by\":240,\"ax\":200,\"ay\":250},{\"n\":17,\"name\":\"Cooling Channels\",\"fn\":\"Water lines that keep the plates and inserts cool around the hot system and set cycle time.\",\"bx\":880,\"by\":290,\"ax\":776,\"ay\":300},{\"n\":18,\"name\":\"Molded Part\",\"fn\":\"Filled directly through the hot gate and ejected with no sprue or runner attached.\",\"bx\":880,\"by\":330,\"ax\":730,\"ay\":340},{\"n\":19,\"name\":\"Core (B) Plate & Insert\",\"fn\":\"Moving half of the mold; the raised core forms the inside of each part.\",\"bx\":120,\"by\":455,\"ax\":205,\"ay\":455},{\"n\":20,\"name\":\"Spacer Block\",\"fn\":\"Parallels that create the ejector housing, the space the ejector plates travel in.\",\"bx\":120,\"by\":530,\"ax\":212,\"ay\":530},{\"n\":21,\"name\":\"Ejector Pin\",\"fn\":\"Pushes the part off the core on ejection; the tip sits flush with the molding surface.\",\"bx\":880,\"by\":420,\"ax\":727,\"ay\":420},{\"n\":22,\"name\":\"Ejector Retainer Plate\",\"fn\":\"Upper ejector plate whose counterbores capture the ejector pin heads.\",\"bx\":880,\"by\":558,\"ax\":741,\"ay\":560},{\"n\":23,\"name\":\"Ejector Plate\",\"fn\":\"Lower ejector plate, pushed by the machine's ejector rod to drive the pins.\",\"bx\":880,\"by\":588,\"ax\":741,\"ay\":588},{\"n\":24,\"name\":\"Bottom Clamp Plate\",\"fn\":\"Clamps the moving half of the mold to the machine's moving platen.\",\"bx\":120,\"by\":625,\"ax\":166,\"ay\":625},{\"n\":25,\"name\":\"Junction Box\",\"fn\":\"Connector box that links every heater and thermocouple to the hot runner temperature controller.\",\"bx\":880,\"by\":173,\"ax\":858,\"ay\":173}]; var svg = root.querySelector('svg'), stage = root.querySelector('.tw-ms-stage'), tip = root.querySelector('.tw-ms-tip'); var els = svg.querySelectorAll('[data-p]'); var pinned = null; function part(n) { for (var i = 0; i < P.length; i++) { if (String(P[i].n) === String(n)) return P[i]; } return null; } function union(n) { var x1 = 1e9, y1 = 1e9, x2 = -1e9, y2 = -1e9; for (var i = 0; i < els.length; i++) { if (els[i].getAttribute('data-p') !== String(n)) continue; var b = els[i].getBBox(); x1 = Math.min(x1, b.x); y1 = Math.min(y1, b.y); x2 = Math.max(x2, b.x + b.width); y2 = Math.max(y2, b.y + b.height); } return { x1: x1, y1: y1, x2: x2, y2: y2 }; } function clamp(v, a, b) { return Math.max(a, Math.min(b, v)); } function place(n, p) { var s = svg.getBoundingClientRect(), w = stage.getBoundingClientRect(); var k = s.width \/ 1000, ox = s.left - w.left, oy = s.top - w.top; var u = union(n); var L = ox + u.x1 * k, T = oy + u.y1 * k, Rt = ox + u.x2 * k, B = oy + u.y2 * k; var bx = ox + p.bx * k, by = oy + p.by * k; var W = w.width, H = w.height, gap = 10, m = 6; tip.style.display = 'block'; tip.style.width = Math.min(250, W - 2 * m) + 'px'; var tw = tip.offsetWidth, th = tip.offsetHeight; var order = p.bx < 500 ? ['l', 'r', 'b', 't'] : ['r', 'l', 'b', 't']; var pos = null; function at(sd) { if (sd === 'l') return { x: L - gap - tw, y: clamp(by - th \/ 2, m, H - th - m), ok: L - gap - tw >= m }; if (sd === 'r') return { x: Rt + gap, y: clamp(by - th \/ 2, m, H - th - m), ok: Rt + gap + tw <= W - m }; if (sd === 'b') return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: B + gap, ok: B + gap + th <= H - m }; return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: T - gap - th, ok: T - gap - th >= m }; } for (var i = 0; i < order.length && !pos; i++) { var c = at(order[i]); if (c.ok) pos = c; } if (!pos) { var sp = { l: L - tw, r: W - Rt - tw, t: T - th, b: H - B - th }, best = 'b'; for (var key in sp) { if (sp[key] > sp[best]) best = key; } pos = at(best); } tip.style.left = clamp(pos.x, m, W - tw - m) + 'px'; tip.style.top = clamp(pos.y, m, H - th - m) + 'px'; } function show(n) { var p = part(n); if (!p) return; var i; for (i = 0; i < els.length; i++) els[i].style.opacity = els[i].getAttribute('data-p') === String(n) ? '1' : '0.18'; tip.innerHTML = '<div class=\"h\"><span class=\"tw-ms-num\"><\/span><span class=\"nm\"><\/span><\/div><p><\/p>'; tip.querySelector('.tw-ms-num').textContent = p.n; tip.querySelector('.nm').textContent = p.name; tip.querySelector('p').textContent = p.fn; place(n, p); } function hide() { var i; for (i = 0; i < els.length; i++) els[i].style.opacity = ''; tip.style.display = 'none'; } function bind(el) { var n = el.getAttribute('data-p'); el.addEventListener('mouseenter', function () { if (pinned === null) show(n); }); el.addEventListener('mouseleave', function () { if (pinned === null) hide(); }); el.addEventListener('click', function (e) { e.stopPropagation(); if (pinned === n) { pinned = null; hide(); } else { pinned = n; show(n); } }); } for (var i = 0; i < els.length; i++) bind(els[i]); svg.addEventListener('click', function () { pinned = null; hide(); }); window.addEventListener('resize', function () { if (pinned !== null) show(pinned); else hide(); }); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twhre70336\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this diagram on your site<\/strong><button type=\"button\" class=\"twhre-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-hot-runner&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_hot_runner_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:780px&quot; loading=&quot;lazy&quot; title=&quot;Hot Runner System - Interactive Cross-Section&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_hot_runner&quot;){var f=document.getElementById(&quot;tw-hot-runner&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive hot runner diagram by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twhre70336'); if (!box) return; var btn = box.querySelector('.twhre-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><\/div><style>#twfm34466{--navy:#1e3a5f;max-width:980px;margin:0 auto;padding:2px 0 8px;background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;color:#1f2937;-webkit-tap-highlight-color:transparent}#twfm34466 *{box-sizing:border-box}#twfm34466 .twfm-hd{padding:0 6px 8px}#twfm34466 .twfm-hd h3{margin:0 0 4px;font-size:19px;line-height:1.3;font-weight:700;color:#0f172a}#twfm34466 .twfm-hd p{margin:0;font-size:13px;line-height:1.45;color:#64748b}#twfm34466 .twfm-stage{position:relative;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}#twfm34466 .twfm-stage svg{display:block;width:100%;height:auto;touch-action:manipulation}#twfm34466 .twfm-hint{display:none;padding:6px 6px 0;font-size:11.5px;color:#94a3b8}#twfm34466 .twfm-p{transition:opacity .15s ease}#twfm34466 .twfm-stage svg.on .twfm-p{opacity:.18}#twfm34466 .twfm-stage svg.on .twfm-p.sel{opacity:1}#twfm34466 .twfm-b{cursor:pointer;outline:none}#twfm34466 .twfm-b circle{transition:stroke .12s ease}#twfm34466 .twfm-b.sel circle{stroke:#f2a33c;stroke-width:3}#twfm34466 .twfm-b:focus circle{stroke:#f2a33c;stroke-width:3}#twfm34466 .twfm-tip{position:absolute;z-index:6;width:260px;max-width:62%;background:#fff;border:1px solid #cbd5e1;border-left:4px solid var(--navy);border-radius:7px;padding:9px 11px;display:flex;gap:9px;box-shadow:0 6px 18px rgba(15,23,42,.14);pointer-events:none}#twfm34466 .twfm-tip[hidden]{display:none}#twfm34466 .twfm-tip i{flex:0 0 22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:700;font-style:normal;display:flex;align-items:center;justify-content:center}#twfm34466 .twfm-tip b{display:block;font-size:13.5px;line-height:1.25;color:#0f172a}#twfm34466 .twfm-tip span{display:block;margin-top:3px;font-size:12.5px;line-height:1.42;color:#475569}#twfm34466 .twfm-key{display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 6px 0;font-size:12px;color:#475569}#twfm34466 .twfm-key em{display:inline-flex;align-items:center;gap:6px;font-style:normal}#twfm34466 .twfm-key em>s{width:15px;height:11px;border:1px solid #5b6b7f;display:inline-block;text-decoration:none}#twfm34466 .twfm-key .k1>s{background:#e6ecf3}#twfm34466 .twfm-key .k2>s{background:#f2a33c;border-color:#b9741f}#twfm34466 .twfm-key .k3>s{background:#2f7de1;border-color:#1d5bb0;border-radius:50%;width:12px;height:12px}#twfm34466 .twfm-key .k4>s{background:none;border:none;width:18px;height:0;border-top:2px dashed #d63c3c}#twfm34466 .twfm-emb{margin:16px 0 0;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:12px 13px}#twfm34466 .twfm-emb .t{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}#twfm34466 .twfm-emb .t b{font-size:13px;color:#0f172a}#twfm34466 .twfm-emb button{border:1px solid #1e3a5f;background:#1e3a5f;color:#fff;font:600 12px\/1.2 inherit;padding:7px 14px;border-radius:5px;cursor:pointer}#twfm34466 .twfm-emb button:hover{background:#163055}#twfm34466 .twfm-emb textarea{width:100%;height:94px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.5;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:5px;padding:8px 9px}#twfm34466 .twfm-cr{margin:12px 6px 0;font-size:12px;color:#64748b}#twfm34466 .twfm-cr a{color:#1e3a5f;font-weight:600;text-decoration:none}#twfm34466 .twfm-cr a:hover{text-decoration:underline}@media(max-width:700px){#twfm34466 .twfm-stage svg{width:680px;max-width:none}#twfm34466 .twfm-tip{width:210px;max-width:210px;padding:8px 9px}#twfm34466 .twfm-tip b{font-size:12.5px}#twfm34466 .twfm-tip span{font-size:11.5px}#twfm34466 .twfm-hint{display:block}#twfm34466 .twfm-hd h3{font-size:16px}}<\/style><div id=\"twfm34466\" class=\"twfm-wrap\"><div class=\"twfm-hd\"><h3>Family Mold &mdash; 2D Engineering Cross-Section<\/h3><p>One tool, two different parts, one parting line &mdash; shown in the closed position. Hover or tap any component or number.<\/p><\/div><div class=\"twfm-stage\"><svg viewBox=\"0 0 900 760\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Family mold 2D cross-section, closed position\"><defs><pattern id=\"twfm34466-h1\" width=\"10\" height=\"10\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"10\" height=\"10\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"10\" stroke=\"#5b6b7f\" stroke-width=\"1\" opacity=\".28\"\/><\/pattern><pattern id=\"twfm34466-h2\" width=\"9\" height=\"9\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(-45)\"><rect width=\"9\" height=\"9\" fill=\"#dce5ef\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"9\" stroke=\"#5b6b7f\" stroke-width=\"1\" opacity=\".32\"\/><\/pattern><\/defs><rect x=\"0\" y=\"0\" width=\"900\" height=\"760\" fill=\"#ffffff\"\/><line x1=\"450\" y1=\"22\" x2=\"450\" y2=\"742\" stroke=\"#94a3b8\" stroke-width=\"1\" stroke-dasharray=\"16 5 2 5\"\/><g class=\"twfm-p\" data-p=\"3\"><rect x=\"120\" y=\"70\" width=\"290\" height=\"42\" fill=\"url(#twfm34466-h1)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"490\" y=\"70\" width=\"290\" height=\"42\" fill=\"url(#twfm34466-h1)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"1\"><rect x=\"400\" y=\"48\" width=\"44\" height=\"22\" fill=\"url(#twfm34466-h2)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"456\" y=\"48\" width=\"44\" height=\"22\" fill=\"url(#twfm34466-h2)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"2\"><path d=\"M410,70 L444,70 L437,242 L410,242 Z\" fill=\"url(#twfm34466-h2)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M490,70 L456,70 L463,242 L490,242 Z\" fill=\"url(#twfm34466-h2)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"4\"><rect x=\"150\" y=\"112\" width=\"600\" height=\"130\" fill=\"url(#twfm34466-h1)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"8\"><rect x=\"150\" y=\"242\" width=\"600\" height=\"130\" fill=\"url(#twfm34466-h1)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"21\"><rect x=\"150\" y=\"372\" width=\"80\" height=\"150\" fill=\"url(#twfm34466-h1)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"670\" y=\"372\" width=\"80\" height=\"150\" fill=\"url(#twfm34466-h1)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"23\"><rect x=\"120\" y=\"522\" width=\"312\" height=\"42\" fill=\"url(#twfm34466-h1)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"468\" y=\"522\" width=\"312\" height=\"42\" fill=\"url(#twfm34466-h1)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"22\"><rect x=\"390\" y=\"372\" width=\"24\" height=\"150\" fill=\"url(#twfm34466-h2)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"486\" y=\"372\" width=\"24\" height=\"150\" fill=\"url(#twfm34466-h2)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"19\"><rect x=\"235\" y=\"412\" width=\"149\" height=\"32\" fill=\"url(#twfm34466-h1)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"420\" y=\"412\" width=\"60\" height=\"32\" fill=\"url(#twfm34466-h1)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"516\" y=\"412\" width=\"149\" height=\"32\" fill=\"url(#twfm34466-h1)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"20\"><rect x=\"235\" y=\"444\" width=\"149\" height=\"42\" fill=\"url(#twfm34466-h1)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"420\" y=\"444\" width=\"60\" height=\"42\" fill=\"url(#twfm34466-h1)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"516\" y=\"444\" width=\"149\" height=\"42\" fill=\"url(#twfm34466-h1)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"24\"><rect x=\"432\" y=\"486\" width=\"36\" height=\"134\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"16\"><rect x=\"160\" y=\"112\" width=\"32\" height=\"130\" fill=\"url(#twfm34466-h2)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"708\" y=\"112\" width=\"32\" height=\"130\" fill=\"url(#twfm34466-h2)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"168\" y=\"130\" width=\"16\" height=\"200\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"716\" y=\"130\" width=\"16\" height=\"200\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"15\"><circle cx=\"252\" cy=\"170\" r=\"9\" fill=\"#2f7de1\" stroke=\"#1d5bb0\" stroke-width=\"1.2\"\/><circle cx=\"252\" cy=\"212\" r=\"9\" fill=\"#2f7de1\" stroke=\"#1d5bb0\" stroke-width=\"1.2\"\/><circle cx=\"368\" cy=\"170\" r=\"9\" fill=\"#2f7de1\" stroke=\"#1d5bb0\" stroke-width=\"1.2\"\/><circle cx=\"368\" cy=\"212\" r=\"9\" fill=\"#2f7de1\" stroke=\"#1d5bb0\" stroke-width=\"1.2\"\/><circle cx=\"556\" cy=\"176\" r=\"9\" fill=\"#2f7de1\" stroke=\"#1d5bb0\" stroke-width=\"1.2\"\/><circle cx=\"654\" cy=\"176\" r=\"9\" fill=\"#2f7de1\" stroke=\"#1d5bb0\" stroke-width=\"1.2\"\/><circle cx=\"262\" cy=\"292\" r=\"9\" fill=\"#2f7de1\" stroke=\"#1d5bb0\" stroke-width=\"1.2\"\/><circle cx=\"378\" cy=\"300\" r=\"9\" fill=\"#2f7de1\" stroke=\"#1d5bb0\" stroke-width=\"1.2\"\/><circle cx=\"538\" cy=\"300\" r=\"9\" fill=\"#2f7de1\" stroke=\"#1d5bb0\" stroke-width=\"1.2\"\/><circle cx=\"676\" cy=\"292\" r=\"9\" fill=\"#2f7de1\" stroke=\"#1d5bb0\" stroke-width=\"1.2\"\/><\/g><g class=\"twfm-p\" data-p=\"7\"><line x1=\"138\" y1=\"242\" x2=\"762\" y2=\"242\" stroke=\"#d63c3c\" stroke-width=\"2\" stroke-dasharray=\"11 6\"\/><\/g><g class=\"twfm-p\" data-p=\"9\"><rect x=\"275\" y=\"150\" width=\"70\" height=\"92\" fill=\"url(#twfm34466-h2)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"10\"><rect x=\"578\" y=\"218\" width=\"54\" height=\"24\" fill=\"url(#twfm34466-h2)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"5\"><path d=\"M267,242 L267,142 L353,142 L353,242 L345,242 L345,150 L275,150 L275,242 Z\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\"1.3\"\/><\/g><g class=\"twfm-p\" data-p=\"6\"><path d=\"M570,242 L570,210 L640,210 L640,242 L632,242 L632,218 L578,218 L578,242 Z\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\"1.3\"\/><\/g><g class=\"twfm-p\" data-p=\"11\"><path d=\"M444,48 L456,48 L463,242 L437,242 Z\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\"1.3\"\/><rect x=\"359\" y=\"232\" width=\"78\" height=\"22\" rx=\"8\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\"1.3\"\/><rect x=\"463\" y=\"236\" width=\"101\" height=\"14\" rx=\"6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\"1.3\"\/><\/g><g class=\"twfm-p\" data-p=\"12\"><rect x=\"352\" y=\"235\" width=\"8\" height=\"9\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\"1.1\"\/><\/g><g class=\"twfm-p\" data-p=\"13\"><rect x=\"563\" y=\"239\" width=\"8\" height=\"6\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\"1.1\"\/><\/g><g class=\"twfm-p\" data-p=\"14\"><path d=\"M433,242 L467,242 L473,278 L427,278 Z\" fill=\"#f2a33c\" stroke=\"#b9741f\" stroke-width=\"1.3\"\/><rect x=\"438\" y=\"278\" width=\"24\" height=\"134\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"428\" y=\"412\" width=\"44\" height=\"12\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"twfm-p\" data-p=\"17\"><rect x=\"288\" y=\"150\" width=\"8\" height=\"262\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.3\"\/><rect x=\"324\" y=\"150\" width=\"8\" height=\"262\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.3\"\/><rect x=\"588\" y=\"218\" width=\"8\" height=\"194\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.3\"\/><rect x=\"614\" y=\"218\" width=\"8\" height=\"194\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.3\"\/><rect x=\"282\" y=\"412\" width=\"20\" height=\"12\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.3\"\/><rect x=\"318\" y=\"412\" width=\"20\" height=\"12\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.3\"\/><rect x=\"582\" y=\"412\" width=\"20\" height=\"12\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.3\"\/><rect x=\"608\" y=\"412\" width=\"20\" height=\"12\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.3\"\/><\/g><g class=\"twfm-p\" data-p=\"18\"><rect x=\"242\" y=\"242\" width=\"14\" height=\"170\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.3\"\/><rect x=\"644\" y=\"242\" width=\"14\" height=\"170\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.3\"\/><rect x=\"236\" y=\"412\" width=\"26\" height=\"12\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.3\"\/><rect x=\"638\" y=\"412\" width=\"26\" height=\"12\" fill=\"#cdd8e5\" stroke=\"#5b6b7f\" stroke-width=\"1.3\"\/><\/g><g class=\"twfm-b\" data-p=\"1\" tabindex=\"0\" role=\"button\" aria-label=\"1. Locating Ring\"><line x1=\"545\" y1=\"59\" x2=\"500\" y2=\"59\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"545\" cy=\"59\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"545\" cy=\"59\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"545\" y=\"59\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">1<\/text><\/g><g class=\"twfm-b\" data-p=\"2\" tabindex=\"0\" role=\"button\" aria-label=\"2. Sprue Bushing\"><line x1=\"388\" y1=\"134\" x2=\"420\" y2=\"152\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"388\" cy=\"134\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"388\" cy=\"134\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"388\" y=\"134\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">2<\/text><\/g><g class=\"twfm-b\" data-p=\"3\" tabindex=\"0\" role=\"button\" aria-label=\"3. Top Clamp Plate\"><circle class=\"twfm-hit\" cx=\"142\" cy=\"91\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"142\" cy=\"91\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"142\" y=\"91\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">3<\/text><\/g><g class=\"twfm-b\" data-p=\"4\" tabindex=\"0\" role=\"button\" aria-label=\"4. Cavity (A) Plate\"><circle class=\"twfm-hit\" cx=\"214\" cy=\"128\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"214\" cy=\"128\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"214\" y=\"128\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">4<\/text><\/g><g class=\"twfm-b\" data-p=\"5\" tabindex=\"0\" role=\"button\" aria-label=\"5. Cavity - Part A (large)\"><line x1=\"310\" y1=\"120\" x2=\"310\" y2=\"144\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"310\" cy=\"120\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"310\" cy=\"120\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"310\" y=\"120\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">5<\/text><\/g><g class=\"twfm-b\" data-p=\"6\" tabindex=\"0\" role=\"button\" aria-label=\"6. Cavity - Part B (small)\"><line x1=\"606\" y1=\"184\" x2=\"606\" y2=\"212\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"606\" cy=\"184\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"606\" cy=\"184\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"606\" y=\"184\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">6<\/text><\/g><g class=\"twfm-b\" data-p=\"7\" tabindex=\"0\" role=\"button\" aria-label=\"7. Parting Line\"><line x1=\"790\" y1=\"242\" x2=\"766\" y2=\"242\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"790\" cy=\"242\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"790\" cy=\"242\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"790\" y=\"242\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">7<\/text><\/g><g class=\"twfm-b\" data-p=\"8\" tabindex=\"0\" role=\"button\" aria-label=\"8. Core (B) Plate\"><circle class=\"twfm-hit\" cx=\"236\" cy=\"352\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"236\" cy=\"352\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"236\" y=\"352\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">8<\/text><\/g><g class=\"twfm-b\" data-p=\"9\" tabindex=\"0\" role=\"button\" aria-label=\"9. Core - Part A\"><circle class=\"twfm-hit\" cx=\"310\" cy=\"200\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"310\" cy=\"200\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"310\" y=\"200\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">9<\/text><\/g><g class=\"twfm-b\" data-p=\"10\" tabindex=\"0\" role=\"button\" aria-label=\"10. Core - Part B\"><line x1=\"606\" y1=\"268\" x2=\"606\" y2=\"244\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"606\" cy=\"268\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"606\" cy=\"268\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"606\" y=\"268\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">10<\/text><\/g><g class=\"twfm-b\" data-p=\"11\" tabindex=\"0\" role=\"button\" aria-label=\"11. Cold Runner System\"><line x1=\"398\" y1=\"196\" x2=\"398\" y2=\"232\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"398\" cy=\"196\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"398\" cy=\"196\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"398\" y=\"196\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">11<\/text><\/g><g class=\"twfm-b\" data-p=\"12\" tabindex=\"0\" role=\"button\" aria-label=\"12. Gate - Part A\"><line x1=\"352\" y1=\"292\" x2=\"357\" y2=\"247\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"352\" cy=\"292\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"352\" cy=\"292\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"352\" y=\"292\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">12<\/text><\/g><g class=\"twfm-b\" data-p=\"13\" tabindex=\"0\" role=\"button\" aria-label=\"13. Gate - Part B\"><line x1=\"544\" y1=\"268\" x2=\"566\" y2=\"245\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"544\" cy=\"268\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"544\" cy=\"268\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"544\" y=\"268\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">13<\/text><\/g><g class=\"twfm-b\" data-p=\"14\" tabindex=\"0\" role=\"button\" aria-label=\"14. Sprue Puller \/ Cold Slug Well\"><line x1=\"505\" y1=\"272\" x2=\"472\" y2=\"270\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"505\" cy=\"272\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"505\" cy=\"272\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"505\" y=\"272\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">14<\/text><\/g><g class=\"twfm-b\" data-p=\"15\" tabindex=\"0\" role=\"button\" aria-label=\"15. Independent Cooling Circuits\"><line x1=\"420\" y1=\"158\" x2=\"377\" y2=\"168\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"420\" cy=\"158\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"420\" cy=\"158\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"420\" y=\"158\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">15<\/text><\/g><g class=\"twfm-b\" data-p=\"16\" tabindex=\"0\" role=\"button\" aria-label=\"16. Guide Pin &amp; Bush\"><line x1=\"212\" y1=\"300\" x2=\"187\" y2=\"310\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"212\" cy=\"300\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"212\" cy=\"300\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"212\" y=\"300\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">16<\/text><\/g><g class=\"twfm-b\" data-p=\"17\" tabindex=\"0\" role=\"button\" aria-label=\"17. Ejector Pins\"><circle class=\"twfm-hit\" cx=\"310\" cy=\"392\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"310\" cy=\"392\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"310\" y=\"392\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">17<\/text><\/g><g class=\"twfm-b\" data-p=\"18\" tabindex=\"0\" role=\"button\" aria-label=\"18. Return Pin\"><line x1=\"212\" y1=\"392\" x2=\"240\" y2=\"392\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"212\" cy=\"392\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"212\" cy=\"392\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"212\" y=\"392\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">18<\/text><\/g><g class=\"twfm-b\" data-p=\"19\" tabindex=\"0\" role=\"button\" aria-label=\"19. Ejector Retainer Plate\"><circle class=\"twfm-hit\" cx=\"352\" cy=\"428\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"352\" cy=\"428\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"352\" y=\"428\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">19<\/text><\/g><g class=\"twfm-b\" data-p=\"20\" tabindex=\"0\" role=\"button\" aria-label=\"20. Ejector Plate\"><circle class=\"twfm-hit\" cx=\"352\" cy=\"465\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"352\" cy=\"465\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"352\" y=\"465\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">20<\/text><\/g><g class=\"twfm-b\" data-p=\"21\" tabindex=\"0\" role=\"button\" aria-label=\"21. Spacer Block\"><circle class=\"twfm-hit\" cx=\"190\" cy=\"450\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"190\" cy=\"450\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"190\" y=\"450\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">21<\/text><\/g><g class=\"twfm-b\" data-p=\"22\" tabindex=\"0\" role=\"button\" aria-label=\"22. Support Pillar\"><line x1=\"540\" y1=\"400\" x2=\"510\" y2=\"400\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"540\" cy=\"400\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"540\" cy=\"400\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"540\" y=\"400\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">22<\/text><\/g><g class=\"twfm-b\" data-p=\"23\" tabindex=\"0\" role=\"button\" aria-label=\"23. Bottom Clamp Plate\"><circle class=\"twfm-hit\" cx=\"160\" cy=\"543\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"160\" cy=\"543\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"160\" y=\"543\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">23<\/text><\/g><g class=\"twfm-b\" data-p=\"24\" tabindex=\"0\" role=\"button\" aria-label=\"24. Machine Ejector Rod\"><line x1=\"520\" y1=\"600\" x2=\"471\" y2=\"600\" stroke=\"#1e3a5f\" stroke-width=\"1\"\/><circle class=\"twfm-hit\" cx=\"520\" cy=\"600\" r=\"20\" fill=\"none\" pointer-events=\"all\"\/><circle cx=\"520\" cy=\"600\" r=\"13\" fill=\"#1e3a5f\"\/><text x=\"520\" y=\"600\" text-anchor=\"middle\" dominant-baseline=\"central\" fill=\"#ffffff\" font-size=\"13\" font-weight=\"700\" font-family=\"Inter,Helvetica,Arial,sans-serif\">24<\/text><\/g><\/svg><div class=\"twfm-tip\" hidden><\/div><\/div><p class=\"twfm-hint\">Scroll the drawing sideways to see the full mold.<\/p><div class=\"twfm-key\"><em class=\"k1\"><s><\/s>Steel<\/em><em class=\"k2\"><s><\/s>Plastic \/ melt<\/em><em class=\"k3\"><s><\/s>Cooling channel<\/em><em class=\"k4\"><s><\/s>Parting line<\/em><\/div><div class=\"twfm-emb\"><div class=\"t\"><b>Embed this diagram on your site<\/b><button type=\"button\">Copy code<\/button><\/div><textarea readonly onclick=\"this.select()\">&lt;iframe src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_family_mold_embed=17629&quot; title=&quot;Family Mold Cross-Section Diagram&quot; width=&quot;100%&quot; height=&quot;900&quot; loading=&quot;lazy&quot; scrolling=&quot;no&quot; style=&quot;border:1px solid #e2e8f0;border-radius:8px;max-width:980px;display:block;margin:0 auto&quot;&gt;&lt;\/iframe&gt;\n&lt;p style=&quot;font-size:13px;text-align:center;margin:8px 0 0&quot;&gt;Interactive diagram by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot; target=&quot;_blank&quot;&gt;&lt;\/a&gt;&lt;\/p&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twFamilyMoldH){var f=document.querySelectorAll(&#039;iframe[src*=&quot;tw_family_mold_embed&quot;]&#039;);for(var i=0;i&lt;f.length;i++)f[i].style.height=e.data.twFamilyMoldH+&quot;px&quot;;}});&lt;\/script&gt;<\/textarea><\/div><\/div><script>(function(){var P=[{\"n\":1,\"name\":\"Locating Ring\",\"fn\":\"Centers the mold on the fixed platen so the machine nozzle meets the sprue bushing squarely.\"},{\"n\":2,\"name\":\"Sprue Bushing\",\"fn\":\"Takes melt from the machine nozzle down to the parting line; the tapered bore lets the sprue pull out clean.\"},{\"n\":3,\"name\":\"Top Clamp Plate\",\"fn\":\"Bolts the fixed half to the stationary platen and backs up the cavity plate.\"},{\"n\":4,\"name\":\"Cavity (A) Plate\",\"fn\":\"Fixed half carrying BOTH impressions. One block of steel forms the outside of two different parts - that is what makes it a family mold.\"},{\"n\":5,\"name\":\"Cavity - Part A (large)\",\"fn\":\"Deep impression for the bigger part. Its larger shot volume fills last and sets the overall cycle time.\"},{\"n\":6,\"name\":\"Cavity - Part B (small)\",\"fn\":\"Shallow impression for the smaller part. It fills first, so without a throttled gate it packs out and flashes.\"},{\"n\":7,\"name\":\"Parting Line\",\"fn\":\"A single parting plane shared by both impressions - the defining feature of a family tool.\"},{\"n\":8,\"name\":\"Core (B) Plate\",\"fn\":\"Moving half holding both cores plus the whole ejection system.\"},{\"n\":9,\"name\":\"Core - Part A\",\"fn\":\"Forms the inside of the large part. The long core needs its own cooling and enough draft to release.\"},{\"n\":10,\"name\":\"Core - Part B\",\"fn\":\"Forms the inside of the small part. Much shorter, so it sheds heat far faster than core A.\"},{\"n\":11,\"name\":\"Cold Runner System\",\"fn\":\"Sprue, primary and branch runners. The branch feeding Part A is larger in diameter to carry the bigger shot.\"},{\"n\":12,\"name\":\"Gate - Part A\",\"fn\":\"Full-size edge gate, sized to pass the larger volume without hesitation or short shot.\"},{\"n\":13,\"name\":\"Gate - Part B\",\"fn\":\"Deliberately restricted edge gate. It throttles flow so the small part does not pack out before Part A is full.\"},{\"n\":14,\"name\":\"Sprue Puller \\\/ Cold Slug Well\",\"fn\":\"Undercut well traps the cold slug and pulls the sprue onto the moving half so it ejects with the parts.\"},{\"n\":15,\"name\":\"Independent Cooling Circuits\",\"fn\":\"Separate water circuits per impression. The thick part and the thin part have to reach ejection temperature at the same time.\"},{\"n\":16,\"name\":\"Guide Pin & Bush\",\"fn\":\"Aligns the two halves. Critical in a family mold, because the unequal cavity loads push the mold off centre.\"},{\"n\":17,\"name\":\"Ejector Pins\",\"fn\":\"Push both parts and the runner off the cores. Tips sit flush with each molding face; stroke is set by the deeper Part A.\"},{\"n\":18,\"name\":\"Return Pin\",\"fn\":\"Drives the ejector assembly back as the mold closes, so every pin clears the parting line.\"},{\"n\":19,\"name\":\"Ejector Retainer Plate\",\"fn\":\"Upper ejector plate; counterbores capture and hold the pin heads.\"},{\"n\":20,\"name\":\"Ejector Plate\",\"fn\":\"Lower ejector plate, pushed by the machine's ejector rod; transmits the stroke to every pin.\"},{\"n\":21,\"name\":\"Spacer Block\",\"fn\":\"Parallels that set the ejector housing height between core plate and bottom clamp plate, defining the stroke.\"},{\"n\":22,\"name\":\"Support Pillar\",\"fn\":\"Backs the centre of the core plate against injection pressure and stops it flexing.\"},{\"n\":23,\"name\":\"Bottom Clamp Plate\",\"fn\":\"Bolts the moving half to the machine's moving platen and closes the ejector housing.\"},{\"n\":24,\"name\":\"Machine Ejector Rod\",\"fn\":\"Knockout bar from the molding machine that pushes the ejector plates forward.\"}];function go(){var r=document.getElementById(\"twfm34466\");if(!r||r.dataset.twfm)return;r.dataset.twfm=1;var sv=r.querySelector(\"svg\"),st=r.querySelector(\".twfm-stage\"),tp=r.querySelector(\".twfm-tip\");if(!sv||!st||!tp)return;var lock=null;function off(){sv.classList.remove(\"on\");var a=r.querySelectorAll(\".sel\");for(var i=0;i<a.length;i++)a[i].classList.remove(\"sel\");tp.hidden=true;}function on(n){var p=null;for(var i=0;i<P.length;i++){if(P[i].n===n){p=P[i];break;}}if(!p)return;sv.classList.add(\"on\");var a=r.querySelectorAll(\".sel\");for(i=0;i<a.length;i++)a[i].classList.remove(\"sel\");var g=sv.querySelectorAll('[data-p=\"'+n+'\"]');for(i=0;i<g.length;i++)g[i].classList.add(\"sel\");tp.innerHTML='<i>'+p.n+'<\/i><div><b>'+p.name+'<\/b><span>'+p.fn+'<\/span><\/div>';tp.hidden=false;var b=sv.querySelector('g.twfm-b[data-p=\"'+n+'\"] circle');if(!b)return;var sr=st.getBoundingClientRect(),br=b.getBoundingClientRect();var cx=br.left-sr.left+st.scrollLeft+br.width\/2;var cy=br.top-sr.top+st.scrollTop+br.height\/2;var tw=tp.offsetWidth,th=tp.offsetHeight,pd=6,gp=br.width\/2+14;var vL=st.scrollLeft+pd,vR=st.scrollLeft+st.clientWidth-tw-pd;if(vR<vL)vR=vL;var L=cx+gp;if(L>vR)L=cx-gp-tw;if(L<vL)L=cx-tw\/2;L=Math.min(Math.max(L,vL),vR);var vT=st.scrollTop+pd,vB=st.scrollTop+st.clientHeight-th-pd;if(vB<vT)vB=vT;var T=Math.min(Math.max(cy-th\/2,vT),vB);tp.style.left=L+\"px\";tp.style.top=T+\"px\";}var hov=window.matchMedia&&window.matchMedia(\"(hover:hover)\").matches;var all=sv.querySelectorAll(\"g.twfm-p,g.twfm-b\");for(var k=0;k<all.length;k++){(function(el){var n=parseInt(el.getAttribute(\"data-p\"),10);if(hov){el.addEventListener(\"mouseenter\",function(){if(lock===null)on(n);});}el.addEventListener(\"click\",function(e){e.stopPropagation();if(lock===n){lock=null;off();}else{lock=n;on(n);}});el.addEventListener(\"focus\",function(){lock=null;on(n);});el.addEventListener(\"blur\",function(){lock=null;off();});})(all[k]);}sv.addEventListener(\"mouseleave\",function(){if(lock===null)off();});document.addEventListener(\"click\",function(){lock=null;off();});document.addEventListener(\"keydown\",function(e){if(e.key===\"Escape\"){lock=null;off();}});window.addEventListener(\"resize\",function(){if(lock!==null)on(lock);});var cb=r.querySelector(\".twfm-emb button\");if(cb){cb.addEventListener(\"click\",function(e){e.stopPropagation();var t=r.querySelector(\".twfm-emb textarea\");t.select();t.setSelectionRange(0,99999);var ok=false;try{ok=document.execCommand(\"copy\");}catch(x){}if(!ok&&navigator.clipboard){navigator.clipboard.writeText(t.value);ok=true;}var o=cb.textContent;cb.textContent=ok?\"Copied\":\"Press Ctrl+C\";setTimeout(function(){cb.textContent=o;},1600);});}}if(document.readyState===\"loading\"){document.addEventListener(\"DOMContentLoaded\",go);}else{go();}})();<\/script><div id=\"mold-structure\" class=\"wp-block-group tw-tool tw-cat-structure is-layout-flow wp-block-group-is-layout-flow\"><div class=\"tw-ms\" id=\"twms39534\"><style> #twms39534{max-width:1000px;margin:24px auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif;color:#1f2a37} #twms39534 .tw-ms-head{margin:0 0 10px} #twms39534 .tw-ms-head h3{margin:0 0 4px;font-size:20px;line-height:1.3;color:#1e3a5f} #twms39534 .tw-ms-head p{margin:0;font-size:13.5px;color:#5b6b7f} #twms39534 .tw-ms-stage{position:relative;background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;overflow:hidden} #twms39534 .tw-ms-stage svg{display:block;width:100%;height:auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twms39534 .tw-ms-stage svg [data-p]{cursor:pointer;transition:opacity .15s} #twms39534 .tw-ms-tip{position:absolute;display:none;z-index:5;box-sizing:border-box;background:#ffffff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.45;pointer-events:none;box-shadow:0 4px 14px rgba(30,58,95,.12)} #twms39534 .tw-ms-tip .h{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-weight:700;color:#1e3a5f} #twms39534 .tw-ms-tip p{margin:0;color:#374151} #twms39534 .tw-ms-num{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#1e3a5f;color:#ffffff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center} @media (max-width:560px){#twms39534 .tw-ms-tip{font-size:12px;padding:7px 9px}} <\/style><div class=\"tw-ms-head\"><h3>Injection Mold Structure &ndash; Cross-Section<\/h3><p>Two-plate mold, closed position, 2 cavities. Hover or tap any part or number.<\/p><\/div><div class=\"tw-ms-stage\"><svg viewBox=\"0 0 1000 680\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Cross-section of a two-plate injection mold with 23 numbered components\"><defs><pattern id=\"twms39534-h\" width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"8\" height=\"8\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"#5b6b7f\" stroke-width=\"0.6\" stroke-opacity=\"0.35\"\/><\/pattern><\/defs><rect x=\"0\" y=\"0\" width=\"1000\" height=\"680\" fill=\"#ffffff\"\/><g data-p=\"3\"><rect x=\"160\" y=\"62\" width=\"680\" height=\"50\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"21\"><rect x=\"160\" y=\"552\" width=\"680\" height=\"50\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"4\"><rect x=\"190\" y=\"112\" width=\"620\" height=\"150\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"8\"><rect x=\"190\" y=\"262\" width=\"620\" height=\"130\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"17\"><rect x=\"190\" y=\"392\" width=\"60\" height=\"160\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"750\" y=\"392\" width=\"60\" height=\"160\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"18\"><rect x=\"258\" y=\"488\" width=\"484\" height=\"28\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"19\"><rect x=\"258\" y=\"516\" width=\"484\" height=\"30\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"5\"><rect x=\"290\" y=\"170\" width=\"420\" height=\"92\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"9\"><path d=\"M290,262 H314 V214 H406 V262 H594 V214 H686 V262 H710 V350 H290 Z\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"7\"><rect x=\"206\" y=\"262\" width=\"28\" height=\"70\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"766\" y=\"262\" width=\"28\" height=\"70\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"6\"><rect x=\"208\" y=\"112\" width=\"24\" height=\"10\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M212,122 H228 V312 Q220,324 212,312 Z\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"768\" y=\"112\" width=\"24\" height=\"10\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><path d=\"M772,122 H788 V312 Q780,324 772,312 Z\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"15\"><rect x=\"265\" y=\"262\" width=\"14\" height=\"246\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"260\" y=\"508\" width=\"24\" height=\"8\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"721\" y=\"262\" width=\"14\" height=\"246\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"716\" y=\"508\" width=\"24\" height=\"8\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"16\"><rect x=\"434\" y=\"488\" width=\"36\" height=\"58\" fill=\"#ffffff\"\/><rect x=\"530\" y=\"488\" width=\"36\" height=\"58\" fill=\"#ffffff\"\/><rect x=\"440\" y=\"392\" width=\"24\" height=\"160\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"536\" y=\"392\" width=\"24\" height=\"160\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"13\"><rect x=\"303\" y=\"262\" width=\"8\" height=\"246\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"298\" y=\"508\" width=\"18\" height=\"8\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"409\" y=\"262\" width=\"8\" height=\"246\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"404\" y=\"508\" width=\"18\" height=\"8\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"583\" y=\"262\" width=\"8\" height=\"246\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"578\" y=\"508\" width=\"18\" height=\"8\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"689\" y=\"262\" width=\"8\" height=\"246\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"684\" y=\"508\" width=\"18\" height=\"8\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"14\"><rect x=\"495\" y=\"284\" width=\"10\" height=\"224\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"490\" y=\"508\" width=\"20\" height=\"8\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"23\"><rect x=\"247\" y=\"64\" width=\"16\" height=\"14\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"251\" y=\"78\" width=\"8\" height=\"70\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"737\" y=\"64\" width=\"16\" height=\"14\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"741\" y=\"78\" width=\"8\" height=\"70\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"212\" y=\"586\" width=\"16\" height=\"14\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"215\" y=\"372\" width=\"10\" height=\"214\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"772\" y=\"586\" width=\"16\" height=\"14\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"775\" y=\"372\" width=\"10\" height=\"214\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"343\" y=\"532\" width=\"14\" height=\"13\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"347\" y=\"496\" width=\"6\" height=\"36\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"643\" y=\"532\" width=\"14\" height=\"13\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"647\" y=\"496\" width=\"6\" height=\"36\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"20\"><rect x=\"293\" y=\"546\" width=\"14\" height=\"6\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"693\" y=\"546\" width=\"14\" height=\"6\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"12\"><circle cx=\"330\" cy=\"186\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"390\" cy=\"186\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"610\" cy=\"186\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"670\" cy=\"186\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"340\" cy=\"305\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"380\" cy=\"305\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"620\" cy=\"305\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"660\" cy=\"305\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"360\" cy=\"372\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><circle cx=\"640\" cy=\"372\" r=\"6\" fill=\"#2f7de1\" stroke=\"#1d5fb3\" stroke-width=\"1\"\/><\/g><g data-p=\"22\"><rect x=\"480\" y=\"552\" width=\"40\" height=\"50\" fill=\"#ffffff\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"488\" y=\"608\" width=\"24\" height=\"56\" fill=\"none\" stroke=\"#5b6b7f\" stroke-width=\"1\" stroke-dasharray=\"4 3\"\/><text x=\"520\" y=\"652\" font-size=\"11\" fill=\"#5b6b7f\">Machine ejector rod<\/text><\/g><g data-p=\"2\"><rect x=\"462\" y=\"62\" width=\"76\" height=\"18\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"476\" y=\"80\" width=\"48\" height=\"182\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g data-p=\"11\"><polygon points=\"496,62 504,62 510,262 490,262\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"440\" y=\"257\" width=\"120\" height=\"10\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"420\" y=\"259\" width=\"20\" height=\"4\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"560\" y=\"259\" width=\"20\" height=\"4\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><rect x=\"493\" y=\"262\" width=\"14\" height=\"22\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"10\"><path d=\"M300,262 V200 H420 V262 H406 V214 H314 V262 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><path d=\"M580,262 V200 H700 V262 H686 V214 H594 V262 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"0.8\"\/><\/g><g data-p=\"1\"><rect x=\"430\" y=\"42\" width=\"52\" height=\"22\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"518\" y=\"42\" width=\"52\" height=\"22\" fill=\"url(#twms39534-h)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g pointer-events=\"none\"><line x1=\"178\" y1=\"262\" x2=\"822\" y2=\"262\" stroke=\"#d63c3c\" stroke-width=\"1.5\" stroke-dasharray=\"9 5\"\/><text x=\"172\" y=\"266\" font-size=\"12\" font-weight=\"700\" fill=\"#d63c3c\" text-anchor=\"end\">PL<\/text><line x1=\"500\" y1=\"28\" x2=\"500\" y2=\"672\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><text x=\"845\" y=\"254\" font-size=\"10.5\" fill=\"#5b6b7f\">A side (fixed)<\/text><text x=\"845\" y=\"279\" font-size=\"10.5\" fill=\"#5b6b7f\">B side (moving)<\/text><\/g><g data-p=\"1\"><line x1=\"131\" y1=\"42\" x2=\"432\" y2=\"52\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"432\" cy=\"52\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"42\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"46\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><line x1=\"869\" y1=\"72\" x2=\"538\" y2=\"72\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"538\" cy=\"72\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"72\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"76\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"131\" y1=\"88\" x2=\"168\" y2=\"88\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"168\" cy=\"88\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"88\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"92\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"131\" y1=\"145\" x2=\"198\" y2=\"145\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"198\" cy=\"145\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"145\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"149\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"869\" y1=\"158\" x2=\"706\" y2=\"165\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"706\" cy=\"165\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"158\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"162\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"131\" y1=\"205\" x2=\"220\" y2=\"205\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"220\" cy=\"205\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"205\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"209\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><line x1=\"131\" y1=\"300\" x2=\"208\" y2=\"300\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"208\" cy=\"300\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"300\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"304\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><line x1=\"131\" y1=\"370\" x2=\"198\" y2=\"372\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"198\" cy=\"372\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"370\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"374\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><line x1=\"869\" y1=\"318\" x2=\"704\" y2=\"330\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"704\" cy=\"330\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"318\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"322\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><g data-p=\"10\"><line x1=\"869\" y1=\"230\" x2=\"696\" y2=\"232\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"696\" cy=\"232\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"230\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"234\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">10<\/text><\/g><g data-p=\"11\"><line x1=\"869\" y1=\"118\" x2=\"507\" y2=\"140\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"507\" cy=\"140\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"118\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"122\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">11<\/text><\/g><g data-p=\"12\"><line x1=\"869\" y1=\"190\" x2=\"676\" y2=\"186\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"676\" cy=\"186\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"190\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"194\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">12<\/text><\/g><g data-p=\"13\"><line x1=\"869\" y1=\"388\" x2=\"697\" y2=\"388\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"697\" cy=\"388\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"388\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"392\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">13<\/text><\/g><g data-p=\"14\"><line x1=\"869\" y1=\"456\" x2=\"505\" y2=\"456\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"505\" cy=\"456\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"456\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"460\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">14<\/text><\/g><g data-p=\"15\"><line x1=\"869\" y1=\"350\" x2=\"735\" y2=\"350\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"735\" cy=\"350\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"350\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"354\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">15<\/text><\/g><g data-p=\"16\"><line x1=\"869\" y1=\"422\" x2=\"560\" y2=\"422\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"560\" cy=\"422\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"422\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"426\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">16<\/text><\/g><g data-p=\"17\"><line x1=\"131\" y1=\"440\" x2=\"196\" y2=\"440\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"196\" cy=\"440\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"440\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"444\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">17<\/text><\/g><g data-p=\"18\"><line x1=\"869\" y1=\"498\" x2=\"741\" y2=\"500\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"741\" cy=\"500\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"498\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"502\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">18<\/text><\/g><g data-p=\"19\"><line x1=\"869\" y1=\"532\" x2=\"741\" y2=\"532\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"741\" cy=\"532\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"532\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"536\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">19<\/text><\/g><g data-p=\"20\"><line x1=\"869\" y1=\"566\" x2=\"707\" y2=\"549\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"707\" cy=\"549\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"566\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"570\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">20<\/text><\/g><g data-p=\"21\"><line x1=\"131\" y1=\"580\" x2=\"168\" y2=\"580\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"168\" cy=\"580\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"580\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"584\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">21<\/text><\/g><g data-p=\"22\"><line x1=\"869\" y1=\"624\" x2=\"520\" y2=\"590\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"520\" cy=\"590\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"880\" cy=\"624\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"880\" y=\"628\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">22<\/text><\/g><g data-p=\"23\"><line x1=\"131\" y1=\"520\" x2=\"214\" y2=\"520\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"214\" cy=\"520\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"120\" cy=\"520\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"120\" y=\"524\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">23<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><script> (function () { var root = document.getElementById('twms39534'); if (!root) return; var P = [{\"n\":1,\"name\":\"Locating Ring\",\"fn\":\"Centers the mold on the machine platen so the sprue lines up with the injection nozzle.\",\"bx\":120,\"by\":42,\"ax\":432,\"ay\":52},{\"n\":2,\"name\":\"Sprue Bushing\",\"fn\":\"Hardened bushing that seats the nozzle and carries melt through the A side to the parting line.\",\"bx\":880,\"by\":72,\"ax\":538,\"ay\":72},{\"n\":3,\"name\":\"Top Clamp Plate\",\"fn\":\"Fixes the stationary (A) half of the mold to the machine's fixed platen.\",\"bx\":120,\"by\":88,\"ax\":168,\"ay\":88},{\"n\":4,\"name\":\"Cavity (A) Plate\",\"fn\":\"Holds the cavity insert and guide pins; forms the stationary side of the parting line.\",\"bx\":120,\"by\":145,\"ax\":198,\"ay\":145},{\"n\":5,\"name\":\"Cavity Insert\",\"fn\":\"Hardened steel block that forms the outer, cosmetic surface of the part.\",\"bx\":880,\"by\":158,\"ax\":706,\"ay\":165},{\"n\":6,\"name\":\"Guide Pin\",\"fn\":\"Leader pin that aligns the A and B halves before the cavity and core meet.\",\"bx\":120,\"by\":205,\"ax\":220,\"ay\":205},{\"n\":7,\"name\":\"Guide Bushing\",\"fn\":\"Hardened sleeve in the B plate that takes the guide pin with a close sliding fit.\",\"bx\":120,\"by\":300,\"ax\":208,\"ay\":300},{\"n\":8,\"name\":\"Core (B) Plate\",\"fn\":\"Holds the core insert and guide bushings; forms the moving side of the parting line.\",\"bx\":120,\"by\":370,\"ax\":198,\"ay\":372},{\"n\":9,\"name\":\"Core Insert\",\"fn\":\"Hardened steel block whose raised punches form the inside of each part.\",\"bx\":880,\"by\":318,\"ax\":704,\"ay\":330},{\"n\":10,\"name\":\"Molded Part\",\"fn\":\"Plastic part formed between cavity and core; it stays on the core when the mold opens.\",\"bx\":880,\"by\":230,\"ax\":696,\"ay\":232},{\"n\":11,\"name\":\"Sprue, Runner & Gate\",\"fn\":\"Melt path: sprue down to the parting line, runner along it, a small gate into each cavity.\",\"bx\":880,\"by\":118,\"ax\":507,\"ay\":140},{\"n\":12,\"name\":\"Cooling Channels\",\"fn\":\"Drilled water lines that pull heat out of the steel, setting cycle time and controlling warpage.\",\"bx\":880,\"by\":190,\"ax\":676,\"ay\":186},{\"n\":13,\"name\":\"Ejector Pin\",\"fn\":\"Pushes the part off the core on ejection; the tip sits flush with the molding surface.\",\"bx\":880,\"by\":388,\"ax\":697,\"ay\":388},{\"n\":14,\"name\":\"Sprue Puller Pin\",\"fn\":\"Pin under the cold-slug well that pulls the sprue and runner to the moving side on opening.\",\"bx\":880,\"by\":456,\"ax\":505,\"ay\":456},{\"n\":15,\"name\":\"Return Pin\",\"fn\":\"Pushed back by the A plate on closing, it resets the ejector plates so pins never hit the cavity.\",\"bx\":880,\"by\":350,\"ax\":735,\"ay\":350},{\"n\":16,\"name\":\"Support Pillar\",\"fn\":\"Supports the B plate across the ejector space so injection pressure cannot bend it.\",\"bx\":880,\"by\":422,\"ax\":560,\"ay\":422},{\"n\":17,\"name\":\"Spacer Block\",\"fn\":\"Parallels that form the ejector housing - the open space the ejector plates travel in.\",\"bx\":120,\"by\":440,\"ax\":196,\"ay\":440},{\"n\":18,\"name\":\"Ejector Retainer Plate\",\"fn\":\"Upper ejector plate; its counterbores capture the heads of the ejector, return and puller pins.\",\"bx\":880,\"by\":498,\"ax\":741,\"ay\":500},{\"n\":19,\"name\":\"Ejector Plate\",\"fn\":\"Lower plate bolted to the retainer; the machine's ejector rod pushes it to drive every pin.\",\"bx\":880,\"by\":532,\"ax\":741,\"ay\":532},{\"n\":20,\"name\":\"Stop Pin\",\"fn\":\"Small buttons that set the ejector plates' rest position and keep debris from shifting it.\",\"bx\":880,\"by\":566,\"ax\":707,\"ay\":549},{\"n\":21,\"name\":\"Bottom Clamp Plate\",\"fn\":\"Fixes the moving (B) half of the mold to the machine's moving platen.\",\"bx\":120,\"by\":580,\"ax\":168,\"ay\":580},{\"n\":22,\"name\":\"Knockout Hole\",\"fn\":\"Opening in the bottom clamp plate that lets the machine's ejector rod reach the ejector plate.\",\"bx\":880,\"by\":624,\"ax\":520,\"ay\":590},{\"n\":23,\"name\":\"Socket Head Cap Screw\",\"fn\":\"Bolts that hold the stack together: top clamp to A plate, bottom clamp through spacers to B plate.\",\"bx\":120,\"by\":520,\"ax\":214,\"ay\":520}]; var svg = root.querySelector('svg'), stage = root.querySelector('.tw-ms-stage'), tip = root.querySelector('.tw-ms-tip'); var els = svg.querySelectorAll('[data-p]'); var pinned = null; function part(n) { for (var i = 0; i < P.length; i++) { if (String(P[i].n) === String(n)) return P[i]; } return null; } function union(n) { var x1 = 1e9, y1 = 1e9, x2 = -1e9, y2 = -1e9; for (var i = 0; i < els.length; i++) { if (els[i].getAttribute('data-p') !== String(n)) continue; var b = els[i].getBBox(); x1 = Math.min(x1, b.x); y1 = Math.min(y1, b.y); x2 = Math.max(x2, b.x + b.width); y2 = Math.max(y2, b.y + b.height); } return { x1: x1, y1: y1, x2: x2, y2: y2 }; } function clamp(v, a, b) { return Math.max(a, Math.min(b, v)); } function place(n, p) { var s = svg.getBoundingClientRect(), w = stage.getBoundingClientRect(); var k = s.width \/ 1000, ox = s.left - w.left, oy = s.top - w.top; var u = union(n); var L = ox + u.x1 * k, T = oy + u.y1 * k, Rt = ox + u.x2 * k, B = oy + u.y2 * k; var bx = ox + p.bx * k, by = oy + p.by * k; var W = w.width, H = w.height, gap = 10, m = 6; tip.style.display = 'block'; tip.style.width = Math.min(250, W - 2 * m) + 'px'; var tw = tip.offsetWidth, th = tip.offsetHeight; var order = p.bx < 500 ? ['l', 'r', 'b', 't'] : ['r', 'l', 'b', 't']; var pos = null; function at(sd) { if (sd === 'l') return { x: L - gap - tw, y: clamp(by - th \/ 2, m, H - th - m), ok: L - gap - tw >= m }; if (sd === 'r') return { x: Rt + gap, y: clamp(by - th \/ 2, m, H - th - m), ok: Rt + gap + tw <= W - m }; if (sd === 'b') return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: B + gap, ok: B + gap + th <= H - m }; return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: T - gap - th, ok: T - gap - th >= m }; } for (var i = 0; i < order.length && !pos; i++) { var c = at(order[i]); if (c.ok) pos = c; } if (!pos) { var sp = { l: L - tw, r: W - Rt - tw, t: T - th, b: H - B - th }, best = 'b'; for (var key in sp) { if (sp[key] > sp[best]) best = key; } pos = at(best); } tip.style.left = clamp(pos.x, m, W - tw - m) + 'px'; tip.style.top = clamp(pos.y, m, H - th - m) + 'px'; } function show(n) { var p = part(n); if (!p) return; var i; for (i = 0; i < els.length; i++) els[i].style.opacity = els[i].getAttribute('data-p') === String(n) ? '1' : '0.18'; tip.innerHTML = '<div class=\"h\"><span class=\"tw-ms-num\"><\/span><span class=\"nm\"><\/span><\/div><p><\/p>'; tip.querySelector('.tw-ms-num').textContent = p.n; tip.querySelector('.nm').textContent = p.name; tip.querySelector('p').textContent = p.fn; place(n, p); } function hide() { var i; for (i = 0; i < els.length; i++) els[i].style.opacity = ''; tip.style.display = 'none'; } function bind(el) { var n = el.getAttribute('data-p'); el.addEventListener('mouseenter', function () { if (pinned === null) show(n); }); el.addEventListener('mouseleave', function () { if (pinned === null) hide(); }); el.addEventListener('click', function (e) { e.stopPropagation(); if (pinned === n) { pinned = null; hide(); } else { pinned = n; show(n); } }); } for (var i = 0; i < els.length; i++) bind(els[i]); svg.addEventListener('click', function () { pinned = null; hide(); }); window.addEventListener('resize', function () { if (pinned !== null) show(pinned); else hide(); }); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twmse97914\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this diagram on your site<\/strong><button type=\"button\" class=\"twmse-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-mold-structure&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_mold_structure_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:760px&quot; loading=&quot;lazy&quot; title=&quot;Injection Mold Structure - Interactive Cross-Section&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;tw_mold_structure&quot;){var f=document.getElementById(&quot;tw-mold-structure&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive mold diagram by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twmse97914'); if (!box) return; var btn = box.querySelector('.twmse-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><\/div><div id=\"slider-mechanism\" class=\"wp-block-group tw-tool tw-cat-structure is-layout-flow wp-block-group-is-layout-flow\"><div class=\"sld-snippet\" id=\"sld-2\"><style> .sld-snippet{--bg:#eef1f5;--panel:#ffffff;--ink:#16283c;--ink-2:#43536a;--line:#d3dce6;--navy:#1e3a5f;--accent:#d63c3c;--amber:#f2a33c;--sheet:#fdfdfe;background:var(--bg);color:var(--ink);font-family:system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;-webkit-font-smoothing:antialiased;} @media (prefers-color-scheme:dark){.sld-snippet{--bg:#0d141d;--panel:#16202d;--ink:#e8eef5;--ink-2:#a7b6c8;--line:#2b3a4c;} } .sld-snippet, .sld-snippet *{box-sizing:border-box;} .sld-snippet .sld-wrap{max-width:1120px;margin:0 auto;padding:28px 20px 36px;} .sld-snippet .sld-head{margin-bottom:18px;} .sld-snippet .sld-title{font-size:clamp(26px,4.2vw,38px);font-weight:800;letter-spacing:-.01em;margin:0 0 6px;line-height:1.1;color:var(--ink);} .sld-snippet .sld-subtitle{margin:0;font-size:clamp(14px,2vw,17px);color:var(--ink-2);font-weight:500;} .sld-snippet .sld-subtitle .dot{color:var(--accent);font-weight:700;padding:0 2px;} .sld-snippet .sld-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 14px 10px;} .sld-snippet .sld-sheet{position:relative;background:var(--sheet);border:1px solid #d9e1ea;border-radius:6px;overflow:hidden;} .sld-snippet svg.sld-drawing{display:block;width:100%;height:auto;max-width:none;} .sld-snippet .sld-caption{margin:12px 4px 2px;font-size:16px;font-weight:600;color:var(--ink);text-align:center;} .sld-snippet .sld-caption .hl{color:#b96f14;} @media (prefers-color-scheme:dark){.sld-snippet .sld-caption .hl{color:var(--amber);} } .sld-snippet .sld-tip{position:absolute;left:0;top:0;z-index:5;max-width:260px;background:#1e3a5f;color:#fff;border-radius:8px;padding:10px 13px;display:none;align-items:flex-start;gap:10px;pointer-events:none;box-shadow:0 8px 22px rgba(10,25,45,.30);font-size:14.5px;line-height:1.35;} .sld-snippet .sld-tip.show{display:flex;} .sld-snippet .sld-tip .tnum{font-weight:700;font-size:13px;background:#fff;color:#1e3a5f;min-width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto;} .sld-snippet .sld-tip strong{font-weight:700;display:block;} .sld-snippet .sld-tip .tfn{opacity:.88;font-weight:400;display:block;} .sld-snippet .part{cursor:pointer;transition:opacity .15s ease;} .sld-snippet .part .steel{fill:url(#sld-2-hatch);stroke:#5b6b7f;stroke-width:1.5;} .sld-snippet .part .steelB{fill:url(#sld-2-hatchB);stroke:#5b6b7f;stroke-width:1.5;} .sld-snippet .part .slide{fill:#c3d2e4;stroke:#5b6b7f;stroke-width:1.5;} .sld-snippet .part .lock{fill:url(#sld-2-hatchDark);stroke:#5b6b7f;stroke-width:1.5;} .sld-snippet .part .wear{fill:#aebdd0;stroke:#5b6b7f;stroke-width:1.5;} .sld-snippet .part .pin{fill:#8a99ad;stroke:#4a5a6e;stroke-width:1.5;} .sld-snippet .part .plastic{fill:#f2a33c;stroke:#b96f14;stroke-width:1.5;} .sld-snippet .part .hole{fill:rgba(255,255,255,0.01);stroke:#b96f14;stroke-width:2;stroke-dasharray:4 3;} .sld-snippet .part .pline{stroke:#d63c3c;stroke-width:2;stroke-dasharray:10 6;fill:none;} .sld-snippet .gap{fill:#fdfdfe;stroke:#5b6b7f;stroke-width:1;} .sld-snippet .motion{stroke:#d63c3c;stroke-width:2;fill:none;pointer-events:none;} .sld-snippet .motion-t{fill:#d63c3c;font-size:12px;pointer-events:none;} .sld-snippet .lbl{fill:#5b6b7f;font-size:13px;pointer-events:none;} .sld-snippet .leader{stroke:#5b6b7f;stroke-width:1.3;pointer-events:none;} .sld-snippet svg.has-active .part{opacity:.32;} .sld-snippet svg.has-active .part.active{opacity:1;} .sld-snippet svg.has-active .part.active .steel, .sld-snippet svg.has-active .part.active .steelB, .sld-snippet svg.has-active .part.active .slide, .sld-snippet svg.has-active .part.active .lock, .sld-snippet svg.has-active .part.active .wear, .sld-snippet svg.has-active .part.active .pin, .sld-snippet svg.has-active .part.active .plastic{stroke:#d63c3c;stroke-width:2.6;} .sld-snippet svg.has-active .part.active .pline{stroke-width:3.4;} .sld-snippet svg.has-active .part.active .hole{stroke:#d63c3c;stroke-width:2.6;} .sld-snippet .badge{cursor:pointer;} .sld-snippet .badge:focus{outline:none;} .sld-snippet .badge:focus-visible circle.core{stroke:#d63c3c;stroke-width:3;} .sld-snippet .badge circle.core{fill:#1e3a5f;stroke:#ffffff;stroke-width:2;} .sld-snippet .badge circle.hit{fill:transparent;stroke:none;} .sld-snippet .badge text{fill:#ffffff;font-weight:700;font-size:12.5px;text-anchor:middle;dominant-baseline:central;pointer-events:none;} .sld-snippet svg.has-active .badge{opacity:.35;} .sld-snippet svg.has-active .badge.active{opacity:1;} .sld-snippet svg.has-active .badge.active circle.core{fill:#d63c3c;} @media (max-width:720px){.sld-snippet .sld-wrap{padding:20px 12px 28px;} .sld-snippet .sld-card{padding:8px 8px 6px;} } <\/style><div class=\"sld-wrap\"><div class=\"sld-head\"><div class=\"sld-title\">Slider \u2014 Side Core-Pulling Mechanism<\/div><p class=\"sld-subtitle\">Cross-section <span class=\"dot\">\u00b7<\/span> mold closed <span class=\"dot\">\u00b7<\/span> side undercut release<\/p><\/div><div class=\"sld-card\"><div class=\"sld-sheet\"><svg class=\"sld-drawing\" viewBox=\"0 0 1040 610\" role=\"img\" aria-label=\"Cross-section diagram of a slider side core-pulling mechanism with 11 numbered components\"><defs><pattern id=\"sld-2-hatch\" width=\"10\" height=\"10\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"10\" height=\"10\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"10\" stroke=\"#c9d4e2\" stroke-width=\"2\"\/><\/pattern><pattern id=\"sld-2-hatchB\" width=\"10\" height=\"10\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(-45)\"><rect width=\"10\" height=\"10\" fill=\"#e9eef4\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"10\" stroke=\"#cdd7e3\" stroke-width=\"2\"\/><\/pattern><pattern id=\"sld-2-hatchDark\" width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"8\" height=\"8\" fill=\"#d2dbe6\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"#a9b8cb\" stroke-width=\"2\"\/><\/pattern><marker id=\"sld-2-arr\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\"><path d=\"M0,0 L10,5 L0,10 z\" fill=\"#d63c3c\"\/><\/marker><\/defs><g class=\"part\" data-n=\"7\"><path class=\"steel\" d=\"M180 90 H900 V330 H750 L717.5 230 H400 V330 H180 Z\"\/><\/g><g class=\"part\" data-n=\"8\"><path class=\"steelB\" d=\"M180 330 H414 V244 H566 V330 H900 V560 H180 Z\"\/><\/g><g class=\"part\" data-n=\"4\"><rect class=\"wear\" x=\"596\" y=\"330\" width=\"166\" height=\"14\"\/><\/g><polygon class=\"gap\" points=\"660,330 686,330 703.4,395 677.4,395\"\/><g class=\"part\" data-n=\"2\"><polygon class=\"slide\" points=\"580,230 717.5,230 750,330 580,330\"\/><rect class=\"gap\" x=\"680\" y=\"316\" width=\"56\" height=\"14\"\/><\/g><g class=\"part\" data-n=\"3\"><rect class=\"pin\" x=\"566\" y=\"272\" width=\"54\" height=\"24\"\/><\/g><g class=\"part\" data-n=\"5\"><polygon class=\"lock\" points=\"707.8,200 800,200 800,330 750,330\"\/><\/g><g class=\"part\" data-n=\"1\"><rect class=\"pin\" x=\"590\" y=\"106\" width=\"34\" height=\"14\"\/><polygon class=\"pin\" points=\"595.7,120 618.5,120 688.2,380 665.4,380\"\/><\/g><g class=\"part\" data-n=\"6\"><rect class=\"pin\" x=\"715\" y=\"318\" width=\"16\" height=\"12\"\/><rect class=\"pin\" x=\"719\" y=\"330\" width=\"8\" height=\"44\"\/><\/g><g class=\"part\" data-n=\"9\"><rect class=\"plastic\" x=\"400\" y=\"230\" width=\"180\" height=\"14\"\/><rect class=\"plastic\" x=\"400\" y=\"244\" width=\"14\" height=\"86\"\/><rect class=\"plastic\" x=\"566\" y=\"244\" width=\"14\" height=\"28\"\/><rect class=\"plastic\" x=\"566\" y=\"296\" width=\"14\" height=\"34\"\/><\/g><g class=\"part\" data-n=\"11\"><rect class=\"hole\" x=\"566\" y=\"272\" width=\"14\" height=\"24\"\/><\/g><g class=\"part\" data-n=\"10\"><line class=\"pline\" x1=\"160\" y1=\"330\" x2=\"900\" y2=\"330\"\/><\/g><line class=\"motion\" x1=\"300\" y1=\"70\" x2=\"300\" y2=\"34\" marker-end=\"url(#sld-2-arr)\"\/><text class=\"motion-t\" x=\"310\" y=\"58\">A plate opens<\/text><line class=\"motion\" x1=\"812\" y1=\"300\" x2=\"884\" y2=\"300\" marker-end=\"url(#sld-2-arr)\"\/><text class=\"motion-t\" x=\"810\" y=\"288\">slider pulls out<\/text><text class=\"lbl\" x=\"192\" y=\"112\">FIXED HALF<\/text><text class=\"lbl\" x=\"192\" y=\"352\">MOVING HALF<\/text><g aria-hidden=\"true\"><line class=\"leader\" x1=\"597\" y1=\"165\" x2=\"608\" y2=\"165\"\/><line class=\"leader\" x1=\"372\" y1=\"290\" x2=\"400\" y2=\"290\"\/><line class=\"leader\" x1=\"548\" y1=\"284\" x2=\"566\" y2=\"284\"\/><line class=\"leader\" x1=\"804\" y1=\"370\" x2=\"762\" y2=\"344\"\/><line class=\"leader\" x1=\"748\" y1=\"396\" x2=\"727\" y2=\"374\"\/><\/g><g class=\"badge\" data-n=\"1\" tabindex=\"0\" role=\"button\" aria-label=\"1 Angle pin\"><circle class=\"hit\" cx=\"585\" cy=\"165\" r=\"18\"\/><circle class=\"core\" cx=\"585\" cy=\"165\" r=\"12\"\/><text x=\"585\" y=\"165\">1<\/text><\/g><g class=\"badge\" data-n=\"2\" tabindex=\"0\" role=\"button\" aria-label=\"2 Slider body\"><circle class=\"hit\" cx=\"690\" cy=\"256\" r=\"18\"\/><circle class=\"core\" cx=\"690\" cy=\"256\" r=\"12\"\/><text x=\"690\" y=\"256\">2<\/text><\/g><g class=\"badge\" data-n=\"3\" tabindex=\"0\" role=\"button\" aria-label=\"3 Side core\"><circle class=\"hit\" cx=\"598\" cy=\"256\" r=\"18\"\/><circle class=\"core\" cx=\"598\" cy=\"256\" r=\"12\"\/><text x=\"598\" y=\"256\">3<\/text><\/g><g class=\"badge\" data-n=\"4\" tabindex=\"0\" role=\"button\" aria-label=\"4 Wear plate\"><circle class=\"hit\" cx=\"814\" cy=\"378\" r=\"18\"\/><circle class=\"core\" cx=\"814\" cy=\"378\" r=\"12\"\/><text x=\"814\" y=\"378\">4<\/text><\/g><g class=\"badge\" data-n=\"5\" tabindex=\"0\" role=\"button\" aria-label=\"5 Locking block\"><circle class=\"hit\" cx=\"768\" cy=\"262\" r=\"18\"\/><circle class=\"core\" cx=\"768\" cy=\"262\" r=\"12\"\/><text x=\"768\" y=\"262\">5<\/text><\/g><g class=\"badge\" data-n=\"6\" tabindex=\"0\" role=\"button\" aria-label=\"6 Limit screw\"><circle class=\"hit\" cx=\"756\" cy=\"406\" r=\"18\"\/><circle class=\"core\" cx=\"756\" cy=\"406\" r=\"12\"\/><text x=\"756\" y=\"406\">6<\/text><\/g><g class=\"badge\" data-n=\"7\" tabindex=\"0\" role=\"button\" aria-label=\"7 Fixed half (A plate)\"><circle class=\"hit\" cx=\"300\" cy=\"160\" r=\"18\"\/><circle class=\"core\" cx=\"300\" cy=\"160\" r=\"12\"\/><text x=\"300\" y=\"160\">7<\/text><\/g><g class=\"badge\" data-n=\"8\" tabindex=\"0\" role=\"button\" aria-label=\"8 Moving half (B plate)\"><circle class=\"hit\" cx=\"300\" cy=\"450\" r=\"18\"\/><circle class=\"core\" cx=\"300\" cy=\"450\" r=\"12\"\/><text x=\"300\" y=\"450\">8<\/text><\/g><g class=\"badge\" data-n=\"9\" tabindex=\"0\" role=\"button\" aria-label=\"9 Molded part\"><circle class=\"hit\" cx=\"360\" cy=\"290\" r=\"18\"\/><circle class=\"core\" cx=\"360\" cy=\"290\" r=\"12\"\/><text x=\"360\" y=\"290\">9<\/text><\/g><g class=\"badge\" data-n=\"10\" tabindex=\"0\" role=\"button\" aria-label=\"10 Parting line\"><circle class=\"hit\" cx=\"918\" cy=\"330\" r=\"18\"\/><circle class=\"core\" cx=\"918\" cy=\"330\" r=\"12\"\/><text x=\"918\" y=\"330\">10<\/text><\/g><g class=\"badge\" data-n=\"11\" tabindex=\"0\" role=\"button\" aria-label=\"11 Side undercut\"><circle class=\"hit\" cx=\"536\" cy=\"284\" r=\"18\"\/><circle class=\"core\" cx=\"536\" cy=\"284\" r=\"12\"\/><text x=\"536\" y=\"284\">11<\/text><\/g><\/svg><div class=\"sld-tip\" aria-live=\"polite\"><span class=\"tnum\"><\/span><span><strong class=\"tname\"><\/strong><span class=\"tfn\"><\/span><\/span><\/div><\/div><p class=\"sld-caption\">As the mold opens, the angle pin drives the slider <span class=\"hl\">outward<\/span>, pulling the side core out of the hole before ejection<\/p><\/div><\/div><script> (function () { var UID = \"sld-2\"; var PARTS = {\"1\":[\"Angle pin\",\"Fixed in the A plate; as the mold opens it drives the slider outward\"],\"2\":[\"Slider body\",\"Forms the outer side of the part and carries the side core\"],\"3\":[\"Side core\",\"Steel pin on the slider that forms the side hole\"],\"4\":[\"Wear plate\",\"Hardened plate the slider runs on, flush with the parting line\"],\"5\":[\"Locking block\",\"Wedges the slider shut against injection pressure; its angle is a few degrees steeper than the pin\"],\"6\":[\"Limit screw\",\"Stops the slider at the end of its travel so the pin can re-enter on closing\"],\"7\":[\"Fixed half (A plate)\",\"Cavity side; holds the angle pin and locking block\"],\"8\":[\"Moving half (B plate)\",\"Core side; the slider rides on it\"],\"9\":[\"Molded part\",\"Cup with a hole through one side wall\"],\"10\":[\"Parting line\",\"Mold opening plane\"],\"11\":[\"Side undercut\",\"Side hole that blocks straight ejection until the side core is pulled\"]}; var BADGE_POS = {\"1\":[585,165],\"2\":[690,256],\"3\":[598,256],\"4\":[814,378],\"5\":[768,262],\"6\":[756,406],\"7\":[300,160],\"8\":[300,450],\"9\":[360,290],\"10\":[918,330],\"11\":[536,284]}; function init() { var root = document.getElementById(UID); if (!root || root.getAttribute(\"data-ready\") === \"1\") return; root.setAttribute(\"data-ready\", \"1\"); var svg = root.querySelector(\"svg.sld-drawing\"); var sheet = root.querySelector(\".sld-sheet\"); var tip = root.querySelector(\".sld-tip\"); var tNum = tip.querySelector(\".tnum\"); var tName = tip.querySelector(\".tname\"); var tFn = tip.querySelector(\".tfn\"); var items = root.querySelectorAll(\"[data-n]\"); var hoverN = null, pinN = null, lastTouch = 0; function place(n) { var p = BADGE_POS[n]; if (!p) return; var sr = svg.getBoundingClientRect(), hr = sheet.getBoundingClientRect(); var s = sr.width \/ 1040; var bx = (sr.left - hr.left) + p[0] * s, by = (sr.top - hr.top) + p[1] * s; var tw = tip.offsetWidth, th = tip.offsetHeight, W = sheet.clientWidth, H = sheet.clientHeight, gap = 20, pad = 6; var x = bx + gap; if (x + tw > W - pad) x = bx - gap - tw; var y = by - th \/ 2; x = Math.max(pad, Math.min(x, W - tw - pad)); y = Math.max(pad, Math.min(y, H - th - pad)); tip.style.left = x + \"px\"; tip.style.top = y + \"px\"; } function render() { var n = hoverN !== null ? hoverN : pinN; var key = n === null ? \"\" : String(n); for (var i = 0; i < items.length; i++) { if (items[i].getAttribute(\"data-n\") === key) items[i].classList.add(\"active\"); else items[i].classList.remove(\"active\"); } if (n === null) { svg.classList.remove(\"has-active\"); tip.classList.remove(\"show\"); return; } svg.classList.add(\"has-active\"); tNum.textContent = n; tName.textContent = PARTS[n][0]; tFn.textContent = PARTS[n][1]; tip.classList.add(\"show\"); place(n); } function itemFrom(t) { while (t && t !== root) { if (t.getAttribute && t.getAttribute(\"data-n\") !== null) return t; t = t.parentNode; } return null; } function toggle(n) { if (pinN === n) { pinN = null; hoverN = null; } else { pinN = n; } render(); } root.addEventListener(\"touchstart\", function () { lastTouch = Date.now(); }, { passive: true }); root.addEventListener(\"click\", function (e) { var el = itemFrom(e.target); if (!el) { if (pinN !== null) { pinN = null; hoverN = null; render(); } return; } toggle(parseInt(el.getAttribute(\"data-n\"), 10)); }); root.addEventListener(\"mouseover\", function (e) { if (Date.now() - lastTouch < 800) return; var el = itemFrom(e.target); var n = el ? parseInt(el.getAttribute(\"data-n\"), 10) : null; if (n !== hoverN) { hoverN = n; render(); } }); root.addEventListener(\"mouseleave\", function () { if (hoverN !== null) { hoverN = null; render(); } }); root.addEventListener(\"keydown\", function (e) { if (e.key !== \"Enter\" && e.key !== \" \") return; var el = itemFrom(e.target); if (!el) return; e.preventDefault(); toggle(parseInt(el.getAttribute(\"data-n\"), 10)); }); document.addEventListener(\"keydown\", function (e) { if (e.key === \"Escape\" && pinN !== null) { pinN = null; hoverN = null; render(); } }); document.addEventListener(\"click\", function (e) { if (pinN !== null && !root.contains(e.target)) { pinN = null; hoverN = null; render(); } }); window.addEventListener(\"resize\", function () { var n = hoverN !== null ? hoverN : pinN; if (n !== null) place(n); }); } if (document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", init); else init(); })(); <\/script><\/div><div class=\"sld-embed\" id=\"sld-embed-3\"><style> .sld-embed{max-width:1120px;margin:18px auto 8px;padding:0 20px;box-sizing:border-box;font-family:system-ui,-apple-system,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;} .sld-embed *{box-sizing:border-box;} .sld-embed .eb-card{background:#f6f8fb;border:1px solid #d3dce6;border-radius:10px;padding:16px 18px;} .sld-embed .eb-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px;margin-bottom:10px;} .sld-embed .eb-title{font-weight:700;font-size:15.5px;color:#16283c;} .sld-embed .eb-sub{font-size:13px;color:#5b6b7f;} .sld-embed .eb-code{display:block;width:100%;min-height:118px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;color:#cbd5e1;background:#0f172a;border:0;border-radius:8px;padding:12px 14px;} .sld-embed .eb-row{display:flex;justify-content:flex-end;margin-top:10px;} .sld-embed .eb-btn{background:#1e3a5f;color:#fff;border:0;border-radius:6px;font-size:13.5px;font-weight:600;padding:9px 18px;cursor:pointer;} .sld-embed .eb-btn:hover{background:#16304f;} .sld-embed .eb-btn.copied{background:#15803d;} @media (max-width:720px){.sld-embed{padding:0 12px;} } <\/style><div class=\"eb-card\"><div class=\"eb-head\"><span class=\"eb-title\">Use this diagram on your website \u2014 free<\/span><span class=\"eb-sub\">Copy the code below and paste it into your page. Please keep the credit line.<\/span><\/div><textarea class=\"eb-code\" readonly=\"readonly\" spellcheck=\"false\" aria-label=\"Embed code\">&lt;iframe id=&quot;tw-sld-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html?slider_embed=1&quot; width=&quot;100%&quot; height=&quot;820&quot; loading=&quot;lazy&quot; style=&quot;max-width:1200px;border:0;&quot; title=&quot;Slider Mechanism&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twSliderHeight){var f=document.getElementById(&quot;tw-sld-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twSliderHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html&quot;&gt;Slider Mechanism&lt;\/a&gt; diagram by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><div class=\"eb-row\"><button type=\"button\" class=\"eb-btn\">Copy embed code<\/button><\/div><\/div><script> (function () { function init() { var box = document.getElementById(\"sld-embed-3\"); if (!box || box.getAttribute(\"data-ready\") === \"1\") return; box.setAttribute(\"data-ready\", \"1\"); var btn = box.querySelector(\".eb-btn\"); var code = box.querySelector(\".eb-code\"); var label = btn.textContent; function flash() { btn.classList.add(\"copied\"); btn.textContent = \"Copied!\"; setTimeout(function () { btn.classList.remove(\"copied\"); btn.textContent = label; }, 1800); } function fallback() { code.focus(); code.select(); try { document.execCommand(\"copy\"); } catch (err) {} flash(); } code.addEventListener(\"focus\", function () { code.select(); }); btn.addEventListener(\"click\", function () { if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(code.value).then(flash, fallback); } else { fallback(); } }); } if (document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", init); else init(); })(); <\/script><\/div><\/div><div id=\"lifter-mechanism\" class=\"wp-block-group tw-tool tw-cat-structure is-layout-flow wp-block-group-is-layout-flow\"><div class=\"lft-snippet\" id=\"lft-4\"><style> .lft-snippet{--bg:#eef1f4;--panel:#ffffff;--ink:#1c2733;--muted:#5b6b7f;--line:#d3dbe4;--navy:#1e3a5f;--sheet:#fdfefe;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;} @media (prefers-color-scheme:dark){.lft-snippet{--bg:#141a21;--panel:#1d2631;--ink:#e8eef4;--muted:#9db0c3;--line:#334252;} } .lft-snippet, .lft-snippet *{box-sizing:border-box;} .lft-snippet .lft-wrap{max-width:1060px;margin:0 auto;padding:28px 18px 36px;} .lft-snippet .lft-title{font-size:30px;line-height:1.15;margin:0 0 6px;font-weight:800;letter-spacing:-.02em;} .lft-snippet .lft-sub{color:var(--muted);font-size:15px;margin:0 0 18px;} .lft-snippet .lft-sheet{position:relative;background:var(--sheet);border:1px solid var(--line);border-radius:10px;overflow:hidden;} .lft-snippet svg.lft-drawing{display:block;width:100%;height:auto;max-width:none;} .lft-snippet .lft-caption{margin:14px 2px 0;color:var(--muted);font-size:14.5px;line-height:1.5;} @media (max-width:640px){.lft-snippet .lft-title{font-size:24px;} .lft-snippet .lft-wrap{padding:20px 12px 30px;} } .lft-snippet .part{cursor:pointer;transition:opacity .15s ease;} .lft-snippet svg.has-active .part{opacity:.28;} .lft-snippet svg.has-active .part.active{opacity:1;} .lft-snippet svg.has-active .nonpart{opacity:.35;} .lft-snippet .badge{cursor:pointer;} .lft-snippet .badge circle.core{fill:#1e3a5f;stroke:#fff;stroke-width:2;} .lft-snippet .badge circle.hit{fill:transparent;} .lft-snippet .badge text{fill:#fff;font-size:12px;font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none;} .lft-snippet .leader{stroke:#5b6b7f;stroke-width:1.3;pointer-events:none;} .lft-snippet svg.has-active .badge{opacity:.3;} .lft-snippet svg.has-active .badge.active{opacity:1;} .lft-snippet svg.has-active .badge.active circle.core{fill:#d63c3c;} .lft-snippet .lft-tip{position:absolute;left:0;top:0;display:none;z-index:5;width:240px;max-width:72vw;background:#16283e;color:#eef3f8;border-radius:10px;padding:11px 13px;box-shadow:0 10px 28px rgba(10,25,45,.35);pointer-events:none;} .lft-snippet .lft-tip.show{display:block;} .lft-snippet .lft-tip .tnum{display:inline-flex;width:22px;height:22px;border-radius:50%;background:#f2a33c;color:#16283e;font-weight:800;font-size:12px;align-items:center;justify-content:center;margin-right:7px;vertical-align:-6px;} .lft-snippet .lft-tip .tname{font-weight:700;font-size:14.5px;} .lft-snippet .lft-tip .tfunc{font-size:13px;line-height:1.45;color:#c6d3e0;margin-top:5px;} <\/style><div class=\"lft-wrap\"><div class=\"lft-title\">Lifter \u2014 Angle Ejector Mechanism<\/div><p class=\"lft-sub\">Cross-section \u00b7 mold closed \u00b7 internal undercut release<\/p><div class=\"lft-sheet\"><svg class=\"lft-drawing\" viewBox=\"0 0 1040 800\" role=\"img\" aria-label=\"Cross-section of a lifter angle ejector mechanism in a closed injection mold\"><defs><pattern id=\"lft-4-hatch\" width=\"9\" height=\"9\" patternTransform=\"rotate(45)\" patternUnits=\"userSpaceOnUse\"><rect width=\"9\" height=\"9\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"9\" stroke=\"#c3cfdd\" stroke-width=\"1.4\"\/><\/pattern><pattern id=\"lft-4-hatchB\" width=\"9\" height=\"9\" patternTransform=\"rotate(-45)\" patternUnits=\"userSpaceOnUse\"><rect width=\"9\" height=\"9\" fill=\"#e9eef4\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"9\" stroke=\"#c8d3e0\" stroke-width=\"1.4\"\/><\/pattern><pattern id=\"lft-4-hatchDark\" width=\"9\" height=\"9\" patternTransform=\"rotate(45)\" patternUnits=\"userSpaceOnUse\"><rect width=\"9\" height=\"9\" fill=\"#d7dfe8\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"9\" stroke=\"#aebdd0\" stroke-width=\"1.4\"\/><\/pattern><marker id=\"lft-4-arr\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\"><path d=\"M0,0 L10,5 L0,10 z\" fill=\"#d63c3c\"\/><\/marker><\/defs><g class=\"part\" data-n=\"1\"><path d=\"M240 90 H800 V250 H640 V150 H400 V250 H240 Z\" fill=\"url(#lft-4-hatch)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"part\" data-n=\"7\"><path d=\"M240 250 H414 V164 H626 V250 H800 V450 H240 Z\" fill=\"url(#lft-4-hatchB)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"part\" data-n=\"6\"><rect x=\"362\" y=\"404\" width=\"76\" height=\"46\" fill=\"url(#lft-4-hatchDark)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"part\" data-n=\"8\"><line x1=\"220\" y1=\"250\" x2=\"820\" y2=\"250\" stroke=\"#d63c3c\" stroke-width=\"2\" stroke-dasharray=\"10 6\"\/><\/g><g class=\"part\" data-n=\"5\"><polygon points=\"414,250 448.5,250 399.2,530 364.7,530\" fill=\"#c3d2e4\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"part\" data-n=\"4\"><polygon points=\"414,164 463.7,164 448.5,250 414,250\" fill=\"#c3d2e4\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"part\" data-n=\"2\"><rect x=\"400\" y=\"150\" width=\"240\" height=\"14\" fill=\"#f2a33c\" stroke=\"#8a5a14\" stroke-width=\"1.5\"\/><rect x=\"400\" y=\"164\" width=\"14\" height=\"86\" fill=\"#f2a33c\" stroke=\"#8a5a14\" stroke-width=\"1.5\"\/><rect x=\"626\" y=\"164\" width=\"14\" height=\"86\" fill=\"#f2a33c\" stroke=\"#8a5a14\" stroke-width=\"1.5\"\/><\/g><g class=\"part\" data-n=\"3\"><rect x=\"414\" y=\"196\" width=\"10\" height=\"22\" fill=\"#f2a33c\" stroke=\"#8a5a14\" stroke-width=\"1.5\"\/><\/g><g class=\"part\" data-n=\"13\"><rect x=\"240\" y=\"450\" width=\"80\" height=\"170\" fill=\"url(#lft-4-hatch)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"720\" y=\"450\" width=\"80\" height=\"170\" fill=\"url(#lft-4-hatch)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"part\" data-n=\"12\"><rect x=\"628\" y=\"250\" width=\"10\" height=\"285\" fill=\"#d7dfe8\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"part\" data-n=\"9\"><rect x=\"340\" y=\"520\" width=\"360\" height=\"30\" fill=\"url(#lft-4-hatch)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"part\" data-n=\"11\"><rect x=\"340\" y=\"550\" width=\"360\" height=\"30\" fill=\"url(#lft-4-hatch)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"part\" data-n=\"10\"><rect x=\"346\" y=\"520\" width=\"70\" height=\"30\" fill=\"url(#lft-4-hatchDark)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><line x1=\"346\" y1=\"535\" x2=\"416\" y2=\"535\" stroke=\"#5b6b7f\" stroke-width=\"1\" stroke-dasharray=\"4 3\"\/><\/g><g class=\"part\" data-n=\"14\"><rect x=\"240\" y=\"620\" width=\"250\" height=\"80\" fill=\"url(#lft-4-hatch)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><rect x=\"550\" y=\"620\" width=\"250\" height=\"80\" fill=\"url(#lft-4-hatch)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"part\" data-n=\"15\"><rect x=\"508\" y=\"580\" width=\"24\" height=\"190\" fill=\"url(#lft-4-hatchDark)\" stroke=\"#5b6b7f\" stroke-width=\"1.5\"\/><\/g><g class=\"nonpart\"><line x1=\"548\" y1=\"430\" x2=\"564\" y2=\"340\" stroke=\"#d63c3c\" stroke-width=\"2\" marker-end=\"url(#lft-4-arr)\"\/><text x=\"572\" y=\"392\" font-size=\"12\" fill=\"#d63c3c\">lifter travel<\/text><line x1=\"520\" y1=\"500\" x2=\"520\" y2=\"462\" stroke=\"#8a99ad\" stroke-width=\"2\" marker-end=\"url(#lft-4-arr)\"\/><text x=\"528\" y=\"486\" font-size=\"12\" fill=\"#5b6b7f\">ejection stroke<\/text><\/g><g class=\"nonpart\" font-size=\"13\" fill=\"#5b6b7f\"><text x=\"252\" y=\"112\">FIXED HALF<\/text><text x=\"252\" y=\"272\">MOVING HALF<\/text><\/g><g class=\"nonpart\"><line class=\"leader\" x1=\"350\" y1=\"507\" x2=\"362\" y2=\"520\"\/><line class=\"leader\" x1=\"660\" y1=\"200\" x2=\"640\" y2=\"200\"\/><line class=\"leader\" x1=\"478\" y1=\"207\" x2=\"424\" y2=\"207\"\/><line class=\"leader\" x1=\"460\" y1=\"350\" x2=\"431\" y2=\"350\"\/><line class=\"leader\" x1=\"458\" y1=\"427\" x2=\"438\" y2=\"427\"\/><line class=\"leader\" x1=\"648\" y1=\"390\" x2=\"638\" y2=\"390\"\/><\/g><g class=\"badge\" data-n=\"1\"><circle class=\"hit\" cx=\"300\" cy=\"170\" r=\"20\"\/><circle class=\"core\" cx=\"300\" cy=\"170\" r=\"12\"\/><text x=\"300\" y=\"170\">1<\/text><\/g><g class=\"badge\" data-n=\"2\"><circle class=\"hit\" cx=\"672\" cy=\"200\" r=\"20\"\/><circle class=\"core\" cx=\"672\" cy=\"200\" r=\"12\"\/><text x=\"672\" y=\"200\">2<\/text><\/g><g class=\"badge\" data-n=\"3\"><circle class=\"hit\" cx=\"490\" cy=\"207\" r=\"20\"\/><circle class=\"core\" cx=\"490\" cy=\"207\" r=\"12\"\/><text x=\"490\" y=\"207\">3<\/text><\/g><g class=\"badge\" data-n=\"4\"><circle class=\"hit\" cx=\"434\" cy=\"236\" r=\"16\"\/><circle class=\"core\" cx=\"434\" cy=\"236\" r=\"12\"\/><text x=\"434\" y=\"236\">4<\/text><\/g><g class=\"badge\" data-n=\"5\"><circle class=\"hit\" cx=\"472\" cy=\"350\" r=\"20\"\/><circle class=\"core\" cx=\"472\" cy=\"350\" r=\"12\"\/><text x=\"472\" y=\"350\">5<\/text><\/g><g class=\"badge\" data-n=\"6\"><circle class=\"hit\" cx=\"470\" cy=\"427\" r=\"18\"\/><circle class=\"core\" cx=\"470\" cy=\"427\" r=\"12\"\/><text x=\"470\" y=\"427\">6<\/text><\/g><g class=\"badge\" data-n=\"7\"><circle class=\"hit\" cx=\"300\" cy=\"350\" r=\"20\"\/><circle class=\"core\" cx=\"300\" cy=\"350\" r=\"12\"\/><text x=\"300\" y=\"350\">7<\/text><\/g><g class=\"badge\" data-n=\"8\"><circle class=\"hit\" cx=\"838\" cy=\"250\" r=\"20\"\/><circle class=\"core\" cx=\"838\" cy=\"250\" r=\"12\"\/><text x=\"838\" y=\"250\">8<\/text><\/g><g class=\"badge\" data-n=\"9\"><circle class=\"hit\" cx=\"664\" cy=\"535\" r=\"16\"\/><circle class=\"core\" cx=\"664\" cy=\"535\" r=\"12\"\/><text x=\"664\" y=\"535\">9<\/text><\/g><g class=\"badge\" data-n=\"10\"><circle class=\"hit\" cx=\"342\" cy=\"498\" r=\"18\"\/><circle class=\"core\" cx=\"342\" cy=\"498\" r=\"12\"\/><text x=\"342\" y=\"498\">10<\/text><\/g><g class=\"badge\" data-n=\"11\"><circle class=\"hit\" cx=\"664\" cy=\"565\" r=\"16\"\/><circle class=\"core\" cx=\"664\" cy=\"565\" r=\"12\"\/><text x=\"664\" y=\"565\">11<\/text><\/g><g class=\"badge\" data-n=\"12\"><circle class=\"hit\" cx=\"660\" cy=\"390\" r=\"20\"\/><circle class=\"core\" cx=\"660\" cy=\"390\" r=\"12\"\/><text x=\"660\" y=\"390\">12<\/text><\/g><g class=\"badge\" data-n=\"13\"><circle class=\"hit\" cx=\"280\" cy=\"535\" r=\"20\"\/><circle class=\"core\" cx=\"280\" cy=\"535\" r=\"12\"\/><text x=\"280\" y=\"535\">13<\/text><\/g><g class=\"badge\" data-n=\"14\"><circle class=\"hit\" cx=\"300\" cy=\"660\" r=\"20\"\/><circle class=\"core\" cx=\"300\" cy=\"660\" r=\"12\"\/><text x=\"300\" y=\"660\">14<\/text><\/g><g class=\"badge\" data-n=\"15\"><circle class=\"hit\" cx=\"556\" cy=\"740\" r=\"20\"\/><circle class=\"core\" cx=\"556\" cy=\"740\" r=\"12\"\/><text x=\"556\" y=\"740\">15<\/text><\/g><\/svg><div class=\"lft-tip\" aria-live=\"polite\"><\/div><\/div><p class=\"lft-caption\">As the ejector plates rise, the lifter travels up and inward along its angle, pulling its head out of the undercut while the part is pushed off the core.<\/p><\/div><script> (function () { var PARTS = { 1: [\"Fixed half (A plate)\", \"Cavity side, forms the outside of the part\"], 2: [\"Molded part\", \"Cup with an internal undercut on one wall\"], 3: [\"Internal undercut\", \"Inward barb that would lock the part on a fixed core\"], 4: [\"Lifter head\", \"Forms the undercut; its top is flush with the core surface\"], 5: [\"Lifter rod\", \"Angled shank; rising along it moves the head inward\"], 6: [\"Lifter guide block\", \"Holds the rod at its angle in the B plate\"], 7: [\"Moving half (B plate)\", \"Core side, houses the lifter\"], 8: [\"Parting line\", \"Mold opening plane, at the rim of the part\"], 9: [\"Ejector retainer plate\", \"Upper plate, carries the lifter base slot and pin heads\"], 10: [\"Lifter base\", \"Slide block, moves sideways in its slot as the lifter rises\"], 11: [\"Ejector plate\", \"Lower plate, pushed up by the machine ejector rod\"], 12: [\"Ejector pin\", \"Pushes the part on the side without an undercut\"], 13: [\"Spacer block\", \"Creates the ejector housing and stroke space\"], 14: [\"Bottom clamp plate\", \"Clamps the moving half to the platen\"], 15: [\"Ejector rod (machine)\", \"Drives the ejector plates up\"] }; function init() { var root = document.getElementById(\"lft-4\"); if (!root || root.getAttribute(\"data-ready\") === \"1\") return; root.setAttribute(\"data-ready\", \"1\"); var svg = root.querySelector(\"svg.lft-drawing\"); var sheet = root.querySelector(\".lft-sheet\"); var tip = root.querySelector(\".lft-tip\"); var items = root.querySelectorAll(\"[data-n]\"); var pos = {}; var badges = svg.querySelectorAll(\".badge\"); for (var b = 0; b < badges.length; b++) { var c = badges[b].querySelector(\"circle.core\"); pos[badges[b].getAttribute(\"data-n\")] = [parseFloat(c.getAttribute(\"cx\")), parseFloat(c.getAttribute(\"cy\"))]; } var hoverN = null, pinN = null, lastTouch = 0; function place(n) { var p = pos[n]; if (!p) return; var sr = svg.getBoundingClientRect(), hr = sheet.getBoundingClientRect(); var s = sr.width \/ 1040; var bx = (sr.left - hr.left) + p[0] * s, by = (sr.top - hr.top) + p[1] * s; var tw = tip.offsetWidth, th = tip.offsetHeight, W = sheet.clientWidth, H = sheet.clientHeight, gap = 20, pad = 6; var x = bx + gap; if (x + tw > W - pad) x = bx - gap - tw; var y = by - th \/ 2; x = Math.max(pad, Math.min(x, W - tw - pad)); y = Math.max(pad, Math.min(y, H - th - pad)); tip.style.left = x + \"px\"; tip.style.top = y + \"px\"; } function render() { var n = hoverN !== null ? hoverN : pinN; var key = n === null ? \"\" : String(n); for (var i = 0; i < items.length; i++) { if (items[i].getAttribute(\"data-n\") === key) items[i].classList.add(\"active\"); else items[i].classList.remove(\"active\"); } if (n === null) { svg.classList.remove(\"has-active\"); tip.classList.remove(\"show\"); return; } svg.classList.add(\"has-active\"); tip.innerHTML = '<span class=\"tnum\">' + n + '<\/span><span class=\"tname\"><\/span><div class=\"tfunc\"><\/div>'; tip.querySelector(\".tname\").textContent = PARTS[n][0]; tip.querySelector(\".tfunc\").textContent = PARTS[n][1]; tip.classList.add(\"show\"); place(n); } function itemFrom(t) { while (t && t !== root) { if (t.getAttribute && t.getAttribute(\"data-n\") !== null) return t; t = t.parentNode; } return null; } root.addEventListener(\"touchstart\", function () { lastTouch = Date.now(); }, { passive: true }); root.addEventListener(\"click\", function (e) { var el = itemFrom(e.target); if (!el) { if (pinN !== null) { pinN = null; hoverN = null; render(); } return; } var n = parseInt(el.getAttribute(\"data-n\"), 10); if (pinN === n) { pinN = null; hoverN = null; } else { pinN = n; } render(); }); root.addEventListener(\"mouseover\", function (e) { if (Date.now() - lastTouch < 800) return; var el = itemFrom(e.target); var n = el ? parseInt(el.getAttribute(\"data-n\"), 10) : null; if (n !== hoverN) { hoverN = n; render(); } }); root.addEventListener(\"mouseleave\", function () { if (hoverN !== null) { hoverN = null; render(); } }); document.addEventListener(\"keydown\", function (e) { if (e.key === \"Escape\") { pinN = null; hoverN = null; render(); } }); document.addEventListener(\"click\", function (e) { if (pinN !== null && !root.contains(e.target)) { pinN = null; hoverN = null; render(); } }); window.addEventListener(\"resize\", function () { var n = hoverN !== null ? hoverN : pinN; if (n !== null) place(n); }); } if (document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", init); else init(); })(); <\/script><\/div><div class=\"lft-embed\" id=\"lft-embed-5\"><style> .lft-embed{max-width:1120px;margin:18px auto 8px;padding:0 20px;box-sizing:border-box;font-family:system-ui,-apple-system,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;} .lft-embed *{box-sizing:border-box;} .lft-embed .eb-card{background:#f6f8fb;border:1px solid #d3dce6;border-radius:10px;padding:16px 18px;} .lft-embed .eb-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px;margin-bottom:10px;} .lft-embed .eb-title{font-weight:700;font-size:15.5px;color:#16283c;} .lft-embed .eb-sub{font-size:13px;color:#5b6b7f;} .lft-embed .eb-code{display:block;width:100%;min-height:118px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;color:#cbd5e1;background:#0f172a;border:0;border-radius:8px;padding:12px 14px;} .lft-embed .eb-row{display:flex;justify-content:flex-end;margin-top:10px;} .lft-embed .eb-btn{background:#1e3a5f;color:#fff;border:0;border-radius:6px;font-size:13.5px;font-weight:600;padding:9px 18px;cursor:pointer;} .lft-embed .eb-btn:hover{background:#16304f;} .lft-embed .eb-btn.copied{background:#15803d;} @media (max-width:720px){.lft-embed{padding:0 12px;} } <\/style><div class=\"eb-card\"><div class=\"eb-head\"><span class=\"eb-title\">Use this diagram on your website \u2014 free<\/span><span class=\"eb-sub\">Copy the code below and paste it into your page. Please keep the credit line.<\/span><\/div><textarea class=\"eb-code\" readonly=\"readonly\" spellcheck=\"false\" aria-label=\"Embed code\">&lt;iframe id=&quot;tw-lft-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html?lifter_embed=1&quot; width=&quot;100%&quot; height=&quot;950&quot; loading=&quot;lazy&quot; style=&quot;max-width:1200px;border:0;&quot; title=&quot;Lifter Mechanism&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twLifterHeight){var f=document.getElementById(&quot;tw-lft-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twLifterHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html&quot;&gt;Lifter Mechanism&lt;\/a&gt; diagram by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><div class=\"eb-row\"><button type=\"button\" class=\"eb-btn\">Copy embed code<\/button><\/div><\/div><script> (function () { function init() { var box = document.getElementById(\"lft-embed-5\"); if (!box || box.getAttribute(\"data-ready\") === \"1\") return; box.setAttribute(\"data-ready\", \"1\"); var btn = box.querySelector(\".eb-btn\"); var code = box.querySelector(\".eb-code\"); var label = btn.textContent; function flash() { btn.classList.add(\"copied\"); btn.textContent = \"Copied!\"; setTimeout(function () { btn.classList.remove(\"copied\"); btn.textContent = label; }, 1800); } function fallback() { code.focus(); code.select(); try { document.execCommand(\"copy\"); } catch (err) {} flash(); } code.addEventListener(\"focus\", function () { code.select(); }); btn.addEventListener(\"click\", function () { if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(code.value).then(flash, fallback); } else { fallback(); } }); } if (document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", init); else init(); })(); <\/script><\/div><\/div><div id=\"hot-runner-mold\" class=\"wp-block-group tw-tool tw-cat-structure is-layout-flow wp-block-group-is-layout-flow\"><link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\" \/><link href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow:wght@400;500;600;700&family=Barlow+Semi+Condensed:wght@700&family=IBM+Plex+Mono:wght@600&display=swap\" rel=\"stylesheet\" \/><div class=\"hrm-snippet\" id=\"hrm-6\"><style> .hrm-snippet{--bg:#eef1f5;--panel:#ffffff;--ink:#16283c;--ink-2:#43536a;--line:#d3dce6;--navy:#1e3a5f;--accent:#d63c3c;--amber:#f2a33c;--sheet:#fdfdfe;background:var(--bg);color:var(--ink);font-family:\"Barlow\", system-ui, -apple-system, \"Segoe UI\", sans-serif;-webkit-font-smoothing:antialiased;} @media (prefers-color-scheme:dark){.hrm-snippet{--bg:#0d141d;--panel:#16202d;--ink:#e8eef5;--ink-2:#a7b6c8;--line:#2b3a4c;} } .hrm-snippet, .hrm-snippet *, .hrm-snippet *::before, .hrm-snippet *::after{box-sizing:border-box;} .hrm-snippet .hrm-wrap{max-width:1120px;margin:0 auto;padding:28px 20px 36px;} .hrm-snippet .hrm-head{margin-bottom:18px;} .hrm-snippet .hrm-title{font-family:\"Barlow Semi Condensed\",\"Barlow\",sans-serif;font-size:clamp(30px,4.6vw,44px);font-weight:700;letter-spacing:.01em;margin:0 0 6px;line-height:1.05;color:var(--ink);} .hrm-snippet .hrm-subtitle{margin:0;font-size:clamp(15px,2vw,18px);color:var(--ink-2);font-weight:500;} .hrm-snippet .hrm-subtitle .dot{color:var(--accent);font-weight:700;padding:0 2px;} .hrm-snippet .hrm-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 14px 10px;} .hrm-snippet .hrm-sheet{position:relative;background:var(--sheet);border:1px solid #d9e1ea;border-radius:6px;overflow:hidden;} .hrm-snippet svg.hrm-drawing{display:block;width:100%;height:auto;max-width:none;} .hrm-snippet .hrm-caption{margin:12px 4px 2px;font-size:16px;font-weight:600;color:var(--ink);text-align:center;} .hrm-snippet .hrm-caption .hl{color:#b96f14;} @media (prefers-color-scheme:dark){.hrm-snippet .hrm-caption .hl{color:var(--amber);} } .hrm-snippet .hrm-tip{position:absolute;left:0;top:0;z-index:5;max-width:250px;background:var(--navy);color:#fff;border-radius:8px;padding:10px 13px;display:none;align-items:flex-start;gap:10px;pointer-events:none;box-shadow:0 8px 22px rgba(10,25,45,.30);font-size:14.5px;line-height:1.35;} .hrm-snippet .hrm-tip.show{display:flex;} .hrm-snippet .hrm-tip .tnum{font-family:\"IBM Plex Mono\",monospace;font-weight:600;font-size:13px;background:#fff;color:#1e3a5f;min-width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto;} .hrm-snippet .hrm-tip strong{font-weight:700;display:block;} .hrm-snippet .hrm-tip .tfn{opacity:.88;font-weight:400;display:block;} .hrm-snippet .part{cursor:pointer;} .hrm-snippet .part .steel{fill:url(#hrm-6-hatch);stroke:#5b6b7f;stroke-width:1.5;} .hrm-snippet .part .steel-flat{fill:#dbe4ee;stroke:#5b6b7f;stroke-width:1.5;} .hrm-snippet .part .steel-dark{fill:#9fb0c3;stroke:#5b6b7f;stroke-width:1.5;} .hrm-snippet .part .steel-mid{fill:#b9c6d6;stroke:#5b6b7f;stroke-width:1.5;} .hrm-snippet .part .recess{fill:#fdfdfe;stroke:#5b6b7f;stroke-width:1.5;} .hrm-snippet .part .melt{fill:#f2a33c;stroke:#c47a1e;stroke-width:1.2;} .hrm-snippet .part .plastic{fill:#f2a33c;stroke:#b96f14;stroke-width:1.5;} .hrm-snippet .part .heater{fill:#f59e0b;stroke:#b45309;stroke-width:1.2;} .hrm-snippet .part .pocket{fill:none;stroke:#8a99ad;stroke-width:1.5;stroke-dasharray:6 4;} .hrm-snippet .part .wire{fill:none;stroke:#8a99ad;stroke-width:2;} .hrm-snippet .part .jbox{fill:#ffffff;stroke:#5b6b7f;stroke-width:1.5;} .hrm-snippet .part .pline{stroke:#d63c3c;stroke-width:2;stroke-dasharray:10 6;} .hrm-snippet .part .cool{stroke:#2f7de1;stroke-width:10;stroke-linecap:round;fill:none;} .hrm-snippet .part .cool-dot{fill:#2f7de1;} .hrm-snippet svg.has-active .part{opacity:.38;} .hrm-snippet svg.has-active .part.active{opacity:1;} .hrm-snippet svg.has-active .part.active .steel, .hrm-snippet svg.has-active .part.active .steel-flat, .hrm-snippet svg.has-active .part.active .steel-dark, .hrm-snippet svg.has-active .part.active .steel-mid, .hrm-snippet svg.has-active .part.active .recess, .hrm-snippet svg.has-active .part.active .plastic, .hrm-snippet svg.has-active .part.active .jbox{stroke:#1e3a5f;stroke-width:2.6;} .hrm-snippet svg.has-active .part.active .melt, .hrm-snippet svg.has-active .part.active .heater{stroke:#7c2d12;stroke-width:2.2;} .hrm-snippet svg.has-active .part.active .pocket{stroke:#1e3a5f;stroke-width:2.4;} .hrm-snippet svg.has-active .part.active .pline{stroke-width:3.4;} .hrm-snippet svg.has-active .part.active .cool{stroke-width:13;} .hrm-snippet .badge{cursor:pointer;} .hrm-snippet .badge circle{fill:#1e3a5f;stroke:#ffffff;stroke-width:2;} .hrm-snippet .badge text{fill:#ffffff;font-family:\"IBM Plex Mono\",monospace;font-weight:600;font-size:13px;text-anchor:middle;dominant-baseline:central;pointer-events:none;} .hrm-snippet .leader{stroke:#5b6b7f;stroke-width:1.5;pointer-events:none;} .hrm-snippet svg.has-active .badge{opacity:.35;} .hrm-snippet svg.has-active .badge.active{opacity:1;} .hrm-snippet svg.has-active .badge.active circle{fill:#d63c3c;} @media (prefers-reduced-motion:no-preference){.hrm-snippet .part, .hrm-snippet .badge{transition:opacity .15s ease;} } @media (max-width:720px){.hrm-snippet .hrm-wrap{padding:20px 12px 28px;} .hrm-snippet .hrm-card{padding:8px 8px 6px;} } <\/style><div class=\"hrm-wrap\"><div class=\"hrm-head\"><div class=\"hrm-title\">Hot Runner Injection Mold<\/div><p class=\"hrm-subtitle\">Cross-section <span class=\"dot\">\u00b7<\/span> closed position <span class=\"dot\">\u00b7<\/span> heated manifold, no cold runner<\/p><\/div><div class=\"hrm-card\"><div class=\"hrm-sheet\"><svg class=\"hrm-drawing\" viewBox=\"0 0 1040 800\" role=\"img\" aria-label=\"Cross-section diagram of a hot runner injection mold with 24 numbered components\"><defs><pattern id=\"hrm-6-hatch\" width=\"10\" height=\"10\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"10\" height=\"10\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"10\" stroke=\"#c9d4e2\" stroke-width=\"2\"\/><\/pattern><\/defs><g class=\"part\" data-n=\"3\"><rect class=\"steel\" x=\"240\" y=\"84\" width=\"560\" height=\"80\"\/><\/g><g class=\"part\" data-n=\"10\"><rect class=\"steel\" x=\"240\" y=\"244\" width=\"560\" height=\"120\"\/><rect class=\"recess\" x=\"330\" y=\"304\" width=\"140\" height=\"60\"\/><rect class=\"recess\" x=\"570\" y=\"304\" width=\"140\" height=\"60\"\/><\/g><g class=\"part\" data-n=\"14\"><rect class=\"steel\" x=\"240\" y=\"364\" width=\"560\" height=\"120\"\/><rect class=\"steel\" x=\"342\" y=\"314\" width=\"116\" height=\"50\"\/><rect class=\"steel\" x=\"582\" y=\"314\" width=\"116\" height=\"50\"\/><\/g><g class=\"part\" data-n=\"19\"><rect class=\"steel\" x=\"240\" y=\"484\" width=\"80\" height=\"120\"\/><rect class=\"steel\" x=\"720\" y=\"484\" width=\"80\" height=\"120\"\/><\/g><g class=\"part\" data-n=\"20\"><rect class=\"steel\" x=\"350\" y=\"534\" width=\"340\" height=\"30\"\/><\/g><g class=\"part\" data-n=\"21\"><rect class=\"steel\" x=\"350\" y=\"564\" width=\"340\" height=\"30\"\/><\/g><g class=\"part\" data-n=\"22\"><rect class=\"steel\" x=\"240\" y=\"604\" width=\"250\" height=\"80\"\/><rect class=\"steel\" x=\"550\" y=\"604\" width=\"250\" height=\"80\"\/><\/g><g class=\"part\" data-n=\"1\"><rect class=\"steel-flat\" x=\"460\" y=\"60\" width=\"36\" height=\"24\"\/><rect class=\"steel-flat\" x=\"544\" y=\"60\" width=\"36\" height=\"24\"\/><\/g><g class=\"part\" data-n=\"9\"><rect class=\"pocket\" x=\"350\" y=\"164\" width=\"360\" height=\"80\"\/><\/g><g class=\"part\" data-n=\"4\"><rect class=\"steel\" x=\"360\" y=\"174\" width=\"320\" height=\"80\"\/><\/g><g class=\"part\" data-n=\"2\"><polygon class=\"steel-flat\" points=\"504,64 536,64 528,110 512,110\"\/><\/g><g class=\"part\" data-n=\"7\"><polygon class=\"steel-flat\" points=\"386,244 414,244 408,304 392,304\"\/><polygon class=\"steel-flat\" points=\"626,244 654,244 648,304 632,304\"\/><\/g><g class=\"part\" data-n=\"6\"><polygon class=\"melt\" points=\"510,70 530,70 526,110 514,110\"\/><rect class=\"melt\" x=\"514\" y=\"110\" width=\"12\" height=\"90\"\/><rect class=\"melt\" x=\"394\" y=\"194\" width=\"252\" height=\"12\"\/><rect class=\"melt\" x=\"394\" y=\"206\" width=\"12\" height=\"102\"\/><rect class=\"melt\" x=\"634\" y=\"206\" width=\"12\" height=\"102\"\/><\/g><g class=\"part\" data-n=\"5\"><rect class=\"heater\" x=\"380\" y=\"190\" width=\"80\" height=\"10\"\/><rect class=\"heater\" x=\"480\" y=\"190\" width=\"80\" height=\"10\"\/><rect class=\"heater\" x=\"580\" y=\"190\" width=\"80\" height=\"10\"\/><\/g><g class=\"part\" data-n=\"8\"><rect class=\"heater\" x=\"384\" y=\"250\" width=\"32\" height=\"20\"\/><rect class=\"heater\" x=\"624\" y=\"250\" width=\"32\" height=\"20\"\/><\/g><g class=\"part\" data-n=\"24\"><polyline class=\"wire\" points=\"680,200 760,200 760,280\"\/><rect class=\"jbox\" x=\"750\" y=\"280\" width=\"20\" height=\"14\"\/><\/g><g class=\"part\" data-n=\"12\"><rect class=\"plastic\" x=\"330\" y=\"304\" width=\"140\" height=\"10\"\/><rect class=\"plastic\" x=\"330\" y=\"314\" width=\"12\" height=\"50\"\/><rect class=\"plastic\" x=\"458\" y=\"314\" width=\"12\" height=\"50\"\/><rect class=\"plastic\" x=\"570\" y=\"304\" width=\"140\" height=\"10\"\/><rect class=\"plastic\" x=\"570\" y=\"314\" width=\"12\" height=\"50\"\/><rect class=\"plastic\" x=\"698\" y=\"314\" width=\"12\" height=\"50\"\/><\/g><g class=\"part\" data-n=\"11\"><polygon class=\"plastic\" points=\"396,304 404,304 400,310\"\/><polygon class=\"plastic\" points=\"636,304 644,304 640,310\"\/><\/g><g class=\"part\" data-n=\"13\"><line class=\"pline\" x1=\"220\" y1=\"364\" x2=\"820\" y2=\"364\"\/><\/g><g class=\"part\" data-n=\"15\"><rect class=\"steel-flat\" x=\"266\" y=\"280\" width=\"28\" height=\"84\"\/><rect class=\"steel-dark\" x=\"274\" y=\"300\" width=\"12\" height=\"90\"\/><\/g><g class=\"part\" data-n=\"16\"><line class=\"cool\" x1=\"250\" y1=\"290\" x2=\"320\" y2=\"290\"\/><line class=\"cool\" x1=\"720\" y1=\"290\" x2=\"790\" y2=\"290\"\/><line class=\"cool\" x1=\"250\" y1=\"430\" x2=\"320\" y2=\"430\"\/><line class=\"cool\" x1=\"720\" y1=\"430\" x2=\"790\" y2=\"430\"\/><circle class=\"cool-dot\" cx=\"250\" cy=\"290\" r=\"7\"\/><circle class=\"cool-dot\" cx=\"320\" cy=\"290\" r=\"7\"\/><circle class=\"cool-dot\" cx=\"720\" cy=\"290\" r=\"7\"\/><circle class=\"cool-dot\" cx=\"790\" cy=\"290\" r=\"7\"\/><circle class=\"cool-dot\" cx=\"250\" cy=\"430\" r=\"7\"\/><circle class=\"cool-dot\" cx=\"320\" cy=\"430\" r=\"7\"\/><circle class=\"cool-dot\" cx=\"720\" cy=\"430\" r=\"7\"\/><circle class=\"cool-dot\" cx=\"790\" cy=\"430\" r=\"7\"\/><\/g><g class=\"part\" data-n=\"17\"><rect class=\"steel-dark\" x=\"331\" y=\"364\" width=\"10\" height=\"185\"\/><rect class=\"steel-dark\" x=\"699\" y=\"364\" width=\"10\" height=\"185\"\/><\/g><g class=\"part\" data-n=\"18\"><rect class=\"steel-mid\" x=\"355\" y=\"364\" width=\"10\" height=\"185\"\/><rect class=\"steel-mid\" x=\"675\" y=\"364\" width=\"10\" height=\"185\"\/><\/g><g class=\"part\" data-n=\"23\"><rect class=\"steel-flat\" x=\"508\" y=\"700\" width=\"24\" height=\"50\"\/><\/g><g aria-hidden=\"true\"><line class=\"leader\" x1=\"718\" y1=\"209\" x2=\"692\" y2=\"209\"\/><line class=\"leader\" x1=\"474\" y1=\"306\" x2=\"406\" y2=\"308\"\/><line class=\"leader\" x1=\"312\" y1=\"339\" x2=\"330\" y2=\"339\"\/><\/g><g><g class=\"badge\" data-n=\"1\" tabindex=\"0\" role=\"button\" aria-label=\"1 Locating ring\"><circle cx=\"446\" cy=\"72\" r=\"12\"\/><text x=\"446\" y=\"73\">1<\/text><\/g><g class=\"badge\" data-n=\"2\" tabindex=\"0\" role=\"button\" aria-label=\"2 Inlet bushing\"><circle cx=\"560\" cy=\"90\" r=\"12\"\/><text x=\"560\" y=\"91\">2<\/text><\/g><g class=\"badge\" data-n=\"3\" tabindex=\"0\" role=\"button\" aria-label=\"3 Top clamp plate\"><circle cx=\"262\" cy=\"124\" r=\"12\"\/><text x=\"262\" y=\"125\">3<\/text><\/g><g class=\"badge\" data-n=\"4\" tabindex=\"0\" role=\"button\" aria-label=\"4 Hot manifold\"><circle cx=\"330\" cy=\"209\" r=\"12\"\/><text x=\"330\" y=\"210\">4<\/text><\/g><g class=\"badge\" data-n=\"5\" tabindex=\"0\" role=\"button\" aria-label=\"5 Manifold heater\"><circle cx=\"708\" cy=\"190\" r=\"12\"\/><text x=\"708\" y=\"191\">5<\/text><\/g><g class=\"badge\" data-n=\"6\" tabindex=\"0\" role=\"button\" aria-label=\"6 Melt channel\"><circle cx=\"548\" cy=\"150\" r=\"12\"\/><text x=\"548\" y=\"151\">6<\/text><\/g><g class=\"badge\" data-n=\"7\" tabindex=\"0\" role=\"button\" aria-label=\"7 Hot nozzle\"><circle cx=\"362\" cy=\"274\" r=\"12\"\/><text x=\"362\" y=\"275\">7<\/text><\/g><g class=\"badge\" data-n=\"8\" tabindex=\"0\" role=\"button\" aria-label=\"8 Nozzle heater\"><circle cx=\"448\" cy=\"260\" r=\"12\"\/><text x=\"448\" y=\"261\">8<\/text><\/g><g class=\"badge\" data-n=\"9\" tabindex=\"0\" role=\"button\" aria-label=\"9 Air gap\"><circle cx=\"730\" cy=\"209\" r=\"12\"\/><text x=\"730\" y=\"210\">9<\/text><\/g><g class=\"badge\" data-n=\"10\" tabindex=\"0\" role=\"button\" aria-label=\"10 Cavity plate (A)\"><circle cx=\"262\" cy=\"304\" r=\"12\"\/><text x=\"262\" y=\"305\">10<\/text><\/g><g class=\"badge\" data-n=\"11\" tabindex=\"0\" role=\"button\" aria-label=\"11 Gate vestige\"><circle cx=\"486\" cy=\"300\" r=\"12\"\/><text x=\"486\" y=\"301\">11<\/text><\/g><g class=\"badge\" data-n=\"12\" tabindex=\"0\" role=\"button\" aria-label=\"12 Molded part\"><circle cx=\"300\" cy=\"339\" r=\"12\"\/><text x=\"300\" y=\"340\">12<\/text><\/g><g class=\"badge\" data-n=\"13\" tabindex=\"0\" role=\"button\" aria-label=\"13 Parting line\"><circle cx=\"838\" cy=\"364\" r=\"12\"\/><text x=\"838\" y=\"365\">13<\/text><\/g><g class=\"badge\" data-n=\"14\" tabindex=\"0\" role=\"button\" aria-label=\"14 Core plate (B)\"><circle cx=\"262\" cy=\"424\" r=\"12\"\/><text x=\"262\" y=\"425\">14<\/text><\/g><g class=\"badge\" data-n=\"15\" tabindex=\"0\" role=\"button\" aria-label=\"15 Leader pin &amp; bushing\"><circle cx=\"322\" cy=\"335\" r=\"12\"\/><text x=\"322\" y=\"336\">15<\/text><\/g><g class=\"badge\" data-n=\"16\" tabindex=\"0\" role=\"button\" aria-label=\"16 Cooling channel\"><circle cx=\"280\" cy=\"272\" r=\"12\"\/><text x=\"280\" y=\"273\">16<\/text><\/g><g class=\"badge\" data-n=\"17\" tabindex=\"0\" role=\"button\" aria-label=\"17 Ejector pin\"><circle cx=\"310\" cy=\"420\" r=\"12\"\/><text x=\"310\" y=\"421\">17<\/text><\/g><g class=\"badge\" data-n=\"18\" tabindex=\"0\" role=\"button\" aria-label=\"18 Return pin\"><circle cx=\"708\" cy=\"420\" r=\"12\"\/><text x=\"708\" y=\"421\">18<\/text><\/g><g class=\"badge\" data-n=\"19\" tabindex=\"0\" role=\"button\" aria-label=\"19 Spacer block\"><circle cx=\"280\" cy=\"544\" r=\"12\"\/><text x=\"280\" y=\"545\">19<\/text><\/g><g class=\"badge\" data-n=\"20\" tabindex=\"0\" role=\"button\" aria-label=\"20 Ejector retainer plate\"><circle cx=\"708\" cy=\"549\" r=\"12\"\/><text x=\"708\" y=\"550\">20<\/text><\/g><g class=\"badge\" data-n=\"21\" tabindex=\"0\" role=\"button\" aria-label=\"21 Ejector plate\"><circle cx=\"708\" cy=\"579\" r=\"12\"\/><text x=\"708\" y=\"580\">21<\/text><\/g><g class=\"badge\" data-n=\"22\" tabindex=\"0\" role=\"button\" aria-label=\"22 Bottom clamp plate\"><circle cx=\"262\" cy=\"644\" r=\"12\"\/><text x=\"262\" y=\"645\">22<\/text><\/g><g class=\"badge\" data-n=\"23\" tabindex=\"0\" role=\"button\" aria-label=\"23 Ejector rod (machine)\"><circle cx=\"552\" cy=\"725\" r=\"12\"\/><text x=\"552\" y=\"726\">23<\/text><\/g><g class=\"badge\" data-n=\"24\" tabindex=\"0\" role=\"button\" aria-label=\"24 Heater wiring\"><circle cx=\"786\" cy=\"240\" r=\"12\"\/><text x=\"786\" y=\"241\">24<\/text><\/g><\/g><\/svg><div class=\"hrm-tip\" aria-live=\"polite\"><span class=\"tnum\"><\/span><span><strong class=\"tname\"><\/strong><span class=\"tfn\"><\/span><\/span><\/div><\/div><p class=\"hrm-caption\">Melt stays molten to the gate \u2014 <span class=\"hl\">parts eject with no runner waste<\/span><\/p><\/div><\/div><script> (function () { var UID = \"hrm-6\"; var PARTS = {\"1\":[\"Locating ring\",\"Aligns the mold with the machine nozzle\"],\"2\":[\"Inlet bushing\",\"Feeds melt from the machine into the manifold\"],\"3\":[\"Top clamp plate\",\"Clamps the hot half to the fixed platen\"],\"4\":[\"Hot manifold\",\"Heated block distributing melt to the nozzles\"],\"5\":[\"Manifold heater\",\"Cartridge heaters keeping the melt molten\"],\"6\":[\"Melt channel\",\"Molten plastic path, no solidified runner\"],\"7\":[\"Hot nozzle\",\"Heated nozzle delivering melt to the gate\"],\"8\":[\"Nozzle heater\",\"Heater band holding nozzle temperature\"],\"9\":[\"Air gap\",\"Insulation gap around the hot components\"],\"10\":[\"Cavity plate (A)\",\"Forms the outer surface, houses the nozzles\"],\"11\":[\"Gate vestige\",\"Tiny mark where the hot gate met the part\"],\"12\":[\"Molded part\",\"Ejects clean, no runner attached\"],\"13\":[\"Parting line\",\"Single mold opening plane\"],\"14\":[\"Core plate (B)\",\"Forms the inner surface of the parts\"],\"15\":[\"Leader pin & bushing\",\"Aligns the halves when closing\"],\"16\":[\"Cooling channel\",\"Water lines for mold temperature control\"],\"17\":[\"Ejector pin\",\"Pushes the parts off the cores\"],\"18\":[\"Return pin\",\"Resets the ejector assembly when closing\"],\"19\":[\"Spacer block\",\"Creates the ejector housing space\"],\"20\":[\"Ejector retainer plate\",\"Captures the heads of the pins (upper)\"],\"21\":[\"Ejector plate\",\"Backing plate, driven by the machine rod (lower)\"],\"22\":[\"Bottom clamp plate\",\"Clamps the moving half to the platen\"],\"23\":[\"Ejector rod (machine)\",\"Machine-side ejection actuation\"],\"24\":[\"Heater wiring\",\"Connects heaters to the temperature controller\"]}; var BADGE_POS = {\"1\":[446,72],\"2\":[560,90],\"3\":[262,124],\"4\":[330,209],\"5\":[708,190],\"6\":[548,150],\"7\":[362,274],\"8\":[448,260],\"9\":[730,209],\"10\":[262,304],\"11\":[486,300],\"12\":[300,339],\"13\":[838,364],\"14\":[262,424],\"15\":[322,335],\"16\":[280,272],\"17\":[310,420],\"18\":[708,420],\"19\":[280,544],\"20\":[708,549],\"21\":[708,579],\"22\":[262,644],\"23\":[552,725],\"24\":[786,240]}; function init() { var root = document.getElementById(UID); if (!root || root.getAttribute(\"data-ready\") === \"1\") return; root.setAttribute(\"data-ready\", \"1\"); var svg = root.querySelector(\"svg.hrm-drawing\"); var sheet = root.querySelector(\".hrm-sheet\"); var tip = root.querySelector(\".hrm-tip\"); var tNum = tip.querySelector(\".tnum\"); var tName = tip.querySelector(\".tname\"); var tFn = tip.querySelector(\".tfn\"); var items = root.querySelectorAll(\"[data-n]\"); var hoverN = null, pinN = null, lastTouch = 0; function positionTip(n) { var pos = BADGE_POS[n]; if (!pos) return; var sr = svg.getBoundingClientRect(); var hr = sheet.getBoundingClientRect(); var scale = sr.width \/ 1040; var bx = (sr.left - hr.left) + pos[0] * scale; var by = (sr.top - hr.top) + pos[1] * scale; var tw = tip.offsetWidth, th = tip.offsetHeight; var W = sheet.clientWidth, H = sheet.clientHeight, gap = 20, pad = 6; var x = bx + gap; if (x + tw > W - pad) x = bx - gap - tw; var y = by - th \/ 2; x = Math.max(pad, Math.min(x, W - tw - pad)); y = Math.max(pad, Math.min(y, H - th - pad)); tip.style.left = x + \"px\"; tip.style.top = y + \"px\"; } function render() { var n = hoverN !== null ? hoverN : pinN; var key = n === null ? \"\" : String(n); for (var i = 0; i < items.length; i++) { if (items[i].getAttribute(\"data-n\") === key) items[i].classList.add(\"active\"); else items[i].classList.remove(\"active\"); } if (n === null) { svg.classList.remove(\"has-active\"); tip.classList.remove(\"show\"); return; } svg.classList.add(\"has-active\"); tNum.textContent = n; tName.textContent = PARTS[n][0]; tFn.textContent = PARTS[n][1]; tip.classList.add(\"show\"); positionTip(n); } function itemFrom(target) { var el = target; while (el && el !== root) { if (el.getAttribute && el.getAttribute(\"data-n\") !== null) return el; el = el.parentNode; } return null; } function toggle(n) { if (pinN === n) { pinN = null; hoverN = null; } else { pinN = n; } render(); } root.addEventListener(\"touchstart\", function () { lastTouch = Date.now(); }, { passive: true }); root.addEventListener(\"click\", function (e) { var el = itemFrom(e.target); if (!el) { if (pinN !== null) { pinN = null; hoverN = null; render(); } return; } toggle(parseInt(el.getAttribute(\"data-n\"), 10)); }); root.addEventListener(\"mouseover\", function (e) { if (Date.now() - lastTouch < 800) return; var el = itemFrom(e.target); var n = el ? parseInt(el.getAttribute(\"data-n\"), 10) : null; if (n !== hoverN) { hoverN = n; render(); } }); root.addEventListener(\"mouseleave\", function () { if (hoverN !== null) { hoverN = null; render(); } }); root.addEventListener(\"keydown\", function (e) { if (e.key !== \"Enter\" && e.key !== \" \") return; var el = itemFrom(e.target); if (!el) return; e.preventDefault(); toggle(parseInt(el.getAttribute(\"data-n\"), 10)); }); document.addEventListener(\"keydown\", function (e) { if (e.key === \"Escape\" && pinN !== null) { pinN = null; hoverN = null; render(); } }); document.addEventListener(\"click\", function (e) { if (pinN !== null && !root.contains(e.target)) { pinN = null; hoverN = null; render(); } }); window.addEventListener(\"resize\", function () { var n = hoverN !== null ? hoverN : pinN; if (n !== null) positionTip(n); }); } if (document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", init); else init(); })(); <\/script><\/div><div class=\"hrm-embed\" id=\"hrm-embed-7\"><style> .hrm-embed{max-width:1120px;margin:18px auto 8px;padding:0 20px;box-sizing:border-box;font-family:system-ui,-apple-system,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;} .hrm-embed *{box-sizing:border-box;} .hrm-embed .eb-card{background:#f6f8fb;border:1px solid #d3dce6;border-radius:10px;padding:16px 18px;} .hrm-embed .eb-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px;margin-bottom:10px;} .hrm-embed .eb-title{font-weight:700;font-size:15.5px;color:#16283c;} .hrm-embed .eb-sub{font-size:13px;color:#5b6b7f;} .hrm-embed .eb-code{display:block;width:100%;min-height:118px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55;color:#cbd5e1;background:#0f172a;border:0;border-radius:8px;padding:12px 14px;} .hrm-embed .eb-row{display:flex;justify-content:flex-end;margin-top:10px;} .hrm-embed .eb-btn{background:#1e3a5f;color:#fff;border:0;border-radius:6px;font-size:13.5px;font-weight:600;padding:9px 18px;cursor:pointer;} .hrm-embed .eb-btn:hover{background:#16304f;} .hrm-embed .eb-btn.copied{background:#15803d;} @media (max-width:720px){.hrm-embed{padding:0 12px;} } <\/style><div class=\"eb-card\"><div class=\"eb-head\"><span class=\"eb-title\">Use this diagram on your website \u2014 free<\/span><span class=\"eb-sub\">Copy the code below and paste it into your page. Please keep the credit line.<\/span><\/div><textarea class=\"eb-code\" readonly=\"readonly\" spellcheck=\"false\" aria-label=\"Embed code\">&lt;iframe id=&quot;tw-hrm-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html?hrm_embed=1&quot; width=&quot;100%&quot; height=&quot;1000&quot; loading=&quot;lazy&quot; style=&quot;max-width:1200px;border:0;&quot; title=&quot;Hot Runner Injection Mold&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twHrmHeight){var f=document.getElementById(&quot;tw-hrm-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twHrmHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html&quot;&gt;Hot Runner Injection Mold&lt;\/a&gt; diagram by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><div class=\"eb-row\"><button type=\"button\" class=\"eb-btn\">Copy embed code<\/button><\/div><\/div><script> (function () { function init() { var box = document.getElementById(\"hrm-embed-7\"); if (!box || box.getAttribute(\"data-ready\") === \"1\") return; box.setAttribute(\"data-ready\", \"1\"); var btn = box.querySelector(\".eb-btn\"); var code = box.querySelector(\".eb-code\"); var label = btn.textContent; function flash() { btn.classList.add(\"copied\"); btn.textContent = \"Copied!\"; setTimeout(function () { btn.classList.remove(\"copied\"); btn.textContent = label; }, 1800); } function fallback() { code.focus(); code.select(); try { document.execCommand(\"copy\"); } catch (err) {} flash(); } code.addEventListener(\"focus\", function () { code.select(); }); btn.addEventListener(\"click\", function () { if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(code.value).then(flash, fallback); } else { fallback(); } }); } if (document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", init); else init(); })(); <\/script><\/div><\/div><div id=\"two-plate-mold\" class=\"wp-block-group tw-tool tw-cat-structure is-layout-flow wp-block-group-is-layout-flow\"><div class=\"tpm-embed-box\" style=\"margin:14px 0;\"><p style=\"font-size:13px;color:#56657a;margin:0 0 6px;\">Copy this code to embed the diagram on your own page:<\/p><textarea readonly onclick=\"this.select()\" style=\"width:100%;min-height:96px;font-family:ui-monospace,monospace;font-size:12.5px;padding:8px;border:1px solid #c9d3df;border-radius:4px;\">&lt;iframe src=\"https:\/\/www.plasticmoulds.net\/it\/?two_plate_mold_embed=1\" style=\"width:100%;border:0;\" height=\"900\" loading=\"lazy\" title=\"Standard Two-Plate Injection Mold Diagram\"&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener('message',function(e){if(e.data&amp;&amp;e.data.twEmbedId==='two_plate_mold_diagram'){document.querySelectorAll('iframe[src*=\"two_plate_mold_embed=1\"]').forEach(function(el){el.style.height=e.data.twEmbedHeight+'px';});}});&lt;\/script&gt;<\/textarea><\/div><\/div><div id=\"mold-types\" class=\"wp-block-group tw-tool tw-cat-structure is-layout-flow wp-block-group-is-layout-flow\"><style> .twmt{--bg:#0b1520;--panel:#111f2e;--line:#22364b;--txt:#d6e2ee;--dim:#8aa3bb;--acc:#f59e0b;background:var(--bg);color:var(--txt);border-radius:14px;padding:22px;font-family:system-ui,-apple-system,\"Segoe UI\",Roboto,Arial,sans-serif;line-height:1.55;max-width:1100px;margin:24px auto;box-sizing:border-box} .twmt *{box-sizing:border-box} .twmt h2,.twmt h3,.twmt h4{color:#fff;margin:0 0 6px;line-height:1.25;font-family:inherit} .twmt h2{font-size:26px}.twmt h3{font-size:19px}.twmt h4{font-size:15px;margin-top:12px} .twmt p{margin:0 0 10px;color:var(--txt);font-size:15px} .twmt a{color:var(--acc)} .twmt-kicker{color:var(--acc);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:6px} .twmt-lead{color:var(--dim)!important;max-width:820px} .twmt button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--txt);border-radius:8px;padding:9px 14px;font-size:14px;line-height:1.2;box-shadow:none;text-transform:none;letter-spacing:0;min-height:0;margin:0} .twmt button:hover{border-color:var(--acc)} .twmt-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 12px} .twmt-tabs button{font-weight:600;padding:10px 16px} .twmt-stage{background:#0d1824;border:1px solid var(--line);border-radius:12px;overflow:hidden} .twmt-svg{display:block;width:100%;height:auto} .twmt-ctrl{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--line);flex-wrap:wrap} .twmt-ctrl input[type=range]{flex:1;min-width:150px;accent-color:#f59e0b;margin:0} .twmt-ctrl .twmt-sp button{padding:6px 9px;font-size:12px} .twmt-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-top:16px} .twmt-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px} .twmt-tag{display:inline-block;font-size:12px;color:#111;background:var(--acc);border-radius:20px;padding:2px 10px;font-weight:700;margin-bottom:8px} .twmt-steps{list-style:none!important;margin:0!important;padding:0!important} .twmt-steps li{padding:7px 10px;border-radius:7px;font-size:14px;cursor:pointer;margin:0 0 3px;border-left:3px solid transparent;list-style:none} .twmt-pc{margin:4px 0 0!important;padding-left:18px!important} .twmt-pc li{font-size:14px;margin:0 0 4px} .twmt-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px} .twmt-meta{font-size:13px;color:var(--dim);border-top:1px solid var(--line);margin-top:12px;padding-top:10px} .twmt-meta b{color:var(--txt)} .twmt-sec{margin-top:22px} .twmt-tw{overflow-x:auto;margin-top:8px;border-radius:10px} .twmt table{width:100%;border-collapse:collapse;font-size:14px;margin:0;background:transparent;min-width:640px} .twmt th,.twmt td{border:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top;color:var(--txt);background:transparent} .twmt thead th{background:#0f2234;color:#fff;font-weight:700} .twmt tbody th{color:var(--dim);font-weight:600;width:20%} .twmt-q{margin:0 0 14px} .twmt-q b{display:block;font-size:14px;margin-bottom:6px;color:#fff} .twmt-chips{display:flex;flex-wrap:wrap;gap:6px} .twmt-chips button{padding:7px 11px;font-size:13px} .twmt-res-row{margin:0 0 12px} .twmt-res-top{display:flex;justify-content:space-between;font-size:14px;margin-bottom:4px} .twmt-bar{height:10px;background:#0a1420;border-radius:6px;overflow:hidden} .twmt-why{margin:10px 0 0!important;padding-left:18px!important} .twmt-why li{font-size:13.5px;color:var(--dim);margin-bottom:4px} .twmt-cta{margin-top:22px;border-radius:12px;padding:20px;background:linear-gradient(135deg,#0f3d5e,#0b1f30);border:1px solid #1d4a6e;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap} .twmt-cta p{margin:0;color:#cfe0f0} .twmt-cta a.twmt-btn{background:var(--acc);color:#111!important;text-decoration:none;font-weight:700;padding:11px 18px;border-radius:8px;white-space:nowrap} .twmt-embed{margin-top:18px;font-size:13px;color:var(--dim)} .twmt-embed textarea{width:100%;height:92px;background:#0a1420;color:#9fb6cc;border:1px solid var(--line);border-radius:8px;font:12px\/1.4 Consolas,Monaco,monospace;padding:8px;margin:6px 0;resize:vertical} .twmt-note{font-size:12px;color:var(--dim);margin-top:8px} @media(max-width:900px){.twmt-grid{grid-template-columns:1fr}} @media(max-width:560px){.twmt{padding:14px;border-radius:10px}.twmt h2{font-size:21px}.twmt-2col{grid-template-columns:1fr}} <\/style><div class=\"twmt\" id=\"twmt878445\"><div class=\"twmt-kicker\">Interactive mold structure tool<\/div><h2>2-Plate vs 3-Plate vs Hot Runner Mold<\/h2><p class=\"twmt-lead\">Pick a mold type and watch one full molding cycle in cross-section: injection, cooling, each parting line opening, ejection and what falls out of the mold. Then compare cost, scrap and cycle time, and let the selector suggest a structure for your part.<\/p><div class=\"twmt-tabs\"><button type=\"button\" data-mode=\"2p\">2-Plate Mold<\/button><button type=\"button\" data-mode=\"3p\">3-Plate Mold<\/button><button type=\"button\" data-mode=\"hr\">Hot Runner Mold<\/button><\/div><div class=\"twmt-stage\"><svg class=\"twmt-svg\" viewBox=\"0 0 760 400\" role=\"img\" aria-label=\"Mold cross-section animation\"><\/svg><div class=\"twmt-ctrl\"><button type=\"button\" class=\"twmt-play\">\u275a\u275a Pause<\/button><input type=\"range\" class=\"twmt-range\" min=\"0\" max=\"1000\" value=\"0\" aria-label=\"Cycle position\"><span class=\"twmt-sp\"><button type=\"button\" data-sp=\"0.5\">0.5\u00d7<\/button><button type=\"button\" data-sp=\"1\">1\u00d7<\/button><button type=\"button\" data-sp=\"2\">2\u00d7<\/button><\/span><\/div><\/div><div class=\"twmt-grid\"><div class=\"twmt-card twmt-info\"><\/div><div class=\"twmt-card\"><h3>Cycle sequence<\/h3><p style=\"font-size:13px;color:#8aa3bb;\">Click a step to jump to it.<\/p><ul class=\"twmt-steps\"><\/ul><\/div><\/div><div class=\"twmt-sec\"><h3>Side-by-side comparison<\/h3><div class=\"twmt-tw\"><table><thead><tr><th><\/th><th data-col=\"2p\">2-Plate<\/th><th data-col=\"3p\">3-Plate<\/th><th data-col=\"hr\">Hot Runner<\/th><\/tr><\/thead><tbody><tr><th>Parting lines \/ openings<\/th><td data-col=\"2p\">1<\/td><td data-col=\"3p\">2 parting lines, 3 opening strokes<\/td><td data-col=\"hr\">1<\/td><\/tr><tr><th>Gate location<\/th><td data-col=\"2p\">Part edge on the parting line (side, fan, tunnel\/sub gate)<\/td><td data-col=\"3p\">Almost anywhere on the cavity face (pin-point gates)<\/td><td data-col=\"hr\">Almost anywhere (open nozzle or valve gate)<\/td><\/tr><tr><th>Runner scrap per shot<\/th><td data-col=\"2p\">Sprue + runner<\/td><td data-col=\"3p\">Sprue + runner + drops (usually the most)<\/td><td data-col=\"hr\">None (cold sub-runner only in hybrid designs)<\/td><\/tr><tr><th>Degating<\/th><td data-col=\"2p\">Manual cut, or automatic with tunnel gate<\/td><td data-col=\"3p\">Automatic \u2014 gates snap off on opening<\/td><td data-col=\"hr\">Not needed<\/td><\/tr><tr><th>Cycle time (typical)<\/th><td data-col=\"2p\">Baseline<\/td><td data-col=\"3p\">Slightly longer: longer stroke, thick runner must cool<\/td><td data-col=\"hr\">Often 10\u201330% shorter: no runner to cool<\/td><\/tr><tr><th>Mold cost (typical)<\/th><td data-col=\"2p\">Lowest<\/td><td data-col=\"3p\">\u2248 +15\u201330% vs 2-plate<\/td><td data-col=\"hr\">\u2248 +30\u201360%+; hot runner system adds roughly $2k\u2013$30k+ by drop count<\/td><\/tr><tr><th>Machine needs<\/th><td data-col=\"2p\">Standard<\/td><td data-col=\"3p\">More daylight \/ opening stroke<\/td><td data-col=\"hr\">Temperature controller zones<\/td><\/tr><tr><th>Maintenance<\/th><td data-col=\"2p\">Simple<\/td><td data-col=\"3p\">Moderate: puller pins, latches, stop bolts<\/td><td data-col=\"hr\">Highest: heaters, thermocouples, nozzle tips, leaks<\/td><\/tr><tr><th>Colour \/ material change<\/th><td data-col=\"2p\">Fast<\/td><td data-col=\"3p\">Fast<\/td><td data-col=\"hr\">Slower \u2014 manifold must be purged<\/td><\/tr><tr><th>Best for<\/th><td data-col=\"2p\">Low\u2013medium volume, edge-gated parts, tight budgets<\/td><td data-col=\"3p\">Centre- or multi-point gating on a cold-runner budget<\/td><td data-col=\"hr\">High volume, cosmetic parts, expensive resins, multi-cavity<\/td><\/tr><\/tbody><\/table><\/div><p class=\"twmt-note\">Cost and cycle figures are typical ranges from our tooling projects, not quotes. Actual numbers depend on part size, cavitation, resin and the hot runner brand.<\/p><\/div><div class=\"twmt-sec twmt-card\"><h3>Which mold structure fits your part?<\/h3><p style=\"font-size:14px;color:#8aa3bb;\">Answer five questions. The score updates instantly.<\/p><div class=\"twmt-2col\"><div class=\"twmt-qs\"><\/div><div><div class=\"twmt-res\"><\/div><ul class=\"twmt-why\"><\/ul><button type=\"button\" class=\"twmt-view\" style=\"margin-top:10px;\">Show this mold in the viewer \u2191<\/button><\/div><\/div><\/div><div class=\"twmt-cta\"><p><b style=\"color:#fff;font-size:17px;\">Not sure which structure your part needs?<\/b><br>Send us your 3D file. Our engineers will recommend the gate and runner layout with a free DFM review.<\/p><a class=\"twmt-btn\" href=\"https:\/\/www.plasticmoulds.net\/contact-us\">Get a Free DFM Review<\/a><\/div><div class=\"twmt-embed\"><b style=\"color:#d6e2ee;\">Embed this tool on your site<\/b> \u2014 free to use with the credit link. <textarea readonly class=\"twmt-code\">&lt;iframe src=&quot;https:\/\/www.plasticmoulds.net\/it\/?tw_mold_types_embed=1&quot; width=&quot;100%&quot; height=&quot;1500&quot; style=&quot;border:0;max-width:100%;&quot; loading=&quot;lazy&quot; title=&quot;2-Plate vs 3-Plate vs Hot Runner Mold - Interactive&quot;&gt;&lt;\/iframe&gt;\n&lt;p style=&quot;font-size:13px;&quot;&gt;Interactive mold tool by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twMoldTypesH){var f=document.querySelectorAll(&#039;iframe[src*=&quot;tw_mold_types_embed&quot;]&#039;);for(var i=0;i&lt;f.length;i++){f[i].style.height=e.data.twMoldTypesH+&quot;px&quot;;}}});&lt;\/script&gt;<\/textarea><button type=\"button\" class=\"twmt-copy\">Copy embed code<\/button><\/div><\/div><script> (function(){ var root=document.getElementById('twmt878445'); if(!root){return;} var svg=root.querySelector('.twmt-svg'); var NS='http:\/\/www.w3.org\/2000\/svg'; var C={steel:'#33475c',steel2:'#2b3d50',edge:'#6f88a3',txt:'#cfe0f0',dim:'#7f98b2',pocket:'#08111a',molten:'#ff6a1a',solid:'#f0b445',hot:'#d33a2c',pl:'#7fb2e5',pin:'#a9b8c7',acc:'#f59e0b',noz:'#4b5563'}; var FONT='system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif'; var mode='2p',t=0,playing=true,speed=1,DUR=10,last=null; var G={},shotEls=[],meltEls=[],phaseTxt=null; function el(tag,a,p){var e=document.createElementNS(NS,tag);for(var k in a){e.setAttribute(k,a[k]);}if(p){p.appendChild(e);}return e;} function txt(p,x,y,s,size,fill,anchor,rot){var a={x:x,y:y,fill:fill||C.txt,'font-size':size||10,'font-family':FONT,'text-anchor':anchor||'middle','dominant-baseline':'middle','paint-order':'stroke',stroke:'#0d1824','stroke-width':3,'stroke-linejoin':'round'};if(rot){a.transform='rotate(-90 '+x+' '+y+')';}var e=el('text',a,p);e.textContent=s;return e;} function plate(g,x,w,y1,y2,label,ly,fill){el('rect',{x:x,y:y1,width:w,height:y2-y1,fill:fill||C.steel,stroke:C.edge,'stroke-width':1},g);if(label){txt(g,x+w\/2,ly||(y1+y2)\/2,label,10,C.txt,'middle',true);}} function rect(g,x,y,w,h,fill,extra){var a={x:x,y:y,width:w,height:h,fill:fill};if(extra){for(var k in extra){a[k]=extra[k];}}return el('rect',a,g);} function poly(g,pts,fill){return el('polygon',{points:pts,fill:fill},g);} function shot(e){shotEls.push(e);return e;} function melt(e){meltEls.push(e);return e;} function seg(t,a,b){if(t<=a){return 0;}if(t>=b){return 1;}var x=(t-a)\/(b-a);return x*x*(3-2*x);} function hex(h){return [parseInt(h.substr(1,2),16),parseInt(h.substr(3,2),16),parseInt(h.substr(5,2),16)];} function mix(a,b,k){var A=hex(a),B=hex(b),r=[];for(var i=0;i<3;i++){r.push(Math.round(A[i]+(B[i]-A[i])*k));}return 'rgb('+r.join(',')+')';} \/* ---------- mode data ---------- *\/ var INFO={ '2p':{name:'Two-Plate Mold',tag:'1 parting line \u00b7 lowest cost',desc:'The cavity (A) plate and core (B) plate meet at a single parting line. Sprue, runner and parts are molded as one piece and come out together when the mold opens.',pros:['Lowest mold cost and shortest lead time','Simple, robust, easy to maintain','Short opening stroke, fast colour changes'],cons:['Gate must sit on the parting line, usually at the part edge','Runner scrap every shot (regrind or waste)','Runner often has to be cut off by hand'],scrap:'Sprue + runner every shot',gate:'Edge \/ side \/ tunnel gate'}, '3p':{name:'Three-Plate Mold',tag:'2 parting lines \u00b7 auto-degating',desc:'A floating cavity plate and a runner stripper plate add a second parting line. The runner sits in its own plane, so pin-point gates can feed the centre of the part. Gates break off automatically and the runner drops separately.',pros:['Gate anywhere on the part face, e.g. centre of a cup or lid','Automatic degating, parts and runner fall apart','Balanced multi-point gating without hot runner cost'],cons:['Largest runner scrap of the three types','Longer opening stroke, needs more mold daylight','Puller pins, latches and stop bolts add maintenance'],scrap:'Sprue + runner + drops',gate:'Pin-point gate, centre or multi-point'}, 'hr':{name:'Hot Runner Mold',tag:'heated manifold \u00b7 zero runner',desc:'A heated manifold and nozzles keep the plastic molten all the way to the gate. Only the part solidifies and is ejected; the melt in the manifold is injected in the next shot.',pros:['No runner scrap, every gram becomes product','Shorter cycle: no thick runner to cool','Valve gates give clean, nearly invisible gate marks'],cons:['Highest mold cost (hot runner system + controller)','Heaters, thermocouples and tips need maintenance','Slower colour changes; heat-sensitive resins risk degradation'],scrap:'None',gate:'Open nozzle or valve gate, anywhere'} }; var STEPS={ '2p':[[0,.12,'Inject \u2014 melt flows sprue \u2192 runner \u2192 gate \u2192 cavity'],[.12,.28,'Cool \u2014 part and runner solidify together'],[.28,.50,'Open \u2014 single parting line opens, shot stays on the core'],[.50,.62,'Eject \u2014 pins push part and runner off as one piece'],[.62,.78,'Drop \u2014 part + runner fall; runner is cut off and reground'],[.78,1,'Close \u2014 mold closes for the next shot']], '3p':[[0,.10,'Inject \u2014 melt flows through runner plate to pin gates'],[.10,.22,'Cool \u2014 part and cold runner solidify'],[.22,.36,'Open 1 \u2014 cavity plate separates, pin gates snap off'],[.36,.44,'Open 2 \u2014 stripper plate strips the runner off puller pins'],[.44,.56,'Runner drops on its own \u2014 automatic degating'],[.56,.69,'Open 3 \u2014 main parting line opens, part stays on core'],[.69,.78,'Eject \u2014 pins push the part off the core'],[.78,.88,'Part drops \u2014 no gate trimming needed'],[.88,1,'Close \u2014 all plates return']], 'hr':[[0,.12,'Inject \u2014 molten plastic from heated manifold \u2192 nozzle tips \u2192 cavity'],[.12,.28,'Cool \u2014 only the part cools; melt in manifold stays hot'],[.28,.50,'Open \u2014 single parting line opens'],[.50,.62,'Eject \u2014 part only, there is no runner'],[.62,.78,'Drop \u2014 part falls, zero runner scrap'],[.78,1,'Close \u2014 next shot uses the melt already in the manifold']] }; \/* ---------- motion ---------- *\/ function mSimple(t){var fill=seg(t,0,.12),cool=seg(t,.12,.28),op=seg(t,.28,.48)-seg(t,.80,.98),ej=seg(t,.50,.60)-seg(t,.80,.90),dr=seg(t,.62,.76);var b=90*op,e=22*ej;var o=t<.62?fill:(t<.76?1-dr:0);var y=(t>=.62&&t<.76)?dr*230:0;return {s:0,a:0,b:b,e:e,px:b-e,py:y,po:o,rx:b-e,ry:y,ro:o,cool:cool,fill:fill};} function m3(t){var fill=seg(t,0,.10),cool=seg(t,.10,.22),o1=seg(t,.22,.34),o2=seg(t,.36,.44),rd=seg(t,.44,.56),o3=seg(t,.56,.68),ej=seg(t,.70,.77),pd=seg(t,.78,.88),c=seg(t,.88,.99),k=1-c;var a=90*o1*k,s=12*o2*k,b=(90*o1+80*o3)*k,e=22*ej*k;return {s:s,a:a,b:b,e:e,rx:s,ry:(t>=.44&&t<.56)?rd*230:0,ro:t<.44?fill:(t<.56?1-rd:0),px:b-e,py:(t>=.78&&t<.88)?pd*230:0,po:t<.78?fill:(t<.88?1-pd:0),cool:cool,fill:fill};} function motion(t){return mode==='3p'?m3(t):mSimple(t);} \/* ---------- build scene ---------- *\/ function movingHalf(pinsY){ plate(G.B,250,100,50,350,'B plate (core)',200); rect(G.B,250,100,22,40,C.pocket);rect(G.B,250,280,22,40,C.pocket); plate(G.B,350,80,50,92,'',0,C.steel2);plate(G.B,350,80,308,350,'',0,C.steel2); txt(G.B,390,71,'Ejector housing',9,C.dim); plate(G.B,430,28,50,350,'Bottom clamp plate',200); pinsY.forEach(function(y){rect(G.E,250,y-2,120,4,C.pin);}); plate(G.E,370,26,104,296,'Ejector plate',200,'#3d536a'); } function nozzleMachine(x2){poly(G.F,'20,190 '+(x2-14)+',190 '+x2+',204 '+x2+',216 '+(x2-14)+',230 20,230','#52606f');txt(G.F,48,246,'Machine nozzle',9,C.dim);melt(rect(G.F,20,206,x2-20,8,C.molten));} function plLine(x,label,ly){el('line',{x1:x,y1:38,x2:x,y2:362,stroke:C.pl,'stroke-width':1,'stroke-dasharray':'5 4',opacity:.7},G.L);txt(G.L,x,ly||376,label,10,C.pl);} function build(){ while(svg.firstChild){svg.removeChild(svg.firstChild);} shotEls=[];meltEls=[]; ['F','S','A','B','E','M','R','P','L'].forEach(function(k){G[k]=el('g',{},svg);}); svg.insertBefore(G.M,G.R); if(mode==='2p'){ nozzleMachine(120); plate(G.F,120,30,40,360,'Top clamp plate',290); plate(G.F,150,100,50,350,'A plate (cavity)',290); rect(G.F,228,100,22,40,C.pocket);rect(G.F,228,280,22,40,C.pocket); rect(G.F,120,198,60,24,'#475a6e',{stroke:C.edge,'stroke-width':1}); txt(G.F,152,186,'Sprue bushing',9,C.dim); movingHalf([120,210,300]); shot(poly(G.R,'120,206 250,202 250,218 120,214',C.molten)); shot(rect(G.R,244,146,12,128,C.molten)); shot(rect(G.R,247,140,6,6,C.molten));shot(rect(G.R,247,274,6,6,C.molten)); shot(rect(G.P,228,100,44,40,C.molten,{rx:3}));shot(rect(G.P,228,280,44,40,C.molten,{rx:3})); plLine(250,'PL'); }else if(mode==='3p'){ nozzleMachine(110); plate(G.F,90,20,40,360,'',0,'#2a3a4b'); plate(G.F,110,28,40,360,'Top clamp plate',300); plate(G.S,138,20,50,350,'Stripper plate',300); plate(G.A,158,92,50,350,'A plate (floating cavity)',210); rect(G.A,228,100,22,40,C.pocket);rect(G.A,228,280,22,40,C.pocket); [150,270].forEach(function(y){rect(G.F,110,y-2,54,4,C.pin);rect(G.F,160,y-4,4,8,C.pin);}); txt(G.F,124,138,'Puller pin',8,C.dim,'middle'); movingHalf([120,300]); shot(poly(G.R,'110,206 158,202 158,218 110,214',C.molten)); shot(rect(G.R,152,114,12,192,C.molten,{rx:3})); shot(poly(G.R,'158,114 158,126 228,121.5 228,118.5',C.molten)); shot(poly(G.R,'158,294 158,306 228,301.5 228,298.5',C.molten)); shot(rect(G.P,228,100,44,40,C.molten,{rx:3}));shot(rect(G.P,228,280,44,40,C.molten,{rx:3})); plLine(138,'PL2',390);plLine(158,'PL1',376);plLine(250,'Main PL',376); }else{ nozzleMachine(110); plate(G.F,110,28,40,360,'Top clamp plate',300); plate(G.F,138,80,50,350,'Manifold plate',210); plate(G.F,218,32,50,350,'A plate',210); rect(G.F,228,100,22,40,C.pocket);rect(G.F,228,280,22,40,C.pocket); rect(G.F,143,92,34,236,C.pocket); rect(G.M,148,98,24,224,'#5a2a24',{stroke:C.hot,'stroke-width':1.5,rx:2}); [112,150,190,230,270,308].forEach(function(y){rect(G.M,145,y,3,10,C.hot);rect(G.M,172,y,3,10,C.hot);}); rect(G.M,110,199,40,22,'#5a2a24',{stroke:C.hot,'stroke-width':1}); [110,290].forEach(function(y){ rect(G.M,172,y,56,20,C.noz,{stroke:'#8a97a8','stroke-width':1}); for(var x=178;x<222;x+=8){rect(G.M,x,y-1,4,22,C.hot);} poly(G.M,'228,'+(y+4)+' 228,'+(y+16)+' 232,'+(y+11)+' 232,'+(y+9),'#8a97a8'); }); melt(rect(G.M,110,206,50,8,C.molten)); melt(rect(G.M,156,112,8,196,C.molten)); melt(rect(G.M,164,117,66,6,C.molten));melt(rect(G.M,164,297,66,6,C.molten)); txt(G.M,200,96,'Hot nozzle',9,C.dim);txt(G.M,160,336,'Heated manifold',9,'#ff8a6a'); movingHalf([120,300]); shot(rect(G.P,228,100,44,40,C.molten,{rx:3}));shot(rect(G.P,228,280,44,40,C.molten,{rx:3})); plLine(250,'PL'); } phaseTxt=txt(G.L,18,22,'',13,C.acc,'start'); txt(G.L,742,22,'Fixed half \u2190 \u2192 Moving half',10,C.dim,'end'); } \/* ---------- render ---------- *\/ function render(){ var m=motion(t); G.S.setAttribute('transform','translate('+m.s+',0)'); G.A.setAttribute('transform','translate('+m.a+',0)'); G.B.setAttribute('transform','translate('+m.b+',0)'); G.E.setAttribute('transform','translate('+(m.b-m.e)+',0)'); G.R.setAttribute('transform','translate('+m.rx+','+m.ry+')');G.R.setAttribute('opacity',m.ro); G.P.setAttribute('transform','translate('+m.px+','+m.py+')');G.P.setAttribute('opacity',m.po); var col=mix(C.molten,C.solid,m.cool); shotEls.forEach(function(e){e.setAttribute('fill',col);}); var pulse=mix('#ff5a14','#ffa040',(Math.sin(Date.now()\/260)+1)\/2); meltEls.forEach(function(e){e.setAttribute('fill',pulse);}); var st=STEPS[mode],cur=0; for(var i=0;i<st.length;i++){if(t>=st[i][0]&&t<st[i][1]){cur=i;}} phaseTxt.textContent=(cur+1)+'. '+st[cur][2].split(' \u2014 ')[0]; var lis=root.querySelectorAll('.twmt-steps li'); for(var j=0;j<lis.length;j++){var on=j===cur;lis[j].style.background=on?'rgba(245,158,11,.14)':'transparent';lis[j].style.borderLeftColor=on?'#f59e0b':'transparent';lis[j].style.color=on?'#fff':'#a9bdd0';} } function setMode(m){ mode=m;t=0;build(); var tabs=root.querySelectorAll('.twmt-tabs button'); for(var i=0;i<tabs.length;i++){var on=tabs[i].getAttribute('data-mode')===m;tabs[i].style.background=on?'#f59e0b':'#111f2e';tabs[i].style.color=on?'#111':'#d6e2ee';tabs[i].style.borderColor=on?'#f59e0b':'#22364b';} var d=INFO[m]; var h='<span class=\"twmt-tag\">'+d.tag+'<\/span><h3>'+d.name+'<\/h3><p>'+d.desc+'<\/p><div class=\"twmt-2col\"><div><h4 style=\"color:#7ee2a8;\">Advantages<\/h4><ul class=\"twmt-pc\">'; d.pros.forEach(function(x){h+='<li>'+x+'<\/li>';}); h+='<\/ul><\/div><div><h4 style=\"color:#ff9b8a;\">Limitations<\/h4><ul class=\"twmt-pc\">'; d.cons.forEach(function(x){h+='<li>'+x+'<\/li>';}); h+='<\/ul><\/div><\/div><div class=\"twmt-meta\"><b>Runner scrap:<\/b> '+d.scrap+' &nbsp;\u00b7&nbsp; <b>Gate:<\/b> '+d.gate+'<\/div>'; root.querySelector('.twmt-info').innerHTML=h; var ul=root.querySelector('.twmt-steps');ul.innerHTML=''; STEPS[m].forEach(function(s){var li=document.createElement('li');li.textContent=s[2];li.addEventListener('click',function(){t=s[0]+0.002;root.querySelector('.twmt-range').value=Math.round(t*1000);render();});ul.appendChild(li);}); var cells=root.querySelectorAll('[data-col]'); for(var c=0;c<cells.length;c++){var on2=cells[c].getAttribute('data-col')===m;cells[c].style.background=on2?'rgba(245,158,11,.12)':'';if(cells[c].tagName==='TH'){cells[c].style.color=on2?'#f59e0b':'#fff';}} render(); } \/* ---------- controls ---------- *\/ var playBtn=root.querySelector('.twmt-play'),range=root.querySelector('.twmt-range'); function setPlay(p){playing=p;playBtn.textContent=p?'\u275a\u275a Pause':'\u25b6 Play';} playBtn.addEventListener('click',function(){setPlay(!playing);}); range.addEventListener('input',function(){setPlay(false);t=range.value\/1000;render();}); var sps=root.querySelectorAll('.twmt-sp button'); function setSpeed(v){speed=v;for(var i=0;i<sps.length;i++){var on=parseFloat(sps[i].getAttribute('data-sp'))===v;sps[i].style.borderColor=on?'#f59e0b':'#22364b';sps[i].style.color=on?'#f59e0b':'#d6e2ee';}} for(var i=0;i<sps.length;i++){sps[i].addEventListener('click',function(){setSpeed(parseFloat(this.getAttribute('data-sp')));});} var tabsEl=root.querySelectorAll('.twmt-tabs button'); for(var k=0;k<tabsEl.length;k++){tabsEl[k].addEventListener('click',function(){setMode(this.getAttribute('data-mode'));setPlay(true);});} function frame(ts){ if(last===null){last=ts;} var dt=Math.min((ts-last)\/1000,0.1);last=ts; if(playing&&!document.hidden){t+=dt\/DUR*speed;if(t>=1){t-=1;}range.value=Math.round(t*1000);render();} else if(mode==='hr'){render();} requestAnimationFrame(frame); } \/* ---------- selector ---------- *\/ var NAMES={'2p':'2-Plate','3p':'3-Plate','hr':'Hot Runner'}; var Q=[ {q:'Annual volume',o:[['< 10k pcs',[3,1,-2],'Low volume: tooling cost dominates, so a simple 2-plate mold usually wins.'],['10k \u2013 100k',[2,2,0],'Medium volume: cold runner molds are normally still the economic choice.'],['100k \u2013 500k',[0,1,2],'Higher volume: runner scrap and cycle time start to add up.'],['> 500k',[-1,0,3],'High volume: a hot runner pays back through shorter cycles and zero runner scrap.']]}, {q:'Where must the gate be?',o:[['Part edge is fine',[3,0,1],'Edge gating works with a standard 2-plate parting line.'],['Centre of part (cup, lid, round cover)',[-2,3,2],'Centre gating needs 3-plate pin gates or hot nozzles; a 2-plate cold runner cannot reach it.'],['Several points on a large part',[-2,2,3],'Multi-point gating on large parts is easiest to balance with a hot runner.']]}, {q:'Gate mark appearance',o:[['Not critical',[2,1,0],''],['Small vestige OK',[1,2,1],'Pin-point gates leave a small, round vestige.'],['Near-invisible \/ Class A',[-1,1,3],'Valve-gate hot runners leave the cleanest gate mark.']]}, {q:'Material',o:[['PP \/ PE \/ ABS \/ PS',[1,1,1],''],['PC \/ PA \/ POM \/ PBT',[0,1,1],'Engineering resins run well in hot runners with the right nozzle and tip.'],['PVC, heat-sensitive or frequent colour change',[2,1,-2],'Heat-sensitive resins degrade in a manifold, and colour changes need long purging.']]}, {q:'Your priority',o:[['Lowest mold cost',[3,1,-2],'Lowest upfront cost points to a cold runner mold.'],['Balanced',[1,2,1],''],['Lowest part price',[-1,0,3],'Lowest piece price comes from shorter cycles and no runner scrap.']]} ]; var ans=[1,0,1,0,1]; var qBox=root.querySelector('.twmt-qs'),best='2p'; function drawQ(){ qBox.innerHTML=''; Q.forEach(function(item,qi){ var d=document.createElement('div');d.className='twmt-q'; var b=document.createElement('b');b.textContent=item.q;d.appendChild(b); var ch=document.createElement('div');ch.className='twmt-chips'; item.o.forEach(function(op,oi){var bt=document.createElement('button');bt.type='button';bt.textContent=op[0];var on=ans[qi]===oi;bt.style.background=on?'#f59e0b':'#0d1824';bt.style.color=on?'#111':'#d6e2ee';bt.style.borderColor=on?'#f59e0b':'#22364b';bt.addEventListener('click',function(){ans[qi]=oi;drawQ();score();});ch.appendChild(bt);}); d.appendChild(ch);qBox.appendChild(d); }); } function score(){ var s=[0,0,0],why=[]; Q.forEach(function(item,qi){var op=item.o[ans[qi]];for(var i=0;i<3;i++){s[i]+=op[1][i];}if(op[2]){why.push(op[2]);}}); var keys=['2p','3p','hr'],rows=keys.map(function(k,i){return {k:k,v:s[i]};}).sort(function(a,b){return b.v-a.v;}); best=rows[0].k; var h=''; rows.forEach(function(r,i){var pct=Math.max(4,Math.min(100,Math.round((r.v+8)\/23*100)));var c=i===0?'#f59e0b':'#4d6b88';h+='<div class=\"twmt-res-row\"><div class=\"twmt-res-top\"><span style=\"color:'+(i===0?'#fff':'#a9bdd0')+';font-weight:'+(i===0?700:400)+'\">'+(i===0?'\u2605 ':'')+NAMES[r.k]+'<\/span><span style=\"color:#8aa3bb\">'+pct+'%<\/span><\/div><div class=\"twmt-bar\"><div style=\"height:100%;width:'+pct+'%;background:'+c+';border-radius:6px;transition:width .3s\"><\/div><\/div><\/div>';}); if(rows[0].v-rows[1].v<=1){h+='<p style=\"font-size:13px;color:#8aa3bb;margin-top:4px\">Close call between '+NAMES[rows[0].k]+' and '+NAMES[rows[1].k]+'. Part geometry and cavitation will decide; a DFM review settles it.<\/p>';} root.querySelector('.twmt-res').innerHTML=h; var ul=root.querySelector('.twmt-why');ul.innerHTML=''; why.forEach(function(w){var li=document.createElement('li');li.textContent=w;ul.appendChild(li);}); root.querySelector('.twmt-view').textContent='Show '+NAMES[best]+' in the viewer \u2191'; } root.querySelector('.twmt-view').addEventListener('click',function(){setMode(best);setPlay(true);root.querySelector('.twmt-stage').scrollIntoView({behavior:'smooth',block:'center'});}); var cp=root.querySelector('.twmt-copy'); if(cp){cp.addEventListener('click',function(){var ta=root.querySelector('.twmt-code');ta.select();try{navigator.clipboard.writeText(ta.value);}catch(e){document.execCommand('copy');}cp.textContent='Copied \u2713';setTimeout(function(){cp.textContent='Copy embed code';},1800);});} setSpeed(1);setMode('2p');drawQ();score();requestAnimationFrame(frame); })(); <\/script><\/div><div id=\"product-development-workflow\" class=\"wp-block-group tw-tool tw-cat-process is-layout-flow wp-block-group-is-layout-flow\"><div class=\"pdw\" id=\"pdw162247\" data-cur=\"0\"><div class=\"pdw-head\"><span class=\"pdw-eyebrow\">From concept to production<\/span><h3 class=\"pdw-heading\">10-Step Product Development Workflow<\/h3><\/div><div class=\"pdw-rail\" role=\"tablist\" aria-label=\"Workflow steps\"><button type=\"button\" class=\"pdw-node is-active\" data-i=\"0\" role=\"tab\" aria-selected=\"true\" title=\"1. Defining Requirements\"><span class=\"pdw-node-num\">1<\/span><\/button><button type=\"button\" class=\"pdw-node\" data-i=\"1\" role=\"tab\" aria-selected=\"false\" title=\"2. Preliminary Concept Sketch\"><span class=\"pdw-node-num\">2<\/span><\/button><button type=\"button\" class=\"pdw-node\" data-i=\"2\" role=\"tab\" aria-selected=\"false\" title=\"3. Initial Materials Selection\"><span class=\"pdw-node-num\">3<\/span><\/button><button type=\"button\" class=\"pdw-node\" data-i=\"3\" role=\"tab\" aria-selected=\"false\" title=\"4. Design Parts\"><span class=\"pdw-node-num\">4<\/span><\/button><button type=\"button\" class=\"pdw-node\" data-i=\"4\" role=\"tab\" aria-selected=\"false\" title=\"5. Structural Analysis\"><span class=\"pdw-node-num\">5<\/span><\/button><button type=\"button\" class=\"pdw-node\" data-i=\"5\" role=\"tab\" aria-selected=\"false\" title=\"6. Final Materials Selection\"><span class=\"pdw-node-num\">6<\/span><\/button><button type=\"button\" class=\"pdw-node\" data-i=\"6\" role=\"tab\" aria-selected=\"false\" title=\"7. Design for Manufacturing (DFM)\"><span class=\"pdw-node-num\">7<\/span><\/button><button type=\"button\" class=\"pdw-node\" data-i=\"7\" role=\"tab\" aria-selected=\"false\" title=\"8. Prototyping\"><span class=\"pdw-node-num\">8<\/span><\/button><button type=\"button\" class=\"pdw-node\" data-i=\"8\" role=\"tab\" aria-selected=\"false\" title=\"9. Tooling\"><span class=\"pdw-node-num\">9<\/span><\/button><button type=\"button\" class=\"pdw-node\" data-i=\"9\" role=\"tab\" aria-selected=\"false\" title=\"10. Production\"><span class=\"pdw-node-num\">10<\/span><\/button><\/div><div class=\"pdw-card\"><div class=\"pdw-media\"><img class=\"pdw-img\" src=\"https:\/\/www.plasticmoulds.net\/wp-content\/uploads\/2026\/07\/pd-step-1.webp\" alt=\"Defining Requirements\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.opacity=0;\"><\/div><div class=\"pdw-body\"><span class=\"pdw-phase\">Concept &amp; Definition<\/span><div class=\"pdw-steplabel\">Step <b class=\"pdw-cur\">1<\/b><i>\/ 10<\/i><\/div><h4 class=\"pdw-steptitle\">Defining Requirements<\/h4><p class=\"pdw-stepdesc\">Pin down function, load cases, operating environment, regulatory targets, volume and the cost ceiling before anything is drawn. Vague specs here turn into expensive rework at the tooling stage.<\/p><\/div><\/div><div class=\"pdw-foot\"><button type=\"button\" class=\"pdw-btn pdw-prev\" disabled aria-label=\"Previous step\">&larr; Prev<\/button><input type=\"range\" class=\"pdw-slider\" min=\"1\" max=\"10\" value=\"1\" aria-label=\"Slide through workflow steps\"><button type=\"button\" class=\"pdw-btn pdw-next\" aria-label=\"Next step\">Next &rarr;<\/button><\/div><\/div><style> #pdw162247{--pdw-navy:#12305a;--pdw-navy2:#1c437a;--pdw-orange:#ef6c1a;--pdw-ink:#1f2a37;--pdw-muted:#657084;--pdw-line:#e4e8ef;--pdw-bg:#ffffff;--pdw-soft:#e0e0e0;max-width:860px;margin:1.6em auto;color:var(--pdw-ink);font-family:inherit;-webkit-font-smoothing:antialiased;} #pdw162247 *{box-sizing:border-box;} #pdw162247 .pdw-head{text-align:center;margin-bottom:1.1em;} #pdw162247 .pdw-eyebrow{display:inline-block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--pdw-orange);margin-bottom:.35em;} #pdw162247 .pdw-heading{margin:0;font-size:1.5rem;line-height:1.2;font-weight:800;color:var(--pdw-navy);} #pdw162247 .pdw-rail{position:relative;display:flex;justify-content:space-between;align-items:center;gap:4px;margin:0 4px 1.15em;padding:2px 0;} #pdw162247 .pdw-rail:before{content:\"\";position:absolute;left:14px;right:14px;top:50%;height:3px;transform:translateY(-50%);background:var(--pdw-line);border-radius:2px;z-index:0;} #pdw162247 .pdw-node{position:relative;z-index:1;width:30px;height:30px;flex:0 0 auto;border-radius:50%;border:2px solid var(--pdw-line);background:var(--pdw-bg);color:var(--pdw-muted);font-weight:700;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;} #pdw162247 .pdw-node:hover{border-color:var(--pdw-navy2);color:var(--pdw-navy);} #pdw162247 .pdw-node.is-done{background:var(--pdw-navy);border-color:var(--pdw-navy);color:#fff;} #pdw162247 .pdw-node.is-active{background:var(--pdw-orange);border-color:var(--pdw-orange);color:#fff;transform:scale(1.18);box-shadow:0 4px 12px rgba(239,108,26,.35);} #pdw162247 .pdw-card{display:flex;gap:0;background:var(--pdw-bg);border:1px solid var(--pdw-line);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(18,48,90,.07);} #pdw162247 .pdw-media{flex:0 0 42%;background:var(--pdw-soft);display:flex;align-items:center;justify-content:center;padding:12px;border-right:1px solid var(--pdw-line);min-height:220px;} #pdw162247 .pdw-img{max-width:100%;max-height:280px;width:auto;height:auto;object-fit:contain;transition:opacity .28s ease;display:block;border-radius:8px;} #pdw162247 .pdw-img.pdw-fade{opacity:0;} #pdw162247 .pdw-body{flex:1 1 auto;padding:26px 28px;display:flex;flex-direction:column;justify-content:center;} #pdw162247 .pdw-phase{display:inline-block;align-self:flex-start;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pdw-navy);background:rgba(18,48,90,.08);padding:.28em .7em;border-radius:999px;margin-bottom:.7em;} #pdw162247 .pdw-steplabel{font-size:.82rem;color:var(--pdw-muted);font-weight:600;margin-bottom:.15em;} #pdw162247 .pdw-steplabel b{color:var(--pdw-orange);font-size:1rem;} #pdw162247 .pdw-steplabel i{font-style:normal;} #pdw162247 .pdw-steptitle{margin:.05em 0 .5em;font-size:1.4rem;line-height:1.22;font-weight:800;color:var(--pdw-navy);} #pdw162247 .pdw-stepdesc{margin:0;font-size:.97rem;line-height:1.6;color:var(--pdw-ink);} #pdw162247 .pdw-cta{align-self:flex-start;margin-top:1.1em;font-weight:700;font-size:.9rem;color:var(--pdw-orange);text-decoration:none;border-bottom:2px solid transparent;transition:border-color .18s;} #pdw162247 .pdw-cta:hover{border-color:var(--pdw-orange);} #pdw162247 .pdw-foot{display:flex;align-items:center;gap:14px;margin-top:1.15em;} #pdw162247 .pdw-btn{flex:0 0 auto;border:0;cursor:pointer;font-weight:700;font-size:.9rem;padding:.62em 1.25em;border-radius:10px;background:var(--pdw-navy);color:#fff;transition:background .18s ease, transform .12s ease, opacity .18s ease;} #pdw162247 .pdw-btn:hover:not(:disabled){background:var(--pdw-navy2);transform:translateY(-1px);} #pdw162247 .pdw-btn:disabled{opacity:.35;cursor:not-allowed;} #pdw162247 .pdw-next{background:var(--pdw-orange);} #pdw162247 .pdw-next:hover:not(:disabled){background:#d95c11;} #pdw162247 .pdw-slider{flex:1 1 auto;-webkit-appearance:none;appearance:none;height:7px;border-radius:6px;outline:none;cursor:pointer;background:linear-gradient(to right, var(--pdw-orange) 0%, var(--pdw-orange) 0%, var(--pdw-line) 0%, var(--pdw-line) 100%);} #pdw162247 .pdw-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--pdw-orange);border:2px solid #fff;box-shadow:0 2px 6px rgba(239,108,26,.4);cursor:grab;transition:transform .15s;} #pdw162247 .pdw-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.2);} #pdw162247 .pdw-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--pdw-orange);border:2px solid #fff;box-shadow:0 2px 6px rgba(239,108,26,.4);cursor:grab;transition:transform .15s;} #pdw162247 .pdw-slider::-moz-range-track{background:transparent;} @media (max-width:640px){#pdw162247 .pdw-card{flex-direction:column;} #pdw162247 .pdw-media{flex:none;width:100%;border-right:0;border-bottom:1px solid var(--pdw-line);min-height:0;padding:14px;} #pdw162247 .pdw-img{max-height:190px;} #pdw162247 .pdw-body{padding:20px;} #pdw162247 .pdw-steptitle{font-size:1.2rem;} #pdw162247 .pdw-heading{font-size:1.25rem;} #pdw162247 .pdw-rail{overflow-x:auto;justify-content:flex-start;gap:10px;padding-bottom:6px;} #pdw162247 .pdw-rail:before{display:none;} #pdw162247 .pdw-node{width:34px;height:34px;} } <\/style><script> \/* PDW interactive stepper \u2014 self-contained IIFE, LiteSpeed-safe (block comments only) *\/ (function(){ var ROOT = document.getElementById('pdw162247'); if(!ROOT || ROOT.dataset.pdwInit) return; ROOT.dataset.pdwInit = '1'; var DATA = [{\"n\":1,\"phase\":\"Concept & Definition\",\"title\":\"Defining Requirements\",\"desc\":\"Pin down function, load cases, operating environment, regulatory targets, volume and the cost ceiling before anything is drawn. Vague specs here turn into expensive rework at the tooling stage.\",\"img\":\"https:\\\/\\\/www.plasticmoulds.net\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/pd-step-1.webp\"},{\"n\":2,\"phase\":\"Concept & Definition\",\"title\":\"Preliminary Concept Sketch\",\"desc\":\"Rough out geometry, parting direction and how the part mounts and assembles. Cheap sketches let you kill weak concepts before they cost real money.\",\"img\":\"https:\\\/\\\/www.plasticmoulds.net\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/pd-step-2.webp\"},{\"n\":3,\"phase\":\"Concept & Definition\",\"title\":\"Initial Materials Selection\",\"desc\":\"Shortlist resins against mechanical, thermal and chemical demands \\u2014 PA, PC, PPS, PEEK and the rest. The early candidate drives wall thickness, shrinkage and gate strategy.\",\"img\":\"https:\\\/\\\/www.plasticmoulds.net\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/pd-step-3.webp\"},{\"n\":4,\"phase\":\"Design & Engineering\",\"title\":\"Design Parts\",\"desc\":\"Build the 3D model with uniform walls, ribs, bosses and draft designed in from the start \\u2014 not bolted on after the fact.\",\"img\":\"https:\\\/\\\/www.plasticmoulds.net\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/pd-step-4.webp\"},{\"n\":5,\"phase\":\"Design & Engineering\",\"title\":\"Structural Analysis\",\"desc\":\"Run FEA for stress, deflection and fatigue under real loads. Catch thin sections and stress risers on screen, not in the field.\",\"img\":\"https:\\\/\\\/www.plasticmoulds.net\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/pd-step-5.webp\"},{\"n\":6,\"phase\":\"Design & Engineering\",\"title\":\"Final Materials Selection\",\"desc\":\"Lock the exact grade after analysis \\u2014 filler content, flow, UL flammability and supply. This freezes your shrinkage and tolerance assumptions.\",\"img\":\"https:\\\/\\\/www.plasticmoulds.net\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/pd-step-6.webp\"},{\"n\":7,\"phase\":\"Optimization & Validation\",\"title\":\"Design for Manufacturing (DFM)\",\"desc\":\"Tune for moldability: draft angles, consistent walls, gate and ejector locations, undercuts and realistic tolerances. A moldmaker&rsquo;s input here saves weeks later.\",\"img\":\"https:\\\/\\\/www.plasticmoulds.net\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/pd-step-7.webp\"},{\"n\":8,\"phase\":\"Optimization & Validation\",\"title\":\"Prototyping\",\"desc\":\"Validate fit, form and function with 3D-printed or short-run parts before cutting steel. Test assembly and gather user feedback while changes are still cheap.\",\"img\":\"https:\\\/\\\/www.plasticmoulds.net\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/pd-step-8.webp\"},{\"n\":9,\"phase\":\"Manufacturing\",\"title\":\"Tooling\",\"desc\":\"Cut the injection mold \\u2014 steel grade, cavitation, cooling, gating and ejection. The most expensive and least reversible step, so everything above has to be right first.\",\"img\":\"https:\\\/\\\/www.plasticmoulds.net\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/pd-step-9.webp\"},{\"n\":10,\"phase\":\"Manufacturing\",\"title\":\"Production\",\"desc\":\"Run, monitor and refine \\u2014 process window, cycle time, SPC and quality gates that deliver consistent parts at volume.\",\"img\":\"https:\\\/\\\/www.plasticmoulds.net\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/pd-step-10.webp\"}]; var TOTAL = DATA.length; var cur = 0; var img = ROOT.querySelector('.pdw-img'); var phase = ROOT.querySelector('.pdw-phase'); var curEl = ROOT.querySelector('.pdw-cur'); var title = ROOT.querySelector('.pdw-steptitle'); var desc = ROOT.querySelector('.pdw-stepdesc'); var slider = ROOT.querySelector('.pdw-slider'); var nodes = ROOT.querySelectorAll('.pdw-node'); var prev = ROOT.querySelector('.pdw-prev'); var next = ROOT.querySelector('.pdw-next'); \/* preload every image so navigation is instant *\/ var pre = []; for(var p=0; p<TOTAL; p++){ var im = new Image(); im.src = DATA[p].img; pre.push(im); } function render(i){ var d = DATA[i]; img.classList.add('pdw-fade'); window.setTimeout(function(){ img.src = d.img; img.alt = d.title; img.style.opacity = ''; img.classList.remove('pdw-fade'); }, 160); phase.textContent = d.phase; curEl.textContent = d.n; title.textContent = d.title; desc.innerHTML = d.desc; \/* Update slider visual progress *\/ if(slider){ slider.value = i + 1; var pct = TOTAL > 1 ? (i \/ (TOTAL - 1)) * 100 : 100; slider.style.background = 'linear-gradient(to right, var(--pdw-orange) 0%, var(--pdw-orange) ' + pct + '%, var(--pdw-line) ' + pct + '%, var(--pdw-line) 100%)'; } for(var k=0; k<nodes.length; k++){ nodes[k].classList.remove('is-active','is-done'); nodes[k].setAttribute('aria-selected','false'); if(k < i){ nodes[k].classList.add('is-done'); } if(k === i){ nodes[k].classList.add('is-active'); nodes[k].setAttribute('aria-selected','true'); } } prev.disabled = (i === 0); next.disabled = (i === TOTAL - 1); ROOT.setAttribute('data-cur', i); \/* keep active node visible on mobile *\/ if(window.matchMedia && window.matchMedia('(max-width:640px)').matches && nodes[i].scrollIntoView){ nodes[i].scrollIntoView({behavior:'smooth', inline:'center', block:'nearest'}); } } function go(i){ if(i < 0){ i = 0; } if(i > TOTAL - 1){ i = TOTAL - 1; } cur = i; render(cur); } prev.addEventListener('click', function(){ go(cur - 1); }); next.addEventListener('click', function(){ go(cur + 1); }); if(slider){ slider.addEventListener('input', function(){ go(parseInt(this.value, 10) - 1); }); } for(var n=0; n<nodes.length; n++){ (function(idx){ nodes[idx].addEventListener('click', function(){ go(idx); }); })(n); } \/* keyboard arrows when focus is inside the widget *\/ ROOT.addEventListener('keydown', function(e){ if(e.key === 'ArrowRight'){ e.preventDefault(); go(cur + 1); } if(e.key === 'ArrowLeft'){ e.preventDefault(); go(cur - 1); } }); \/* touch swipe on the card *\/ var card = ROOT.querySelector('.pdw-card'); var sx = 0, sy = 0; card.addEventListener('touchstart', function(e){ sx = e.touches[0].clientX; sy = e.touches[0].clientY; }, {passive:true}); card.addEventListener('touchend', function(e){ var dx = e.changedTouches[0].clientX - sx; var dy = e.changedTouches[0].clientY - sy; if(Math.abs(dx) > 45 && Math.abs(dx) > Math.abs(dy)){ go(cur + (dx < 0 ? 1 : -1)); } }, {passive:true}); render(0); })(); <\/script><div class=\"pdwflow-copybox\" id=\"pdwflowcp71073\"><div class=\"pdwflow-cb-head\">Use this interactive guide on your website \u2014 free<\/div><p class=\"pdwflow-cb-sub\">Copy &amp; paste the code below. It embeds this workflow on your site and includes a small credit link back to us.<\/p><textarea id=\"pdwflowcp71073-ta\" class=\"pdwflow-cb-code\" readonly rows=\"7\" onclick=\"this.select();\">&lt;iframe src=&quot;https:\/\/www.plasticmoulds.net\/it\/it\/wp-json\/wp\/v2\/posts\/17629?pdwflow_embed=1&quot; title=&quot;10-Step Product Development Workflow&quot; id=&quot;pdwflow-embed&quot; loading=&quot;lazy&quot; scrolling=&quot;no&quot; style=&quot;display:block;width:100%;max-width:860px;margin:0 auto;border:0;&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.PdwflowHeight){var f=document.getElementById(&quot;pdwflow-embed&quot;);if(f){f.style.height=e.data.PdwflowHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p&gt;Interactive &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/it\/wp-json\/wp\/v2\/posts\/17629&quot; target=&quot;_blank&quot;&gt;10-Step Product Development Workflow&lt;\/a&gt; by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot; target=&quot;_blank&quot;&gt;&lt;\/a&gt;.&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"pdwflowcp71073-btn\" class=\"pdwflow-cb-btn\">Copy embed code<\/button><\/div><style> #pdwflowcp71073{max-width:860px;margin:1.2em auto 1.8em;padding:18px 18px 16px;background:#f5f6f8;border:1px solid #e4e8ef;border-radius:14px;font-family:inherit;color:#1f2a37;box-sizing:border-box;} #pdwflowcp71073 *{box-sizing:border-box;} #pdwflowcp71073 .pdwflow-cb-head{font-size:1rem;font-weight:800;color:#12305a;margin-bottom:.25em;} #pdwflowcp71073 .pdwflow-cb-sub{margin:0 0 .8em;font-size:.86rem;line-height:1.5;color:#657084;} #pdwflowcp71073 .pdwflow-cb-code{width:100%;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.5;color:#1f2a37;background:#fff;border:1px solid #d7dce4;border-radius:9px;padding:11px 12px;white-space:pre;overflow:auto;} #pdwflowcp71073 .pdwflow-cb-btn{margin-top:.7em;border:0;cursor:pointer;font-weight:700;font-size:.88rem;padding:.6em 1.2em;border-radius:9px;background:#ef6c1a;color:#fff;transition:background .18s ease, transform .12s ease;} #pdwflowcp71073 .pdwflow-cb-btn:hover{background:#d95c11;transform:translateY(-1px);} <\/style><script> (function(){ var btn = document.getElementById('pdwflowcp71073-btn'); var ta = document.getElementById('pdwflowcp71073-ta'); if(!btn || !ta) return; function done(){ btn.textContent = 'Copied \\u2713'; window.setTimeout(function(){ btn.textContent = 'Copy embed code'; }, 1500); } function fallback(){ var wasRO = ta.hasAttribute('readonly'); ta.removeAttribute('readonly'); ta.focus(); ta.select(); try{ document.execCommand('copy'); done(); }catch(e){} if(wasRO){ ta.setAttribute('readonly','readonly'); } if(window.getSelection){ window.getSelection().removeAllRanges(); } } btn.addEventListener('click', function(){ var code = ta.value; if(navigator.clipboard && navigator.clipboard.writeText){ navigator.clipboard.writeText(code).then(done, fallback); } else { fallback(); } }); })(); <\/script><\/div><div id=\"gate-types-overview\" class=\"wp-block-group tw-tool tw-cat-mold is-layout-flow wp-block-group-is-layout-flow\"><style> .twg-wrap{display:flex;gap:22px;align-items:flex-start;font-family:inherit;margin:8px 0 4px;} .twg-tabs{flex:0 0 230px;display:flex;flex-direction:column;gap:8px;} .twg-tab{text-align:left;padding:11px 14px;border:1px solid #dfe4e9;background:#f7f9fb;border-radius:9px;cursor:pointer;font-size:15px;line-height:1.3;color:#2c3e50;transition:.15s;} .twg-tab:hover{border-color:#e8803a;color:#b9611a;} .twg-tab.is-active{background:#e8803a;border-color:#e8803a;color:#fff;font-weight:600;} .twg-fig{flex:1;min-width:0;} .twg-panel{display:none;} .twg-panel.is-active{display:block;} .twg-panel svg{width:100%;height:auto;max-width:560px;display:block;margin:0 auto;border:1px solid #eef1f4;border-radius:10px;background:#fff;} .twg-desc{margin:14px auto 0;color:#44515c;font-size:15px;line-height:1.65;max-width:600px;} @media(max-width:640px){.twg-wrap{flex-direction:column;gap:14px;} .twg-tabs{flex-direction:row;flex-wrap:wrap;flex-basis:auto;} .twg-tab{flex:1 1 44%;font-size:14px;padding:9px 10px;} } <\/style><div class=\"twg-wrap\"><div class=\"twg-tabs\" role=\"tablist\" aria-label=\"Injection molding gate types\"><button class=\"twg-tab is-active\" data-t=\"0\" role=\"tab\" aria-selected=\"true\" type=\"button\">Edge \/ Side Gate<\/button><button class=\"twg-tab\" data-t=\"1\" role=\"tab\" aria-selected=\"false\" type=\"button\">Fan Gate<\/button><button class=\"twg-tab\" data-t=\"2\" role=\"tab\" aria-selected=\"false\" type=\"button\">Tab Gate<\/button><button class=\"twg-tab\" data-t=\"3\" role=\"tab\" aria-selected=\"false\" type=\"button\">Pin-Point Gate<\/button><button class=\"twg-tab\" data-t=\"4\" role=\"tab\" aria-selected=\"false\" type=\"button\">Submarine \/ Tunnel Gate<\/button><button class=\"twg-tab\" data-t=\"5\" role=\"tab\" aria-selected=\"false\" type=\"button\">Banana \/ Cashew Gate<\/button><button class=\"twg-tab\" data-t=\"6\" role=\"tab\" aria-selected=\"false\" type=\"button\">Direct Sprue Gate<\/button><button class=\"twg-tab\" data-t=\"7\" role=\"tab\" aria-selected=\"false\" type=\"button\">Hot Runner \u2014 Hot Tip \/ Valve Gate<\/button><\/div><div class=\"twg-fig\"><div class=\"twg-panel is-active\" data-p=\"0\" role=\"tabpanel\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 480 340\" font-family=\"Arial, Helvetica, sans-serif\"><defs><marker id=\"fl0\" markerWidth=\"9\" markerHeight=\"9\" refX=\"6.5\" refY=\"3\" orient=\"auto\"><path d=\"M0,0 L7,3 L0,6 Z\" fill=\"#C0392B\"\/><\/marker><linearGradient id=\"stT0\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#E7ECF0\"\/><stop offset=\"1\" stop-color=\"#D6DCE3\"\/><\/linearGradient><linearGradient id=\"stB0\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#C4CCD5\"\/><stop offset=\"1\" stop-color=\"#B4BCC6\"\/><\/linearGradient><\/defs><rect x=\"0\" y=\"0\" width=\"480\" height=\"340\" fill=\"#FFFFFF\"\/><text x=\"240\" y=\"34\" font-size=\"21\" font-weight=\"700\" fill=\"#22303C\" text-anchor=\"middle\">Edge \/ Side Gate<\/text><rect x=\"40\" y=\"55\" width=\"400\" height=\"105\" rx=\"4\" fill=\"url(#stT0)\" stroke=\"#8B95A1\" stroke-width=\"1.5\"\/><rect x=\"40\" y=\"166\" width=\"400\" height=\"107\" rx=\"4\" fill=\"url(#stB0)\" stroke=\"#8B95A1\" stroke-width=\"1.5\"\/><line x1=\"40\" y1=\"163\" x2=\"440\" y2=\"163\" stroke=\"#3A4A5A\" stroke-width=\"1.3\" stroke-dasharray=\"7 5\"\/><rect x=\"296\" y=\"118\" width=\"120\" height=\"90\" rx=\"7\" fill=\"#2E86C1\" stroke=\"#1B4F72\" stroke-width=\"1.5\"\/><rect x=\"64\" y=\"151\" width=\"200\" height=\"24\" rx=\"6\" fill=\"#E8803A\" stroke=\"#BC5E20\" stroke-width=\"1.3\"\/><rect x=\"262\" y=\"156\" width=\"40\" height=\"14\" rx=\"3\" fill=\"#E8803A\" stroke=\"#BC5E20\" stroke-width=\"1.3\"\/><line x1=\"96\" y1=\"163\" x2=\"250\" y2=\"163\" stroke=\"#C0392B\" stroke-width=\"3\" marker-end=\"url(#fl0)\"\/><text x=\"360\" y=\"167\" font-size=\"13\" fill=\"#FFFFFF\" text-anchor=\"middle\" font-weight=\"700\" >Part<\/text><text x=\"150\" y=\"143\" font-size=\"11.5\" fill=\"#5B6873\" text-anchor=\"middle\" font-weight=\"400\" >Runner<\/text><line x1=\"283\" y1=\"150\" x2=\"283\" y2=\"132\" stroke=\"#8896A3\" stroke-width=\"1\"\/><text x=\"283\" y=\"127\" font-size=\"11.5\" fill=\"#5B6873\" text-anchor=\"middle\" font-weight=\"400\" >Gate<\/text><text x=\"58\" y=\"74\" font-size=\"11\" fill=\"#5B6873\" text-anchor=\"start\" font-weight=\"400\" >Cavity plate<\/text><text x=\"58\" y=\"262\" font-size=\"11\" fill=\"#5B6873\" text-anchor=\"start\" font-weight=\"400\" >Core plate<\/text><line x1=\"52\" y1=\"163\" x2=\"52\" y2=\"196\" stroke=\"#8896A3\" stroke-width=\"1\"\/><text x=\"46\" y=\"209\" font-size=\"10.5\" fill=\"#5B6873\" text-anchor=\"start\" font-weight=\"400\" >parting line<\/text><text x=\"240\" y=\"326\" font-size=\"12.5\" fill=\"#5B6873\" text-anchor=\"middle\">Enters the part edge at the parting line \u2014 simple, needs trimming.<\/text><\/svg><p class=\"twg-desc\">The standard gate at the parting line, feeding the edge of the part. Easy to machine and maintain and suits most geometries, but it leaves a visible mark and needs secondary trimming.<\/p><\/div><div class=\"twg-panel\" data-p=\"1\" role=\"tabpanel\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 480 340\" font-family=\"Arial, Helvetica, sans-serif\"><defs><marker id=\"fl1\" markerWidth=\"9\" markerHeight=\"9\" refX=\"6.5\" refY=\"3\" orient=\"auto\"><path d=\"M0,0 L7,3 L0,6 Z\" fill=\"#C0392B\"\/><\/marker><linearGradient id=\"stT1\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#E7ECF0\"\/><stop offset=\"1\" stop-color=\"#D6DCE3\"\/><\/linearGradient><linearGradient id=\"stB1\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#C4CCD5\"\/><stop offset=\"1\" stop-color=\"#B4BCC6\"\/><\/linearGradient><\/defs><rect x=\"0\" y=\"0\" width=\"480\" height=\"340\" fill=\"#FFFFFF\"\/><text x=\"240\" y=\"34\" font-size=\"21\" font-weight=\"700\" fill=\"#22303C\" text-anchor=\"middle\">Fan Gate<\/text><rect x=\"210\" y=\"80\" width=\"210\" height=\"180\" rx=\"8\" fill=\"#2E86C1\" stroke=\"#1B4F72\" stroke-width=\"1.5\"\/><polygon points=\"132,150 210,92 210,248 132,190\" fill=\"#E8803A\" stroke=\"#BC5E20\" stroke-width=\"1.3\"\/><rect x=\"60\" y=\"152\" width=\"74\" height=\"34\" rx=\"8\" fill=\"#E8803A\" stroke=\"#BC5E20\" stroke-width=\"1.3\"\/><line x1=\"150\" y1=\"170\" x2=\"206\" y2=\"110\" stroke=\"#C0392B\" stroke-width=\"3\" marker-end=\"url(#fl1)\"\/><line x1=\"150\" y1=\"170\" x2=\"206\" y2=\"170\" stroke=\"#C0392B\" stroke-width=\"3\" marker-end=\"url(#fl1)\"\/><line x1=\"150\" y1=\"170\" x2=\"206\" y2=\"232\" stroke=\"#C0392B\" stroke-width=\"3\" marker-end=\"url(#fl1)\"\/><text x=\"315\" y=\"175\" font-size=\"14\" fill=\"#FFFFFF\" text-anchor=\"middle\" font-weight=\"700\" >Flat part<\/text><text x=\"315\" y=\"193\" font-size=\"11.5\" fill=\"#EAF2F8\" text-anchor=\"middle\" font-weight=\"400\" >(top view)<\/text><text x=\"96\" y=\"145\" font-size=\"11.5\" fill=\"#5B6873\" text-anchor=\"middle\" font-weight=\"400\" >Runner<\/text><line x1=\"175\" y1=\"150\" x2=\"175\" y2=\"120\" stroke=\"#8896A3\" stroke-width=\"1\"\/><text x=\"175\" y=\"114\" font-size=\"11.5\" fill=\"#5B6873\" text-anchor=\"middle\" font-weight=\"400\" >Fan gate<\/text><text x=\"240\" y=\"326\" font-size=\"12.5\" fill=\"#5B6873\" text-anchor=\"middle\">Widens into a fan to feed wide flat parts evenly and cut warpage.<\/text><\/svg><p class=\"twg-desc\">A widened edge gate that fans out before the cavity. It spreads melt across wide, flat or optical parts to reduce warpage, jetting and stress \u2014 at the cost of a larger area to trim.<\/p><\/div><div class=\"twg-panel\" data-p=\"2\" role=\"tabpanel\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 480 340\" font-family=\"Arial, Helvetica, sans-serif\"><defs><marker id=\"fl2\" markerWidth=\"9\" markerHeight=\"9\" refX=\"6.5\" refY=\"3\" orient=\"auto\"><path d=\"M0,0 L7,3 L0,6 Z\" fill=\"#C0392B\"\/><\/marker><linearGradient id=\"stT2\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#E7ECF0\"\/><stop offset=\"1\" stop-color=\"#D6DCE3\"\/><\/linearGradient><linearGradient id=\"stB2\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#C4CCD5\"\/><stop offset=\"1\" stop-color=\"#B4BCC6\"\/><\/linearGradient><\/defs><rect x=\"0\" y=\"0\" width=\"480\" height=\"340\" fill=\"#FFFFFF\"\/><text x=\"240\" y=\"34\" font-size=\"21\" font-weight=\"700\" fill=\"#22303C\" text-anchor=\"middle\">Tab Gate<\/text><rect x=\"238\" y=\"92\" width=\"182\" height=\"156\" rx=\"8\" fill=\"#2E86C1\" stroke=\"#1B4F72\" stroke-width=\"1.5\"\/><rect x=\"176\" y=\"142\" width=\"64\" height=\"46\" rx=\"5\" fill=\"#AED6F1\" stroke=\"#1B4F72\" stroke-width=\"1.3\"\/><rect x=\"132\" y=\"154\" width=\"46\" height=\"22\" rx=\"4\" fill=\"#E8803A\" stroke=\"#BC5E20\" stroke-width=\"1.3\"\/><rect x=\"62\" y=\"150\" width=\"72\" height=\"30\" rx=\"7\" fill=\"#E8803A\" stroke=\"#BC5E20\" stroke-width=\"1.3\"\/><line x1=\"150\" y1=\"165\" x2=\"232\" y2=\"165\" stroke=\"#C0392B\" stroke-width=\"3\" marker-end=\"url(#fl2)\"\/><text x=\"329\" y=\"175\" font-size=\"14\" fill=\"#FFFFFF\" text-anchor=\"middle\" font-weight=\"700\" >Part<\/text><text x=\"98\" y=\"143\" font-size=\"11.5\" fill=\"#5B6873\" text-anchor=\"middle\" font-weight=\"400\" >Runner<\/text><line x1=\"155\" y1=\"154\" x2=\"155\" y2=\"124\" stroke=\"#8896A3\" stroke-width=\"1\"\/><text x=\"150\" y=\"120\" font-size=\"11.5\" fill=\"#5B6873\" text-anchor=\"end\" font-weight=\"400\" >Gate<\/text><line x1=\"208\" y1=\"142\" x2=\"208\" y2=\"108\" stroke=\"#8896A3\" stroke-width=\"1\"\/><text x=\"232\" y=\"102\" font-size=\"11.5\" fill=\"#5B6873\" text-anchor=\"end\" font-weight=\"400\" >Tab (trimmed off)<\/text><text x=\"240\" y=\"326\" font-size=\"12.5\" fill=\"#5B6873\" text-anchor=\"middle\">Hits a sacrificial tab first \u2014 less jetting, cleaner cosmetic parts.<\/text><\/svg><p class=\"twg-desc\">Melt enters a small sacrificial tab first, then the part. This keeps gate stress and jetting off cosmetic surfaces; the tab is trimmed afterwards. Common for thin, transparent or high-stress parts.<\/p><\/div><div class=\"twg-panel\" data-p=\"3\" role=\"tabpanel\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 480 340\" font-family=\"Arial, Helvetica, sans-serif\"><defs><marker id=\"fl3\" markerWidth=\"9\" markerHeight=\"9\" refX=\"6.5\" refY=\"3\" orient=\"auto\"><path d=\"M0,0 L7,3 L0,6 Z\" fill=\"#C0392B\"\/><\/marker><linearGradient id=\"stT3\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#E7ECF0\"\/><stop offset=\"1\" stop-color=\"#D6DCE3\"\/><\/linearGradient><linearGradient id=\"stB3\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#C4CCD5\"\/><stop offset=\"1\" stop-color=\"#B4BCC6\"\/><\/linearGradient><\/defs><rect x=\"0\" y=\"0\" width=\"480\" height=\"340\" fill=\"#FFFFFF\"\/><text x=\"240\" y=\"34\" font-size=\"21\" font-weight=\"700\" fill=\"#22303C\" text-anchor=\"middle\">Pin-Point Gate<\/text><rect x=\"40\" y=\"55\" width=\"400\" height=\"46\" rx=\"4\" fill=\"url(#stT3)\" stroke=\"#8B95A1\" stroke-width=\"1.5\"\/><rect x=\"120\" y=\"66\" width=\"240\" height=\"20\" rx=\"7\" fill=\"#E8803A\" stroke=\"#BC5E20\" stroke-width=\"1.3\"\/><line x1=\"40\" y1=\"120\" x2=\"440\" y2=\"120\" stroke=\"#3A4A5A\" stroke-width=\"1.1\" stroke-dasharray=\"6 5\"\/><polygon points=\"228,86 252,86 244,196 236,196\" fill=\"#E8803A\" stroke=\"#BC5E20\" stroke-width=\"1.3\"\/><rect x=\"150\" y=\"196\" width=\"180\" height=\"70\" rx=\"8\" fill=\"#2E86C1\" stroke=\"#1B4F72\" stroke-width=\"1.5\"\/><line x1=\"240\" y1=\"96\" x2=\"240\" y2=\"190\" stroke=\"#C0392B\" stroke-width=\"3\" marker-end=\"url(#fl3)\"\/><text x=\"240\" y=\"238\" font-size=\"14\" fill=\"#FFFFFF\" text-anchor=\"middle\" font-weight=\"700\" >Part<\/text><text x=\"150\" y=\"60\" font-size=\"11\" fill=\"#5B6873\" text-anchor=\"start\" font-weight=\"400\" >Runner plate<\/text><line x1=\"258\" y1=\"150\" x2=\"300\" y2=\"150\" stroke=\"#8896A3\" stroke-width=\"1\"\/><text x=\"302\" y=\"150\" font-size=\"11.5\" fill=\"#5B6873\" text-anchor=\"start\" font-weight=\"400\" >pin-point gate<\/text><text x=\"302\" y=\"164\" font-size=\"11\" fill=\"#5B6873\" text-anchor=\"start\" font-weight=\"400\" >(tiny, breaks off)<\/text><text x=\"60\" y=\"132\" font-size=\"10.5\" fill=\"#5B6873\" text-anchor=\"start\" font-weight=\"400\" >parting line<\/text><text x=\"240\" y=\"326\" font-size=\"12.5\" fill=\"#5B6873\" text-anchor=\"middle\">Tiny 3-plate gate \u2014 breaks off and self-separates from the runner.<\/text><\/svg><p class=\"twg-desc\">A tiny round gate used in 3-plate molds. It breaks off and self-separates from the runner, leaving a very small mark and allowing central or multi-point gating. Needs higher injection pressure.<\/p><\/div><div class=\"twg-panel\" data-p=\"4\" role=\"tabpanel\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 480 340\" font-family=\"Arial, Helvetica, sans-serif\"><defs><marker id=\"fl4\" markerWidth=\"9\" markerHeight=\"9\" refX=\"6.5\" refY=\"3\" orient=\"auto\"><path d=\"M0,0 L7,3 L0,6 Z\" fill=\"#C0392B\"\/><\/marker><linearGradient id=\"stT4\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#E7ECF0\"\/><stop offset=\"1\" stop-color=\"#D6DCE3\"\/><\/linearGradient><linearGradient id=\"stB4\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#C4CCD5\"\/><stop offset=\"1\" stop-color=\"#B4BCC6\"\/><\/linearGradient><\/defs><rect x=\"0\" y=\"0\" width=\"480\" height=\"340\" fill=\"#FFFFFF\"\/><text x=\"240\" y=\"34\" font-size=\"21\" font-weight=\"700\" fill=\"#22303C\" text-anchor=\"middle\">Submarine \/ Tunnel Gate<\/text><rect x=\"40\" y=\"55\" width=\"400\" height=\"105\" rx=\"4\" fill=\"url(#stT4)\" stroke=\"#8B95A1\" stroke-width=\"1.5\"\/><rect x=\"40\" y=\"166\" width=\"400\" height=\"107\" rx=\"4\" fill=\"url(#stB4)\" stroke=\"#8B95A1\" stroke-width=\"1.5\"\/><line x1=\"40\" y1=\"163\" x2=\"440\" y2=\"163\" stroke=\"#3A4A5A\" stroke-width=\"1.3\" stroke-dasharray=\"7 5\"\/><rect x=\"284\" y=\"108\" width=\"140\" height=\"104\" rx=\"7\" fill=\"#2E86C1\" stroke=\"#1B4F72\" stroke-width=\"1.5\"\/><rect x=\"64\" y=\"151\" width=\"150\" height=\"24\" rx=\"6\" fill=\"#E8803A\" stroke=\"#BC5E20\" stroke-width=\"1.3\"\/><polygon points=\"208,151 220,151 288,196 288,208\" fill=\"#E8803A\" stroke=\"#BC5E20\" stroke-width=\"1.3\"\/><line x1=\"96\" y1=\"163\" x2=\"196\" y2=\"163\" stroke=\"#C0392B\" stroke-width=\"3\" marker-end=\"url(#fl4)\"\/><line x1=\"228\" y1=\"168\" x2=\"280\" y2=\"198\" stroke=\"#C0392B\" stroke-width=\"2.5\" marker-end=\"url(#fl4)\"\/><text x=\"354\" y=\"166\" font-size=\"13\" fill=\"#FFFFFF\" text-anchor=\"middle\" font-weight=\"700\" >Part<\/text><text x=\"138\" y=\"145\" font-size=\"11.5\" fill=\"#5B6873\" text-anchor=\"middle\" font-weight=\"400\" >Runner<\/text><line x1=\"250\" y1=\"182\" x2=\"250\" y2=\"232\" stroke=\"#8896A3\" stroke-width=\"1\"\/><text x=\"250\" y=\"246\" font-size=\"11.5\" fill=\"#5B6873\" text-anchor=\"middle\" font-weight=\"400\" >tunnel gate<\/text><text x=\"250\" y=\"260\" font-size=\"11\" fill=\"#5B6873\" text-anchor=\"middle\" font-weight=\"400\" >(below parting line)<\/text><text x=\"240\" y=\"326\" font-size=\"12.5\" fill=\"#5B6873\" text-anchor=\"middle\">Tunnels under the parting line \u2014 part shears off on ejection.<\/text><\/svg><p class=\"twg-desc\">The gate tunnels below the parting line into the side of the part. It is self-degating \u2014 the part shears off the runner on ejection with no trimming \u2014 which suits automated, high-volume production.<\/p><\/div><div class=\"twg-panel\" data-p=\"5\" role=\"tabpanel\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 480 340\" font-family=\"Arial, Helvetica, sans-serif\"><defs><marker id=\"fl5\" markerWidth=\"9\" markerHeight=\"9\" refX=\"6.5\" refY=\"3\" orient=\"auto\"><path d=\"M0,0 L7,3 L0,6 Z\" fill=\"#C0392B\"\/><\/marker><linearGradient id=\"stT5\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#E7ECF0\"\/><stop offset=\"1\" stop-color=\"#D6DCE3\"\/><\/linearGradient><linearGradient id=\"stB5\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#C4CCD5\"\/><stop offset=\"1\" stop-color=\"#B4BCC6\"\/><\/linearGradient><\/defs><rect x=\"0\" y=\"0\" width=\"480\" height=\"340\" fill=\"#FFFFFF\"\/><text x=\"240\" y=\"34\" font-size=\"21\" font-weight=\"700\" fill=\"#22303C\" text-anchor=\"middle\">Banana \/ Cashew Gate<\/text><rect x=\"40\" y=\"55\" width=\"400\" height=\"105\" rx=\"4\" fill=\"url(#stT5)\" stroke=\"#8B95A1\" stroke-width=\"1.5\"\/><rect x=\"40\" y=\"166\" width=\"400\" height=\"107\" rx=\"4\" fill=\"url(#stB5)\" stroke=\"#8B95A1\" stroke-width=\"1.5\"\/><line x1=\"40\" y1=\"163\" x2=\"440\" y2=\"163\" stroke=\"#3A4A5A\" stroke-width=\"1.3\" stroke-dasharray=\"7 5\"\/><rect x=\"276\" y=\"104\" width=\"148\" height=\"96\" rx=\"7\" fill=\"#2E86C1\" stroke=\"#1B4F72\" stroke-width=\"1.5\"\/><rect x=\"64\" y=\"151\" width=\"150\" height=\"24\" rx=\"6\" fill=\"#E8803A\" stroke=\"#BC5E20\" stroke-width=\"1.3\"\/><path d=\"M214,163 C 250,200 262,232 300,215 C 322,205 322,202 322,200\" fill=\"none\" stroke=\"#E8803A\" stroke-width=\"15\" stroke-linecap=\"round\"\/><line x1=\"96\" y1=\"163\" x2=\"196\" y2=\"163\" stroke=\"#C0392B\" stroke-width=\"3\" marker-end=\"url(#fl5)\"\/><text x=\"350\" y=\"158\" font-size=\"13\" fill=\"#FFFFFF\" text-anchor=\"middle\" font-weight=\"700\" >Part<\/text><text x=\"138\" y=\"145\" font-size=\"11.5\" fill=\"#5B6873\" text-anchor=\"middle\" font-weight=\"400\" >Runner<\/text><line x1=\"268\" y1=\"224\" x2=\"268\" y2=\"250\" stroke=\"#8896A3\" stroke-width=\"1\"\/><text x=\"268\" y=\"264\" font-size=\"11.5\" fill=\"#5B6873\" text-anchor=\"middle\" font-weight=\"400\" >curved (cashew) tunnel gate<\/text><text x=\"240\" y=\"326\" font-size=\"12.5\" fill=\"#5B6873\" text-anchor=\"middle\">Curved tunnel gate reaching hidden surfaces \u2014 also self-degating.<\/text><\/svg><p class=\"twg-desc\">A curved tunnel gate that reaches onto hidden or inner surfaces, keeping the gate mark off visible faces while staying self-degating. It needs careful design and a consumable insert.<\/p><\/div><div class=\"twg-panel\" data-p=\"6\" role=\"tabpanel\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 480 340\" font-family=\"Arial, Helvetica, sans-serif\"><defs><marker id=\"fl6\" markerWidth=\"9\" markerHeight=\"9\" refX=\"6.5\" refY=\"3\" orient=\"auto\"><path d=\"M0,0 L7,3 L0,6 Z\" fill=\"#C0392B\"\/><\/marker><linearGradient id=\"stT6\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#E7ECF0\"\/><stop offset=\"1\" stop-color=\"#D6DCE3\"\/><\/linearGradient><linearGradient id=\"stB6\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#C4CCD5\"\/><stop offset=\"1\" stop-color=\"#B4BCC6\"\/><\/linearGradient><\/defs><rect x=\"0\" y=\"0\" width=\"480\" height=\"340\" fill=\"#FFFFFF\"\/><text x=\"240\" y=\"34\" font-size=\"21\" font-weight=\"700\" fill=\"#22303C\" text-anchor=\"middle\">Direct Sprue Gate<\/text><rect x=\"212\" y=\"52\" width=\"56\" height=\"16\" rx=\"2\" fill=\"#8996A3\" stroke=\"#8B95A1\" stroke-width=\"1.2\"\/><polygon points=\"222,68 258,68 280,150 200,150\" fill=\"#E8803A\" stroke=\"#BC5E20\" stroke-width=\"1.3\"\/><rect x=\"150\" y=\"150\" width=\"180\" height=\"112\" rx=\"9\" fill=\"#2E86C1\" stroke=\"#1B4F72\" stroke-width=\"1.5\"\/><line x1=\"240\" y1=\"80\" x2=\"240\" y2=\"210\" stroke=\"#C0392B\" stroke-width=\"3.5\" marker-end=\"url(#fl6)\"\/><text x=\"240\" y=\"214\" font-size=\"14\" fill=\"#FFFFFF\" text-anchor=\"middle\" font-weight=\"700\" >Part<\/text><text x=\"240\" y=\"62\" font-size=\"10.5\" fill=\"#FFFFFF\" text-anchor=\"middle\" font-weight=\"700\" >nozzle<\/text><line x1=\"276\" y1=\"110\" x2=\"320\" y2=\"110\" stroke=\"#8896A3\" stroke-width=\"1\"\/><text x=\"322\" y=\"110\" font-size=\"11.5\" fill=\"#5B6873\" text-anchor=\"start\" font-weight=\"400\" >sprue = gate<\/text><text x=\"322\" y=\"124\" font-size=\"11\" fill=\"#5B6873\" text-anchor=\"start\" font-weight=\"400\" >(no runner)<\/text><text x=\"240\" y=\"326\" font-size=\"12.5\" fill=\"#5B6873\" text-anchor=\"middle\">Sprue feeds the cavity directly \u2014 big parts, but a large gate mark.<\/text><\/svg><p class=\"twg-desc\">The sprue feeds the cavity directly with no runner \u2014 ideal for single, large or deep-draw parts and strong flow. It leaves a large gate mark that must be machined and can add stress.<\/p><\/div><div class=\"twg-panel\" data-p=\"7\" role=\"tabpanel\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 480 340\" font-family=\"Arial, Helvetica, sans-serif\"><defs><marker id=\"fl7\" markerWidth=\"9\" markerHeight=\"9\" refX=\"6.5\" refY=\"3\" orient=\"auto\"><path d=\"M0,0 L7,3 L0,6 Z\" fill=\"#C0392B\"\/><\/marker><linearGradient id=\"stT7\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#E7ECF0\"\/><stop offset=\"1\" stop-color=\"#D6DCE3\"\/><\/linearGradient><linearGradient id=\"stB7\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#C4CCD5\"\/><stop offset=\"1\" stop-color=\"#B4BCC6\"\/><\/linearGradient><\/defs><rect x=\"0\" y=\"0\" width=\"480\" height=\"340\" fill=\"#FFFFFF\"\/><text x=\"240\" y=\"34\" font-size=\"21\" font-weight=\"700\" fill=\"#22303C\" text-anchor=\"middle\">Hot Runner \u2014 Hot Tip \/ Valve Gate<\/text><rect x=\"108\" y=\"70\" width=\"44\" height=\"118\" rx=\"5\" fill=\"url(#stB7)\" stroke=\"#8B95A1\" stroke-width=\"1.4\"\/><rect x=\"123\" y=\"70\" width=\"14\" height=\"118\" fill=\"#E8803A\"\/><line x1=\"108\" y1=\"92\" x2=\"152\" y2=\"92\" stroke=\"#C0392B\" stroke-width=\"2.4\" opacity=\"0.55\"\/><line x1=\"108\" y1=\"108\" x2=\"152\" y2=\"108\" stroke=\"#C0392B\" stroke-width=\"2.4\" opacity=\"0.55\"\/><line x1=\"108\" y1=\"124\" x2=\"152\" y2=\"124\" stroke=\"#C0392B\" stroke-width=\"2.4\" opacity=\"0.55\"\/><line x1=\"108\" y1=\"140\" x2=\"152\" y2=\"140\" stroke=\"#C0392B\" stroke-width=\"2.4\" opacity=\"0.55\"\/><polygon points=\"123,188 137,188 130,206\" fill=\"#E8803A\" stroke=\"#BC5E20\" stroke-width=\"1\"\/><rect x=\"75\" y=\"210\" width=\"110\" height=\"52\" rx=\"7\" fill=\"#2E86C1\" stroke=\"#1B4F72\" stroke-width=\"1.5\"\/><rect x=\"318\" y=\"70\" width=\"44\" height=\"118\" rx=\"5\" fill=\"url(#stB7)\" stroke=\"#8B95A1\" stroke-width=\"1.4\"\/><rect x=\"333\" y=\"70\" width=\"14\" height=\"118\" fill=\"#E8803A\"\/><line x1=\"318\" y1=\"92\" x2=\"362\" y2=\"92\" stroke=\"#C0392B\" stroke-width=\"2.4\" opacity=\"0.55\"\/><line x1=\"318\" y1=\"108\" x2=\"362\" y2=\"108\" stroke=\"#C0392B\" stroke-width=\"2.4\" opacity=\"0.55\"\/><line x1=\"318\" y1=\"124\" x2=\"362\" y2=\"124\" stroke=\"#C0392B\" stroke-width=\"2.4\" opacity=\"0.55\"\/><line x1=\"318\" y1=\"140\" x2=\"362\" y2=\"140\" stroke=\"#C0392B\" stroke-width=\"2.4\" opacity=\"0.55\"\/><polygon points=\"333,188 347,188 340,206\" fill=\"#E8803A\" stroke=\"#BC5E20\" stroke-width=\"1\"\/><rect x=\"285\" y=\"210\" width=\"110\" height=\"52\" rx=\"7\" fill=\"#2E86C1\" stroke=\"#1B4F72\" stroke-width=\"1.5\"\/><rect x=\"337\" y=\"60\" width=\"6\" height=\"150\" rx=\"2\" fill=\"#8996A3\" stroke=\"#5D6D7E\" stroke-width=\"1\"\/><circle cx=\"340\" cy=\"58\" r=\"6\" fill=\"#8996A3\" stroke=\"#5D6D7E\" stroke-width=\"1\"\/><line x1=\"130\" y1=\"196\" x2=\"130\" y2=\"208\" stroke=\"#C0392B\" stroke-width=\"2.5\" marker-end=\"url(#fl7)\"\/><text x=\"130\" y=\"238\" font-size=\"13\" fill=\"#FFFFFF\" text-anchor=\"middle\" font-weight=\"700\" >Part<\/text><text x=\"340\" y=\"238\" font-size=\"13\" fill=\"#FFFFFF\" text-anchor=\"middle\" font-weight=\"700\" >Part<\/text><text x=\"130\" y=\"300\" font-size=\"13\" fill=\"#22303C\" text-anchor=\"middle\" font-weight=\"700\" >Hot tip<\/text><text x=\"340\" y=\"300\" font-size=\"13\" fill=\"#22303C\" text-anchor=\"middle\" font-weight=\"700\" >Valve gate (pin)<\/text><text x=\"178\" y=\"90\" font-size=\"10.5\" fill=\"#5B6873\" text-anchor=\"start\" font-weight=\"400\" >heater<\/text><line x1=\"176\" y1=\"96\" x2=\"152\" y2=\"110\" stroke=\"#8896A3\" stroke-width=\"1\"\/><text x=\"388\" y=\"68\" font-size=\"10.5\" fill=\"#5B6873\" text-anchor=\"start\" font-weight=\"400\" >valve pin<\/text><line x1=\"386\" y1=\"66\" x2=\"344\" y2=\"60\" stroke=\"#8896A3\" stroke-width=\"1\"\/><line x1=\"240\" y1=\"66\" x2=\"240\" y2=\"285\" stroke=\"#D5DBE1\" stroke-width=\"1.2\" stroke-dasharray=\"4 4\"\/><text x=\"240\" y=\"326\" font-size=\"12.5\" fill=\"#5B6873\" text-anchor=\"middle\">Heated nozzle to the gate, no runner scrap \u2014 hot tip or valve pin.<\/text><\/svg><p class=\"twg-desc\">A heated nozzle keeps plastic molten right up to the gate, so there is no runner scrap. A hot tip leaves a small thermal gate; a valve gate uses a pin for a clean, mark-free, precisely timed gate. Higher tooling cost, best at high volume.<\/p><\/div><\/div><\/div><script> (function(){ function init(root){ var tabs=root.querySelectorAll('.twg-tab'); var panels=root.querySelectorAll('.twg-panel'); tabs.forEach(function(t){ t.addEventListener('click',function(){ tabs.forEach(function(x){x.classList.remove('is-active');x.setAttribute('aria-selected','false');}); panels.forEach(function(p){p.classList.remove('is-active');}); t.classList.add('is-active');t.setAttribute('aria-selected','true'); var el=root.querySelector('.twg-panel[data-p=\"'+t.getAttribute('data-t')+'\"]'); if(el)el.classList.add('is-active'); }); }); } function boot(){document.querySelectorAll('.twg-wrap').forEach(init);} if(document.readyState!=='loading')boot();else document.addEventListener('DOMContentLoaded',boot); })(); <\/script><div class=\"tw-gatetabs-embedbox\" style=\"max-width:840px;margin:18px auto 0;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f6f8fb;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;\"><div style=\"font-size:14px;font-weight:600;margin-bottom:3px;\">Use this interactive guide on your website \u2014 free<\/div><div style=\"font-size:12.5px;color:#666;margin-bottom:8px;\">Copy the code below to embed the interactive gate-types guide. A credit link is included.<\/div><textarea id=\"twgt-9073-embed\" readonly rows=\"4\" onclick=\"this.select()\" style=\"width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;padding:8px;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:#fff;color:#333;resize:vertical;\">&lt;iframe id=&quot;tw-gatetabs-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html?gatetabs_embed=1&quot; width=&quot;100%&quot; height=&quot;640&quot; loading=&quot;lazy&quot; style=&quot;max-width:840px;border:0;&quot; title=&quot;Injection Molding Gate Types&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twGatetabsHeight){var f=document.getElementById(&quot;tw-gatetabs-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twGatetabsHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Injection Molding Gate Types&lt;\/a&gt; guide by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot;&gt;&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"twgt-9073-copy\" style=\"margin-top:8px;background:#e8803a;color:#fff;border:0;padding:7px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;\">Copy embed code<\/button><\/div><script>(function(){var b=document.getElementById(\"twgt-9073-copy\"),t=document.getElementById(\"twgt-9073-embed\");if(!b||!t)return;b.addEventListener(\"click\",function(){t.focus();t.select();var done=function(){b.textContent=\"Copied \\u2713\";setTimeout(function(){b.textContent=\"Copy embed code\";},1500);};if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t.value).then(done,function(){try{document.execCommand(\"copy\");done();}catch(e){}});}else{try{document.execCommand(\"copy\");done();}catch(e){}}});})();<\/script><\/div><div id=\"mold-structure-basics\" class=\"wp-block-group tw-tool tw-cat-structure is-layout-flow wp-block-group-is-layout-flow\"><div class=\"mold-diagram-wrapper\" id=\"moldApp\"><div class=\"mold-header\"><h2>Injection Mold Structure<\/h2><p class=\"subtitle\">Interactive Engineering Guide \u2014 Click markers to explore components<\/p><\/div><div class=\"mold-layout\"><div class=\"mold-img-container\" id=\"moldImgContainer\"><img decoding=\"async\" src=\"https:\/\/www.plasticmoulds.net\/wp-content\/uploads\/2025\/08\/injection-mold-structurer.webp\" alt=\"Injection Mold Structure\" id=\"moldImg\" class=\"skip-lazy\" style=\"min-height: 300px; background: #f0f0f0;\" \/><\/div><div class=\"mold-info-panel\"><div id=\"moldInfoContent\"><div class=\"mold-placeholder\" id=\"moldPlaceholder\"><div class=\"icon\"><svg viewBox=\"0 0 24 24\" width=\"30\" fill=\"#e8b84b\"><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm1 15h-2v-2h2zm0-4h-2V7h2z\"\/><\/svg><\/div><p>Select a component from the diagram or list to view technical details.<\/p><\/div><div class=\"mold-info-detail\" id=\"moldDetail\"><div class=\"mold-info-header\"><span class=\"part-label\">TECHNICAL COMPONENT<\/span><span class=\"part-name\" id=\"moldPartName\"><\/span><\/div><div class=\"mold-info-body\"><p id=\"moldPartDesc\"><\/p><\/div><\/div><\/div><div class=\"mold-parts-list\" id=\"moldPartsList\"><\/div><div class=\"mold-cta\"><a href=\"\/contact-us\/\" class=\"cta-button\">Get a Fast Quote<\/a><\/div><\/div><\/div><\/div><style> .mold-diagram-wrapper{max-width:1200px;margin:30px auto;font-family:var(--theme-font-family, sans-serif);} .mold-header h2{font-weight:800;margin-bottom:5px;color:#1a1a2e;} .mold-header .subtitle{font-size:0.85rem;color:#888;text-transform:uppercase;margin-bottom:25px;} .mold-layout{display:grid;grid-template-columns:1fr 340px;gap:25px;align-items:start;} .mold-img-container{position:relative;border-radius:12px;box-shadow:0 5px 25px rgba(0,0,0,0.1);overflow:hidden;} .mold-img-container img{width:100%;display:block;height:auto;} .mold-hotspot{position:absolute;width:20px;height:20px;background:#e8b84b;border:2px solid #fff;border-radius:50%;cursor:pointer;z-index:100;transform:translate(-50%, -50%);box-shadow:0 0 10px rgba(0,0,0,0.3);transition:all 0.2s ease;} .mold-hotspot.active{background:#ef4444;transform:translate(-50%, -50%) scale(1.3);} .mold-info-panel{background:#fff;border:1px solid #eee;border-radius:12px;position:sticky;top:90px;overflow:hidden;} .mold-placeholder{padding:25px;text-align:center;color:#888;} .mold-placeholder .icon{margin-bottom:10px;} .mold-placeholder p{font-size:0.9rem;margin:0;} .mold-info-detail{display:none;} .mold-info-detail.show{display:block;} .mold-info-header{background:#1a1a2e;color:#fff;padding:20px;} .mold-info-header .part-label{font-size:0.7rem;color:#e8b84b;display:block;letter-spacing:1px;} .mold-info-header .part-name{font-size:1.25rem;font-weight:700;display:block;margin-top:4px;} .mold-info-body{padding:20px;} .mold-info-body p{font-size:0.9rem;color:#555;line-height:1.6;margin:0;} .mold-parts-list{border-top:1px solid #f0f0f0;max-height:250px;overflow-y:auto;} .mold-part-btn{width:100%;padding:10px 20px;border:none;border-bottom:1px solid #f9f9f9;text-align:left;background:none;cursor:pointer;font-size:0.85rem;} .mold-part-btn:hover{background:#fffbeb;} .mold-part-btn.active{background:#1a1a2e;color:#e8b84b;} .mold-cta{padding:15px;} .mold-cta .cta-button{display:block;background:#e8b84b;color:#fff;text-align:center;padding:10px;border-radius:6px;text-decoration:none;font-weight:700;} @media (max-width:850px){.mold-layout{grid-template-columns:1fr;} .mold-info-panel{position:static;} } <\/style><script> document.addEventListener('DOMContentLoaded', function () { var parts = [ { id: 'mould_housing', en: 'Mould Housing', x: 42, y: 8, desc: 'The outer structural shell encasing all internal mold components.' }, { id: 'bottom_clamping', en: 'Bottom Clamping Platen', x: 14, y: 15, desc: 'Bolted to the machine fixed platen to distribute clamping force.' }, { id: 'support_plate', en: 'Support Plate', x: 50, y: 12, desc: 'Rigid plate preventing deflection under high injection pressure.' }, { id: 'core_plate', en: 'Core Plate', x: 62, y: 12, desc: 'Houses the core insert; forms the moving half of the parting surface.' }, { id: 'core_insert', en: 'Core Insert', x: 78, y: 12, desc: 'Hardened steel forming the male geometry. Easily replaceable.' }, { id: 'top_clamping', en: 'Top Clamping Platen', x: 92, y: 18, desc: 'Clamps the mold shut and transfers machine tonnage.' }, { id: 'injection_part', en: 'Injection System', x: 88, y: 28, desc: 'The sprue and runner system channeling molten plastic.' }, { id: 'screw', en: 'Assembly Screws', x: 93, y: 36, desc: 'High-tensile screws securing mold plates together.' }, { id: 'cavity_insert', en: 'Cavity Insert', x: 92, y: 52, desc: 'Steel block forming the female geometry of the part.' }, { id: 'nylon_switch_r', en: 'Nylon Latch Switch', x: 90, y: 68, desc: 'Controls the plate opening sequence during demolding.' }, { id: 'cooling_channel', en: 'Cooling Channel', x: 82, y: 84, desc: 'Water passages for thermal control and cycle time optimization.' }, { id: 'water_plug', en: 'Water Plug', x: 50, y: 95, desc: 'Redirects coolant flow within the plates.' }, { id: 'nylon_switch_b', en: 'Bottom Nylon Switch', x: 66, y: 95, desc: 'Ensures balanced plate separation during opening.' }, { id: 'ejector_pin_plate', en: 'Ejector Pin Plate', x: 8, y: 27, desc: 'Drives all ejector pins simultaneously to release the part.' }, { id: 'ejpin_back', en: 'Ejector Back Plate', x: 8, y: 36, desc: 'Retains ejector pins and distributes machine ejector force.' }, { id: 'ejbar_connector', en: 'Ejector Bar Connector', x: 8, y: 46, desc: 'Interface between the press and the mold ejection system.' }, { id: 'support_pillar', en: 'Support Pillar', x: 16, y: 58, desc: 'Prevents mold base deflection under high tonnage.' }, { id: 'ejector_pin', en: 'Ejector Pin', x: 12, y: 69, desc: 'Pushes the solidified part out of the core.' }, { id: 'return_pin', en: 'Return Pin', x: 10, y: 81, desc: 'Resets the ejector system when the mold closes.' } ]; var container = document.getElementById('moldImgContainer'); var list = document.getElementById('moldPartsList'); var placeholder = document.getElementById('moldPlaceholder'); var detail = document.getElementById('moldDetail'); var nameEl = document.getElementById('moldPartName'); var descEl = document.getElementById('moldPartDesc'); if (!container || !list) return; function activate(p) { container.querySelectorAll('.mold-hotspot').forEach(function (d) { d.classList.remove('active'); }); list.querySelectorAll('.mold-part-btn').forEach(function (b) { b.classList.remove('active'); }); var dot = document.getElementById('hs_' + p.id); var btn = document.getElementById('btn_' + p.id); if (dot) dot.classList.add('active'); if (btn) { btn.classList.add('active'); btn.scrollIntoView({ block: 'nearest', behavior: 'smooth' }); } placeholder.style.display = 'none'; detail.classList.add('show'); nameEl.textContent = p.en; descEl.textContent = p.desc; } parts.forEach(function (p, i) { var dot = document.createElement('div'); dot.className = 'mold-hotspot'; dot.id = 'hs_' + p.id; dot.style.left = p.x + '%'; dot.style.top = p.y + '%'; dot.addEventListener('click', function () { activate(p); }); container.appendChild(dot); var btn = document.createElement('button'); btn.className = 'mold-part-btn'; btn.id = 'btn_' + p.id; var num = document.createElement('span'); num.style.cssText = 'color:#999;width:25px;display:inline-block'; num.textContent = (i + 1); btn.appendChild(num); btn.appendChild(document.createTextNode(p.en)); btn.addEventListener('click', function () { activate(p); }); list.appendChild(btn); }); }); <\/script><div class=\"mold-embed-box\" id=\"moldEmbedBox\"><div class=\"meb-head\"><span class=\"meb-title\">Use this diagram on your website \u2014 free<\/span><span class=\"meb-sub\">Copy the code below. A credit link is included.<\/span><\/div><textarea class=\"meb-code\" id=\"moldEmbedCode\" readonly rows=\"6\">&lt;iframe id=&quot;tw-moldstruct-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html?moldstruct_embed=1&quot; width=&quot;100%&quot; height=&quot;900&quot; loading=&quot;lazy&quot; style=&quot;max-width:1200px;border:0;&quot; title=&quot;Injection Mold Structure&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twMoldStructHeight){var f=document.getElementById(&quot;tw-moldstruct-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twMoldStructHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html&quot;&gt;Injection Mold Structure&lt;\/a&gt; guide by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" class=\"meb-btn\" id=\"moldEmbedBtn\">Copy embed code<\/button><\/div><style> .mold-embed-box{max-width:1200px;margin:25px auto;padding:20px;background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 3px 15px rgba(0,0,0,0.06);font-family:var(--theme-font-family, sans-serif);} .mold-embed-box .meb-head{margin-bottom:12px;} .mold-embed-box .meb-title{display:block;font-weight:700;color:#1a1a2e;font-size:1rem;} .mold-embed-box .meb-sub{display:block;font-size:0.8rem;color:#888;margin-top:3px;} .mold-embed-box .meb-code{width:100%;box-sizing:border-box;padding:12px;font-family:monospace;font-size:0.8rem;color:#444;background:#f8f9fa;border:1px solid #e5e5e5;border-radius:6px;resize:vertical;line-height:1.5;} .mold-embed-box .meb-btn{margin-top:12px;padding:10px 20px;border:none;cursor:pointer;background:#e8b84b;color:#fff;font-weight:700;border-radius:6px;transition:background 0.2s ease;} .mold-embed-box .meb-btn:hover{background:#d6a63c;} .mold-embed-box .meb-btn.copied{background:#22c55e;} <\/style><script> document.addEventListener('DOMContentLoaded', function () { var box = document.getElementById('moldEmbedBox'); if (!box) return; var code = box.querySelector('#moldEmbedCode'); var btn = box.querySelector('#moldEmbedBtn'); var label = btn.textContent; function flash() { btn.classList.add('copied'); btn.textContent = 'Copied!'; setTimeout(function () { btn.classList.remove('copied'); btn.textContent = label; }, 1800); } btn.addEventListener('click', function () { code.focus(); code.select(); if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(code.value).then(flash, function () { document.execCommand('copy'); flash(); }); } else { document.execCommand('copy'); flash(); } }); }); <\/script><\/div><div id=\"molding-cycle\" class=\"wp-block-group tw-tool tw-cat-process is-layout-flow wp-block-group-is-layout-flow\"><iframe id=\"imc-7705\" title=\"Injection Molding Cycle\" loading=\"lazy\" scrolling=\"no\" srcdoc=\"&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n&lt;head&gt;\n&lt;meta charset=&quot;UTF-8&quot;&gt;\n&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;\n&lt;title&gt;Injection Molding Cycle&lt;\/title&gt;\n&lt;style&gt; :root { --bg: #fafaf7; --surface: #ffffff; --border: rgba(0,0,0,0.1); --border-strong: rgba(0,0,0,0.2); --text-primary: #1a1a1a; --text-secondary: #666; --text-tertiary: #999; --accent: #185FA5; --accent-bg: #E6F1FB; --steel: #6b6e73; --steel-dark: #3a3d42; --steel-light: #a8abb0; --heater: #c44b1a; --heater-glow: #f29050; --melt: #d4581f; --melt-hot: #e8743b; --pellet: #e8e2d0; --water: #3B8BD4; --frozen: #b8c8d8; } @media (prefers-color-scheme: dark) { :root { --bg: #1a1a1a; --surface: #242424; --border: rgba(255,255,255,0.1); --border-strong: rgba(255,255,255,0.2); --text-primary: #f0f0f0; --text-secondary: #b0b0b0; --text-tertiary: #777; --accent: #5BA3E8; --accent-bg: #1a3a5c; --steel: #8a8d92; --steel-light: #b8bbc0; } } * { box-sizing: border-box; } html, body { margin: 0; padding: 0; font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif; background: transparent; color: var(--text-primary); line-height: 1.4; font-size: 13px; } .card { max-width: 640px; margin: 0 auto; background: var(--surface); border: 0.5px solid var(--border); border-radius: 10px; padding: 12px 14px; overflow: hidden; } .card-header { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 8px; gap: 10px; } .card-header h2 { margin: 0; font-size: 14px; font-weight: 600; color: var(--text-primary); } .card-header .sub { font-size: 11px; color: var(--text-tertiary); } .stage-bar { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; margin-bottom: 8px; } .stage-pill { padding: 5px 4px; background: var(--bg); border: 0.5px solid var(--border); border-radius: 5px; text-align: center; cursor: pointer; transition: all 0.15s; font-size: 11px; line-height: 1.2; } .stage-pill:hover { border-color: var(--border-strong); } .stage-pill.active { background: var(--accent-bg); border-color: var(--accent); color: var(--accent); font-weight: 500; } .stage-pill .num { display: block; font-size: 9px; color: var(--text-tertiary); letter-spacing: 0.3px; } .stage-pill.active .num { color: var(--accent); opacity: 0.8; } .stage-pill .name { font-size: 11px; } .machine-wrap { background: var(--bg); border-radius: 6px; padding: 6px; margin-bottom: 8px; } .machine-svg { width: 100%; height: auto; display: block; } .controls { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; } .play-btn { background: var(--accent); color: white; border: none; padding: 5px 10px; border-radius: 5px; font-size: 11px; font-weight: 500; cursor: pointer; min-width: 56px; height: 24px; display: inline-flex; align-items: center; justify-content: center; gap: 3px; } .play-btn:hover { opacity: 0.85; } .reset-btn { background: transparent; color: var(--text-secondary); border: 0.5px solid var(--border-strong); padding: 5px 8px; border-radius: 5px; font-size: 11px; cursor: pointer; height: 24px; } .reset-btn:hover { background: var(--bg); } .timeline-wrap { flex: 1; display: flex; align-items: center; gap: 6px; min-width: 0; } .timeline { flex: 1; height: 4px; background: var(--border); border-radius: 2px; appearance: none; -webkit-appearance: none; cursor: pointer; outline: none; margin: 0; } .timeline::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 12px; height: 12px; background: var(--accent); border-radius: 50%; cursor: pointer; } .timeline::-moz-range-thumb { width: 12px; height: 12px; background: var(--accent); border-radius: 50%; border: none; cursor: pointer; } .time-label { font-size: 10px; color: var(--text-secondary); font-variant-numeric: tabular-nums; min-width: 48px; text-align: right; } .speed-select { background: var(--surface); border: 0.5px solid var(--border-strong); border-radius: 4px; padding: 3px 4px; font-size: 10px; color: var(--text-primary); cursor: pointer; height: 24px; } .info { background: var(--bg); border-radius: 6px; padding: 8px 10px; font-size: 11px; } .info-title { font-size: 12px; font-weight: 600; color: var(--accent); margin-bottom: 3px; } .info-desc { color: var(--text-secondary); margin-bottom: 6px; line-height: 1.45; } .info-keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; } .info-key { background: var(--surface); border-radius: 4px; padding: 4px 6px; border: 0.5px solid var(--border); } .info-key .label { font-size: 9px; color: var(--text-tertiary); text-transform: uppercase; letter-spacing: 0.4px; margin-bottom: 1px; } .info-key .value { color: var(--text-primary); font-weight: 500; font-size: 11px; } .legend { display: flex; flex-wrap: wrap; gap: 8px 12px; margin-top: 6px; padding-top: 6px; border-top: 0.5px solid var(--border); font-size: 10px; color: var(--text-secondary); } .legend-item { display: flex; align-items: center; gap: 4px; } .legend-swatch { width: 8px; height: 8px; border-radius: 2px; border: 0.5px solid var(--border); } @media (max-width: 480px) { .card { padding: 10px; border-radius: 8px; } .stage-pill { padding: 4px 2px; } .stage-pill .num { font-size: 8px; } .stage-pill .name { font-size: 10px; } .info-keys { grid-template-columns: 1fr 1fr; } }\n&lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;div class=&quot;card&quot;&gt; &lt;div class=&quot;card-header&quot;&gt; &lt;h2&gt;Injection Molding Cycle&lt;\/h2&gt; &lt;span class=&quot;sub&quot;&gt;Interactive simulator&lt;\/span&gt; &lt;\/div&gt; &lt;div class=&quot;stage-bar&quot; id=&quot;stageBar&quot;&gt; &lt;div class=&quot;stage-pill active&quot; data-stage=&quot;0&quot;&gt;&lt;span class=&quot;num&quot;&gt;P1&lt;\/span&gt;&lt;span class=&quot;name&quot;&gt;Clamping&lt;\/span&gt;&lt;\/div&gt; &lt;div class=&quot;stage-pill&quot; data-stage=&quot;1&quot;&gt;&lt;span class=&quot;num&quot;&gt;P2&lt;\/span&gt;&lt;span class=&quot;name&quot;&gt;Injection&lt;\/span&gt;&lt;\/div&gt; &lt;div class=&quot;stage-pill&quot; data-stage=&quot;2&quot;&gt;&lt;span class=&quot;num&quot;&gt;P3&lt;\/span&gt;&lt;span class=&quot;name&quot;&gt;Packing&lt;\/span&gt;&lt;\/div&gt; &lt;div class=&quot;stage-pill&quot; data-stage=&quot;3&quot;&gt;&lt;span class=&quot;num&quot;&gt;P4&lt;\/span&gt;&lt;span class=&quot;name&quot;&gt;Cooling&lt;\/span&gt;&lt;\/div&gt; &lt;div class=&quot;stage-pill&quot; data-stage=&quot;4&quot;&gt;&lt;span class=&quot;num&quot;&gt;P5&lt;\/span&gt;&lt;span class=&quot;name&quot;&gt;Ejection&lt;\/span&gt;&lt;\/div&gt; &lt;\/div&gt; &lt;div class=&quot;machine-wrap&quot;&gt; &lt;svg class=&quot;machine-svg&quot; viewBox=&quot;0 0 1000 380&quot; xmlns=&quot;http:\/\/www.w3.org\/2000\/svg&quot;&gt; &lt;defs&gt; &lt;linearGradient id=&quot;barrelGrad&quot; x1=&quot;0&quot; y1=&quot;0&quot; x2=&quot;0&quot; y2=&quot;1&quot;&gt; &lt;stop offset=&quot;0%&quot; stop-color=&quot;var(--steel)&quot;\/&gt; &lt;stop offset=&quot;100%&quot; stop-color=&quot;var(--steel-dark)&quot;\/&gt; &lt;\/linearGradient&gt; &lt;linearGradient id=&quot;moldGrad&quot; x1=&quot;0&quot; y1=&quot;0&quot; x2=&quot;0&quot; y2=&quot;1&quot;&gt; &lt;stop offset=&quot;0%&quot; stop-color=&quot;var(--steel-light)&quot;\/&gt; &lt;stop offset=&quot;100%&quot; stop-color=&quot;var(--steel)&quot;\/&gt; &lt;\/linearGradient&gt; &lt;linearGradient id=&quot;meltGrad&quot; x1=&quot;0&quot; y1=&quot;0&quot; x2=&quot;1&quot; y2=&quot;0&quot;&gt; &lt;stop offset=&quot;0%&quot; stop-color=&quot;var(--melt)&quot;\/&gt; &lt;stop offset=&quot;100%&quot; stop-color=&quot;var(--melt-hot)&quot;\/&gt; &lt;\/linearGradient&gt; &lt;radialGradient id=&quot;heaterGlow&quot; cx=&quot;0.5&quot; cy=&quot;0.5&quot; r=&quot;0.5&quot;&gt; &lt;stop offset=&quot;0%&quot; stop-color=&quot;var(--heater-glow)&quot; stop-opacity=&quot;0.6&quot;\/&gt; &lt;stop offset=&quot;100%&quot; stop-color=&quot;var(--heater)&quot; stop-opacity=&quot;0&quot;\/&gt; &lt;\/radialGradient&gt; &lt;\/defs&gt; &lt;rect x=&quot;40&quot; y=&quot;320&quot; width=&quot;920&quot; height=&quot;18&quot; fill=&quot;var(--steel-dark)&quot; rx=&quot;3&quot;\/&gt; &lt;rect x=&quot;60&quot; y=&quot;338&quot; width=&quot;40&quot; height=&quot;28&quot; fill=&quot;var(--steel-dark)&quot;\/&gt; &lt;rect x=&quot;900&quot; y=&quot;338&quot; width=&quot;40&quot; height=&quot;28&quot; fill=&quot;var(--steel-dark)&quot;\/&gt; &lt;text x=&quot;350&quot; y=&quot;50&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;500&quot; fill=&quot;var(--text-secondary)&quot;&gt;INJECTION UNIT&lt;\/text&gt; &lt;line x1=&quot;200&quot; y1=&quot;58&quot; x2=&quot;500&quot; y2=&quot;58&quot; stroke=&quot;var(--text-tertiary)&quot; stroke-width=&quot;0.5&quot; stroke-dasharray=&quot;3 3&quot;\/&gt; &lt;text x=&quot;780&quot; y=&quot;50&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;500&quot; fill=&quot;var(--text-secondary)&quot;&gt;CLAMPING UNIT&lt;\/text&gt; &lt;line x1=&quot;600&quot; y1=&quot;58&quot; x2=&quot;960&quot; y2=&quot;58&quot; stroke=&quot;var(--text-tertiary)&quot; stroke-width=&quot;0.5&quot; stroke-dasharray=&quot;3 3&quot;\/&gt; &lt;g id=&quot;hopper&quot;&gt; &lt;polygon points=&quot;160,80 240,80 220,150 180,150&quot; fill=&quot;var(--steel-light)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;1&quot;\/&gt; &lt;polygon points=&quot;160,80 240,80 235,90 165,90&quot; fill=&quot;var(--steel)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;1&quot;\/&gt; &lt;g id=&quot;hopperPellets&quot;&gt; &lt;circle cx=&quot;180&quot; cy=&quot;100&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;circle cx=&quot;190&quot; cy=&quot;98&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;circle cx=&quot;200&quot; cy=&quot;102&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;circle cx=&quot;210&quot; cy=&quot;99&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;circle cx=&quot;220&quot; cy=&quot;103&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;circle cx=&quot;185&quot; cy=&quot;110&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;circle cx=&quot;195&quot; cy=&quot;112&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;circle cx=&quot;205&quot; cy=&quot;108&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;circle cx=&quot;215&quot; cy=&quot;111&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;circle cx=&quot;190&quot; cy=&quot;120&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;circle cx=&quot;200&quot; cy=&quot;118&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;circle cx=&quot;210&quot; cy=&quot;121&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;circle cx=&quot;195&quot; cy=&quot;130&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;circle cx=&quot;205&quot; cy=&quot;132&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;circle cx=&quot;200&quot; cy=&quot;140&quot; r=&quot;2.5&quot; fill=&quot;var(--pellet)&quot;\/&gt; &lt;\/g&gt; &lt;text x=&quot;200&quot; y=&quot;74&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;var(--text-tertiary)&quot;&gt;Hopper&lt;\/text&gt; &lt;\/g&gt; &lt;rect x=&quot;195&quot; y=&quot;150&quot; width=&quot;10&quot; height=&quot;20&quot; fill=&quot;var(--steel-light)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;g id=&quot;barrel&quot;&gt; &lt;ellipse cx=&quot;260&quot; cy=&quot;200&quot; rx=&quot;20&quot; ry=&quot;35&quot; fill=&quot;url(#heaterGlow)&quot; opacity=&quot;0.7&quot;\/&gt; &lt;ellipse cx=&quot;340&quot; cy=&quot;200&quot; rx=&quot;20&quot; ry=&quot;35&quot; fill=&quot;url(#heaterGlow)&quot; opacity=&quot;0.7&quot;\/&gt; &lt;ellipse cx=&quot;420&quot; cy=&quot;200&quot; rx=&quot;20&quot; ry=&quot;35&quot; fill=&quot;url(#heaterGlow)&quot; opacity=&quot;0.7&quot;\/&gt; &lt;ellipse cx=&quot;490&quot; cy=&quot;200&quot; rx=&quot;18&quot; ry=&quot;35&quot; fill=&quot;url(#heaterGlow)&quot; opacity=&quot;0.7&quot;\/&gt; &lt;rect x=&quot;200&quot; y=&quot;170&quot; width=&quot;320&quot; height=&quot;60&quot; fill=&quot;url(#barrelGrad)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;1&quot; rx=&quot;4&quot;\/&gt; &lt;rect x=&quot;245&quot; y=&quot;165&quot; width=&quot;30&quot; height=&quot;70&quot; fill=&quot;none&quot; stroke=&quot;var(--heater)&quot; stroke-width=&quot;3&quot; rx=&quot;2&quot; opacity=&quot;0.85&quot;\/&gt; &lt;rect x=&quot;325&quot; y=&quot;165&quot; width=&quot;30&quot; height=&quot;70&quot; fill=&quot;none&quot; stroke=&quot;var(--heater)&quot; stroke-width=&quot;3&quot; rx=&quot;2&quot; opacity=&quot;0.85&quot;\/&gt; &lt;rect x=&quot;405&quot; y=&quot;165&quot; width=&quot;30&quot; height=&quot;70&quot; fill=&quot;none&quot; stroke=&quot;var(--heater)&quot; stroke-width=&quot;3&quot; rx=&quot;2&quot; opacity=&quot;0.85&quot;\/&gt; &lt;rect x=&quot;475&quot; y=&quot;165&quot; width=&quot;25&quot; height=&quot;70&quot; fill=&quot;none&quot; stroke=&quot;var(--heater)&quot; stroke-width=&quot;3&quot; rx=&quot;2&quot; opacity=&quot;0.85&quot;\/&gt; &lt;rect x=&quot;205&quot; y=&quot;180&quot; width=&quot;310&quot; height=&quot;40&quot; fill=&quot;var(--steel-dark)&quot; rx=&quot;2&quot;\/&gt; &lt;rect id=&quot;meltPool&quot; x=&quot;450&quot; y=&quot;183&quot; width=&quot;65&quot; height=&quot;34&quot; fill=&quot;url(#meltGrad)&quot; rx=&quot;2&quot;\/&gt; &lt;g id=&quot;screw&quot;&gt; &lt;rect x=&quot;100&quot; y=&quot;195&quot; width=&quot;350&quot; height=&quot;10&quot; fill=&quot;var(--steel-dark)&quot;\/&gt; &lt;g id=&quot;screwFlights&quot;&gt; &lt;path d=&quot;M 110 200 L 115 188 L 125 188 L 130 200 L 125 212 L 115 212 Z&quot; fill=&quot;var(--steel)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;path d=&quot;M 140 200 L 145 188 L 155 188 L 160 200 L 155 212 L 145 212 Z&quot; fill=&quot;var(--steel)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;path d=&quot;M 170 200 L 175 188 L 185 188 L 190 200 L 185 212 L 175 212 Z&quot; fill=&quot;var(--steel)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;path d=&quot;M 200 200 L 205 188 L 215 188 L 220 200 L 215 212 L 205 212 Z&quot; fill=&quot;var(--steel)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;path d=&quot;M 230 200 L 235 188 L 245 188 L 250 200 L 245 212 L 235 212 Z&quot; fill=&quot;var(--steel)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;path d=&quot;M 260 200 L 265 188 L 275 188 L 280 200 L 275 212 L 265 212 Z&quot; fill=&quot;var(--steel)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;path d=&quot;M 290 200 L 295 188 L 305 188 L 310 200 L 305 212 L 295 212 Z&quot; fill=&quot;var(--steel)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;path d=&quot;M 320 200 L 325 188 L 335 188 L 340 200 L 335 212 L 325 212 Z&quot; fill=&quot;var(--steel)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;path d=&quot;M 350 200 L 355 188 L 365 188 L 370 200 L 365 212 L 355 212 Z&quot; fill=&quot;var(--steel)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;path d=&quot;M 380 200 L 385 188 L 395 188 L 400 200 L 395 212 L 385 212 Z&quot; fill=&quot;var(--steel)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;path d=&quot;M 410 200 L 415 188 L 425 188 L 430 200 L 425 212 L 415 212 Z&quot; fill=&quot;var(--steel)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;polygon points=&quot;440,188 450,200 440,212&quot; fill=&quot;var(--steel)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;\/g&gt; &lt;\/g&gt; &lt;polygon points=&quot;520,190 540,196 540,204 520,210&quot; fill=&quot;var(--steel-dark)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;1&quot;\/&gt; &lt;rect x=&quot;540&quot; y=&quot;196&quot; width=&quot;15&quot; height=&quot;8&quot; fill=&quot;var(--steel-dark)&quot;\/&gt; &lt;\/g&gt; &lt;g id=&quot;mold&quot;&gt; &lt;g id=&quot;moldFixed&quot;&gt; &lt;rect x=&quot;555&quot; y=&quot;130&quot; width=&quot;80&quot; height=&quot;140&quot; fill=&quot;url(#moldGrad)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;1&quot; rx=&quot;3&quot;\/&gt; &lt;path d=&quot;M 555 198 L 575 195 L 575 205 L 555 202 Z&quot; fill=&quot;var(--steel-dark)&quot;\/&gt; &lt;path d=&quot;M 635 175 L 615 175 Q 605 175 605 185 L 605 215 Q 605 225 615 225 L 635 225 Z&quot; fill=&quot;var(--bg)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;circle cx=&quot;580&quot; cy=&quot;160&quot; r=&quot;5&quot; fill=&quot;var(--water)&quot; opacity=&quot;0.6&quot;\/&gt; &lt;circle cx=&quot;580&quot; cy=&quot;160&quot; r=&quot;2.5&quot; fill=&quot;var(--water)&quot;\/&gt; &lt;circle cx=&quot;580&quot; cy=&quot;240&quot; r=&quot;5&quot; fill=&quot;var(--water)&quot; opacity=&quot;0.6&quot;\/&gt; &lt;circle cx=&quot;580&quot; cy=&quot;240&quot; r=&quot;2.5&quot; fill=&quot;var(--water)&quot;\/&gt; &lt;\/g&gt; &lt;g id=&quot;moldMoving&quot;&gt; &lt;rect x=&quot;635&quot; y=&quot;130&quot; width=&quot;80&quot; height=&quot;140&quot; fill=&quot;url(#moldGrad)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;1&quot; rx=&quot;3&quot;\/&gt; &lt;path d=&quot;M 635 175 L 655 175 Q 665 175 665 185 L 665 215 Q 665 225 655 225 L 635 225 Z&quot; fill=&quot;var(--bg)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;circle cx=&quot;690&quot; cy=&quot;160&quot; r=&quot;5&quot; fill=&quot;var(--water)&quot; opacity=&quot;0.6&quot;\/&gt; &lt;circle cx=&quot;690&quot; cy=&quot;160&quot; r=&quot;2.5&quot; fill=&quot;var(--water)&quot;\/&gt; &lt;circle cx=&quot;690&quot; cy=&quot;240&quot; r=&quot;5&quot; fill=&quot;var(--water)&quot; opacity=&quot;0.6&quot;\/&gt; &lt;circle cx=&quot;690&quot; cy=&quot;240&quot; r=&quot;2.5&quot; fill=&quot;var(--water)&quot;\/&gt; &lt;g id=&quot;ejectorPins&quot; opacity=&quot;0&quot;&gt; &lt;rect x=&quot;680&quot; y=&quot;190&quot; width=&quot;3&quot; height=&quot;20&quot; fill=&quot;var(--steel-light)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;rect x=&quot;665&quot; y=&quot;190&quot; width=&quot;3&quot; height=&quot;20&quot; fill=&quot;var(--steel-light)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;\/g&gt; &lt;\/g&gt; &lt;g id=&quot;moldedPart&quot; opacity=&quot;0&quot;&gt; &lt;path d=&quot;M 605 175 L 665 175 Q 675 175 675 185 L 675 215 Q 675 225 665 225 L 605 225 Q 595 225 595 215 L 595 185 Q 595 175 605 175 Z&quot; fill=&quot;url(#meltGrad)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;\/g&gt; &lt;\/g&gt; &lt;line x1=&quot;540&quot; y1=&quot;145&quot; x2=&quot;730&quot; y2=&quot;145&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;3&quot;\/&gt; &lt;line x1=&quot;540&quot; y1=&quot;255&quot; x2=&quot;730&quot; y2=&quot;255&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;3&quot;\/&gt; &lt;g id=&quot;ejectedPart&quot; opacity=&quot;0&quot;&gt; &lt;path d=&quot;M 745 195 L 775 195 Q 780 195 780 200 L 780 210 Q 780 215 775 215 L 745 215 Q 740 215 740 210 L 740 200 Q 740 195 745 195 Z&quot; fill=&quot;var(--frozen)&quot; stroke=&quot;var(--steel-dark)&quot; stroke-width=&quot;0.5&quot;\/&gt; &lt;\/g&gt; &lt;text x=&quot;378&quot; y=&quot;158&quot; text-anchor=&quot;middle&quot; font-size=&quot;8&quot; fill=&quot;var(--text-tertiary)&quot;&gt;Heater bands&lt;\/text&gt; &lt;text x=&quot;500&quot; y=&quot;248&quot; text-anchor=&quot;middle&quot; font-size=&quot;8&quot; fill=&quot;var(--text-tertiary)&quot;&gt;Nozzle&lt;\/text&gt; &lt;text x=&quot;595&quot; y=&quot;124&quot; text-anchor=&quot;middle&quot; font-size=&quot;8&quot; fill=&quot;var(--text-tertiary)&quot;&gt;Fixed half&lt;\/text&gt; &lt;text x=&quot;675&quot; y=&quot;124&quot; text-anchor=&quot;middle&quot; font-size=&quot;8&quot; fill=&quot;var(--text-tertiary)&quot;&gt;Moving half&lt;\/text&gt; &lt;text x=&quot;690&quot; y=&quot;270&quot; text-anchor=&quot;middle&quot; font-size=&quot;8&quot; fill=&quot;var(--text-tertiary)&quot;&gt;Cooling channels&lt;\/text&gt; &lt;text x=&quot;280&quot; y=&quot;248&quot; text-anchor=&quot;middle&quot; font-size=&quot;8&quot; fill=&quot;var(--text-tertiary)&quot;&gt;Reciprocating screw&lt;\/text&gt; &lt;g id=&quot;statusIndicator&quot; transform=&quot;translate(870, 90)&quot;&gt; &lt;circle id=&quot;statusDot&quot; cx=&quot;0&quot; cy=&quot;0&quot; r=&quot;5&quot; fill=&quot;var(--accent)&quot;\/&gt; &lt;text x=&quot;10&quot; y=&quot;3&quot; font-size=&quot;10&quot; font-weight=&quot;500&quot; fill=&quot;var(--text-primary)&quot; id=&quot;statusText&quot;&gt;Clamping&lt;\/text&gt; &lt;\/g&gt; &lt;\/svg&gt; &lt;\/div&gt; &lt;div class=&quot;controls&quot;&gt; &lt;button class=&quot;play-btn&quot; id=&quot;playBtn&quot;&gt;\u25b6 Play&lt;\/button&gt; &lt;button class=&quot;reset-btn&quot; id=&quot;resetBtn&quot;&gt;\u21ba&lt;\/button&gt; &lt;div class=&quot;timeline-wrap&quot;&gt; &lt;input type=&quot;range&quot; class=&quot;timeline&quot; id=&quot;timeline&quot; min=&quot;0&quot; max=&quot;1000&quot; value=&quot;0&quot; step=&quot;1&quot;&gt; &lt;span class=&quot;time-label&quot; id=&quot;timeLabel&quot;&gt;0.0 \/ 30s&lt;\/span&gt; &lt;\/div&gt; &lt;select class=&quot;speed-select&quot; id=&quot;speedSelect&quot;&gt; &lt;option value=&quot;0.5&quot;&gt;0.5\u00d7&lt;\/option&gt; &lt;option value=&quot;1&quot; selected&gt;1\u00d7&lt;\/option&gt; &lt;option value=&quot;2&quot;&gt;2\u00d7&lt;\/option&gt; &lt;option value=&quot;4&quot;&gt;4\u00d7&lt;\/option&gt; &lt;\/select&gt; &lt;\/div&gt; &lt;div class=&quot;info&quot;&gt; &lt;div class=&quot;info-title&quot; id=&quot;infoTitle&quot;&gt;Phase 1 \u2014 Clamping&lt;\/div&gt; &lt;div class=&quot;info-desc&quot; id=&quot;infoDesc&quot;&gt;The two halves of the mold close and clamp shut with massive force, sealing the cavity against the upcoming injection pressure.&lt;\/div&gt; &lt;div class=&quot;info-keys&quot; id=&quot;keypoints&quot;&gt;&lt;\/div&gt; &lt;div class=&quot;legend&quot;&gt; &lt;div class=&quot;legend-item&quot;&gt;&lt;span class=&quot;legend-swatch&quot; style=&quot;background: var(--melt);&quot;&gt;&lt;\/span&gt;Molten&lt;\/div&gt; &lt;div class=&quot;legend-item&quot;&gt;&lt;span class=&quot;legend-swatch&quot; style=&quot;background: var(--frozen);&quot;&gt;&lt;\/span&gt;Solidified&lt;\/div&gt; &lt;div class=&quot;legend-item&quot;&gt;&lt;span class=&quot;legend-swatch&quot; style=&quot;background: var(--pellet);&quot;&gt;&lt;\/span&gt;Pellets&lt;\/div&gt; &lt;div class=&quot;legend-item&quot;&gt;&lt;span class=&quot;legend-swatch&quot; style=&quot;background: var(--water);&quot;&gt;&lt;\/span&gt;Coolant&lt;\/div&gt; &lt;div class=&quot;legend-item&quot;&gt;&lt;span class=&quot;legend-swatch&quot; style=&quot;background: var(--heater);&quot;&gt;&lt;\/span&gt;Heaters&lt;\/div&gt; &lt;\/div&gt; &lt;\/div&gt; &lt;\/div&gt; &lt;script&gt;\nconst PHASES = [ { name: &#039;Clamping&#039;, title: &#039;Phase 1 \u2014 Clamping&#039;, desc: &#039;The clamping unit pushes the moving mold half against the fixed half, applying extreme tonnage to seal the cavity.&#039;, start: 0, end: 2, keys: [ { label: &#039;Duration&#039;, value: &#039;~2 sec&#039; }, { label: &#039;Force&#039;, value: &#039;100s\u20131000s tons&#039; }, { label: &#039;Action&#039;, value: &#039;Mold closes&#039; } ] }, { name: &#039;Injection&#039;, title: &#039;Phase 2 \u2014 Injection&#039;, desc: &#039;The screw drives forward like a plunger, forcing molten plastic out of the nozzle and into the empty mold cavity at high speed.&#039;, start: 2, end: 5, keys: [ { label: &#039;Duration&#039;, value: &#039;~3 sec&#039; }, { label: &#039;Pressure&#039;, value: &#039;Up to 30k psi&#039; }, { label: &#039;Action&#039;, value: &#039;Screw forward&#039; } ] }, { name: &#039;Packing&#039;, title: &#039;Phase 3 \u2014 Packing&#039;, desc: &#039;The screw holds forward pressure to push extra plastic into the cavity, compensating for shrinkage to prevent sink marks.&#039;, start: 5, end: 8, keys: [ { label: &#039;Duration&#039;, value: &#039;~3 sec&#039; }, { label: &#039;Pressure&#039;, value: &#039;Held constant&#039; }, { label: &#039;Action&#039;, value: &#039;Compensate&#039; } ] }, { name: &#039;Cooling&#039;, title: &#039;Phase 4 \u2014 Cooling &amp; Recovery&#039;, desc: &#039;Water freezes the part solid. Meanwhile the screw rotates to draw new pellets, melting them via shear heat as it retracts.&#039;, start: 8, end: 26, keys: [ { label: &#039;Duration&#039;, value: &#039;~18 sec&#039; }, { label: &#039;In mold&#039;, value: &#039;Part freezes&#039; }, { label: &#039;In barrel&#039;, value: &#039;New melt&#039; } ] }, { name: &#039;Ejection&#039;, title: &#039;Phase 5 \u2014 Ejection&#039;, desc: &#039;The clamp releases tonnage and opens the mold. Ejector pins push the part off the core. The part falls free; cycle restarts.&#039;, start: 26, end: 30, keys: [ { label: &#039;Duration&#039;, value: &#039;~4 sec&#039; }, { label: &#039;Mechanism&#039;, value: &#039;Ejector pins&#039; }, { label: &#039;Action&#039;, value: &#039;Part drops&#039; } ] }\n]; const TOTAL_DURATION = 30;\nconst TIMELINE_MAX = 1000; let currentTime = 0;\nlet isPlaying = false;\nlet lastFrameTime = 0;\nlet speed = 1;\nlet currentPhaseIdx = -1; const $ = (id) =&gt; document.getElementById(id);\nconst playBtn = $(&#039;playBtn&#039;), resetBtn = $(&#039;resetBtn&#039;), timeline = $(&#039;timeline&#039;), timeLabel = $(&#039;timeLabel&#039;), speedSelect = $(&#039;speedSelect&#039;), stagePills = document.querySelectorAll(&#039;.stage-pill&#039;), infoTitle = $(&#039;infoTitle&#039;), infoDesc = $(&#039;infoDesc&#039;), keypoints = $(&#039;keypoints&#039;), statusText = $(&#039;statusText&#039;), screw = $(&#039;screw&#039;), moldMoving = $(&#039;moldMoving&#039;), meltPool = $(&#039;meltPool&#039;), moldedPart = $(&#039;moldedPart&#039;), ejectorPins = $(&#039;ejectorPins&#039;), ejectedPart = $(&#039;ejectedPart&#039;), hopperPellets = $(&#039;hopperPellets&#039;), screwFlights = $(&#039;screwFlights&#039;); const lerp = (a, b, t) =&gt; a + (b - a) * t;\nconst clamp = (v, min, max) =&gt; Math.max(min, Math.min(max, v));\nconst easeInOut = (t) =&gt; t &lt; 0.5 ? 2*t*t : 1 - Math.pow(-2*t + 2, 2) \/ 2; function getCurrentPhase(t) { for (let i = 0; i &lt; PHASES.length; i++) { if (t &gt;= PHASES[i].start &amp;&amp; t &lt; PHASES[i].end) return i; } return PHASES.length - 1;\n} function getPhaseProgress(t, phaseIdx) { const p = PHASES[phaseIdx]; return clamp((t - p.start) \/ (p.end - p.start), 0, 1);\n} function updateVisualization(t) { const phaseIdx = getCurrentPhase(t); const phase = PHASES[phaseIdx]; const progress = getPhaseProgress(t, phaseIdx); const eased = easeInOut(progress); let moldOffset = 0; if (phaseIdx === 0) { moldOffset = lerp(50, 0, eased); } else if (phaseIdx === 4) { if (progress &gt; 0.3) { moldOffset = lerp(0, 50, easeInOut((progress - 0.3) \/ 0.7)); } } moldMoving.setAttribute(&#039;transform&#039;, `translate(${moldOffset}, 0)`); let screwX = 0; if (phaseIdx === 1) screwX = lerp(0, 60, eased); else if (phaseIdx === 2) screwX = 60; else if (phaseIdx === 3) screwX = lerp(60, 0, eased); screw.setAttribute(&#039;transform&#039;, `translate(${screwX}, 0)`); let meltWidth = 65, meltX = 450; if (phaseIdx === 1) { meltWidth = lerp(65, 5, eased); meltX = lerp(450, 510, eased); } else if (phaseIdx === 2) { meltWidth = 5; meltX = 510; } else if (phaseIdx === 3) { meltWidth = lerp(5, 65, eased); meltX = lerp(510, 450, eased); } meltPool.setAttribute(&#039;width&#039;, meltWidth); meltPool.setAttribute(&#039;x&#039;, meltX); let partOpacity = 0; let partFill = &#039;url(#meltGrad)&#039;; if (phaseIdx === 0) { partOpacity = 0; } else if (phaseIdx === 1) { partOpacity = eased; partFill = &#039;url(#meltGrad)&#039;; } else if (phaseIdx === 2) { partOpacity = 1; partFill = &#039;url(#meltGrad)&#039;; } else if (phaseIdx === 3) { partOpacity = 1; if (progress &lt; 0.7) { partFill = &#039;url(#meltGrad)&#039;; } else { const coolT = (progress - 0.7) \/ 0.3; partFill = coolT &gt; 0.5 ? &#039;var(--frozen)&#039; : &#039;url(#meltGrad)&#039;; } } else { if (progress &lt; 0.45) { partOpacity = 1; partFill = &#039;var(--frozen)&#039;; } else { partOpacity = 0; partFill = &#039;var(--frozen)&#039;; } } moldedPart.style.opacity = partOpacity; moldedPart.setAttribute(&#039;opacity&#039;, partOpacity); moldedPart.querySelector(&#039;path&#039;).setAttribute(&#039;fill&#039;, partFill); if (phaseIdx === 4 &amp;&amp; progress &gt; 0.4 &amp;&amp; progress &lt; 0.7) { const pinT = (progress - 0.4) \/ 0.3; ejectorPins.setAttribute(&#039;opacity&#039;, 1); ejectorPins.setAttribute(&#039;transform&#039;, `translate(${lerp(0, -15, pinT) + moldOffset}, 0)`); } else { ejectorPins.setAttribute(&#039;opacity&#039;, 0); } if (phaseIdx === 4 &amp;&amp; progress &gt; 0.45) { const fallT = clamp((progress - 0.45) \/ 0.4, 0, 1); const fallEased = easeInOut(fallT); const fallY = lerp(0, 110, fallEased); ejectedPart.setAttribute(&#039;opacity&#039;, 1); ejectedPart.setAttribute(&#039;transform&#039;, `translate(${moldOffset}, ${fallY})`); } else { ejectedPart.setAttribute(&#039;opacity&#039;, 0); } if (phaseIdx === 3) { const flights = screwFlights.querySelectorAll(&#039;path&#039;); const ph = (t * 6) % flights.length; flights.forEach((f, i) =&gt; { const dist = Math.abs(i - ph) % flights.length; f.setAttribute(&#039;opacity&#039;, dist &lt; 1.5 ? 0.6 + (1.5 - dist) * 0.27 : 0.85); }); } else { screwFlights.querySelectorAll(&#039;path&#039;).forEach(f =&gt; f.setAttribute(&#039;opacity&#039;, 1)); } if (phaseIdx === 3) { hopperPellets.querySelectorAll(&#039;circle&#039;).forEach((p, i) =&gt; { p.setAttribute(&#039;opacity&#039;, 0.6 + 0.4 * Math.sin(t * 4 + i)); }); } else { hopperPellets.querySelectorAll(&#039;circle&#039;).forEach(p =&gt; p.setAttribute(&#039;opacity&#039;, 1)); } statusText.textContent = phase.name; if (currentPhaseIdx !== phaseIdx) { setActivePhase(phaseIdx); } timeLabel.textContent = `${t.toFixed(1)} \/ ${TOTAL_DURATION}s`; timeline.value = (t \/ TOTAL_DURATION) * TIMELINE_MAX;\n} function setActivePhase(idx) { currentPhaseIdx = idx; const phase = PHASES[idx]; stagePills.forEach((pill, i) =&gt; pill.classList.toggle(&#039;active&#039;, i === idx)); infoTitle.textContent = phase.title; infoDesc.textContent = phase.desc; keypoints.innerHTML = phase.keys.map(k =&gt; `&lt;div class=&quot;info-key&quot;&gt;&lt;div class=&quot;label&quot;&gt;${k.label}&lt;\/div&gt;&lt;div class=&quot;value&quot;&gt;${k.value}&lt;\/div&gt;&lt;\/div&gt;` ).join(&#039;&#039;);\n} function tick(now) { if (!isPlaying) return; const dt = (now - lastFrameTime) \/ 1000; lastFrameTime = now; currentTime += dt * speed; if (currentTime &gt;= TOTAL_DURATION) currentTime = 0; updateVisualization(currentTime); requestAnimationFrame(tick);\n} playBtn.addEventListener(&#039;click&#039;, () =&gt; { isPlaying = !isPlaying; if (isPlaying) { playBtn.textContent = &#039;\u23f8 Pause&#039;; lastFrameTime = performance.now(); requestAnimationFrame(tick); } else { playBtn.textContent = &#039;\u25b6 Play&#039;; }\n}); resetBtn.addEventListener(&#039;click&#039;, () =&gt; { isPlaying = false; playBtn.textContent = &#039;\u25b6 Play&#039;; currentTime = 0; updateVisualization(currentTime);\n}); timeline.addEventListener(&#039;input&#039;, (e) =&gt; { isPlaying = false; playBtn.textContent = &#039;\u25b6 Play&#039;; currentTime = (e.target.value \/ TIMELINE_MAX) * TOTAL_DURATION; updateVisualization(currentTime);\n}); speedSelect.addEventListener(&#039;change&#039;, (e) =&gt; { speed = parseFloat(e.target.value); }); stagePills.forEach((pill, idx) =&gt; { pill.addEventListener(&#039;click&#039;, () =&gt; { isPlaying = false; playBtn.textContent = &#039;\u25b6 Play&#039;; currentTime = PHASES[idx].start + 0.05; updateVisualization(currentTime); });\n}); setActivePhase(0);\nupdateVisualization(0);\n&lt;\/script&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\" style=\"display:block;width:100%;max-width:664px;height:600px;margin:0 auto;border:0;overflow:hidden;\"><\/iframe><script>(function(){var f=document.getElementById(\"imc-7705\");function r(){try{f.style.height=(f.contentWindow.document.documentElement.scrollHeight)+\"px\";}catch(e){}}f.addEventListener(\"load\",function(){r();setTimeout(r,300);setTimeout(r,1200);try{new ResizeObserver(r).observe(f.contentWindow.document.body);}catch(e){}});window.addEventListener(\"resize\",r);})();<\/script><div class=\"tw-imc-stages\" style=\"max-width:664px;margin:20px auto 0;font-size:13px;line-height:1.5;color:#444;\"><h3 style=\"font-size:15px;font-weight:600;margin:0 0 6px;\">The six stages of injection molding<\/h3><ol style=\"margin:0;padding-left:20px;\"><li><strong>Clamping<\/strong> \u2014 The two mold halves are closed and locked by the clamping unit before injection begins.<\/li><li><strong>Injection<\/strong> \u2014 Molten resin is injected into the mold cavity at controlled speed and pressure.<\/li><li><strong>Dwelling (holding)<\/strong> \u2014 Holding pressure is maintained to compensate for material shrinkage.<\/li><li><strong>Cooling<\/strong> \u2014 The part solidifies inside the mold; cooling time depends on wall thickness and resin.<\/li><li><strong>Mold opening<\/strong> \u2014 The clamping unit retracts and the mold halves separate.<\/li><li><strong>Ejection<\/strong> \u2014 Ejector pins push the finished part out of the cavity; the cycle repeats.<\/li><\/ol><\/div><div class=\"tw-imc-embed\" style=\"max-width:664px;margin:18px auto 0;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f6f8fb;\"><div style=\"font-size:14px;font-weight:600;margin-bottom:3px;\">Use this interactive tool on your website \u2014 free<\/div><div style=\"font-size:12.5px;color:#666;margin-bottom:8px;\">Copy the code below to embed the live simulator on your page. A credit link is included.<\/div><textarea id=\"imc-7705-embed\" readonly rows=\"3\" onclick=\"this.select()\" style=\"width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;padding:8px;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:#fff;color:#333;resize:vertical;\">&lt;iframe id=&quot;tw-imc-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html?imc_embed=1&quot; width=&quot;100%&quot; height=&quot;900&quot; loading=&quot;lazy&quot; style=&quot;max-width:664px;border:0;&quot; title=&quot;Injection Molding Cycle&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twImcHeight){var f=document.getElementById(&quot;tw-imc-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twImcHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Injection Molding Cycle&lt;\/a&gt; tool by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot;&gt;&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"imc-7705-copy\" style=\"margin-top:8px;background:#185FA5;color:#fff;border:0;padding:7px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;\">Copy embed code<\/button><\/div><script>(function(){var b=document.getElementById(\"imc-7705-copy\"),t=document.getElementById(\"imc-7705-embed\");if(!b||!t)return;b.addEventListener(\"click\",function(){t.focus();t.select();var done=function(){b.textContent=\"Copied \\u2713\";setTimeout(function(){b.textContent=\"Copy embed code\";},1500);};if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t.value).then(done,function(){try{document.execCommand(\"copy\");done();}catch(e){}});}else{try{document.execCommand(\"copy\");done();}catch(e){}}});})();<\/script><\/div><div id=\"molding-cycle-simulator\" class=\"wp-block-group tw-tool tw-cat-process is-layout-flow wp-block-group-is-layout-flow\"><div id=\"tw-mold-sim\" class=\"tw-ms\"><header class=\"tw-ms__bar\"><div class=\"tw-ms__title\"><span class=\"tw-ms__dot\"><\/span> Injection Molding Dynamics Simulator <\/div><div class=\"tw-ms__chip\" id=\"tw-ms-chip\">IDLE<\/div><\/header><div class=\"tw-ms__layout\"><div class=\"tw-ms__stage\"><svg viewBox=\"0 0 900 520\" class=\"tw-ms__svg\" preserveAspectRatio=\"xMidYMid meet\"><defs><linearGradient id=\"twSteelFixed\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#2c3a47\"\/><stop offset=\"1\" stop-color=\"#1e272e\"\/><\/linearGradient><linearGradient id=\"twSteelMoving\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"><stop offset=\"0\" stop-color=\"#3d4e5d\"\/><stop offset=\"1\" stop-color=\"#2b3a47\"\/><\/linearGradient><linearGradient id=\"twMeltdown\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"0\"><stop offset=\"0\" stop-color=\"#ffbe53\"\/><stop offset=\"0.5\" stop-color=\"#ff793f\"\/><stop offset=\"1\" stop-color=\"#cd6133\"\/><\/linearGradient><filter id=\"twGlow\" x=\"-30%\" y=\"-30%\" width=\"160%\" height=\"160%\"><feGaussianBlur stdDeviation=\"5\" result=\"blur\"\/><feMerge><feMergeNode in=\"blur\"\/><feMergeNode in=\"SourceGraphic\"\/><\/feMerge><\/filter><clipPath id=\"twCavityClip\"><rect id=\"tw-cavity-rect\" x=\"390\" y=\"200\" width=\"0\" height=\"120\"\/><\/clipPath><\/defs><line x1=\"50\" y1=\"460\" x2=\"850\" y2=\"460\" stroke=\"#2c3a47\" stroke-width=\"4\" stroke-linecap=\"round\"\/><g id=\"tw-fixed-side\"><rect x=\"460\" y=\"80\" width=\"220\" height=\"340\" rx=\"6\" fill=\"url(#twSteelFixed)\" stroke=\"#4b6584\" stroke-width=\"2\"\/><text x=\"570\" y=\"110\" class=\"tw-ms__plabel\" text-anchor=\"middle\">CAVITY SIDE (FIXED)<\/text><path d=\"M460,240 L520,245 L520,255 L460,260 Z\" fill=\"#1e272e\"\/><g id=\"tw-cool-fixed\"><\/g><\/g><g id=\"tw-injection-nozzle\"><path d=\"M780,230 L700,230 L670,250 L700,270 L780,270 Z\" fill=\"#4b5563\" stroke=\"#1e272e\" stroke-width=\"2\"\/><path d=\"M780,247 H685 L670,250 L685,253 H780 Z\" fill=\"#1e272e\"\/><path id=\"tw-nozzle-melt\" d=\"M780,250 H672\" stroke=\"url(#twMeltdown)\" stroke-width=\"5\" fill=\"none\" stroke-linecap=\"round\" opacity=\"0\"\/><text x=\"735\" y=\"220\" class=\"tw-ms__plabel\" text-anchor=\"middle\">NOZZLE<\/text><\/g><g id=\"tw-moving-group\"><rect x=\"180\" y=\"80\" width=\"280\" height=\"340\" rx=\"6\" fill=\"url(#twSteelMoving)\" stroke=\"#57606f\" stroke-width=\"2\"\/><text x=\"320\" y=\"110\" class=\"tw-ms__plabel\" text-anchor=\"middle\">CORE SIDE (MOVING)<\/text><rect x=\"410\" y=\"180\" width=\"50\" height=\"160\" fill=\"#2f3542\" stroke=\"#57606f\"\/><g id=\"tw-cool-moving\"><\/g><g id=\"tw-ejector-system\"><rect class=\"tw-epin\" x=\"330\" y=\"215\" width=\"80\" height=\"6\" fill=\"#a5b1c2\"\/><rect class=\"tw-epin\" x=\"330\" y=\"295\" width=\"80\" height=\"6\" fill=\"#a5b1c2\"\/><\/g><g id=\"tw-plastic-cluster\"><path id=\"tw-sprue-melt\" d=\"M460,238 L520,243 L520,257 L460,262 Z\" fill=\"none\" stroke=\"url(#twMeltdown)\" stroke-width=\"0\"\/><path id=\"tw-runner-melt\" d=\"M460,250 H440 V200 H412\" fill=\"none\" stroke=\"url(#twMeltdown)\" stroke-width=\"6\" stroke-linejoin=\"round\" opacity=\"0\"\/><g clip-path=\"url(#twCavityClip)\"><rect id=\"tw-part-melt\" x=\"390\" y=\"200\" width=\"50\" height=\"120\" rx=\"4\" fill=\"url(#twMeltdown)\"\/><rect id=\"tw-part-glow\" x=\"390\" y=\"200\" width=\"50\" height=\"120\" rx=\"4\" fill=\"url(#twMeltdown)\" filter=\"url(#twGlow)\" opacity=\"0\"\/><\/g><g id=\"tw-lbl-part\" opacity=\"0\"><line x1=\"415\" y1=\"170\" x2=\"415\" y2=\"140\" stroke=\"#ff793f\" stroke-width=\"1.5\" stroke-dasharray=\"2 2\"\/><text x=\"415\" y=\"130\" class=\"tw-ms__ptext\" text-anchor=\"middle\">MOLDED PART<\/text><\/g><\/g><\/g><line id=\"tw-parting-line\" x1=\"460\" y1=\"60\" x2=\"460\" y2=\"440\" stroke=\"#ff4757\" stroke-width=\"1.5\" stroke-dasharray=\"4 4\"\/><\/svg><\/div><div class=\"tw-ms__panel\"><div class=\"tw-ms__prow\"><div class=\"tw-ms__pcol\"><div class=\"tw-ms__clock\"><div><span id=\"tw-ms-cyc\">0.0<\/span><small>Cycle Time (s)<\/small><\/div><div><span id=\"tw-ms-shot\">0<\/span><small>Total Shots<\/small><\/div><\/div><div class=\"tw-ms__gauges\"><div class=\"tw-ms__g\"><label>Cavity Fill<\/label><div class=\"tw-ms__track\"><i id=\"tw-g-fill\" style=\"width:0%\"><\/i><\/div><b id=\"tw-v-fill\">0%<\/b><\/div><div class=\"tw-ms__g\"><label>Melt Temp<\/label><div class=\"tw-ms__track\"><i id=\"tw-g-temp\" class=\"hot\" style=\"width:0%\"><\/i><\/div><b id=\"tw-v-temp\">\u2014<\/b><\/div><div class=\"tw-ms__g\"><label>Injection P.<\/label><div class=\"tw-ms__track\"><i id=\"tw-g-pres\" class=\"pres\" style=\"width:0%\"><\/i><\/div><b id=\"tw-v-pres\">0 bar<\/b><\/div><div class=\"tw-ms__g\"><label>Clamp Force<\/label><div class=\"tw-ms__track\"><i id=\"tw-g-clamp\" class=\"clamp\" style=\"width:0%\"><\/i><\/div><b id=\"tw-v-clamp\">0%<\/b><\/div><\/div><\/div><div class=\"tw-ms__pcol\"><div class=\"tw-ms__tlhead\">Cycle Phase Allocation<\/div><div class=\"tw-ms__timeline\" id=\"tw-ms-timeline\"><\/div><\/div><\/div><p class=\"tw-ms__desc\" id=\"tw-ms-desc\">Click Run to simulate a precision engineering injection molding cycle.<\/p><div class=\"tw-ms__controls\"><div class=\"tw-ms__btns\"><button type=\"button\" id=\"tw-btn-play\" class=\"tw-ms__btn tw-ms__btn--primary\">\u25b6 Run<\/button><button type=\"button\" id=\"tw-btn-step\" class=\"tw-ms__btn\">Step \u23ed<\/button><button type=\"button\" id=\"tw-btn-reset\" class=\"tw-ms__btn\">\u21ba Reset<\/button><\/div><div class=\"tw-ms__fields\"><div class=\"tw-ms__field\"><label>Simulation Speed<\/label><input id=\"tw-speed\" type=\"range\" min=\"0.5\" max=\"3\" step=\"0.5\" value=\"1\"><span id=\"tw-speed-val\">1\u00d7<\/span><\/div><div class=\"tw-ms__field\"><label>Cooling Circuit<\/label><select id=\"tw-cool\"><option value=\"straight\">Conventional Drilled<\/option><option value=\"conformal\">Conformal Cooling<\/option><\/select><\/div><\/div><\/div><\/div><\/div><\/div><style> #tw-mold-sim.tw-ms{--bg:#1e272e;--panel:#2f3542;--line:#57606f;--ink:#ffffff;--mut:#a5b1c2;--hot:#ff793f;--hot2:#ffb8b8;--pres:#34ace0;--clamp:#33d9b2;--fill:#ffb142;font-family:system-ui, -apple-system, sans-serif;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;max-width:410px;margin:15px auto;box-shadow:0 12px 24px rgba(0,0,0,0.4);box-sizing:border-box;} #tw-mold-sim.tw-ms *{box-sizing:border-box;} .tw-ms__bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;border-bottom:1px solid var(--line);padding-bottom:6px;} .tw-ms__layout{display:flex;flex-direction:column;gap:8px;} .tw-ms__stage{background:#111;border:1px solid #000;border-radius:5px;overflow:hidden;position:relative;} .tw-ms__svg{display:block;width:100%;height:auto;} .tw-ms__panel{background:rgba(0,0,0,0.2);padding:8px;border-radius:6px;display:flex;flex-direction:column;gap:6px;} .tw-ms__prow{display:flex;gap:8px;} .tw-ms__pcol{flex:1;min-width:0;display:flex;flex-direction:column;} .tw-ms__title{display:flex;align-items:center;gap:6px;font-weight:700;font-size:11px;letter-spacing:-0.2px;} .tw-ms__dot{width:6px;height:6px;border-radius:50%;background:var(--hot);} .tw-ms__chip{font-family:monospace;padding:1px 5px;border-radius:3px;background:rgba(255,121,63,0.15);color:var(--hot);font-weight:bold;font-size:9px;} .tw-ms__plabel{fill:#84817a;font-size:15px;font-weight:bold;} .tw-ms__ptext{fill:#ff793f;font-size:16px;font-weight:bold;} .tw-ms__clock{display:flex;gap:4px;margin-bottom:4px;} .tw-ms__clock div{flex:1;text-align:center;background:#111;border:1px solid var(--line);padding:3px;border-radius:4px;} .tw-ms__clock span{font-size:13px;font-weight:bold;font-family:monospace;color:var(--fill);} .tw-ms__clock small{display:block;font-size:8px;color:var(--mut);margin-top:1px;transform:scale(0.9);} .tw-ms__tlhead{font-size:9px;color:var(--mut);margin-bottom:3px;font-weight:bold;text-transform:uppercase;letter-spacing:0.3px;} .tw-ms__timeline{display:flex;flex-direction:column;gap:2px;} .tw-ms__seg{position:relative;background:rgba(255,255,255,0.03);border:1px solid rgba(87,96,111,0.5);border-radius:3px;padding:3px 5px;display:flex;justify-content:space-between;cursor:pointer;overflow:hidden;line-height:1.1;} .tw-ms__seg i{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(255,121,63,0.12);z-index:0;} .tw-ms__seg span{position:relative;z-index:1;font-size:8.5px;font-weight:500;} .tw-ms__seg.on{border-color:var(--hot);background:rgba(255,121,63,0.05);} .tw-ms__seg.on span{color:var(--hot);font-weight:bold;} .tw-ms__gauges{display:flex;flex-direction:column;gap:3px;background:rgba(0,0,0,0.15);padding:4px;border-radius:4px;border:1px solid rgba(87,96,111,0.3);} .tw-ms__g{display:grid;grid-template-columns:50px 1fr 30px;align-items:center;gap:4px;font-size:8.5px;} .tw-ms__g label{color:var(--mut);font-weight:500;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;} .tw-ms__g b{text-align:right;font-family:monospace;color:#ced6e0;} .tw-ms__track{height:4px;background:#111;border-radius:2px;overflow:hidden;position:relative;} .tw-ms__track i{display:block;height:100%;width:0;background:var(--fill);transition:width 0.08s linear;} .tw-ms__track i.hot{background:linear-gradient(90deg, #57606f, var(--hot));} .tw-ms__track i.pres{background:linear-gradient(90deg, #57606f, var(--pres));} .tw-ms__track i.clamp{background:linear-gradient(90deg, #57606f, var(--clamp));} .tw-ms__desc{font-size:8.5px;color:#ced6e0;min-height:34px;line-height:1.25;margin:0;padding:4px;background:rgba(0,0,0,0.15);border-radius:4px;border-left:2px solid var(--hot);} .tw-ms__controls{border-top:1px solid rgba(87,96,111,0.4);padding-top:5px;display:flex;flex-direction:column;gap:4px;} .tw-ms__btns{display:flex;gap:3px;} .tw-ms__btn{flex:1;padding:4px;border-radius:4px;border:1px solid var(--line);background:#1e272e;color:#fff;font-weight:bold;cursor:pointer;font-size:9px;} .tw-ms__btn--primary{background:var(--hot);border-color:var(--hot);} .tw-ms__fields{display:flex;gap:8px;justify-content:space-between;} .tw-ms__field{display:flex;align-items:center;font-size:8.5px;gap:4px;flex:1;} .tw-ms__field label{color:var(--mut);white-space:nowrap;} .tw-ms__field select{background:#1e272e;color:#fff;border:1px solid var(--line);padding:1px;border-radius:3px;font-size:8.5px;width:100%;max-width:95px;} .tw-ms__field input[type=range]{width:100%;accent-color:var(--hot);height:10px;} <\/style><script> (function(){ function initTwSim(){ var container = document.getElementById('tw-mold-sim'); if(!container || container.dataset.init === '1') return; container.dataset.init = '1'; var $ = function(id){ return document.getElementById(id); }; var PHASES = [ { id:'close', label:'1. Mold Close', dur: 1.0, desc:'<b>Mold Clamping:<\/b> Moving half shifts right to seal the core\/cavity. High clamping force builds up to resist injection flow.' }, { id:'inject', label:'2. Injection', dur: 0.6, desc:'<b>Cavity Filling:<\/b> The reciprocating screw moves forward, driving high-temp melt through the gate into the cavity space.' }, { id:'hold', label:'3. Packing', dur: 1.2, desc:'<b>Packing & Holding:<\/b> Continued pressure forces more material into the matrix, compensating for physical volumetric shrinkage.' }, { id:'cool', label:'4. Cooling', dur: 11.0, desc:'<b>Heat Dissipation:<\/b> Cavity pressure steps down. Fluid channels absorb heat energy to crystallize and solidify the polymer geometry.' }, { id:'open', label:'5. Mold Open', dur: 1.0, desc:'<b>Mold Separation:<\/b> Tonnage unclamps; moving half retracts left. The rigid component stays constrained on the core side.' }, { id:'eject', label:'6. Ejection', dur: 0.2, desc:'<b>Part Stripping:<\/b> Mechanical ejector rods advance to push the part cluster off the core, enabling gravitational drop.' } ]; var TOTAL_DUR = PHASES.reduce(function(acc, p){ return acc + p.dur; }, 0); var tl = $('tw-ms-timeline'); tl.innerHTML = ''; PHASES.forEach(function(p, idx){ var pct = Math.round((p.dur \/ TOTAL_DUR) * 100); var div = document.createElement('div'); div.className = 'tw-ms__seg'; div.dataset.idx = idx; div.innerHTML = '<i><\/i><span>'+p.label+'<\/span><span>'+pct+'%<\/span>'; tl.appendChild(div); }); var segs = function(){ return tl.querySelectorAll('.tw-ms__seg'); }; var movGroup = $('tw-moving-group'); var sprueMelt = $('tw-sprue-melt'); var runnerMelt = $('tw-runner-melt'); var cavityRect = $('tw-cavity-rect'); var partGlow = $('tw-part-glow'); var partMelt = $('tw-part-melt'); var epins = container.querySelectorAll('.tw-epin'); var nozzleMelt = $('tw-nozzle-melt'); var lblPart = $('tw-lbl-part'); var coolF = $('tw-cool-fixed'); var coolM = $('tw-cool-moving'); var state = { ph: 0, elapsed: 0, play: false, speed: 1, cool: 'straight', shots: 0, totalTime: 0, lastTs: 0 }; function drawCooling(type){ var fHtml = '', mHtml = ''; if(type === 'straight'){ fHtml = '<circle cx=\"530\" cy=\"140\" r=\"10\" fill=\"#1b2a47\" stroke=\"#34ace0\" stroke-width=\"3\"\/>' + '<circle cx=\"590\" cy=\"200\" r=\"10\" fill=\"#1b2a47\" stroke=\"#34ace0\" stroke-width=\"3\"\/>' + '<circle cx=\"530\" cy=\"360\" r=\"10\" fill=\"#1b2a47\" stroke=\"#34ace0\" stroke-width=\"3\"\/>'; mHtml = '<circle cx=\"370\" cy=\"140\" r=\"10\" fill=\"#1b2a47\" stroke=\"#34ace0\" stroke-width=\"3\"\/>' + '<circle cx=\"260\" cy=\"200\" r=\"10\" fill=\"#1b2a47\" stroke=\"#34ace0\" stroke-width=\"3\"\/>' + '<circle cx=\"370\" cy=\"360\" r=\"10\" fill=\"#1b2a47\" stroke=\"#34ace0\" stroke-width=\"3\"\/>'; } else { fHtml = '<path d=\"M 520,130 Q 560,200 520,260 T 520,380\" fill=\"none\" stroke=\"#34ace0\" stroke-width=\"8\" stroke-dasharray=\"5 4\"\/>'; mHtml = '<path d=\"M 380,130 Q 340,200 380,260 T 380,380\" fill=\"none\" stroke=\"#34ace0\" stroke-width=\"8\" stroke-dasharray=\"5 4\"\/>'; } coolF.innerHTML = fHtml; coolM.innerHTML = mHtml; } function updateGauges(bar, valId, pct, text){ var el = $(bar); if(el) el.style.width = Math.min(Math.max(pct, 0), 100) + '%'; var txtEl = $(valId); if(txtEl) txtEl.textContent = text; } function hexLerp(color1, color2, percentage) { var r1 = parseInt(color1.substring(1,3), 16), g1 = parseInt(color1.substring(3,5), 16), b1 = parseInt(color1.substring(5,7), 16); var r2 = parseInt(color2.substring(1,3), 16), g2 = parseInt(color2.substring(3,5), 16), b2 = parseInt(color2.substring(5,7), 16); var r = Math.round(r1 + (r2 - r1) * percentage), g = Math.round(g1 + (g2 - g1) * percentage), b = Math.round(b1 + (b2 - b1) * percentage); return 'rgb(' + r + ',' + g + ',' + b + ')'; } function render(pIdx, progress){ var current = PHASES[pIdx]; var pid = current.id; var MAX_OPEN_X = -160; var currentX = 0; var fillPct = 0, meltTemp = 240, injectionPres = 0, clampForce = 0; var pinOffset = 0; var clusterOp = 1; if(pid === 'close'){ currentX = MAX_OPEN_X * (1 - progress); clampForce = progress * 100; } else if(pid === 'inject'){ currentX = 0; clampForce = 100; injectionPres = progress * 95; fillPct = progress * 100; meltTemp = 245; } else if(pid === 'hold'){ currentX = 0; clampForce = 100; injectionPres = 80 + Math.sin(progress * 10) * 5; fillPct = 100; meltTemp = 230; } else if(pid === 'cool'){ currentX = 0; clampForce = 100; injectionPres = 40 * (1 - progress); fillPct = 100; meltTemp = 230 - (progress * 160); } else if(pid === 'open'){ currentX = MAX_OPEN_X * progress; clampForce = 0; fillPct = 100; meltTemp = 65; } else if(pid === 'eject'){ currentX = MAX_OPEN_X; clampForce = 0; fillPct = 100; meltTemp = 60; if(progress <= 0.6) { pinOffset = (progress \/ 0.6) * 35; } else { pinOffset = 35 * (1 - ((progress - 0.6) \/ 0.4)); clusterOp = Math.max(0, 1 - (progress - 0.6) * 3); } } if(movGroup) movGroup.setAttribute('transform', 'translate(' + currentX + ', 0)'); if(fillPct > 0) { if(nozzleMelt) nozzleMelt.style.opacity = 1; if(sprueMelt) sprueMelt.setAttribute('stroke-width', '14'); if(runnerMelt) runnerMelt.style.opacity = 1; if(cavityRect) { cavityRect.setAttribute('width', '50'); cavityRect.setAttribute('height', (120 * (fillPct\/100))); } } else { if(nozzleMelt) nozzleMelt.style.opacity = (pid === 'close') ? 0 : 1; if(sprueMelt) sprueMelt.setAttribute('stroke-width', '0'); if(runnerMelt) runnerMelt.style.opacity = 0; if(cavityRect) cavityRect.setAttribute('width', '0'); } epins.forEach(function(pin){ pin.setAttribute('transform', 'translate(' + pinOffset + ', 0)'); }); var cluster = $('tw-plastic-cluster'); if(cluster) { cluster.setAttribute('transform', 'translate(' + pinOffset + ', 0)'); cluster.style.opacity = clusterOp; } var coolRatio = (pid === 'cool') ? progress : ((pid === 'open' || pid === 'eject') ? 1 : 0); var partColor = hexLerp('#ff793f', '#747d8c', coolRatio); if(partMelt) partMelt.setAttribute('fill', partColor); if(sprueMelt) sprueMelt.setAttribute('stroke', partColor); if(runnerMelt) runnerMelt.setAttribute('stroke', partColor); if(partGlow) partGlow.style.opacity = (pid === 'inject' || pid === 'hold') ? 0.8 : 0; if(lblPart) lblPart.setAttribute('opacity', (pid !== 'close' && pid !== 'inject' && clusterOp > 0) ? 1 : 0); updateGauges('tw-g-fill', 'tw-v-fill', fillPct, Math.round(fillPct) + '%'); updateGauges('tw-g-temp', 'tw-v-temp', (meltTemp\/250)*100, Math.round(meltTemp) + ' \u00b0C'); updateGauges('tw-g-pres', 'tw-v-pres', injectionPres, Math.round(injectionPres * 12) + ' bar'); updateGauges('tw-g-clamp', 'tw-v-clamp', clampForce, Math.round(clampForce) + '%'); var chip = $('tw-ms-chip'); if(chip) chip.textContent = current.id.toUpperCase(); var desc = $('tw-ms-desc'); if(desc) desc.innerHTML = current.desc; segs().forEach(function(s, i){ s.classList.toggle('on', i === pIdx); var barInner = s.querySelector('i'); if(barInner) barInner.style.width = (i < pIdx ? 100 : (i === pIdx ? progress * 100 : 0)) + '%'; }); var cycEl = $('tw-ms-cyc'); if(cycEl) cycEl.textContent = state.totalTime.toFixed(1); var shotEl = $('tw-ms-shot'); if(shotEl) shotEl.textContent = state.shots; } function setPlay(val){ state.play = val; var btn = $('tw-btn-play'); if(btn) btn.textContent = val ? '\u275a\u275a Pause' : '\u25b6 Run'; } function jumpTo(idx){ state.ph = idx; state.elapsed = 0; if(idx === 0) state.totalTime = 0; setPlay(false); render(idx, 0); } container.addEventListener('click', function(e){ var target = e.target; if(target.closest && target.closest('.tw-ms__seg')) { var seg = target.closest('.tw-ms__seg'); var idx = parseInt(seg.dataset.idx, 10); if(!isNaN(idx)) jumpTo(idx); return; } if(target.id === 'tw-btn-play') { setPlay(!state.play); return; } if(target.id === 'tw-btn-step') { setPlay(false); state.ph = (state.ph + 1) % PHASES.length; state.elapsed = 0; if(state.ph === 0){ state.shots++; state.totalTime = 0; } render(state.ph, 0); return; } if(target.id === 'tw-btn-reset') { setPlay(false); state.ph = 0; state.elapsed = 0; state.totalTime = 0; state.shots = 0; render(0, 0); } }); var speed = $('tw-speed'); if(speed) speed.addEventListener('input', function(){ state.speed = parseFloat(this.value) || 1; var val = $('tw-speed-val'); if(val) val.textContent = state.speed + '\u00d7'; }); var cool = $('tw-cool'); if(cool) cool.addEventListener('change', function(){ state.cool = this.value; drawCooling(this.value); render(state.ph, Math.min(state.elapsed \/ PHASES[state.ph].dur, 1)); }); drawCooling('straight'); render(0, 0); function loop(ts){ if(!state.lastTs) state.lastTs = ts; var delta = (ts - state.lastTs) \/ 1000; state.lastTs = ts; if(state.play){ state.elapsed += delta * state.speed; state.totalTime += delta * state.speed; var currentDur = PHASES[state.ph].dur; while(state.elapsed >= currentDur){ state.elapsed -= currentDur; state.ph = (state.ph + 1) % PHASES.length; if(state.ph === 0){ state.shots++; state.totalTime = 0; } currentDur = PHASES[state.ph].dur; } } render(state.ph, Math.min(state.elapsed \/ PHASES[state.ph].dur, 1)); requestAnimationFrame(loop); } requestAnimationFrame(loop); } if(document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initTwSim); } else { initTwSim(); } window.addEventListener('load', initTwSim); })(); <\/script><div class=\"tw-tms-embed\" style=\"max-width:410px;margin:14px auto 0;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f6f8fb;\"><div style=\"font-size:14px;font-weight:600;margin-bottom:3px;\">Use this simulator on your website \u2014 free<\/div><div style=\"font-size:12.5px;color:#666;margin-bottom:8px;\">Copy the code below to embed the interactive molding simulator. A credit link is included.<\/div><textarea id=\"tms-8683-embed\" readonly rows=\"3\" onclick=\"this.select()\" style=\"width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;padding:8px;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:#fff;color:#333;resize:vertical;\">&lt;iframe id=&quot;tw-tms-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html?tms_embed=1&quot; width=&quot;100%&quot; height=&quot;640&quot; loading=&quot;lazy&quot; style=&quot;max-width:442px;border:0;&quot; title=&quot;Injection Molding Dynamics Simulator&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twTmsHeight){var f=document.getElementById(&quot;tw-tms-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twTmsHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Injection Molding Dynamics Simulator&lt;\/a&gt; by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"tms-8683-copy\" style=\"margin-top:8px;background:#ff793f;color:#fff;border:0;padding:7px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;\">Copy embed code<\/button><\/div><script>(function(){var b=document.getElementById(\"tms-8683-copy\"),t=document.getElementById(\"tms-8683-embed\");if(!b||!t)return;b.addEventListener(\"click\",function(){t.focus();t.select();var done=function(){b.textContent=\"Copied \\u2713\";setTimeout(function(){b.textContent=\"Copy embed code\";},1500);};if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t.value).then(done,function(){try{document.execCommand(\"copy\");done();}catch(e){}});}else{try{document.execCommand(\"copy\");done();}catch(e){}}});})();<\/script><\/div><div id=\"process-simulator\" class=\"wp-block-group tw-tool tw-cat-process is-layout-flow wp-block-group-is-layout-flow\"><style> .sim-wrap{max-width:1100px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen,Ubuntu,sans-serif;color:#2c3e50;line-height:1.5} .sim-wrap *,.sim-wrap *::before,.sim-wrap *::after{box-sizing:border-box} .sim-hero{text-align:center;padding:36px 24px 28px;background:linear-gradient(135deg,#0a1628 0%,#1a3a5c 50%,#2d5a87 100%);border-radius:14px;margin-bottom:28px;position:relative;overflow:hidden} .sim-hero::before{content:'';position:absolute;top:-50%;right:-10%;width:60%;height:200%;background:radial-gradient(circle,rgba(255,112,67,0.1) 0%,transparent 60%);pointer-events:none} .sim-hero h2{font-size:28px;font-weight:800;color:#fff;margin:0 0 6px;letter-spacing:-.5px;position:relative} .sim-hero p{font-size:14px;color:#8db5cc;margin:0;position:relative} .sim-badge{display:inline-block;padding:4px 14px;border-radius:20px;font-size:11px;font-weight:700;color:#FF7043;border:1.5px solid rgba(255,112,67,0.4);margin-bottom:12px;letter-spacing:.5px;position:relative} .sim-main{display:grid;grid-template-columns:340px 1fr;gap:20px;margin-bottom:24px} @media(max-width:880px){.sim-main{grid-template-columns:1fr}} .sim-panel{background:#f7f9fc;border:1px solid #e3e8ef;border-radius:12px;padding:20px} .sim-panel-t{font-size:14px;font-weight:700;color:#1b2d45;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid #FF7043;display:flex;align-items:center;justify-content:space-between} .sim-panel-t-small{font-size:11px;font-weight:600;color:#78909c;letter-spacing:0.5px} .sim-sg{margin-bottom:18px} .sim-sg:last-child{margin-bottom:0} .sim-sg-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px} .sim-sg-name{font-size:13px;font-weight:600;color:#1b2d45} .sim-sg-val{font-size:13px;font-weight:700;color:#FF7043;font-variant-numeric:tabular-nums} .sim-sg-unit{font-size:11px;color:#78909c;font-weight:500;margin-left:2px} .sim-sg input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:linear-gradient(to right,#43A047 0%,#43A047 33%,#FFA726 33%,#FFA726 66%,#43A047 66%,#43A047 100%);border-radius:3px;outline:none;cursor:pointer} .sim-sg input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:#fff;border:3px solid #FF7043;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .15s} .sim-sg input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)} .sim-sg input[type=range]::-moz-range-thumb{width:18px;height:18px;background:#fff;border:3px solid #FF7043;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2)} .sim-sg-range{display:flex;justify-content:space-between;margin-top:4px;font-size:10px;color:#78909c;font-weight:500} .sim-mat-group{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px} .sim-mat-btn{flex:1 1 auto;padding:8px 12px;font-size:12px;font-weight:600;border:2px solid #e3e8ef;border-radius:8px;background:#fff;color:#78909c;cursor:pointer;transition:all .2s;min-width:60px} .sim-mat-btn:hover{border-color:#FF7043;color:#FF7043} .sim-mat-btn.active{background:#FF7043;border-color:#FF7043;color:#fff} .sim-presets{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px} .sim-preset-btn{padding:8px 10px;font-size:11px;font-weight:600;border:1.5px solid #e3e8ef;border-radius:6px;background:#fff;color:#546e7a;cursor:pointer;transition:all .2s;text-align:center} .sim-preset-btn:hover{border-color:#1565c0;color:#1565c0;background:#e3f2fd} .sim-preset-btn.reset{border-color:#FF7043;color:#FF7043} .sim-preset-btn.reset:hover{background:#fff3e0} .sim-viz{display:flex;flex-direction:column;gap:16px} .sim-viz-svg{background:#0d1b2a;border-radius:12px;padding:16px;position:relative;overflow:hidden} .sim-viz-svg svg{display:block;width:100%;height:auto;max-height:340px} .sim-quality{background:#f7f9fc;border:1px solid #e3e8ef;border-radius:12px;padding:18px} .sim-q-row{display:flex;align-items:center;gap:14px;margin-bottom:12px} .sim-q-score{font-size:38px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;min-width:80px;text-align:center} .sim-q-label{flex:1} .sim-q-label-t{font-size:11px;font-weight:700;color:#78909c;letter-spacing:0.5px;margin-bottom:2px} .sim-q-label-status{font-size:15px;font-weight:700;color:#1b2d45} .sim-q-bar{width:100%;height:10px;background:#e3e8ef;border-radius:5px;overflow:hidden;margin-top:6px} .sim-q-bar-fill{height:100%;transition:width .35s ease,background .35s ease;border-radius:5px} .q-excellent{color:#2E7D32} .q-good{color:#43A047} .q-fair{color:#F57F17} .q-poor{color:#E65100} .q-bad{color:#C62828} .sim-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px} @media(max-width:600px){.sim-metrics{grid-template-columns:repeat(2,1fr)}} .sim-metric{background:#fff;border:1px solid #e3e8ef;border-radius:8px;padding:10px 12px;text-align:center} .sim-metric-label{font-size:10px;font-weight:600;color:#78909c;letter-spacing:.5px;margin-bottom:3px} .sim-metric-val{font-size:18px;font-weight:700;color:#1b2d45;font-variant-numeric:tabular-nums;line-height:1.1} .sim-metric-unit{font-size:11px;color:#78909c;font-weight:500} .sim-defects{background:#f7f9fc;border:1px solid #e3e8ef;border-radius:12px;padding:18px} .sim-defect-scroll{max-height:220px;overflow-y:auto;padding-right:4px} .sim-defect-scroll::-webkit-scrollbar{width:4px} .sim-defect-scroll::-webkit-scrollbar-track{background:#eef1f5;border-radius:2px} .sim-defect-scroll::-webkit-scrollbar-thumb{background:#c5cdd8;border-radius:2px} .sim-defect{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:8px;margin-bottom:6px;font-size:12px;line-height:1.45} .sim-defect:last-child{margin-bottom:0} .sim-defect-icon{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff} .sim-defect-c{background:#fff3e0;border:1px solid #ffcc80} .sim-defect-c .sim-defect-icon{background:#F57F17} .sim-defect-r{background:#ffebee;border:1px solid #ef9a9a} .sim-defect-r .sim-defect-icon{background:#C62828} .sim-defect-g{background:#e8f5e9;border:1px solid #a5d6a7} .sim-defect-g .sim-defect-icon{background:#2E7D32} .sim-defect-title{font-weight:700;color:#1b2d45;margin-bottom:2px;font-size:12px} .sim-defect-desc{color:#546e7a;font-size:11.5px} .sim-tip{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left:4px solid #FF7043;border-radius:8px;padding:12px 14px;margin-top:14px;font-size:12px;color:#5d4037} .sim-tip-t{font-weight:700;color:#bf360c;margin-bottom:3px;font-size:12px} @keyframes flow-pulse{0%{opacity:.4}50%{opacity:1}100%{opacity:.4}} .sim-flowing{animation:flow-pulse 1.2s infinite} <\/style><div class=\"sim-wrap\"><div class=\"sim-hero\"><div class=\"sim-badge\">INTERACTIVE TRAINING SIMULATOR<\/div><h2>Injection Molding Process Simulator<\/h2><p>Adjust parameters with sliders, see real-time effects on part quality and defects<\/p><\/div><div class=\"sim-main\"><div class=\"sim-panel\"><div class=\"sim-panel-t\"><span>Process Parameters<\/span><span class=\"sim-panel-t-small\" id=\"sim-cycle-indicator\">CYCLE READY<\/span><\/div><div style=\"margin-bottom:16px;\"><div class=\"sim-sg-name\" style=\"margin-bottom:6px;\">Material<\/div><div class=\"sim-mat-group\" id=\"sim-mat-buttons\"><button class=\"sim-mat-btn active\" data-mat=\"abs\">ABS<\/button><button class=\"sim-mat-btn\" data-mat=\"pp\">PP<\/button><button class=\"sim-mat-btn\" data-mat=\"pc\">PC<\/button><button class=\"sim-mat-btn\" data-mat=\"nylon\">Nylon<\/button><\/div><\/div><div class=\"sim-sg\"><div class=\"sim-sg-label\"><span class=\"sim-sg-name\">Melt temperature<\/span><span><span class=\"sim-sg-val\" id=\"val-melt\">240<\/span><span class=\"sim-sg-unit\"> &deg;C<\/span><\/span><\/div><input type=\"range\" id=\"ctrl-melt\" min=\"180\" max=\"320\" step=\"5\" value=\"240\"><div class=\"sim-sg-range\"><span>180<\/span><span>250<\/span><span>320 &deg;C<\/span><\/div><\/div><div class=\"sim-sg\"><div class=\"sim-sg-label\"><span class=\"sim-sg-name\">Injection speed<\/span><span><span class=\"sim-sg-val\" id=\"val-speed\">60<\/span><span class=\"sim-sg-unit\"> mm\/s<\/span><\/span><\/div><input type=\"range\" id=\"ctrl-speed\" min=\"10\" max=\"150\" step=\"5\" value=\"60\"><div class=\"sim-sg-range\"><span>10<\/span><span>80<\/span><span>150 mm\/s<\/span><\/div><\/div><div class=\"sim-sg\"><div class=\"sim-sg-label\"><span class=\"sim-sg-name\">Packing pressure<\/span><span><span class=\"sim-sg-val\" id=\"val-pack\">60<\/span><span class=\"sim-sg-unit\"> %<\/span><\/span><\/div><input type=\"range\" id=\"ctrl-pack\" min=\"0\" max=\"100\" step=\"5\" value=\"60\"><div class=\"sim-sg-range\"><span>0<\/span><span>50<\/span><span>100 %<\/span><\/div><\/div><div class=\"sim-sg\"><div class=\"sim-sg-label\"><span class=\"sim-sg-name\">Mold temperature<\/span><span><span class=\"sim-sg-val\" id=\"val-mold\">60<\/span><span class=\"sim-sg-unit\"> &deg;C<\/span><\/span><\/div><input type=\"range\" id=\"ctrl-mold\" min=\"20\" max=\"120\" step=\"5\" value=\"60\"><div class=\"sim-sg-range\"><span>20<\/span><span>70<\/span><span>120 &deg;C<\/span><\/div><\/div><div class=\"sim-sg\"><div class=\"sim-sg-label\"><span class=\"sim-sg-name\">Cooling time<\/span><span><span class=\"sim-sg-val\" id=\"val-cool\">15<\/span><span class=\"sim-sg-unit\"> sec<\/span><\/span><\/div><input type=\"range\" id=\"ctrl-cool\" min=\"3\" max=\"40\" step=\"1\" value=\"15\"><div class=\"sim-sg-range\"><span>3<\/span><span>20<\/span><span>40 sec<\/span><\/div><\/div><div class=\"sim-sg\"><div class=\"sim-sg-label\"><span class=\"sim-sg-name\">Hold time<\/span><span><span class=\"sim-sg-val\" id=\"val-hold\">5<\/span><span class=\"sim-sg-unit\"> sec<\/span><\/span><\/div><input type=\"range\" id=\"ctrl-hold\" min=\"0\" max=\"15\" step=\"1\" value=\"5\"><div class=\"sim-sg-range\"><span>0<\/span><span>7<\/span><span>15 sec<\/span><\/div><\/div><div style=\"margin-top:18px;padding-top:14px;border-top:1px dashed #d0d7e2;\"><div class=\"sim-sg-name\" style=\"margin-bottom:8px;font-size:11px;color:#78909c;letter-spacing:.5px;\">QUICK PRESETS<\/div><div class=\"sim-presets\"><button class=\"sim-preset-btn\" data-preset=\"optimal\">Optimal<\/button><button class=\"sim-preset-btn\" data-preset=\"cold\">Too cold<\/button><button class=\"sim-preset-btn\" data-preset=\"hot\">Too hot<\/button><button class=\"sim-preset-btn reset\" data-preset=\"reset\">Reset<\/button><\/div><\/div><\/div><div class=\"sim-viz\"><div class=\"sim-viz-svg\" id=\"sim-mold-viz\"><svg viewBox=\"0 0 600 320\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><rect x=\"20\" y=\"40\" width=\"60\" height=\"240\" rx=\"6\" fill=\"#37474f\" stroke=\"#90a4ae\" stroke-width=\"1\"\/><rect x=\"520\" y=\"40\" width=\"60\" height=\"240\" rx=\"6\" fill=\"#37474f\" stroke=\"#90a4ae\" stroke-width=\"1\"\/><text x=\"50\" y=\"30\" text-anchor=\"middle\" font-size=\"10\" fill=\"#90a4ae\" font-weight=\"600\">CAVITY SIDE<\/text><text x=\"550\" y=\"30\" text-anchor=\"middle\" font-size=\"10\" fill=\"#90a4ae\" font-weight=\"600\">CORE SIDE<\/text><rect x=\"80\" y=\"155\" width=\"40\" height=\"10\" rx=\"2\" fill=\"#546e7a\"\/><text x=\"100\" y=\"148\" text-anchor=\"middle\" font-size=\"9\" fill=\"#90a4ae\">sprue<\/text><path d=\"M120 80 L480 80 L480 120 L460 120 L460 200 L480 200 L480 240 L120 240 Z\" fill=\"#1b2d45\" stroke=\"#FF7043\" stroke-width=\"1.5\" stroke-dasharray=\"3 2\"\/><defs><clipPath id=\"sim-fill-clip\"><rect id=\"sim-fill-rect\" x=\"120\" y=\"80\" width=\"0\" height=\"160\"\/><\/clipPath><linearGradient id=\"sim-melt-grad\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#FFA726\" stop-opacity=\"0.95\"\/><stop offset=\"100%\" stop-color=\"#FF7043\" stop-opacity=\"0.95\"\/><\/linearGradient><\/defs><path d=\"M120 80 L480 80 L480 120 L460 120 L460 200 L480 200 L480 240 L120 240 Z\" fill=\"url(#sim-melt-grad)\" clip-path=\"url(#sim-fill-clip)\" id=\"sim-melt-flow\"\/><line id=\"sim-flow-front\" x1=\"120\" y1=\"80\" x2=\"120\" y2=\"240\" stroke=\"#fff\" stroke-width=\"2\" opacity=\"0.7\"\/><circle cx=\"125\" cy=\"160\" r=\"5\" fill=\"#FF7043\" stroke=\"#fff\" stroke-width=\"1.5\"\/><text x=\"125\" y=\"270\" text-anchor=\"middle\" font-size=\"9\" fill=\"#FFA726\">gate<\/text><g id=\"sim-defect-markers\"><\/g><text x=\"300\" y=\"305\" text-anchor=\"middle\" font-size=\"11\" fill=\"#8db5cc\" id=\"sim-fill-status\">Adjust parameters to start simulation<\/text><text x=\"300\" y=\"20\" text-anchor=\"middle\" font-size=\"12\" fill=\"#FF7043\" font-weight=\"700\" id=\"sim-fill-percent\">Fill: 0%<\/text><\/svg><\/div><div class=\"sim-defects\"><div class=\"sim-panel-t\" style=\"border-bottom-color:#FF7043;margin-bottom:10px;\"><span>Diagnostic Feedback<\/span><span class=\"sim-panel-t-small\" id=\"sim-defect-count\">0 ISSUES<\/span><\/div><div class=\"sim-defect-scroll\" id=\"sim-defect-list\"><div class=\"sim-defect sim-defect-g\"><div class=\"sim-defect-icon\">&#10003;<\/div><div><div class=\"sim-defect-title\">No defects detected<\/div><div class=\"sim-defect-desc\">All process parameters are within acceptable ranges for the selected material.<\/div><\/div><\/div><\/div><\/div><div class=\"sim-quality\"><div class=\"sim-q-row\"><div class=\"sim-q-score q-good\" id=\"sim-score\">85<\/div><div class=\"sim-q-label\"><div class=\"sim-q-label-t\">PART QUALITY SCORE<\/div><div class=\"sim-q-label-status\" id=\"sim-status\">Good - acceptable for production<\/div><div class=\"sim-q-bar\"><div class=\"sim-q-bar-fill\" id=\"sim-bar\" style=\"width:85%;background:#43A047;\"><\/div><\/div><\/div><\/div><div class=\"sim-metrics\"><div class=\"sim-metric\"><div class=\"sim-metric-label\">CYCLE TIME<\/div><div class=\"sim-metric-val\" id=\"m-cycle\">28<span class=\"sim-metric-unit\"> s<\/span><\/div><\/div><div class=\"sim-metric\"><div class=\"sim-metric-label\">FILL TIME<\/div><div class=\"sim-metric-val\" id=\"m-fill\">2.1<span class=\"sim-metric-unit\"> s<\/span><\/div><\/div><div class=\"sim-metric\"><div class=\"sim-metric-label\">SHRINKAGE<\/div><div class=\"sim-metric-val\" id=\"m-shrink\">0.6<span class=\"sim-metric-unit\"> %<\/span><\/div><\/div><div class=\"sim-metric\"><div class=\"sim-metric-label\">ENERGY<\/div><div class=\"sim-metric-val\" id=\"m-energy\">100<span class=\"sim-metric-unit\"> %<\/span><\/div><\/div><\/div><div class=\"sim-tip\" id=\"sim-tip\"><div class=\"sim-tip-t\">Coach's tip<\/div><span id=\"sim-tip-text\">Parameters look balanced. Try adjusting one slider at a time to see its effect.<\/span><\/div><\/div><\/div><\/div><\/div><script> document.addEventListener('DOMContentLoaded', function() { \/* ===== Material Profiles (optimal ranges per material) ===== *\/ var matProfiles = { 'abs': { name:'ABS', meltOpt:[220,260], moldOpt:[40,80], shrinkBase:0.5, viscosity:1.0 }, 'pp': { name:'PP', meltOpt:[200,250], moldOpt:[20,60], shrinkBase:1.5, viscosity:0.7 }, 'pc': { name:'PC', meltOpt:[280,320], moldOpt:[80,120], shrinkBase:0.6, viscosity:1.4 }, 'nylon': { name:'Nylon', meltOpt:[250,290], moldOpt:[60,90], shrinkBase:1.2, viscosity:0.9 } }; \/* ===== State ===== *\/ var state = { material: 'abs', melt: 240, speed: 60, pack: 60, mold: 60, cool: 15, hold: 5 }; \/* ===== DOM refs ===== *\/ var els = { melt: document.getElementById('ctrl-melt'), speed: document.getElementById('ctrl-speed'), pack: document.getElementById('ctrl-pack'), mold: document.getElementById('ctrl-mold'), cool: document.getElementById('ctrl-cool'), hold: document.getElementById('ctrl-hold'), vMelt: document.getElementById('val-melt'), vSpeed: document.getElementById('val-speed'), vPack: document.getElementById('val-pack'), vMold: document.getElementById('val-mold'), vCool: document.getElementById('val-cool'), vHold: document.getElementById('val-hold'), score: document.getElementById('sim-score'), status: document.getElementById('sim-status'), bar: document.getElementById('sim-bar'), mCycle: document.getElementById('m-cycle'), mFill: document.getElementById('m-fill'), mShrink: document.getElementById('m-shrink'), mEnergy: document.getElementById('m-energy'), fillRect: document.getElementById('sim-fill-rect'), flowFront: document.getElementById('sim-flow-front'), fillStatus: document.getElementById('sim-fill-status'), fillPercent: document.getElementById('sim-fill-percent'), cycleInd: document.getElementById('sim-cycle-indicator'), defMarkers: document.getElementById('sim-defect-markers'), defList: document.getElementById('sim-defect-list'), defCount: document.getElementById('sim-defect-count'), tipText: document.getElementById('sim-tip-text'), matBtns: document.querySelectorAll('#sim-mat-buttons .sim-mat-btn'), presetBtns: document.querySelectorAll('.sim-preset-btn') }; \/* ===== Update functions ===== *\/ function updateValues() { els.vMelt.textContent = state.melt; els.vSpeed.textContent = state.speed; els.vPack.textContent = state.pack; els.vMold.textContent = state.mold; els.vCool.textContent = state.cool; els.vHold.textContent = state.hold; } \/* Compute quality, defects, metrics *\/ function compute() { var mat = matProfiles[state.material]; var score = 100; var defects = []; \/* Melt temp check *\/ var meltLow = mat.meltOpt[0]; var meltHigh = mat.meltOpt[1]; if (state.melt < meltLow - 10) { var penalty1 = Math.min(30, (meltLow - state.melt) * 1.2); score -= penalty1; defects.push({ level: 'r', title: 'Short shots \/ incomplete fill', desc: 'Melt is too cold (' + state.melt + ' deg C). Material freezes before filling the cavity. Recommended: ' + meltLow + '-' + meltHigh + ' deg C for ' + mat.name + '.' }); } else if (state.melt < meltLow) { score -= 8; defects.push({ level: 'c', title: 'Cold flow lines (warning)', desc: 'Melt slightly below optimal range. Visible flow marks possible. Raise to at least ' + meltLow + ' deg C.' }); } if (state.melt > meltHigh + 15) { var penalty2 = Math.min(35, (state.melt - meltHigh) * 1.3); score -= penalty2; defects.push({ level: 'r', title: 'Material degradation \/ discoloration', desc: 'Melt is too hot (' + state.melt + ' deg C). Polymer chains break down, causing brown streaks, brittleness, and outgassing. Reduce to ' + meltHigh + ' deg C max.' }); } else if (state.melt > meltHigh) { score -= 6; defects.push({ level: 'c', title: 'Splay \/ silver streaks (warning)', desc: 'Melt above optimal. Excess heat may cause splay marks and dimensional instability. Best below ' + meltHigh + ' deg C.' }); } \/* Injection speed check *\/ if (state.speed < 25) { score -= 10; defects.push({ level: 'c', title: 'Hesitation marks \/ weld lines', desc: 'Injection speed too slow. Melt front cools mid-fill, creating visible flow lines and weak welds. Increase to 40+ mm\/s.' }); } if (state.speed > 130) { score -= 12; defects.push({ level: 'c', title: 'Jetting \/ burn marks', desc: 'Injection speed too fast. High shear causes jetting at gate and trapped-air diesel burns at end of fill. Reduce to 100 mm\/s or lower.' }); } \/* Packing pressure check *\/ if (state.pack < 30) { score -= 18; defects.push({ level: 'r', title: 'Sink marks \/ voids', desc: 'Packing pressure too low (' + state.pack + ' %). Material shrinks unchecked, creating surface depressions over thick sections and internal voids. Increase to 50-70%.' }); } if (state.pack > 90) { score -= 14; defects.push({ level: 'c', title: 'Flash \/ overpacking', desc: 'Packing pressure too high (' + state.pack + ' %). Material forced through parting line vents creating thin flash. Also induces residual stress and ejection difficulty. Reduce to 70-80%.' }); } \/* Mold temp check *\/ var moldLow = mat.moldOpt[0]; var moldHigh = mat.moldOpt[1]; if (state.mold < moldLow - 10) { score -= 12; defects.push({ level: 'c', title: 'Poor surface finish \/ cold flow', desc: 'Mold too cold (' + state.mold + ' deg C). Surface gloss reduced, weld lines visible. Recommended: ' + moldLow + '-' + moldHigh + ' deg C.' }); } if (state.mold > moldHigh + 15) { score -= 10; defects.push({ level: 'c', title: 'Extended cycle \/ warpage', desc: 'Mold too hot (' + state.mold + ' deg C). Cooling time increases dramatically and warpage risk rises. Reduce to ' + moldHigh + ' deg C or below.' }); } \/* Cooling time check (depends on mold temp) *\/ var coolNeeded = Math.max(8, Math.round(state.mold * 0.18 + 6)); if (state.cool < coolNeeded - 3) { score -= 22; defects.push({ level: 'r', title: 'Warpage \/ ejection deformation', desc: 'Cooling time too short (' + state.cool + ' s). Part still soft at ejection, distorts under ejector pins. Increase to at least ' + coolNeeded + ' s.' }); } if (state.cool > coolNeeded + 15) { score -= 4; defects.push({ level: 'c', title: 'Excessive cycle time (efficiency loss)', desc: 'Cooling time longer than needed. Part is fully solid - extra time only wastes cycles. Reduce to ~' + coolNeeded + ' s to maximize throughput.' }); } \/* Hold time check *\/ if (state.hold < 2 && state.pack > 30) { score -= 8; defects.push({ level: 'c', title: 'Insufficient hold (gate not sealed)', desc: 'Hold time too short. Melt flows back through gate before it freezes, causing sink marks. Increase to at least 3 s.' }); } \/* Cap score *\/ score = Math.max(0, Math.min(100, Math.round(score))); \/* Compute metrics *\/ var fillTime = (3.5 - state.speed \/ 50).toFixed(1); if (fillTime < 0.5) fillTime = '0.5'; var cycleTime = Math.round(2 + parseFloat(fillTime) + state.hold + state.cool + 3); var shrinkage = (mat.shrinkBase + (state.melt - (meltLow + meltHigh) \/ 2) \/ 200 - state.pack \/ 200).toFixed(2); if (shrinkage < 0.1) shrinkage = '0.10'; var energy = Math.round(80 + (state.melt - 200) * 0.35 + (state.mold - 40) * 0.25 + state.speed * 0.15); return { score: score, defects: defects, cycleTime: cycleTime, fillTime: fillTime, shrinkage: shrinkage, energy: energy, mat: mat }; } \/* Render results *\/ function render() { updateValues(); var r = compute(); \/* Score display *\/ els.score.textContent = r.score; var statusText, statusClass, barColor; if (r.score >= 90) { statusText = 'Excellent - production-ready quality'; statusClass = 'q-excellent'; barColor = '#2E7D32'; } else if (r.score >= 75) { statusText = 'Good - acceptable for production'; statusClass = 'q-good'; barColor = '#43A047'; } else if (r.score >= 55) { statusText = 'Fair - minor defects, adjust parameters'; statusClass = 'q-fair'; barColor = '#FFA726'; } else if (r.score >= 30) { statusText = 'Poor - significant defects detected'; statusClass = 'q-poor'; barColor = '#E65100'; } else { statusText = 'Critical - unusable, major issues'; statusClass = 'q-bad'; barColor = '#C62828'; } els.score.className = 'sim-q-score ' + statusClass; els.status.textContent = statusText; els.bar.style.width = r.score + '%'; els.bar.style.background = barColor; \/* Metrics *\/ els.mCycle.textContent = r.cycleTime; els.mFill.textContent = r.fillTime; els.mShrink.textContent = r.shrinkage; els.mEnergy.textContent = r.energy; \/* re-add the unit spans *\/ els.mCycle.insertAdjacentHTML('beforeend', '<span class=\"sim-metric-unit\"> s<\/span>'); els.mFill.insertAdjacentHTML('beforeend', '<span class=\"sim-metric-unit\"> s<\/span>'); els.mShrink.insertAdjacentHTML('beforeend', '<span class=\"sim-metric-unit\"> %<\/span>'); els.mEnergy.insertAdjacentHTML('beforeend', '<span class=\"sim-metric-unit\"> %<\/span>'); \/* Fill animation - represents fill quality based on speed\/temp *\/ var fillCompleteness = 100; if (r.defects.some(function(d) { return d.title.indexOf('Short shot') !== -1; })) { fillCompleteness = 65 + (state.melt - matProfiles[state.material].meltOpt[0]) * 0.8; } fillCompleteness = Math.max(40, Math.min(100, fillCompleteness)); var fillWidth = (fillCompleteness \/ 100) * 360; els.fillRect.setAttribute('width', fillWidth); els.flowFront.setAttribute('x1', 120 + fillWidth); els.flowFront.setAttribute('x2', 120 + fillWidth); els.fillPercent.textContent = 'Fill: ' + Math.round(fillCompleteness) + '%'; var fillStatusText = 'Cavity filled completely'; if (fillCompleteness < 100) fillStatusText = 'Short shot - cavity incomplete'; els.fillStatus.textContent = fillStatusText; \/* Cycle indicator color *\/ if (r.score >= 75) els.cycleInd.style.color = '#43A047'; else if (r.score >= 50) els.cycleInd.style.color = '#FFA726'; else els.cycleInd.style.color = '#E53935'; els.cycleInd.textContent = r.score >= 75 ? 'CYCLE OPTIMAL' : (r.score >= 50 ? 'CYCLE WARNING' : 'CYCLE CRITICAL'); \/* Defect markers on SVG *\/ els.defMarkers.textContent = ''; if (r.defects.some(function(d) { return d.title.indexOf('Sink') !== -1; })) { var sinkMark = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle'); sinkMark.setAttribute('cx','300'); sinkMark.setAttribute('cy','120'); sinkMark.setAttribute('r','8'); sinkMark.setAttribute('fill','#C62828'); sinkMark.setAttribute('opacity','0.7'); els.defMarkers.appendChild(sinkMark); var sinkText = document.createElementNS('http:\/\/www.w3.org\/2000\/svg','text'); sinkText.setAttribute('x','315'); sinkText.setAttribute('y','125'); sinkText.setAttribute('font-size','10'); sinkText.setAttribute('fill','#ef9a9a'); sinkText.textContent = 'sink'; els.defMarkers.appendChild(sinkText); } if (r.defects.some(function(d) { return d.title.indexOf('Flash') !== -1; })) { var flashMark = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'rect'); flashMark.setAttribute('x','480'); flashMark.setAttribute('y','78'); flashMark.setAttribute('width','25'); flashMark.setAttribute('height','3'); flashMark.setAttribute('fill','#FFA726'); flashMark.setAttribute('opacity','0.85'); els.defMarkers.appendChild(flashMark); var flashText = document.createElementNS('http:\/\/www.w3.org\/2000\/svg','text'); flashText.setAttribute('x','510'); flashText.setAttribute('y','82'); flashText.setAttribute('font-size','10'); flashText.setAttribute('fill','#FFB74D'); flashText.textContent = 'flash'; els.defMarkers.appendChild(flashText); } if (r.defects.some(function(d) { return d.title.indexOf('burn') !== -1 || d.title.indexOf('Jetting') !== -1; })) { var burnMark = document.createElementNS('http:\/\/www.w3.org\/2000\/svg','circle'); burnMark.setAttribute('cx','470'); burnMark.setAttribute('cy','230'); burnMark.setAttribute('r','6'); burnMark.setAttribute('fill','#5D4037'); burnMark.setAttribute('opacity','0.8'); els.defMarkers.appendChild(burnMark); var burnText = document.createElementNS('http:\/\/www.w3.org\/2000\/svg','text'); burnText.setAttribute('x','445'); burnText.setAttribute('y','250'); burnText.setAttribute('font-size','10'); burnText.setAttribute('fill','#A1887F'); burnText.textContent = 'burn'; els.defMarkers.appendChild(burnText); } if (r.defects.some(function(d) { return d.title.indexOf('Warpage') !== -1; })) { var warpPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg','path'); warpPath.setAttribute('d','M125 240 Q300 260 475 240'); warpPath.setAttribute('fill','none'); warpPath.setAttribute('stroke','#FFA726'); warpPath.setAttribute('stroke-width','1.5'); warpPath.setAttribute('stroke-dasharray','4 3'); els.defMarkers.appendChild(warpPath); var warpText = document.createElementNS('http:\/\/www.w3.org\/2000\/svg','text'); warpText.setAttribute('x','300'); warpText.setAttribute('y','275'); warpText.setAttribute('text-anchor','middle'); warpText.setAttribute('font-size','10'); warpText.setAttribute('fill','#FFB74D'); warpText.textContent = 'warp'; els.defMarkers.appendChild(warpText); } \/* Defect list - build via DOM nodes (no innerHTML for text) *\/ els.defList.textContent = ''; if (r.defects.length === 0) { var okDiv = document.createElement('div'); okDiv.className = 'sim-defect sim-defect-g'; var okIcon = document.createElement('div'); okIcon.className = 'sim-defect-icon'; okIcon.textContent = '\\u2713'; var okWrap = document.createElement('div'); var okTitle = document.createElement('div'); okTitle.className = 'sim-defect-title'; okTitle.textContent = 'No defects detected'; var okDesc = document.createElement('div'); okDesc.className = 'sim-defect-desc'; okDesc.textContent = 'All process parameters are within acceptable ranges for ' + r.mat.name + '. Part quality is production-ready.'; okWrap.appendChild(okTitle); okWrap.appendChild(okDesc); okDiv.appendChild(okIcon); okDiv.appendChild(okWrap); els.defList.appendChild(okDiv); } else { r.defects.forEach(function(d) { var div = document.createElement('div'); div.className = 'sim-defect sim-defect-' + d.level; var icon = document.createElement('div'); icon.className = 'sim-defect-icon'; icon.textContent = d.level === 'r' ? '!' : '\\u26A0'; var wrap = document.createElement('div'); var t = document.createElement('div'); t.className = 'sim-defect-title'; t.textContent = d.title; var ds = document.createElement('div'); ds.className = 'sim-defect-desc'; ds.textContent = d.desc; wrap.appendChild(t); wrap.appendChild(ds); div.appendChild(icon); div.appendChild(wrap); els.defList.appendChild(div); }); } els.defCount.textContent = r.defects.length === 0 ? 'NO ISSUES' : (r.defects.length + ' ISSUE' + (r.defects.length > 1 ? 'S' : '')); \/* Coach tip - pick most impactful suggestion *\/ var tipText = 'All parameters look balanced for ' + r.mat.name + '. Try the presets to compare scenarios.'; if (r.defects.length > 0) { var firstRed = r.defects.find(function(d) { return d.level === 'r'; }); var firstAny = firstRed || r.defects[0]; tipText = 'Priority: ' + firstAny.title + '. ' + firstAny.desc.split('.')[1] || firstAny.desc; if (tipText.length > 220) tipText = tipText.substring(0, 217) + '...'; } els.tipText.textContent = tipText; } \/* ===== Slider bindings ===== *\/ ['melt','speed','pack','mold','cool','hold'].forEach(function(key) { els[key].addEventListener('input', function() { state[key] = parseInt(this.value, 10); render(); }); }); \/* ===== Material buttons ===== *\/ els.matBtns.forEach(function(btn) { btn.addEventListener('click', function() { els.matBtns.forEach(function(b) { b.classList.remove('active'); }); this.classList.add('active'); state.material = this.getAttribute('data-mat'); \/* Auto-adjust melt and mold to material defaults *\/ var mat = matProfiles[state.material]; var meltMid = Math.round((mat.meltOpt[0] + mat.meltOpt[1]) \/ 2 \/ 5) * 5; var moldMid = Math.round((mat.moldOpt[0] + mat.moldOpt[1]) \/ 2 \/ 5) * 5; state.melt = meltMid; state.mold = moldMid; els.melt.value = meltMid; els.mold.value = moldMid; render(); }); }); \/* ===== Preset buttons ===== *\/ var presets = { 'optimal': { melt: null, speed:60, pack:65, mold: null, cool:15, hold:5 }, 'cold': { melt:'low', speed:30, pack:35, mold:'low', cool:8, hold:2 }, 'hot': { melt:'high',speed:120,pack:95, mold:'high',cool:25, hold:10 }, 'reset': { melt:240, speed:60, pack:60, mold:60, cool:15, hold:5 } }; els.presetBtns.forEach(function(btn) { btn.addEventListener('click', function() { var p = presets[this.getAttribute('data-preset')]; var mat = matProfiles[state.material]; if (p.melt === 'low') state.melt = mat.meltOpt[0] - 20; else if (p.melt === 'high') state.melt = mat.meltOpt[1] + 25; else if (p.melt === null) state.melt = Math.round((mat.meltOpt[0] + mat.meltOpt[1]) \/ 2 \/ 5) * 5; else state.melt = p.melt; if (p.mold === 'low') state.mold = Math.max(20, mat.moldOpt[0] - 20); else if (p.mold === 'high') state.mold = mat.moldOpt[1] + 20; else if (p.mold === null) state.mold = Math.round((mat.moldOpt[0] + mat.moldOpt[1]) \/ 2 \/ 5) * 5; else state.mold = p.mold; state.speed = p.speed; state.pack = p.pack; state.cool = p.cool; state.hold = p.hold; els.melt.value = state.melt; els.speed.value = state.speed; els.pack.value = state.pack; els.mold.value = state.mold; els.cool.value = state.cool; els.hold.value = state.hold; render(); }); }); \/* Initial render *\/ render(); }); \/* end DOMContentLoaded *\/ <\/script><\/div><div id=\"boss-design\" class=\"wp-block-group tw-tool tw-cat-part is-layout-flow wp-block-group-is-layout-flow\"><div class=\"tw-bd\" id=\"twbd65199\"><style> #twbd65199{max-width:1000px;margin:24px auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif;color:#1f2a37;line-height:1.5} #twbd65199 h3{margin:0 0 4px;font-size:21px;line-height:1.3;color:#1e3a5f} #twbd65199 .tw-bd-sub{margin:0 0 18px;font-size:13.5px;color:#5b6b7f} #twbd65199 .tw-bd-sec{margin:0 0 24px} #twbd65199 .tw-bd-h{font-size:17px;font-weight:700;color:#1e3a5f;border-left:3px solid #1e3a5f;padding:0 0 0 10px;margin:0 0 12px} #twbd65199 .tw-bd-2{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:start} #twbd65199 .tw-bd-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px} #twbd65199 .tw-bd-card{background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;padding:13px 15px} #twbd65199 .tw-bd-ct{font-size:14px;font-weight:700;color:#1e3a5f;margin:0 0 5px} #twbd65199 .tw-bd-cd{font-size:13px;color:#4b5563} #twbd65199 .tw-ms-stage{position:relative;background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;overflow:hidden} #twbd65199 .tw-ms-stage svg{display:block;width:100%;height:auto;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twbd65199 .tw-ms-stage svg [data-p]{cursor:pointer;transition:opacity .15s} #twbd65199 .tw-ms-tip{position:absolute;display:none;z-index:5;box-sizing:border-box;background:#ffffff;border:1px solid #c9d3df;border-left:4px solid #1e3a5f;border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.45;pointer-events:none;box-shadow:0 4px 14px rgba(30,58,95,.12)} #twbd65199 .tw-ms-tip .h{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-weight:700;color:#1e3a5f} #twbd65199 .tw-ms-tip p{margin:0;color:#374151} #twbd65199 .tw-ms-num{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#1e3a5f;color:#ffffff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center} #twbd65199 .tw-bd-hint{font-size:12px;color:#5b6b7f;margin:6px 0 0} #twbd65199 table.tw-bd-t{width:100%;border-collapse:collapse;font-size:13px} #twbd65199 table.tw-bd-t th,#twbd65199 table.tw-bd-t td{border:1px solid #dfe5ec;padding:6px 9px;text-align:left;vertical-align:top} #twbd65199 table.tw-bd-t thead th{background:#1e3a5f;color:#ffffff;font-weight:600} #twbd65199 table.tw-bd-t td:first-child{font-weight:600;color:#1e3a5f} #twbd65199 .tw-bd-play{border:1px solid #dfe5ec;border-radius:8px;padding:12px;background:#fbfcfe} #twbd65199 .tw-bd-play svg{display:block;width:100%;height:auto;background:#ffffff;border:1px solid #e6ecf3;border-radius:6px;font-family:Inter,\"Helvetica Neue\",Arial,sans-serif} #twbd65199 .tw-bd-ctl{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;margin:0 0 10px} #twbd65199 .tw-bd-ctl label{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:#5b6b7f} #twbd65199 .tw-bd-ctl label b{color:#1e3a5f} #twbd65199 .tw-bd-ctl input[type=range]{width:100%;accent-color:#1e3a5f;margin:0} #twbd65199 .tw-bd-ctl select{padding:6px 8px;font-size:13px;border:1px solid #c9d3df;border-radius:6px;background:#ffffff} #twbd65199 .tw-bd-ctl .cb{flex-direction:row;align-items:center;gap:7px} #twbd65199 .tw-bd-verd{list-style:none;margin:0;padding:0} #twbd65199 .tw-bd-verd li{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.4;margin:0 0 6px} #twbd65199 .tw-bd-verd b{flex:0 0 18px;height:18px;border-radius:50%;color:#ffffff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px} #twbd65199 .tw-bd-out{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 10px} #twbd65199 .tw-bd-out div{background:#f3f6fa;border-radius:6px;padding:7px 9px;font-size:11.5px;color:#5b6b7f;font-weight:600} #twbd65199 .tw-bd-out b{display:block;font-size:15px;color:#1e3a5f} #twbd65199 .tw-bd-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px} #twbd65199 .tw-bd-tabs button{border:1px solid #c9d3df;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer} #twbd65199 .tw-bd-tp{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:center;background:#ffffff;border:1px solid #dfe5ec;border-radius:8px;padding:12px 14px} #twbd65199 .tw-bd-tp svg{display:block;width:100%;height:auto} #twbd65199 ul.tw-bd-l{list-style:none;margin:0;padding:0} #twbd65199 ul.tw-bd-l li{position:relative;padding:3px 0 3px 18px;font-size:13px;color:#374151} #twbd65199 ul.tw-bd-l li i{position:absolute;left:0;top:3px;font-style:normal;font-weight:700} #twbd65199 .tw-bd-pill{display:inline-block;padding:1px 9px;border-radius:20px;font-size:11px;font-weight:700;margin-right:6px} #twbd65199 .tw-bd-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#1e3a5f;color:#ffffff;border-radius:8px;padding:14px 18px} #twbd65199 .tw-bd-cta a{background:#f59e0b;color:#ffffff;text-decoration:none;font-weight:700;border-radius:6px;padding:9px 16px;font-size:14px} @media (max-width:860px){#twbd65199 .tw-bd-2{grid-template-columns:1fr}} @media (max-width:600px){#twbd65199 .tw-bd-grid,#twbd65199 .tw-bd-ctl{grid-template-columns:1fr}#twbd65199 .tw-bd-tp{grid-template-columns:1fr}#twbd65199 .tw-bd-out{grid-template-columns:1fr 1fr}#twbd65199 .tw-ms-tip{font-size:12px;padding:7px 9px}} <\/style><svg width=\"0\" height=\"0\" style=\"position:absolute;width:0;height:0;overflow:hidden\" aria-hidden=\"true\" focusable=\"false\"><defs><pattern id=\"twbd65199-h\" width=\"8\" height=\"8\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"8\" height=\"8\" fill=\"#e6ecf3\"\/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"8\" stroke=\"#5b6b7f\" stroke-width=\"0.6\" stroke-opacity=\"0.35\"\/><\/pattern><marker id=\"twbd65199-a\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\"><path d=\"M0,1 L10,5 L0,9 Z\" fill=\"#1e3a5f\"\/><\/marker><\/defs><\/svg><h3>Designing Bosses for Injection Molding<\/h3><p class=\"tw-bd-sub\">Interactive reference: boss anatomy, a live boss designer, boss types, screw details, defects and material guidelines. Hover or tap any number on the drawings.<\/p><div class=\"tw-bd-sec\"><div class=\"tw-bd-h\">1. Boss anatomy<\/div><div class=\"tw-bd-2\"><div><div class=\"tw-ms-stage\" data-parts=\"[{&quot;n&quot;:1,&quot;name&quot;:&quot;Outer Diameter (OD)&quot;,&quot;fn&quot;:&quot;About 2 x the screw diameter (2.5 x for glass-filled resins): enough plastic around the thread without a thick section.&quot;,&quot;bx&quot;:300,&quot;by&quot;:38,&quot;ax&quot;:300,&quot;ay&quot;:58},{&quot;n&quot;:2,&quot;name&quot;:&quot;Pilot Hole (ID)&quot;,&quot;fn&quot;:&quot;For thread-forming screws roughly 0.8 x the screw major diameter - check the screw maker&#039;s chart. For heat-set inserts, ID = insert hole size.&quot;,&quot;bx&quot;:300,&quot;by&quot;:190,&quot;ax&quot;:300,&quot;ay&quot;:190},{&quot;n&quot;:3,&quot;name&quot;:&quot;Boss Wall (t)&quot;,&quot;fn&quot;:&quot;Keep it at 0.5-0.6 x the nominal wall T. Thicker walls sink and void; much thinner walls crack when the screw goes in.&quot;,&quot;bx&quot;:150,&quot;by&quot;:210,&quot;ax&quot;:232,&quot;ay&quot;:210},{&quot;n&quot;:4,&quot;name&quot;:&quot;Draft Angle&quot;,&quot;fn&quot;:&quot;0.5-1 degree per side on the outside and in the hole so the boss releases from the core pin cleanly.&quot;,&quot;bx&quot;:462,&quot;by&quot;:232,&quot;ax&quot;:378,&quot;ay&quot;:232},{&quot;n&quot;:5,&quot;name&quot;:&quot;Base Fillet (R)&quot;,&quot;fn&quot;:&quot;0.25-0.5 x T at the root: lowers stress at the junction without creating a new thick spot.&quot;,&quot;bx&quot;:150,&quot;by&quot;:270,&quot;ax&quot;:212,&quot;ay&quot;:292},{&quot;n&quot;:6,&quot;name&quot;:&quot;Base Wall (T)&quot;,&quot;fn&quot;:&quot;Nominal part wall. Every boss dimension is a ratio of T.&quot;,&quot;bx&quot;:566,&quot;by&quot;:318,&quot;ax&quot;:545,&quot;ay&quot;:318},{&quot;n&quot;:7,&quot;name&quot;:&quot;Chamfer \\\/ Lead-in&quot;,&quot;fn&quot;:&quot;About 0.5 mm x 45 degrees at the hole entry so the screw starts straight and does not crack the rim.&quot;,&quot;bx&quot;:462,&quot;by&quot;:94,&quot;ax&quot;:342,&quot;ay&quot;:84},{&quot;n&quot;:8,&quot;name&quot;:&quot;Boss Height (H)&quot;,&quot;fn&quot;:&quot;Up to about 3 x OD. Above 2 x OD add gussets; tall free-standing bosses bend, fill poorly and stick.&quot;,&quot;bx&quot;:462,&quot;by&quot;:160,&quot;ax&quot;:420,&quot;ay&quot;:160},{&quot;n&quot;:9,&quot;name&quot;:&quot;Sink Risk Zone&quot;,&quot;fn&quot;:&quot;The show face opposite the boss. Thick boss walls or a heavy root pull this surface in as they shrink.&quot;,&quot;bx&quot;:300,&quot;by&quot;:362,&quot;ax&quot;:300,&quot;ay&quot;:340}]\"><svg viewBox=\"0 0 600 380\" role=\"img\" aria-label=\"Cross-section of a screw boss with 9 numbered design features\"><rect width=\"600\" height=\"380\" fill=\"#ffffff\"\/><g data-p=\"6\"><rect x=\"80\" y=\"300\" width=\"440\" height=\"36\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><line x1=\"530\" y1=\"302\" x2=\"530\" y2=\"334\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twbd65199-a)\" marker-end=\"url(#twbd65199-a)\"\/><line x1=\"522\" y1=\"300\" x2=\"540\" y2=\"300\" stroke=\"#1e3a5f\" stroke-width=\"0.8\"\/><line x1=\"522\" y1=\"336\" x2=\"540\" y2=\"336\" stroke=\"#1e3a5f\" stroke-width=\"0.8\"\/><\/g><g pointer-events=\"none\" data-d=\"1\"><path d=\"M396,300 Q380,300 380,284 L376,80 H342 L336,86 L333,300 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"3\"><path d=\"M204,300 Q220,300 220,284 L224,80 H258 L264,86 L267,300 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><line x1=\"226\" y1=\"210\" x2=\"264\" y2=\"210\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twbd65199-a)\" marker-end=\"url(#twbd65199-a)\"\/><\/g><g data-p=\"2\"><path d=\"M264,86 L267,296 H333 L336,86 Z\" fill=\"#f8fafc\" stroke=\"#5b6b7f\" stroke-width=\"1\" stroke-dasharray=\"4 3\"\/><line x1=\"268\" y1=\"150\" x2=\"332\" y2=\"150\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twbd65199-a)\" marker-end=\"url(#twbd65199-a)\"\/><\/g><g data-p=\"1\"><line x1=\"224\" y1=\"76\" x2=\"224\" y2=\"52\" stroke=\"#1e3a5f\" stroke-width=\"0.8\"\/><line x1=\"376\" y1=\"76\" x2=\"376\" y2=\"52\" stroke=\"#1e3a5f\" stroke-width=\"0.8\"\/><line x1=\"226\" y1=\"58\" x2=\"374\" y2=\"58\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twbd65199-a)\" marker-end=\"url(#twbd65199-a)\"\/><\/g><g data-p=\"4\"><line x1=\"380\" y1=\"300\" x2=\"380\" y2=\"96\" stroke=\"#5b6b7f\" stroke-width=\"1\" stroke-dasharray=\"4 3\"\/><line x1=\"380\" y1=\"284\" x2=\"376\" y2=\"80\" stroke=\"#d97706\" stroke-width=\"2.2\"\/><\/g><g data-p=\"5\"><path d=\"M204,300 Q220,300 220,284\" fill=\"none\" stroke=\"#1e3a5f\" stroke-width=\"2.4\"\/><path d=\"M396,300 Q380,300 380,284\" fill=\"none\" stroke=\"#1e3a5f\" stroke-width=\"2.4\"\/><\/g><g data-p=\"7\"><path d=\"M258,80 L264,86\" stroke=\"#1e3a5f\" stroke-width=\"2.6\"\/><path d=\"M342,80 L336,86\" stroke=\"#1e3a5f\" stroke-width=\"2.6\"\/><\/g><g data-p=\"8\"><line x1=\"386\" y1=\"80\" x2=\"426\" y2=\"80\" stroke=\"#1e3a5f\" stroke-width=\"0.8\"\/><line x1=\"400\" y1=\"300\" x2=\"426\" y2=\"300\" stroke=\"#1e3a5f\" stroke-width=\"0.8\"\/><line x1=\"420\" y1=\"82\" x2=\"420\" y2=\"298\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twbd65199-a)\" marker-end=\"url(#twbd65199-a)\"\/><\/g><g data-p=\"9\"><path d=\"M220,336 Q300,346 380,336\" fill=\"none\" stroke=\"#d63c3c\" stroke-width=\"2\" stroke-dasharray=\"5 3\"\/><\/g><g pointer-events=\"none\"><line x1=\"300\" y1=\"30\" x2=\"300\" y2=\"350\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><\/g><g data-p=\"1\"><line x1=\"300\" y1=\"49\" x2=\"300\" y2=\"58\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"300\" cy=\"58\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"300\" cy=\"38\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"300\" y=\"42\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><circle cx=\"300\" cy=\"190\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"300\" y=\"194\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"161\" y1=\"210\" x2=\"232\" y2=\"210\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"232\" cy=\"210\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"150\" cy=\"210\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"150\" y=\"214\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"451\" y1=\"232\" x2=\"378\" y2=\"232\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"378\" cy=\"232\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"462\" cy=\"232\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"462\" y=\"236\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"161\" y1=\"270\" x2=\"212\" y2=\"292\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"212\" cy=\"292\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"150\" cy=\"270\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"150\" y=\"274\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"555\" y1=\"318\" x2=\"545\" y2=\"318\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"545\" cy=\"318\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"566\" cy=\"318\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"566\" y=\"322\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><g data-p=\"7\"><line x1=\"451\" y1=\"94\" x2=\"342\" y2=\"84\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"342\" cy=\"84\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"462\" cy=\"94\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"462\" y=\"98\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">7<\/text><\/g><g data-p=\"8\"><line x1=\"451\" y1=\"160\" x2=\"420\" y2=\"160\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"420\" cy=\"160\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"462\" cy=\"160\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"462\" y=\"164\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">8<\/text><\/g><g data-p=\"9\"><line x1=\"300\" y1=\"351\" x2=\"300\" y2=\"340\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"300\" cy=\"340\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"300\" cy=\"362\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"300\" y=\"366\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">9<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><\/div><div class=\"tw-bd-card\"><div class=\"tw-bd-ct\">Key dimensional rules<\/div><table class=\"tw-bd-t\"><tbody><tr><td>Boss wall t<\/td><td>0.5&#8211;0.6 &#215; T<\/td><\/tr><tr><td>Outer diameter<\/td><td>&#8776; 2 &#215; screw d (2.5 &#215; glass-filled)<\/td><\/tr><tr><td>Pilot hole<\/td><td>&#8776; 0.8 &#215; d (screw maker's chart)<\/td><\/tr><tr><td>Height H<\/td><td>&#8804; 3 &#215; OD; gussets above 2 &#215; OD<\/td><\/tr><tr><td>Draft<\/td><td>0.5&#8211;1&#176; per side, inside and out<\/td><\/tr><tr><td>Base fillet R<\/td><td>0.25&#8211;0.5 &#215; T<\/td><\/tr><tr><td>Thread engagement<\/td><td>2&#8211;2.5 &#215; d<\/td><\/tr><\/tbody><\/table><p class=\"tw-bd-cd\" style=\"margin:10px 0 0\">Why 0.5&#8211;0.6 &#215; T? A boss wall as thick as the part wall cools much later than the wall around it; the late-shrinking plastic pulls the show face in (sink) and can leave voids inside.<\/p><\/div><\/div><\/div><div class=\"tw-bd-sec\"><div class=\"tw-bd-h\">2. Live boss designer &#8211; drag the sliders<\/div><div class=\"tw-bd-2\"><div class=\"tw-bd-play\"><svg class=\"tw-bd-live\" viewBox=\"0 0 400 270\" role=\"img\" aria-label=\"Live boss cross-section\"><\/svg><\/div><div class=\"tw-bd-play\"><div class=\"tw-bd-ctl\"><label><span>Screw diameter d <b data-o=\"d\">3<\/b> mm<\/span><input type=\"range\" data-k=\"d\" min=\"2\" max=\"6\" step=\"0.5\" value=\"3\"><\/label><label><span>Nominal wall T <b data-o=\"T\">2<\/b> mm<\/span><input type=\"range\" data-k=\"T\" min=\"1\" max=\"4\" step=\"0.1\" value=\"2\"><\/label><label><span>Boss OD <b data-o=\"od\">2.6<\/b> &#215; d<\/span><input type=\"range\" data-k=\"od\" min=\"1.5\" max=\"3.2\" step=\"0.05\" value=\"2.6\"><\/label><label><span>Boss height <b data-o=\"h\">2.6<\/b> &#215; OD<\/span><input type=\"range\" data-k=\"h\" min=\"1\" max=\"4\" step=\"0.1\" value=\"2.6\"><\/label><label><span>Base fillet R <b data-o=\"rf\">0.1<\/b> &#215; T<\/span><input type=\"range\" data-k=\"rf\" min=\"0\" max=\"1\" step=\"0.05\" value=\"0.1\"><\/label><label><span>Draft <b data-o=\"dr\">0.25<\/b> &#176;<\/span><input type=\"range\" data-k=\"dr\" min=\"0\" max=\"2\" step=\"0.25\" value=\"0.25\"><\/label><label><span>Material<\/span><select data-k=\"mat\"><option value=\"u\">Unfilled (ABS, PC, PP)<\/option><option value=\"g\">Glass-filled (PA-GF, PBT-GF)<\/option><option value=\"c\">Semi-crystalline (POM, PA, PBT)<\/option><\/select><\/label><label class=\"cb\"><input type=\"checkbox\" data-k=\"gus\"><span>Add gussets<\/span><\/label><\/div><div class=\"tw-bd-out\"><div>OD<b data-r=\"od\">&#8211;<\/b><\/div><div>Pilot hole<b data-r=\"id\">&#8211;<\/b><\/div><div>Boss wall<b data-r=\"w\">&#8211;<\/b><\/div><div>Height<b data-r=\"H\">&#8211;<\/b><\/div><\/div><ul class=\"tw-bd-verd\"><\/ul><\/div><\/div><\/div><div class=\"tw-bd-sec\"><div class=\"tw-bd-h\">3. Common boss types<\/div><div class=\"tw-bd-tabs\"><button type=\"button\" data-tab=\"standalone\" style=\"background:#1e3a5f;color:#ffffff;border-color:#1e3a5f\">Standalone<\/button><button type=\"button\" data-tab=\"wall-attached\" style=\"background:#ffffff;color:#1e3a5f\">Wall-attached<\/button><button type=\"button\" data-tab=\"gusseted\" style=\"background:#ffffff;color:#1e3a5f\">Gusseted<\/button><button type=\"button\" data-tab=\"boss-pair\" style=\"background:#ffffff;color:#1e3a5f\">Boss pair<\/button><\/div><div class=\"tw-bd-tp\" data-panel=\"standalone\" style=\"display:grid\"><svg viewBox=\"0 0 260 150\" role=\"img\" aria-label=\"Standalone boss cross-section\"><rect width=\"260\" height=\"150\" fill=\"#ffffff\"\/><rect x=\"20\" y=\"116\" width=\"220\" height=\"22\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><path d=\"M88,116 Q98,116 98,106 L100,34 H116 V116 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><path d=\"M172,116 Q162,116 162,106 L160,34 H144 V116 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><\/svg><div><div class=\"tw-bd-ct\">Standalone boss<\/div><div class=\"tw-bd-cd\">Tied only to the base wall. Fine for light loads and short bosses (height up to about 2 x OD). Core it and keep the wall at 0.5-0.6 x T so the show face does not sink.<\/div><\/div><\/div><div class=\"tw-bd-tp\" data-panel=\"wall-attached\" style=\"display:none\"><svg viewBox=\"0 0 260 150\" role=\"img\" aria-label=\"Wall-attached boss cross-section\"><rect width=\"260\" height=\"150\" fill=\"#ffffff\"\/><rect x=\"20\" y=\"116\" width=\"220\" height=\"22\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><rect x=\"20\" y=\"22\" width=\"18\" height=\"94\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><rect x=\"38\" y=\"62\" width=\"104\" height=\"10\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><path d=\"M130,116 Q140,116 140,106 L142,34 H157 V116 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><path d=\"M210,116 Q200,116 200,106 L198,34 H183 V116 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><text x=\"88\" y=\"56\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">rib 0.5&#8211;0.6 T<\/text><\/svg><div><div class=\"tw-bd-ct\">Wall-attached boss<\/div><div class=\"tw-bd-cd\">Linked to a nearby side wall with a rib of 0.5-0.6 x T instead of merging into the wall. The rib braces the boss against screw torque while avoiding a thick, sink-prone junction.<\/div><\/div><\/div><div class=\"tw-bd-tp\" data-panel=\"gusseted\" style=\"display:none\"><svg viewBox=\"0 0 260 150\" role=\"img\" aria-label=\"Gusseted boss cross-section\"><rect width=\"260\" height=\"150\" fill=\"#ffffff\"\/><rect x=\"20\" y=\"116\" width=\"220\" height=\"22\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><polygon points=\"98,116 98,66 60,116\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><polygon points=\"162,116 162,66 200,116\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><path d=\"M88,116 Q98,116 98,106 L100,30 H116 V116 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><path d=\"M172,116 Q162,116 162,106 L160,30 H144 V116 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><text x=\"64\" y=\"104\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">gusset<\/text><\/svg><div><div class=\"tw-bd-ct\">Gusseted boss<\/div><div class=\"tw-bd-cd\">Three or four gussets (0.5 x T thick, up to about 2\/3 of the boss height) stiffen tall or highly loaded bosses. Use them once height passes about 2 x OD.<\/div><\/div><\/div><div class=\"tw-bd-tp\" data-panel=\"boss-pair\" style=\"display:none\"><svg viewBox=\"0 0 260 150\" role=\"img\" aria-label=\"Boss pair (alignment \/ clip) cross-section\"><rect width=\"260\" height=\"150\" fill=\"#ffffff\"\/><rect x=\"20\" y=\"116\" width=\"220\" height=\"22\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><path d=\"M50,116 Q60,116 60,106 L62,42 H74 V116 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><path d=\"M114,116 Q104,116 104,106 L102,42 H90 V116 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><path d=\"M146,116 Q156,116 156,106 L158,42 H170 V116 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><path d=\"M210,116 Q200,116 200,106 L198,42 H186 V116 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><line x1=\"82\" y1=\"30\" x2=\"178\" y2=\"30\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twbd65199-a)\" marker-end=\"url(#twbd65199-a)\"\/><text x=\"130\" y=\"24\" font-size=\"10\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"middle\">spacing &#8805; 2 OD<\/text><\/svg><div><div class=\"tw-bd-ct\">Boss pair (alignment \/ clip)<\/div><div class=\"tw-bd-cd\">Matching bosses for locating or clipping a mating part. Keep heights and diameters equal and space them at least 2 x OD centre to centre so they never merge into one thick section.<\/div><\/div><\/div><\/div><div class=\"tw-bd-sec\"><div class=\"tw-bd-h\">4. Screw boss details<\/div><div class=\"tw-bd-2\"><div class=\"tw-ms-stage\" data-parts=\"[{&quot;n&quot;:1,&quot;name&quot;:&quot;Thread-Forming Screw&quot;,&quot;fn&quot;:&quot;Use screws made for plastics (wide thread angle, e.g. 30-48 degrees) - they form threads with lower hoop stress than machine screws.&quot;,&quot;bx&quot;:470,&quot;by&quot;:44,&quot;ax&quot;:312,&quot;ay&quot;:44},{&quot;n&quot;:2,&quot;name&quot;:&quot;Chamfer \\\/ Counterbore&quot;,&quot;fn&quot;:&quot;A 0.5 mm chamfer or a short counterbore centers the screw and moves the first thread below the rim, where the boss is strongest.&quot;,&quot;bx&quot;:470,&quot;by&quot;:100,&quot;ax&quot;:346,&quot;ay&quot;:96},{&quot;n&quot;:3,&quot;name&quot;:&quot;Thread Engagement&quot;,&quot;fn&quot;:&quot;2-2.5 x the screw diameter. Shorter strips out; longer adds driving torque without much extra pull-out strength.&quot;,&quot;bx&quot;:130,&quot;by&quot;:180,&quot;ax&quot;:256,&quot;ay&quot;:180},{&quot;n&quot;:4,&quot;name&quot;:&quot;Pilot Hole&quot;,&quot;fn&quot;:&quot;Sized from the screw maker&#039;s chart (about 0.8 x d for many plastics). Draft the core pin 0.5 degree and polish it so it ejects cleanly.&quot;,&quot;bx&quot;:470,&quot;by&quot;:200,&quot;ax&quot;:334,&quot;ay&quot;:200},{&quot;n&quot;:5,&quot;name&quot;:&quot;Bottom Clearance&quot;,&quot;fn&quot;:&quot;Make the hole deeper than the screw tip (about 0.5-1 x d) so the screw never bottoms out and splits the boss.&quot;,&quot;bx&quot;:470,&quot;by&quot;:282,&quot;ax&quot;:334,&quot;ay&quot;:282},{&quot;n&quot;:6,&quot;name&quot;:&quot;Boss Wall&quot;,&quot;fn&quot;:&quot;0.5-0.6 x T, uniform all round, with 0.5-1 degree draft.&quot;,&quot;bx&quot;:130,&quot;by&quot;:110,&quot;ax&quot;:238,&quot;ay&quot;:110}]\"><svg viewBox=\"0 0 600 360\" role=\"img\" aria-label=\"Screw boss section with thread-forming screw and 6 numbered features\"><rect width=\"600\" height=\"360\" fill=\"#ffffff\"\/><g data-p=\"6\"><rect x=\"60\" y=\"306\" width=\"480\" height=\"30\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><path d=\"M200,306 Q214,306 214,292 L218,80 H252 V306 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><path d=\"M400,306 Q386,306 386,292 L382,80 H348 V306 Z\" fill=\"#f2a33c\" stroke=\"#b9771f\" stroke-width=\"1.2\"\/><\/g><g data-p=\"4\"><rect x=\"268\" y=\"96\" width=\"64\" height=\"200\" fill=\"#f8fafc\" stroke=\"#5b6b7f\" stroke-width=\"1\" stroke-dasharray=\"4 3\"\/><\/g><g data-p=\"3\"><rect x=\"268\" y=\"110\" width=\"64\" height=\"140\" fill=\"#f2a33c\" fill-opacity=\"0.18\" stroke=\"#d97706\" stroke-width=\"1.2\" stroke-dasharray=\"5 3\"\/><line x1=\"246\" y1=\"112\" x2=\"246\" y2=\"248\" stroke=\"#1e3a5f\" stroke-width=\"1\" marker-start=\"url(#twbd65199-a)\" marker-end=\"url(#twbd65199-a)\"\/><text x=\"236\" y=\"140\" font-size=\"11\" font-weight=\"700\" fill=\"#1e3a5f\" text-anchor=\"end\">2&#8211;2.5 d<\/text><\/g><g data-p=\"5\"><rect x=\"268\" y=\"262\" width=\"64\" height=\"34\" fill=\"#dcfce7\" stroke=\"#15803d\" stroke-width=\"1.2\" stroke-dasharray=\"4 3\"\/><\/g><g data-p=\"2\"><path d=\"M252,80 H268 V96 H252 Z\" fill=\"#ffffff\" stroke=\"#1e3a5f\" stroke-width=\"1.6\"\/><path d=\"M348,80 H332 V96 H348 Z\" fill=\"#ffffff\" stroke=\"#1e3a5f\" stroke-width=\"1.6\"\/><\/g><g data-p=\"1\"><rect x=\"252\" y=\"30\" width=\"96\" height=\"16\" rx=\"3\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><rect x=\"288\" y=\"46\" width=\"24\" height=\"200\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><path d=\"M288,246 L300,262 L312,246 Z\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><path d=\"M288,110 L270,116 L288,122 Z M312,110 L330,116 L312,122 Z\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><path d=\"M288,126 L270,132 L288,138 Z M312,126 L330,132 L312,138 Z\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><path d=\"M288,142 L270,148 L288,154 Z M312,142 L330,148 L312,154 Z\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><path d=\"M288,158 L270,164 L288,170 Z M312,158 L330,164 L312,170 Z\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><path d=\"M288,174 L270,180 L288,186 Z M312,174 L330,180 L312,186 Z\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><path d=\"M288,190 L270,196 L288,202 Z M312,190 L330,196 L312,202 Z\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><path d=\"M288,206 L270,212 L288,218 Z M312,206 L330,212 L312,218 Z\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><path d=\"M288,222 L270,228 L288,234 Z M312,222 L330,228 L312,234 Z\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><path d=\"M288,238 L270,244 L288,250 Z M312,238 L330,244 L312,250 Z\" fill=\"#c9d3de\" stroke=\"#5b6b7f\" stroke-width=\"1.2\"\/><\/g><g pointer-events=\"none\"><line x1=\"300\" y1=\"20\" x2=\"300\" y2=\"346\" stroke=\"#5b6b7f\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/><\/g><g data-p=\"1\"><line x1=\"459\" y1=\"44\" x2=\"312\" y2=\"44\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"312\" cy=\"44\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"470\" cy=\"44\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"470\" y=\"48\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">1<\/text><\/g><g data-p=\"2\"><line x1=\"459\" y1=\"100\" x2=\"346\" y2=\"96\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"346\" cy=\"96\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"470\" cy=\"100\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"470\" y=\"104\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">2<\/text><\/g><g data-p=\"3\"><line x1=\"141\" y1=\"180\" x2=\"256\" y2=\"180\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"256\" cy=\"180\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"130\" cy=\"180\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"130\" y=\"184\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">3<\/text><\/g><g data-p=\"4\"><line x1=\"459\" y1=\"200\" x2=\"334\" y2=\"200\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"334\" cy=\"200\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"470\" cy=\"200\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"470\" y=\"204\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">4<\/text><\/g><g data-p=\"5\"><line x1=\"459\" y1=\"282\" x2=\"334\" y2=\"282\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"334\" cy=\"282\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"470\" cy=\"282\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"470\" y=\"286\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">5<\/text><\/g><g data-p=\"6\"><line x1=\"141\" y1=\"110\" x2=\"238\" y2=\"110\" stroke=\"#1e3a5f\" stroke-width=\"0.9\"\/><circle cx=\"238\" cy=\"110\" r=\"2\" fill=\"#1e3a5f\"\/><circle cx=\"130\" cy=\"110\" r=\"11\" fill=\"#1e3a5f\"\/><text x=\"130\" y=\"114\" font-size=\"11\" font-weight=\"700\" fill=\"#ffffff\" text-anchor=\"middle\">6<\/text><\/g><\/svg><div class=\"tw-ms-tip\" role=\"status\" aria-live=\"polite\"><\/div><\/div><div><div class=\"tw-bd-card\" style=\"margin-bottom:10px\"><div class=\"tw-bd-ct\">Thread-forming screw bosses<\/div><ul class=\"tw-bd-l\"><li><i style=\"color:#1e3a5f\">&#8594;<\/i>Pilot hole from the screw maker's chart (about 0.8 &#215; d)<\/li><li><i style=\"color:#1e3a5f\">&#8594;<\/i>Engagement 2&#8211;2.5 &#215; d; hole deeper than the screw tip<\/li><li><i style=\"color:#1e3a5f\">&#8594;<\/i>0.5 mm chamfer or short counterbore at the entry<\/li><li><i style=\"color:#1e3a5f\">&#8594;<\/i>OD about 2 &#215; d (2.5 &#215; for glass-filled)<\/li><\/ul><\/div><div class=\"tw-bd-card\" style=\"margin-bottom:10px\"><div class=\"tw-bd-ct\">Heat-set \/ ultrasonic insert bosses<\/div><ul class=\"tw-bd-l\"><li><i style=\"color:#1e3a5f\">&#8594;<\/i>Hole size and taper from the insert maker's spec<\/li><li><i style=\"color:#1e3a5f\">&#8594;<\/i>Boss OD about 2 &#215; insert OD<\/li><li><i style=\"color:#1e3a5f\">&#8594;<\/i>Hole deeper than the insert so displaced plastic has room<\/li><\/ul><\/div><div class=\"tw-bd-card\"><div class=\"tw-bd-ct\">Molded-in insert bosses<\/div><ul class=\"tw-bd-l\"><li><i style=\"color:#1e3a5f\">&#8594;<\/i>Uniform wall around the insert to limit hoop stress<\/li><li><i style=\"color:#1e3a5f\">&#8594;<\/i>Knurls or grooves on the insert for pull-out and torque<\/li><li><i style=\"color:#1e3a5f\">&#8594;<\/i>Pre-heat inserts to cut residual stress<\/li><\/ul><\/div><\/div><\/div><\/div><div class=\"tw-bd-sec\"><div class=\"tw-bd-h\">5. Design do&#8217;s and don&#8217;ts<\/div><div class=\"tw-bd-grid\"><div class=\"tw-bd-card\" style=\"border-left:4px solid #15803d\"><div class=\"tw-bd-ct\" style=\"color:#15803d\">&#10003; Do<\/div><ul class=\"tw-bd-l\"><li><i style=\"color:#15803d\">&#10003;<\/i>Keep the boss wall at 50&#8211;60% of the nominal wall<\/li><li><i style=\"color:#15803d\">&#10003;<\/i>Use gussets or ribs on tall bosses<\/li><li><i style=\"color:#15803d\">&#10003;<\/i>Core the boss so it is a tube, not a solid post<\/li><li><i style=\"color:#15803d\">&#10003;<\/i>Draft 0.5&#8211;1&#176; inside and outside<\/li><li><i style=\"color:#15803d\">&#10003;<\/i>Keep bosses away from outside corners<\/li><li><i style=\"color:#15803d\">&#10003;<\/i>Radius the base 0.25&#8211;0.5 &#215; T<\/li><li><i style=\"color:#15803d\">&#10003;<\/i>Tie bosses near a side wall to it with a thin rib<\/li><\/ul><\/div><div class=\"tw-bd-card\" style=\"border-left:4px solid #d63c3c\"><div class=\"tw-bd-ct\" style=\"color:#d63c3c\">&#10007; Don&#8217;t<\/div><ul class=\"tw-bd-l\"><li><i style=\"color:#d63c3c\">&#10007;<\/i>Make the boss wall as thick as the part wall<\/li><li><i style=\"color:#d63c3c\">&#10007;<\/i>Merge a boss straight into a side wall<\/li><li><i style=\"color:#d63c3c\">&#10007;<\/i>Go above about 3 &#215; OD unsupported<\/li><li><i style=\"color:#d63c3c\">&#10007;<\/i>Leave bosses solid &#8211; they always sink<\/li><li><i style=\"color:#d63c3c\">&#10007;<\/i>Space bosses closer than 2 &#215; OD<\/li><li><i style=\"color:#d63c3c\">&#10007;<\/i>Leave a sharp corner at the base<\/li><li><i style=\"color:#d63c3c\">&#10007;<\/i>Skip draft &#8211; zero-draft bosses stick and scuff<\/li><\/ul><\/div><\/div><\/div><div class=\"tw-bd-sec\"><div class=\"tw-bd-h\">6. Defects caused by poor boss design<\/div><div class=\"tw-bd-grid\"><div class=\"tw-bd-card\"><div><span class=\"tw-bd-pill\" style=\"background:#fde2e2;color:#b91c1c\">High risk<\/span><b style=\"color:#1e3a5f\">Sink marks<\/b><\/div><div class=\"tw-bd-cd\" style=\"margin-top:6px\">Thick boss walls or a heavy root shrink late and pull the show face in. Fix: boss wall 0.5&#8211;0.6 &#215; T, core the boss, moderate fillet.<\/div><\/div><div class=\"tw-bd-card\"><div><span class=\"tw-bd-pill\" style=\"background:#fde2e2;color:#b91c1c\">High risk<\/span><b style=\"color:#1e3a5f\">Voids<\/b><\/div><div class=\"tw-bd-cd\" style=\"margin-top:6px\">The skin freezes before the thick core of a solid boss, leaving bubbles inside. Fix: core the boss, keep walls uniform.<\/div><\/div><div class=\"tw-bd-card\"><div><span class=\"tw-bd-pill\" style=\"background:#fdecc8;color:#b45309\">Medium risk<\/span><b style=\"color:#1e3a5f\">Weld lines<\/b><\/div><div class=\"tw-bd-cd\" style=\"margin-top:6px\">Melt splits around the core pin and meets on the far side - a weak spot when the screw is driven. Fix: gate so fronts meet hot and at a shallow angle.<\/div><\/div><div class=\"tw-bd-card\"><div><span class=\"tw-bd-pill\" style=\"background:#fdecc8;color:#b45309\">Medium risk<\/span><b style=\"color:#1e3a5f\">Warpage<\/b><\/div><div class=\"tw-bd-cd\" style=\"margin-top:6px\">The boss area shrinks differently from the wall around it. Fix: uniform walls and cooling close to the bosses.<\/div><\/div><div class=\"tw-bd-card\"><div><span class=\"tw-bd-pill\" style=\"background:#dcfce7;color:#15803d\">Lower risk<\/span><b style=\"color:#1e3a5f\">Cracking at the base or rim<\/b><\/div><div class=\"tw-bd-cd\" style=\"margin-top:6px\">Sharp roots, too-small OD or the wrong screw split the boss. Fix: base fillet, OD about 2 &#215; d, screws made for plastics.<\/div><\/div><div class=\"tw-bd-card\"><div><span class=\"tw-bd-pill\" style=\"background:#dcfce7;color:#15803d\">Lower risk<\/span><b style=\"color:#1e3a5f\">Sticking on ejection<\/b><\/div><div class=\"tw-bd-cd\" style=\"margin-top:6px\">No draft on the core pin or outer wall. Fix: 0.5&#8211;1&#176; draft, polished core pins, ejector sleeve on deep bosses.<\/div><\/div><\/div><\/div><div class=\"tw-bd-sec\"><div class=\"tw-bd-h\">7. Quick reference &#8211; dimension ratios<\/div><div style=\"overflow-x:auto\"><table class=\"tw-bd-t\" style=\"min-width:560px\"><thead><tr><th>Parameter<\/th><th>Recommended<\/th><th>Notes<\/th><\/tr><\/thead><tbody><tr><td>Boss wall thickness<\/td><td>0.5&#8211;0.6 &#215; T<\/td><td>T = nominal part wall<\/td><\/tr><tr><td>Boss OD<\/td><td>&#8776; 2 &#215; screw d<\/td><td>2.5 &#215; for glass-filled<\/td><\/tr><tr><td>Pilot hole<\/td><td>&#8776; 0.8 &#215; d<\/td><td>Follow the screw maker&#8217;s chart<\/td><\/tr><tr><td>Height<\/td><td>&#8804; 3 &#215; OD<\/td><td>Gussets above 2 &#215; OD<\/td><\/tr><tr><td>Draft<\/td><td>0.5&#8211;1&#176; per side<\/td><td>Inside and outside<\/td><\/tr><tr><td>Base fillet<\/td><td>0.25&#8211;0.5 &#215; T<\/td><td>Larger radii add mass at the root<\/td><\/tr><tr><td>Thread engagement<\/td><td>2&#8211;2.5 &#215; d<\/td><td>Hole deeper than the screw tip<\/td><\/tr><tr><td>Rib \/ gusset thickness<\/td><td>0.5 &#215; T<\/td><td>Thicker ribs sink<\/td><\/tr><tr><td>Boss to side wall<\/td><td>Rib-connected<\/td><td>Do not merge into the wall<\/td><\/tr><tr><td>Boss to boss<\/td><td>&#8805; 2 &#215; OD centre to centre<\/td><td>Avoids merged thick sections<\/td><\/tr><\/tbody><\/table><\/div><\/div><div class=\"tw-bd-sec\"><div class=\"tw-bd-h\">8. Material-specific considerations<\/div><div class=\"tw-bd-grid\"><div class=\"tw-bd-card\"><span class=\"tw-bd-pill\" style=\"background:#e8eff8;color:#1e3a5f\">Standard<\/span><div class=\"tw-bd-ct\" style=\"margin-top:6px\">Unfilled thermoplastics (ABS, PC, PP)<\/div><div class=\"tw-bd-cd\">Standard rules apply. Good ductility makes them forgiving with thread-forming screws.<\/div><\/div><div class=\"tw-bd-card\"><span class=\"tw-bd-pill\" style=\"background:#fdecc8;color:#b45309\">Caution<\/span><div class=\"tw-bd-ct\" style=\"margin-top:6px\">Glass-filled (PA-GF, PBT-GF)<\/div><div class=\"tw-bd-cd\">Raise OD to about 2.5 &#215; d. Fibres add stiffness but cut ductility, and weld lines are weaker &#8211; place gates carefully.<\/div><\/div><div class=\"tw-bd-card\"><span class=\"tw-bd-pill\" style=\"background:#fde2e2;color:#b91c1c\">Critical<\/span><div class=\"tw-bd-ct\" style=\"margin-top:6px\">Semi-crystalline (POM, PA, PBT)<\/div><div class=\"tw-bd-cd\">Higher shrinkage makes uniform walls even more important. Core every boss; consider heat-set inserts for repeated assembly.<\/div><\/div><div class=\"tw-bd-card\"><span class=\"tw-bd-pill\" style=\"background:#ede4f7;color:#6b46a8\">Special<\/span><div class=\"tw-bd-ct\" style=\"margin-top:6px\">Soft \/ flexible (TPE, TPU)<\/div><div class=\"tw-bd-cd\">Screw bosses rarely work. Use metal inserts or snap features instead.<\/div><\/div><\/div><\/div><div class=\"tw-bd-cta\"><span style=\"font-weight:600\">Not sure your bosses will sink or crack? Send the CAD &#8211; we check every boss in a free DFM review.<\/span><a href=\"https:\/\/www.plasticmoulds.net\/contact-us\">Get a free DFM review<\/a><\/div><script> (function () { var root = document.getElementById('twbd65199'); if (!root) return; function clamp(v, a, b) { return Math.max(a, Math.min(b, v)); } \/* ---------- tooltip diagrams ---------- *\/ function initStage(stage) { var P = JSON.parse(stage.getAttribute('data-parts')), svg = stage.querySelector('svg'), tip = stage.querySelector('.tw-ms-tip'); var els = svg.querySelectorAll('[data-p]'), pinned = null; function part(n) { for (var i = 0; i < P.length; i++) if (String(P[i].n) === String(n)) return P[i]; return null; } function union(n) { var x1 = 1e9, y1 = 1e9, x2 = -1e9, y2 = -1e9; for (var i = 0; i < els.length; i++) { if (els[i].getAttribute('data-p') !== String(n)) continue; var b = els[i].getBBox(); x1 = Math.min(x1, b.x); y1 = Math.min(y1, b.y); x2 = Math.max(x2, b.x + b.width); y2 = Math.max(y2, b.y + b.height); } return { x1: x1, y1: y1, x2: x2, y2: y2 }; } function place(n, p) { var s = svg.getBoundingClientRect(), w = stage.getBoundingClientRect(), vb = svg.viewBox.baseVal; var k = s.width \/ vb.width, ox = s.left - w.left, oy = s.top - w.top, u = union(n); var L = ox + u.x1 * k, T = oy + u.y1 * k, Rt = ox + u.x2 * k, B = oy + u.y2 * k, bx = ox + p.bx * k, by = oy + p.by * k, W = w.width, H = w.height, gap = 10, m = 6; tip.style.display = 'block'; tip.style.width = Math.min(250, W - 2 * m) + 'px'; var tw = tip.offsetWidth, th = tip.offsetHeight, order = p.bx < vb.width \/ 2 ? ['l', 'r', 'b', 't'] : ['r', 'l', 'b', 't'], pos = null; var sL = L - gap - m, sR = W - m - Rt - gap, sT = T - gap - m, sB = H - m - B - gap; if (sL < tw && sR < tw && sT < th && sB < th && Math.max(sL, sR) >= 130) { tip.style.width = Math.floor(Math.max(sL, sR)) + 'px'; tw = tip.offsetWidth; th = tip.offsetHeight; order = sL >= sR ? ['l', 'r', 'b', 't'] : ['r', 'l', 'b', 't']; } function at(sd) { if (sd === 'l') return { x: L - gap - tw, y: clamp(by - th \/ 2, m, H - th - m), ok: L - gap - tw >= m }; if (sd === 'r') return { x: Rt + gap, y: clamp(by - th \/ 2, m, H - th - m), ok: Rt + gap + tw <= W - m }; if (sd === 'b') return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: B + gap, ok: B + gap + th <= H - m }; return { x: clamp(bx - tw \/ 2, m, W - tw - m), y: T - gap - th, ok: T - gap - th >= m }; } for (var i = 0; i < order.length && !pos; i++) { var c = at(order[i]); if (c.ok) pos = c; } if (!pos) { var sp = { l: L - tw, r: W - Rt - tw, t: T - th, b: H - B - th }, best = 'b'; for (var key in sp) if (sp[key] > sp[best]) best = key; pos = at(best); } tip.style.left = clamp(pos.x, m, W - tw - m) + 'px'; tip.style.top = clamp(pos.y, m, H - th - m) + 'px'; } function show(n) { var p = part(n); if (!p) return; for (var i = 0; i < els.length; i++) els[i].style.opacity = els[i].getAttribute('data-p') === String(n) ? '1' : '0.18'; var dd = svg.querySelectorAll('[data-d]'); for (i = 0; i < dd.length; i++) dd[i].style.opacity = '0.18'; tip.innerHTML = '<div class=\"h\"><span class=\"tw-ms-num\"><\/span><span class=\"nm\"><\/span><\/div><p><\/p>'; tip.querySelector('.tw-ms-num').textContent = p.n; tip.querySelector('.nm').textContent = p.name; tip.querySelector('p').textContent = p.fn; place(n, p); } function hide() { for (var i = 0; i < els.length; i++) els[i].style.opacity = ''; var dd = svg.querySelectorAll('[data-d]'); for (i = 0; i < dd.length; i++) dd[i].style.opacity = ''; tip.style.display = 'none'; } for (var i = 0; i < els.length; i++) { (function (el) { var n = el.getAttribute('data-p'); el.addEventListener('mouseenter', function () { if (pinned === null) show(n); }); el.addEventListener('mouseleave', function () { if (pinned === null) hide(); }); el.addEventListener('click', function (e) { e.stopPropagation(); if (pinned === n) { pinned = null; hide(); } else { pinned = n; show(n); } }); })(els[i]); } svg.addEventListener('click', function () { pinned = null; hide(); }); window.addEventListener('resize', function () { pinned = null; hide(); }); } var stages = root.querySelectorAll('.tw-ms-stage'); for (var i = 0; i < stages.length; i++) initStage(stages[i]); \/* ---------- boss type tabs ---------- *\/ var tb = root.querySelectorAll('.tw-bd-tabs button'), tps = root.querySelectorAll('.tw-bd-tp'); for (i = 0; i < tb.length; i++) tb[i].addEventListener('click', function () { var key = this.getAttribute('data-tab'); for (var j = 0; j < tb.length; j++) { var on = tb[j].getAttribute('data-tab') === key; tb[j].style.background = on ? '#1e3a5f' : '#ffffff'; tb[j].style.color = on ? '#ffffff' : '#1e3a5f'; tb[j].style.borderColor = on ? '#1e3a5f' : '#c9d3df'; } for (j = 0; j < tps.length; j++) tps[j].style.display = tps[j].getAttribute('data-panel') === key ? 'grid' : 'none'; }); \/* ---------- live boss designer ---------- *\/ var live = root.querySelector('.tw-bd-live'), ins = root.querySelectorAll('[data-k]'), verd = root.querySelector('.tw-bd-verd'); var A = '#f2a33c', AS = '#b9771f', RED = '#d63c3c', NAV = '#1e3a5f', GRY = '#5b6b7f', ORG = '#d97706'; function f(v, d) { return (+v).toFixed(d === undefined ? 1 : d); } function T(x, y, s, c, a, z) { return '<text x=\"' + x + '\" y=\"' + y + '\" font-size=\"' + (z || 11) + '\" font-weight=\"700\" fill=\"' + (c || NAV) + '\" text-anchor=\"' + (a || 'middle') + '\">' + s + '<\/text>'; } function CR(x, y) { return '<path d=\"M' + x + ',' + y + ' l5,5 l-4,4 l6,6\" fill=\"none\" stroke=\"' + RED + '\" stroke-width=\"2\"\/>'; } function design() { var v = {}; for (var i = 0; i < ins.length; i++) { var el = ins[i], k = el.getAttribute('data-k'); if (el.type === 'checkbox') v[k] = el.checked; else if (el.tagName === 'SELECT') v[k] = el.value; else { v[k] = parseFloat(el.value); var o = root.querySelector('[data-o=\"' + k + '\"]'); if (o) o.textContent = el.value; } } var gf = v.mat === 'g', odT = gf ? 2.5 : 2.0, hole = v.d * (gf ? 0.85 : 0.8), OD = v.d * v.od, w = (OD - hole) \/ 2, wr = w \/ v.T, Hmm = OD * v.h, R = v.rf * v.T; var wOk = v.mat === 'c' ? 0.55 : 0.6; \/* drawing *\/ var k = Math.min(20, 190 \/ OD, 46 \/ v.T), cx = 200, yb = 196, tb = v.T * k, o = OD * k \/ 2, hh = hole * k \/ 2, Hp = 34 * v.h, top = yb - Hp, dx = Hp * Math.tan(Math.min(6, v.dr * 3) * Math.PI \/ 180), rp = Math.min(R * k, 40); var s = '<rect width=\"400\" height=\"270\" fill=\"#ffffff\"\/>'; if (v.gus) { var gh = Hp * 0.66, gl = Math.min(70, Hp * 0.5); s += '<polygon points=\"' + (cx - o) + ',' + yb + ' ' + (cx - o) + ',' + (yb - gh) + ' ' + (cx - o - gl) + ',' + yb + '\" fill=\"' + A + '\" stroke=\"' + AS + '\"\/>' + '<polygon points=\"' + (cx + o) + ',' + yb + ' ' + (cx + o) + ',' + (yb - gh) + ' ' + (cx + o + gl) + ',' + yb + '\" fill=\"' + A + '\" stroke=\"' + AS + '\"\/>'; } s += '<rect x=\"30\" y=\"' + yb + '\" width=\"340\" height=\"' + tb + '\" fill=\"' + A + '\" stroke=\"' + AS + '\"\/>'; var L = 'M' + (cx - o - rp) + ',' + yb + (rp > 0 ? ' Q' + (cx - o) + ',' + yb + ' ' + (cx - o) + ',' + (yb - rp) : '') + ' L' + (cx - o + dx) + ',' + top + ' H' + (cx - hh) + ' V' + yb + ' Z'; var Rr = 'M' + (cx + o + rp) + ',' + yb + (rp > 0 ? ' Q' + (cx + o) + ',' + yb + ' ' + (cx + o) + ',' + (yb - rp) : '') + ' L' + (cx + o - dx) + ',' + top + ' H' + (cx + hh) + ' V' + yb + ' Z'; s += '<path d=\"' + L + '\" fill=\"' + A + '\" stroke=\"' + AS + '\"\/><path d=\"' + Rr + '\" fill=\"' + A + '\" stroke=\"' + AS + '\"\/>'; s += '<rect x=\"' + (cx - hh) + '\" y=\"' + top + '\" width=\"' + (2 * hh) + '\" height=\"' + (Hp - 2) + '\" fill=\"#f8fafc\" stroke=\"' + GRY + '\" stroke-dasharray=\"4 3\"\/>'; if (wr > wOk) { var dep = Math.min(9, (wr - wOk) * 18); s += '<path d=\"M' + (cx - o - 12) + ',' + (yb + tb) + ' Q' + cx + ',' + (yb + tb - dep * 2) + ' ' + (cx + o + 12) + ',' + (yb + tb) + ' Z\" fill=\"#ffffff\" stroke=\"' + RED + '\" stroke-width=\"1.6\"\/>' + T(cx, yb + tb + 16, 'sink', RED); } if (wr > 0.95) s += '<circle cx=\"' + (cx - (o + hh) \/ 2) + '\" cy=\"' + (yb - Hp * 0.3) + '\" r=\"' + Math.max(3, (o - hh) \/ 4) + '\" fill=\"#ffffff\" stroke=\"' + RED + '\" stroke-width=\"1.6\"\/>'; if (v.od < 1.8) s += CR(cx - hh - 9, top + 10) + CR(cx + hh + 2, top + 22); if (v.rf < 0.25) s += CR(cx - o - 14, yb - 14) + CR(cx + o + 6, yb - 14); if (v.dr < 0.5) { for (var j = 0; j < 3; j++) s += '<line x1=\"' + (cx + o + 8) + '\" y1=\"' + (top + 10 + j * Hp \/ 3.4) + '\" x2=\"' + (cx + o + 8) + '\" y2=\"' + (top + 24 + j * Hp \/ 3.4) + '\" stroke=\"' + RED + '\" stroke-width=\"2.4\"\/>'; } if (v.h > 3 || (v.h > 2 && !v.gus)) s += '<path d=\"M' + (cx + o + 18) + ',' + (top + 8) + ' q22,' + (Hp \/ 2) + ' 6,' + (Hp - 20) + '\" fill=\"none\" stroke=\"' + ORG + '\" stroke-width=\"2\" stroke-dasharray=\"5 3\"\/>' + T(cx + o + 30, top + Hp \/ 2, 'bends', ORG, 'start'); s += '<line x1=\"' + (cx - o + dx) + '\" y1=\"' + (top - 12) + '\" x2=\"' + (cx + o - dx) + '\" y2=\"' + (top - 12) + '\" stroke=\"' + NAV + '\"\/>' + T(cx, top - 17, 'OD ' + f(OD) + ' mm'); s += '<line x1=\"' + cx + '\" y1=\"12\" x2=\"' + cx + '\" y2=\"' + (yb + tb + 6) + '\" stroke=\"' + GRY + '\" stroke-width=\"0.7\" stroke-dasharray=\"16 4 2 4\"\/>'; s += T(34, yb - 6, 'T ' + f(v.T) + ' mm', NAV, 'start') + T(cx - o - 6, yb - Hp \/ 2, 't ' + f(w, 2), NAV, 'end'); live.innerHTML = s; \/* outputs *\/ root.querySelector('[data-r=\"od\"]').textContent = f(OD) + ' mm'; root.querySelector('[data-r=\"id\"]').textContent = f(hole, 2) + ' mm'; root.querySelector('[data-r=\"w\"]').textContent = f(w, 2) + ' mm'; root.querySelector('[data-r=\"H\"]').textContent = f(Hmm) + ' mm'; \/* checks *\/ var c = []; var r = v.od \/ odT; c.push(v.od < 1.8 ? ['bad', 'OD only ' + f(v.od, 2) + ' &#215; d: the boss splits when the screw is driven'] : r < 0.95 ? ['warn', 'OD ' + f(v.od, 2) + ' &#215; d: below the ~' + odT + ' &#215; target for this resin'] : r <= 1.2 ? ['ok', 'OD ' + f(v.od, 2) + ' &#215; d: good proportion (target ~' + odT + ' &#215;)'] : ['warn', 'OD ' + f(v.od, 2) + ' &#215; d: larger than needed']); c.push(wr <= wOk ? ['ok', 'Boss wall ' + Math.round(wr * 100) + '% of T: no sink expected'] : wr <= wOk + 0.15 ? ['warn', 'Boss wall ' + Math.round(wr * 100) + '% of T: light sink possible on glossy faces'] : ['bad', 'Boss wall ' + Math.round(wr * 100) + '% of T: sink on the show face' + (wr > 0.95 ? ' and voids inside' : '')]); if (wr > wOk) c.push(['info', 'To stay under ' + f(wOk * v.T, 2) + ' mm wall: OD &#8804; ' + f(hole + 2 * wOk * v.T) + ' mm, a thicker part wall, a smaller screw &#8211; or core a moat around the boss root']); c.push(v.h > 3 ? ['bad', 'Height ' + f(v.h) + ' &#215; OD: too tall &#8211; split into a lower boss or support it from the mating part'] : v.h > 2 && !v.gus ? ['warn', 'Height ' + f(v.h) + ' &#215; OD: add gussets'] : ['ok', 'Height ' + f(v.h) + ' &#215; OD' + (v.gus ? ' with gussets' : '') + ': stable']); c.push(v.rf < 0.25 ? ['bad', 'Fillet ' + f(R, 2) + ' mm (' + f(v.rf, 2) + ' &#215; T): sharp root, crack risk'] : v.rf <= 0.5 ? ['ok', 'Fillet ' + f(R, 2) + ' mm: good root radius'] : ['warn', 'Fillet ' + f(v.rf, 2) + ' &#215; T: large radius adds mass at the root']); c.push(v.dr < 0.5 ? ['bad', 'Draft ' + f(v.dr, 2) + '&#176;: boss grips the core pin and scuffs'] : v.dr <= 1 ? ['ok', 'Draft ' + f(v.dr, 2) + '&#176;: releases cleanly'] : ['warn', 'Draft ' + f(v.dr, 2) + '&#176;: the hole opens up at the top &#8211; check thread engagement']); if (Hmm < 2 * v.d) c.push(['warn', 'Height ' + f(Hmm) + ' mm is under 2 &#215; d: thread engagement may be too short']); c.push(['info', 'Pilot hole shown is a starting value &#8211; use the screw maker&#8217;s chart']); var ic = { ok: ['#15803d', '&#10003;'], warn: [ORG, '!'], bad: [RED, '&#10007;'], info: [GRY, 'i'] }, h = ''; for (i = 0; i < c.length; i++) h += '<li><b style=\"background:' + ic[c[i][0]][0] + '\">' + ic[c[i][0]][1] + '<\/b><span style=\"color:' + (c[i][0] === 'info' ? GRY : '#1f2a37') + '\">' + c[i][1] + '<\/span><\/li>'; verd.innerHTML = h; } for (i = 0; i < ins.length; i++) { ins[i].addEventListener('input', design); ins[i].addEventListener('change', design); } design(); })(); <\/script><\/div><div class=\"tw-ms-embed\" id=\"twbde32838\" style=\"max-width:1000px;margin:14px auto 28px;font-family:Inter,'Helvetica Neue',Arial,sans-serif\"><div style=\"display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px\"><strong style=\"font-size:14px;color:#1e3a5f\">Embed this reference on your site<\/strong><button type=\"button\" class=\"twbde-btn\" style=\"background:#1e3a5f;color:#ffffff;border:0;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer\">Copy code<\/button><\/div><textarea readonly rows=\"4\" style=\"width:100%;box-sizing:border-box;font:12px\/1.5 Consolas,Monaco,monospace;color:#374151;background:#f6f8fb;border:1px solid #dfe5ec;border-radius:6px;padding:10px;resize:vertical\">&lt;iframe id=&quot;tw-boss-design&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/?boss_design_embed=17629&quot; style=&quot;border:0;width:100%;max-width:1000px;height:1200px&quot; loading=&quot;lazy&quot; title=&quot;Injection Molding Boss Design - Interactive Reference&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twEmbed===&quot;boss_design&quot;){var f=document.getElementById(&quot;tw-boss-design&quot;);if(f)f.style.height=e.data.h+&quot;px&quot;;}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Boss design reference by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><p style=\"margin:4px 0 0;font-size:12px;color:#5b6b7f\">Free to use. Please keep the credit link.<\/p><\/div><script> (function () { var box = document.getElementById('twbde32838'); if (!box) return; var btn = box.querySelector('.twbde-btn'), ta = box.querySelector('textarea'); ta.addEventListener('focus', function () { ta.select(); }); btn.addEventListener('click', function () { function done() { btn.textContent = 'Copied!'; setTimeout(function () { btn.textContent = 'Copy code'; }, 1800); } if (navigator.clipboard && window.isSecureContext) { navigator.clipboard.writeText(ta.value).then(done, function () { ta.select(); document.execCommand('copy'); done(); }); } else { ta.select(); document.execCommand('copy'); done(); } }); })(); <\/script><\/div><div id=\"shrinkage-simulator\" class=\"wp-block-group tw-tool tw-cat-process is-layout-flow wp-block-group-is-layout-flow\"><iframe id=\"shr-8259\" title=\"Molding Shrinkage Simulator\" loading=\"lazy\" scrolling=\"no\" src=\"https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html?shr_embed=1\" style=\"display:block;width:100%;max-width:384px;height:440px;margin:0 auto;border:0;overflow:hidden;\"><\/iframe><script>window.addEventListener(\"message\",function(e){if(e.data&&e.data.twShrHeight){var f=document.getElementById(\"shr-8259\");if(f&&e.source===f.contentWindow){f.style.height=e.data.twShrHeight+\"px\";}}});<\/script><div class=\"tw-shr-embed\" style=\"max-width:384px;margin:14px auto 0;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f6f8fb;font-family:system-ui,-apple-system,sans-serif;\"><div style=\"font-size:14px;font-weight:600;margin-bottom:3px;color:#1e293b;\">Use this simulator on your website \u2014 free<\/div><div style=\"font-size:12.5px;color:#666;margin-bottom:8px;\">Copy the code below to embed the shrinkage simulator. A credit link is included.<\/div><textarea id=\"shr-8259-embed\" readonly rows=\"3\" onclick=\"this.select()\" style=\"width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;padding:8px;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:#fff;color:#333;resize:vertical;\">&lt;iframe id=&quot;tw-shr-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html?shr_embed=1&quot; width=&quot;100%&quot; height=&quot;440&quot; loading=&quot;lazy&quot; style=&quot;max-width:384px;border:0;&quot; title=&quot;Molding Shrinkage Simulator&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twShrHeight){var f=document.getElementById(&quot;tw-shr-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twShrHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Molding Shrinkage Simulator&lt;\/a&gt; by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"shr-8259-copy\" style=\"margin-top:8px;background:#2563eb;color:#fff;border:0;padding:7px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;\">Copy embed code<\/button><\/div><script>(function(){var b=document.getElementById(\"shr-8259-copy\"),t=document.getElementById(\"shr-8259-embed\");if(!b||!t)return;b.addEventListener(\"click\",function(){t.focus();t.select();var done=function(){b.textContent=\"Copied \\u2713\";setTimeout(function(){b.textContent=\"Copy embed code\";},1500);};if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t.value).then(done,function(){try{document.execCommand(\"copy\");done();}catch(e){}});}else{try{document.execCommand(\"copy\");done();}catch(e){}}});})();<\/script><\/div><div id=\"cooling-simulator\" class=\"wp-block-group tw-tool tw-cat-process is-layout-flow wp-block-group-is-layout-flow\"><iframe id=\"cool-5581\" title=\"Cooling Layout & Heat Transfer Simulation\" loading=\"lazy\" scrolling=\"no\" src=\"https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html?cool_embed=1\" style=\"display:block;width:100%;max-width:984px;height:640px;margin:0 auto;border:0;overflow:hidden;\"><\/iframe><script>window.addEventListener(\"message\",function(e){if(e.data&&e.data.twCoolHeight){var f=document.getElementById(\"cool-5581\");if(f&&e.source===f.contentWindow){f.style.height=e.data.twCoolHeight+\"px\";}}});<\/script><div class=\"tw-cool-embed\" style=\"max-width:980px;margin:16px auto 0;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f6f8fb;font-family:Arial,Helvetica,sans-serif;\"><div style=\"font-size:14px;font-weight:600;margin-bottom:3px;color:#1f2937;\">Use this simulator on your website \u2014 free<\/div><div style=\"font-size:12.5px;color:#666;margin-bottom:8px;\">Copy the code below to embed the cooling-layout simulator. A credit link is included.<\/div><textarea id=\"cool-5581-embed\" readonly rows=\"3\" onclick=\"this.select()\" style=\"width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;padding:8px;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:#fff;color:#333;resize:vertical;\">&lt;iframe id=&quot;tw-cool-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html?cool_embed=1&quot; width=&quot;100%&quot; height=&quot;640&quot; loading=&quot;lazy&quot; style=&quot;max-width:984px;border:0;&quot; title=&quot;Cooling Layout &amp; Heat Transfer Simulation&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twCoolHeight){var f=document.getElementById(&quot;tw-cool-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twCoolHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html&quot;&gt;Cooling Layout &amp;amp; Heat Transfer Simulation&lt;\/a&gt; by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"cool-5581-copy\" style=\"margin-top:8px;background:#185fa5;color:#fff;border:0;padding:7px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;\">Copy embed code<\/button><\/div><script>(function(){var b=document.getElementById(\"cool-5581-copy\"),t=document.getElementById(\"cool-5581-embed\");if(!b||!t)return;b.addEventListener(\"click\",function(){t.focus();t.select();var done=function(){b.textContent=\"Copied \\u2713\";setTimeout(function(){b.textContent=\"Copy embed code\";},1500);};if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t.value).then(done,function(){try{document.execCommand(\"copy\");done();}catch(e){}});}else{try{document.execCommand(\"copy\");done();}catch(e){}}});})();<\/script><\/div><div id=\"process-selector\" class=\"wp-block-group tw-tool tw-cat-calc is-layout-flow wp-block-group-is-layout-flow\"><div id=\"mfg5493\" class=\"mfg-sim-container\" style=\"background:#1a1a1b; color:#e8eaed; padding:25px; border-radius:12px; font-family: 'Segoe UI', Tahoma, sans-serif; max-width:700px; border: 1px solid #3c4043; margin: 20px auto; box-sizing: border-box;\"><h2 style=\"color:#8ab4f8; margin-top:0; font-size: 1.5em;\">Manufacturing Logic Simulator<\/h2><p style=\"font-size:0.9em; color:#9aa0a6;\">Adjust parameters to find the optimal production method.<\/p><div style=\"display:grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap:20px; margin-bottom:25px;\"><div><label style=\"display:block; margin-bottom:8px; font-size: 14px;\">Batch Quantity: <b class=\"mfg-qty-label\">50<\/b><\/label><input type=\"range\" class=\"mfg-qty\" min=\"1\" max=\"2000\" value=\"50\" style=\"width:100%; accent-color:#8ab4f8;\"><label style=\"display:block; margin-top:15px; margin-bottom:8px; font-size: 14px;\">Design Complexity:<\/label><select class=\"mfg-comp\" style=\"width:100%; background:#202124; color:white; border:1px solid #5f6368; padding:8px; border-radius:4px; font-size: 14px;\"><option value=\"1\">Low (Prismatic)<\/option><option value=\"2\" selected>Medium (Functional)<\/option><option value=\"3\">High (Organic\/Lattice)<\/option><\/select><\/div><div style=\"background:#202124; padding:15px; border-radius:8px; border:1px solid #3c4043; display: flex; flex-direction: column; justify-content: center;\"><div style=\"font-size:0.8em; color:#9aa0a6; text-transform:uppercase;\">Recommended Method<\/div><div class=\"mfg-rec\" style=\"font-size:1.6em; font-weight:bold; color:#f8d80d; margin:5px 0;\">-<\/div><div style=\"font-size:0.8em; color:#9aa0a6;\">Estimated Unit Cost: <span class=\"mfg-cost\" style=\"color:#e8eaed; font-weight: bold;\">$0<\/span><\/div><\/div><\/div><div class=\"bars-container\"><div style=\"margin-bottom:12px;\"><span style=\"font-size:0.85em;\">3D Printing Feasibility<\/span><div style=\"background:#3c4043; height:8px; border-radius:4px; margin-top:4px;\"><div class=\"mfg-bar-3dp\" style=\"height:100%; background:#8ab4f8; border-radius:4px; transition: width 0.3s ease-in-out;\"><\/div><\/div><\/div><div style=\"margin-bottom:12px;\"><span style=\"font-size:0.85em;\">CNC Machining Feasibility<\/span><div style=\"background:#3c4043; height:8px; border-radius:4px; margin-top:4px;\"><div class=\"mfg-bar-cnc\" style=\"height:100%; background:#f28b82; border-radius:4px; transition: width 0.3s ease-in-out;\"><\/div><\/div><\/div><div style=\"margin-bottom:12px;\"><span style=\"font-size:0.85em;\">Vacuum Casting Feasibility<\/span><div style=\"background:#3c4043; height:8px; border-radius:4px; margin-top:4px;\"><div class=\"mfg-bar-vc\" style=\"height:100%; background:#c58af9; border-radius:4px; transition: width 0.3s ease-in-out;\"><\/div><\/div><\/div><div style=\"margin-bottom:12px;\"><span style=\"font-size:0.85em;\">Injection Molding Feasibility<\/span><div style=\"background:#3c4043; height:8px; border-radius:4px; margin-top:4px;\"><div class=\"mfg-bar-im\" style=\"height:100%; background:#81c995; border-radius:4px; transition: width 0.3s ease-in-out;\"><\/div><\/div><\/div><\/div><\/div><script> (function () { var root = document.getElementById('mfg5493'); if (!root) return; var qtyEl = root.querySelector('.mfg-qty'); var compEl = root.querySelector('.mfg-comp'); var qtyLbl = root.querySelector('.mfg-qty-label'); var recEl = root.querySelector('.mfg-rec'); var costEl = root.querySelector('.mfg-cost'); var bar3dp = root.querySelector('.mfg-bar-3dp'); var barCnc = root.querySelector('.mfg-bar-cnc'); var barVc = root.querySelector('.mfg-bar-vc'); var barIm = root.querySelector('.mfg-bar-im'); function updateSim() { var qty = parseInt(qtyEl.value, 10); var comp = parseInt(compEl.value, 10); qtyLbl.innerText = qty; \/* Logic Calculation *\/ \/* 3DP: Low tooling, high unit. Complexity is \"free\". *\/ var cost3DP = (10 * comp) + 5; var score3DP = 100 - (qty \/ 1.5); \/* CNC: Moderate tooling (setup), moderate unit. Complexity increases cost. *\/ var costCNC = (15 * comp) + 2; var scoreCNC = 90 - (comp * 15); if (qty > 300) scoreCNC -= 20; \/* VC: Silicone mold ~$800\/set, ~22 parts per mold (lifespan-limited), so per-unit tooling stays flat instead of amortizing down. Best for 50-200 pcs. *\/ var moldsVC = Math.ceil(qty \/ 22); var costVC = (800 * moldsVC) \/ qty + (10 * comp); var scoreVC; if (qty < 50) { scoreVC = qty; \/* ramps in below the sweet spot *\/ } else if (qty <= 200) { scoreVC = 75; \/* 50-200: prime range for silicone molds *\/ } else { scoreVC = Math.max(5, 75 - (qty - 200) \/ 2); \/* mold lifespan drags cost up past 200 *\/ } \/* IM: High tooling, very low unit. DFM is critical. *\/ var costIM = 3000 \/ qty + 1.5; var scoreIM = (qty > 500) ? 95 : (qty \/ 5); \/* Update UI *\/ bar3dp.style.width = Math.max(5, score3DP) + \"%\"; barCnc.style.width = Math.max(5, scoreCNC) + \"%\"; barVc.style.width = Math.max(5, scoreVC) + \"%\"; barIm.style.width = Math.min(100, scoreIM) + \"%\"; var scores = [ {name: \"3D Printing\", s: score3DP, c: cost3DP}, {name: \"CNC Machining\", s: scoreCNC, c: costCNC}, {name: \"Vacuum Casting\", s: scoreVC, c: costVC}, {name: \"Injection Molding\", s: scoreIM, c: costIM} ]; var best = scores.reduce(function (prev, curr) { return (prev.s > curr.s) ? prev : curr; }); recEl.innerText = best.name; costEl.innerText = \"$\" + best.c.toFixed(2); } qtyEl.addEventListener('input', updateSim); compEl.addEventListener('change', updateSim); updateSim(); })(); <\/script><div class=\"tw-mfg-embed\" style=\"max-width:700px;margin:14px auto 0;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f6f8fb;font-family:'Segoe UI',Tahoma,sans-serif;\"><div style=\"font-size:14px;font-weight:600;margin-bottom:3px;color:#1f2937;\">Use this simulator on your website \u2014 free<\/div><div style=\"font-size:12.5px;color:#666;margin-bottom:8px;\">Copy the code below to embed the manufacturing-method simulator. A credit link is included.<\/div><textarea id=\"mfgw-7089-embed\" readonly rows=\"3\" onclick=\"this.select()\" style=\"width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;padding:8px;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:#fff;color:#333;resize:vertical;\">&lt;iframe id=&quot;tw-mfg-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html?mfg_embed=1&quot; width=&quot;100%&quot; height=&quot;480&quot; loading=&quot;lazy&quot; style=&quot;max-width:732px;border:0;&quot; title=&quot;Manufacturing Logic Simulator&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twMfgHeight){var f=document.getElementById(&quot;tw-mfg-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twMfgHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html&quot;&gt;Manufacturing Logic Simulator&lt;\/a&gt; by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot;&gt;Topworks Plastic Mold&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"mfgw-7089-copy\" style=\"margin-top:8px;background:#185fa5;color:#fff;border:0;padding:7px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;\">Copy embed code<\/button><\/div><script>(function(){var b=document.getElementById(\"mfgw-7089-copy\"),t=document.getElementById(\"mfgw-7089-embed\");if(!b||!t)return;b.addEventListener(\"click\",function(){t.focus();t.select();var done=function(){b.textContent=\"Copied \\u2713\";setTimeout(function(){b.textContent=\"Copy embed code\";},1500);};if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t.value).then(done,function(){try{document.execCommand(\"copy\");done();}catch(e){}});}else{try{document.execCommand(\"copy\");done();}catch(e){}}});})();<\/script><\/div><div id=\"clamping-force\" class=\"wp-block-group tw-tool tw-cat-calc is-layout-flow wp-block-group-is-layout-flow\"><style> .tw-cfc-page{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:13px;color:#111827;background:#eef0f2;border-radius:14px;padding:14px;} .tw-cfc-page *{box-sizing:border-box;} .tw-cfc-banner{max-width:860px;margin:0 auto 10px;} .tw-cfc-banner img{display:block;width:100%;height:auto;border-radius:9px;border:1px solid #e4e7ec;} .tw-cfc-howto{max-width:860px;margin:0 auto 10px;background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #22c55e;border-radius:8px;padding:8px 12px;} .tw-cfc-howto h3{font-size:11px;font-weight:700;color:#166534;text-transform:uppercase;letter-spacing:.05em;margin:0 0 5px;} .tw-cfc-howto ol{padding-left:16px;color:#166534;font-size:11.5px;line-height:1.55;margin:0;} .tw-cfc-howto ol li span{font-weight:600;} .tw-cfc-insight{max-width:860px;margin:0 auto 10px;background:#eff6ff;border:1px solid #bfdbfe;border-left:4px solid #2563eb;border-radius:8px;padding:8px 12px;font-size:11.5px;color:#1d4ed8;line-height:1.5;} .tw-cfc-insight strong{font-weight:700;} .tw-cfc-embed{max-width:860px;margin:10px auto 0;background:#fff;border:1px solid #e4e7ec;border-radius:8px;padding:10px 12px;} .tw-cfc-embed h3{font-size:11px;font-weight:700;color:#111827;text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px;} .tw-cfc-embed p{font-size:11.5px;color:#6b7280;margin:0 0 6px;line-height:1.5;} .tw-cfc-embed-code{background:#f3f4f6;border:1px solid #e4e7ec;border-radius:7px;padding:9px 11px;font-family:'Courier New',Courier,monospace;font-size:10.5px;color:#374151;overflow-wrap:anywhere;word-break:break-word;line-height:1.55;user-select:all;white-space:pre-wrap;max-width:100%;} .tw-cfc-copy{display:inline-block;margin-top:7px;padding:6px 16px;background:#2563eb;color:#fff;font-size:11px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background .15s;} .tw-cfc-copy:hover{background:#1d4ed8;} .tw-cfc-footer{max-width:860px;margin:14px auto 0;padding-top:10px;border-top:1px solid #e4e7ec;text-align:center;font-size:10.5px;color:#9ca3af;line-height:1.6;} .tw-cfc-footer a{color:#2563eb;text-decoration:none;font-weight:600;} .tw-cfc-footer a:hover{text-decoration:underline;} .tw-cfc-embed-credit{max-width:860px;margin:8px auto 0;text-align:center;font-size:10.5px;color:#9ca3af;} .tw-cfc-embed-credit a{color:#2563eb;text-decoration:none;font-weight:600;} .tw-cfc-embed-credit a:hover{text-decoration:underline;} .cfc-wrap *{box-sizing:border-box;margin:0;padding:0;} .cfc-wrap{--cfc-bg:#fff;--cfc-surface:#f3f4f6;--cfc-border:#e4e7ec;--cfc-border-mid:#cbd0d8;--cfc-text:#111827;--cfc-muted:#6b7280;--cfc-hint:#9ca3af;--cfc-blue:#2563eb;--cfc-blue-bg:#eff6ff;--cfc-blue-border:#bfdbfe;--cfc-blue-text:#1d4ed8;--cfc-green-bg:#f0fdf4;--cfc-green-border:#bbf7d0;--cfc-green-text:#166534;--cfc-amber-bg:#fffbeb;--cfc-amber-border:#fde68a;--cfc-amber-text:#92400e;--cfc-red-bg:#fef2f2;--cfc-red-border:#fecaca;--cfc-red-text:#991b1b;--cfc-mono:'Courier New',Courier,monospace;--cfc-radius:7px;--cfc-radius-lg:11px;font-size:13px;color:var(--cfc-text);} .cfc-card{background:var(--cfc-bg);border:1px solid var(--cfc-border);border-radius:var(--cfc-radius-lg);padding:.9rem .9rem 1.05rem;max-width:860px;margin:0 auto;} .cfc-header{display:flex;align-items:center;gap:9px;margin-bottom:.85rem;padding-bottom:.6rem;border-bottom:1px solid var(--cfc-border);flex-wrap:wrap;} .cfc-badge{font-family:var(--cfc-mono);font-size:9px;letter-spacing:.07em;background:var(--cfc-surface);border:1px solid var(--cfc-border);border-radius:4px;padding:2px 7px;color:var(--cfc-muted);white-space:nowrap;} .cfc-header h2{font-size:14px;font-weight:600;color:var(--cfc-text);margin:0;border:none;padding:0;} .cfc-label{display:block;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--cfc-muted);margin-bottom:5px;} .cfc-hint{font-size:10px;color:var(--cfc-hint);margin-top:3px;line-height:1.4;} .cfc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-bottom:.8rem;} .cfc-grid .cfc-field-full{grid-column:1\/-1;} @media(max-width:560px){.cfc-grid{grid-template-columns:1fr;}.cfc-grid .cfc-field-full{grid-column:1;}} .cfc-mat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;} @media(max-width:480px){.cfc-mat-grid{grid-template-columns:repeat(4,1fr);}} .cfc-mat-btn{all:unset;display:block;font-size:10.5px;font-weight:500;text-align:center;padding:5px 3px;border:1px solid var(--cfc-border);border-radius:var(--cfc-radius);background:var(--cfc-bg);color:var(--cfc-muted);cursor:pointer;transition:border-color .15s,background .15s,color .15s;line-height:1;} .cfc-mat-btn:hover{border-color:var(--cfc-border-mid);color:var(--cfc-text);} .cfc-mat-btn.active{background:var(--cfc-blue-bg);border-color:var(--cfc-blue-border);color:var(--cfc-blue-text);} .cfc-range-row{display:flex;align-items:center;gap:8px;} .cfc-range-row input[type=range]{all:unset;-webkit-appearance:none;appearance:none;flex:1;height:4px;background:var(--cfc-border);border-radius:2px;cursor:pointer;} .cfc-range-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--cfc-blue);border:2px solid var(--cfc-bg);box-shadow:0 0 0 1px var(--cfc-blue);cursor:pointer;} .cfc-range-row input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--cfc-blue);border:2px solid var(--cfc-bg);cursor:pointer;} .cfc-rval{font-family:var(--cfc-mono);font-size:11px;font-weight:600;color:var(--cfc-text);min-width:62px;text-align:right;white-space:nowrap;} .cfc-sf-row{display:flex;gap:5px;} .cfc-sf-btn{all:unset;flex:1;font-family:var(--cfc-mono);font-size:11px;font-weight:600;text-align:center;padding:6px 3px;border:1px solid var(--cfc-border);border-radius:var(--cfc-radius);background:var(--cfc-bg);color:var(--cfc-muted);cursor:pointer;transition:all .15s;} .cfc-sf-btn:hover{border-color:var(--cfc-border-mid);color:var(--cfc-text);} .cfc-sf-btn.active{background:var(--cfc-blue-bg);border-color:var(--cfc-blue-border);color:var(--cfc-blue-text);} .cfc-lay-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;} @media(max-width:480px){.cfc-lay-grid{grid-template-columns:repeat(3,1fr);}} .cfc-lay-btn{all:unset;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 3px 5px;border:1px solid var(--cfc-border);border-radius:var(--cfc-radius);background:var(--cfc-bg);cursor:pointer;transition:all .15s;} .cfc-lay-btn:hover{border-color:var(--cfc-border-mid);} .cfc-lay-btn.active{background:var(--cfc-blue-bg);border-color:var(--cfc-blue-border);} .cfc-lay-svg{width:44px;height:34px;display:block;} .cfc-lay-lbl{font-size:9px;font-weight:600;color:var(--cfc-muted);letter-spacing:.02em;text-align:center;line-height:1.2;} .cfc-lay-btn.active .cfc-lay-lbl{color:var(--cfc-blue-text);} .cfc-custom-row{display:none;align-items:center;gap:7px;margin-top:7px;font-size:11.5px;color:var(--cfc-muted);} .cfc-custom-row.show{display:flex;} .cfc-custom-row input[type=number]{all:unset;width:64px;font-family:var(--cfc-mono);font-size:11.5px;font-weight:600;color:var(--cfc-text);background:var(--cfc-surface);border:1px solid var(--cfc-border);border-radius:var(--cfc-radius);padding:5px 8px;text-align:center;} .cfc-divider{height:1px;background:var(--cfc-border);margin:.85rem 0 .8rem;} .cfc-res-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;flex-wrap:wrap;gap:5px;} .cfc-res-header .cfc-label{margin:0;} .cfc-ts{font-family:var(--cfc-mono);font-size:9px;color:var(--cfc-hint);} .cfc-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:.7rem;} @media(max-width:480px){.cfc-metrics{grid-template-columns:1fr 1fr;}} .cfc-mc{background:var(--cfc-surface);border-radius:var(--cfc-radius);padding:8px 9px;} .cfc-mc-lbl{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--cfc-hint);margin-bottom:3px;} .cfc-mc-val{font-family:var(--cfc-mono);font-size:16px;font-weight:700;color:var(--cfc-text);line-height:1;} .cfc-mc-val.accent{color:var(--cfc-blue);} .cfc-mc-unit{font-size:9px;color:var(--cfc-muted);margin-top:3px;} .cfc-steps{background:var(--cfc-surface);border:1px solid var(--cfc-border);border-radius:var(--cfc-radius-lg);overflow:hidden;margin-bottom:.7rem;} .cfc-step{display:flex;align-items:baseline;justify-content:space-between;padding:5px 10px;border-bottom:1px solid var(--cfc-border);gap:10px;} .cfc-step:last-child{border-bottom:none;background:var(--cfc-blue-bg);} .cfc-sn{font-size:10.5px;color:var(--cfc-muted);flex:1;min-width:0;} .cfc-sv{font-family:var(--cfc-mono);font-size:10.5px;font-weight:600;color:var(--cfc-text);white-space:nowrap;} .cfc-sv.accent{color:var(--cfc-blue);} .cfc-gauge-wrap{margin-bottom:.7rem;} .cfc-gauge-lbl{font-size:10px;color:var(--cfc-muted);margin-bottom:5px;} .cfc-gauge-track{height:18px;background:var(--cfc-surface);border:1px solid var(--cfc-border);border-radius:var(--cfc-radius);overflow:hidden;position:relative;} .cfc-gauge-fill{height:100%;border-radius:var(--cfc-radius);display:flex;align-items:center;padding-left:8px;font-family:var(--cfc-mono);font-size:10px;font-weight:700;transition:width .45s ease;min-width:32px;} .cfc-gauge-fill.ok{background:var(--cfc-blue-bg);color:var(--cfc-blue-text);border-right:2px solid var(--cfc-blue);} .cfc-gauge-fill.warn{background:var(--cfc-amber-bg);color:var(--cfc-amber-text);border-right:2px solid #f59e0b;} .cfc-gauge-fill.danger{background:var(--cfc-red-bg);color:var(--cfc-red-text);border-right:2px solid #ef4444;} .cfc-gauge-marks{display:flex;justify-content:space-between;margin-top:3px;padding:0 2px;} .cfc-gauge-mark{font-family:var(--cfc-mono);font-size:9px;color:var(--cfc-hint);} .cfc-gauge-mark.sweet{color:var(--cfc-blue);font-weight:700;} .cfc-mach-section-lbl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--cfc-muted);margin-bottom:6px;} .cfc-machs{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:5px;margin-bottom:.7rem;} .cfc-mach{border-radius:var(--cfc-radius);padding:6px 4px;text-align:center;border:1px solid var(--cfc-border);background:var(--cfc-bg);} .cfc-mach.m-small{background:var(--cfc-red-bg);border-color:var(--cfc-red-border);} .cfc-mach.m-rec{background:var(--cfc-blue-bg);border-color:var(--cfc-blue);border-width:2px;} .cfc-mach.m-good{background:var(--cfc-green-bg);border-color:var(--cfc-green-border);} .cfc-mach.m-over{background:var(--cfc-surface);border-color:var(--cfc-border);} .cfc-mach-tons{font-family:var(--cfc-mono);font-size:13px;font-weight:700;line-height:1;display:block;} .cfc-mach.m-small .cfc-mach-tons{color:var(--cfc-red-text);} .cfc-mach.m-rec .cfc-mach-tons{color:var(--cfc-blue-text);} .cfc-mach.m-good .cfc-mach-tons{color:var(--cfc-green-text);} .cfc-mach.m-over .cfc-mach-tons{color:var(--cfc-hint);} .cfc-mach-sub{font-size:8px;margin-top:2px;display:block;font-weight:600;letter-spacing:.02em;} .cfc-mach.m-small .cfc-mach-sub{color:var(--cfc-red-text);} .cfc-mach.m-rec .cfc-mach-sub{color:var(--cfc-blue-text);} .cfc-mach.m-good .cfc-mach-sub{color:var(--cfc-green-text);} .cfc-mach.m-over .cfc-mach-sub{color:var(--cfc-hint);} .cfc-mach-pct{font-size:9px;margin-top:2px;display:block;font-family:var(--cfc-mono);} .cfc-mach.m-small .cfc-mach-pct{color:var(--cfc-red-text);} .cfc-mach.m-rec .cfc-mach-pct{color:var(--cfc-blue);} .cfc-mach.m-good .cfc-mach-pct{color:var(--cfc-green-text);} .cfc-mach.m-over .cfc-mach-pct{color:var(--cfc-hint);} .cfc-alerts{display:flex;flex-direction:column;gap:5px;} .cfc-alert{display:flex;gap:8px;align-items:flex-start;padding:6px 10px;border-radius:var(--cfc-radius);font-size:10.5px;line-height:1.45;border-left:3px solid transparent;} .cfc-alert.a-ok{background:var(--cfc-green-bg);border-left-color:#22c55e;color:var(--cfc-green-text);} .cfc-alert.a-warn{background:var(--cfc-amber-bg);border-left-color:#f59e0b;color:var(--cfc-amber-text);} .cfc-alert.a-danger{background:var(--cfc-red-bg);border-left-color:#ef4444;color:var(--cfc-red-text);} .cfc-alert-ico{font-size:11px;flex-shrink:0;margin-top:1px;} <\/style><div class=\"tw-cfc-page\"><div class=\"tw-cfc-banner\"><img decoding=\"async\" src=\"https:\/\/www.plasticmoulds.net\/wp-content\/uploads\/2026\/06\/injection-molding-machine.webp\" alt=\"Injection molding machine \u2014 clamping force reference\" loading=\"lazy\" width=\"860\" height=\"484\"><\/div><div class=\"tw-cfc-howto\"><h3>\ud83d\udd0e How to Use This Calculator<\/h3><ol><li><span>Select your resin<\/span> \u2014 picks a reference cavity pressure range automatically.<\/li><li><span>Adjust cavity pressure<\/span> \u2014 fine-tune based on wall thickness and gate design.<\/li><li><span>Set projected area<\/span> \u2014 measure the largest shadow area of one cavity in cm\u00b2.<\/li><li><span>Choose your cavity layout<\/span> \u2014 1 to 16 cavities, or enter a custom count.<\/li><li><span>Read the results<\/span> \u2014 recommended tonnage, machine utilization gauge, and actionable alerts appear instantly.<\/li><\/ol><\/div><div class=\"tw-cfc-insight\"><strong>\ud83d\udca1 Engineering Insight:<\/strong> The ideal machine utilization window is <strong>70\u201390%<\/strong> of rated clamping force. Below 50% wastes energy and accelerates tie-bar wear; above 95% risks flash, mold damage, and inconsistent part weight. Always include gate and runner projected area, and add \u2265 1.20\u00d7 safety factor for multi-cavity or precision tools.\n<\/div><div class=\"cfc-wrap\" id=\"cfc-root\"><div class=\"cfc-card\"><div class=\"cfc-header\"><span class=\"cfc-badge\">CLAMP CALC \u00b7 REV 2<\/span><h2>Clamping Force &amp; Machine Selection<\/h2><\/div><div class=\"cfc-grid\"><div class=\"cfc-field-full\"><span class=\"cfc-label\">Resin material \u2014 sets reference cavity pressure<\/span><div class=\"cfc-mat-grid\" id=\"cfcMatGrid\"><button type=\"button\" class=\"cfc-mat-btn active\" data-p=\"20\" data-r=\"15-30\">PP<\/button><button type=\"button\" class=\"cfc-mat-btn\" data-p=\"18\" data-r=\"12-25\">PE<\/button><button type=\"button\" class=\"cfc-mat-btn\" data-p=\"35\" data-r=\"25-45\">ABS<\/button><button type=\"button\" class=\"cfc-mat-btn\" data-p=\"35\" data-r=\"25-45\">PA66<\/button><button type=\"button\" class=\"cfc-mat-btn\" data-p=\"45\" data-r=\"35-55\">PC<\/button><button type=\"button\" class=\"cfc-mat-btn\" data-p=\"35\" data-r=\"25-45\">POM<\/button><button type=\"button\" class=\"cfc-mat-btn\" data-p=\"40\" data-r=\"30-50\">PMMA<\/button><button type=\"button\" class=\"cfc-mat-btn\" data-p=\"30\" data-r=\"22-40\">PVC<\/button><button type=\"button\" class=\"cfc-mat-btn\" data-p=\"25\" data-r=\"18-35\">TPE\/TPU<\/button><button type=\"button\" class=\"cfc-mat-btn\" data-p=\"0\" data-r=\"\">Custom<\/button><\/div><\/div><div class=\"cfc-field-full\"><span class=\"cfc-label\">Average cavity pressure (MPa)<\/span><div class=\"cfc-range-row\"><input type=\"range\" id=\"cfcPressure\" min=\"5\" max=\"80\" step=\"1\" value=\"20\"><span class=\"cfc-rval\" id=\"cfcPressureOut\">20 MPa<\/span><\/div><div class=\"cfc-hint\" id=\"cfcPressureHint\">PP reference range: 15\u201330 MPa \u00b7 current value is within range<\/div><\/div><div><span class=\"cfc-label\">Projected area per cavity (cm\u00b2)<\/span><div class=\"cfc-range-row\"><input type=\"range\" id=\"cfcArea\" min=\"1\" max=\"1000\" step=\"1\" value=\"80\"><span class=\"cfc-rval\" id=\"cfcAreaOut\">80 cm\u00b2<\/span><\/div><div class=\"cfc-hint\">Include gate projection; exclude runner system<\/div><\/div><div><span class=\"cfc-label\">Safety factor<\/span><div class=\"cfc-sf-row\" id=\"cfcSfRow\"><button type=\"button\" class=\"cfc-sf-btn\" data-v=\"1.1\">1.10<\/button><button type=\"button\" class=\"cfc-sf-btn active\" data-v=\"1.15\">1.15<\/button><button type=\"button\" class=\"cfc-sf-btn\" data-v=\"1.2\">1.20<\/button><button type=\"button\" class=\"cfc-sf-btn\" data-v=\"1.25\">1.25<\/button><\/div><div class=\"cfc-hint\" id=\"cfcSfHint\">Standard pick \u00b7 suits most production tools<\/div><\/div><div class=\"cfc-field-full\"><span class=\"cfc-label\">Cavity layout<\/span><div class=\"cfc-lay-grid\" id=\"cfcLayGrid\"><button type=\"button\" class=\"cfc-lay-btn active\" data-n=\"1\" data-r=\"1\" data-c=\"1\"><svg class=\"cfc-lay-svg\" id=\"cfcSvg1\"><\/svg><span class=\"cfc-lay-lbl\">1 cav<\/span><\/button><button type=\"button\" class=\"cfc-lay-btn\" data-n=\"2\" data-r=\"1\" data-c=\"2\"><svg class=\"cfc-lay-svg\" id=\"cfcSvg2\"><\/svg><span class=\"cfc-lay-lbl\">2 \u00b7 1\u00d72<\/span><\/button><button type=\"button\" class=\"cfc-lay-btn\" data-n=\"4\" data-r=\"2\" data-c=\"2\"><svg class=\"cfc-lay-svg\" id=\"cfcSvg4\"><\/svg><span class=\"cfc-lay-lbl\">4 \u00b7 2\u00d72<\/span><\/button><button type=\"button\" class=\"cfc-lay-btn\" data-n=\"6\" data-r=\"2\" data-c=\"3\"><svg class=\"cfc-lay-svg\" id=\"cfcSvg6\"><\/svg><span class=\"cfc-lay-lbl\">6 \u00b7 2\u00d73<\/span><\/button><button type=\"button\" class=\"cfc-lay-btn\" data-n=\"8\" data-r=\"2\" data-c=\"4\"><svg class=\"cfc-lay-svg\" id=\"cfcSvg8\"><\/svg><span class=\"cfc-lay-lbl\">8 \u00b7 2\u00d74<\/span><\/button><button type=\"button\" class=\"cfc-lay-btn\" data-n=\"12\" data-r=\"3\" data-c=\"4\"><svg class=\"cfc-lay-svg\" id=\"cfcSvg12\"><\/svg><span class=\"cfc-lay-lbl\">12 \u00b7 3\u00d74<\/span><\/button><button type=\"button\" class=\"cfc-lay-btn\" data-n=\"16\" data-r=\"4\" data-c=\"4\"><svg class=\"cfc-lay-svg\" id=\"cfcSvg16\"><\/svg><span class=\"cfc-lay-lbl\">16 \u00b7 4\u00d74<\/span><\/button><button type=\"button\" class=\"cfc-lay-btn\" data-n=\"0\" data-r=\"0\" data-c=\"0\"><svg class=\"cfc-lay-svg\" id=\"cfcSvg0\"><\/svg><span class=\"cfc-lay-lbl\">Custom<\/span><\/button><\/div><div class=\"cfc-custom-row\" id=\"cfcCustomRow\"><span>Number of cavities:<\/span><input type=\"number\" id=\"cfcCustomN\" min=\"1\" max=\"128\" value=\"24\"><span>cav<\/span><\/div><\/div><\/div><div class=\"cfc-divider\"><\/div><div class=\"cfc-res-header\"><span class=\"cfc-label\">Calculation results<\/span><span class=\"cfc-ts\" id=\"cfcTs\">live<\/span><\/div><div class=\"cfc-metrics\"><div class=\"cfc-mc\"><div class=\"cfc-mc-lbl\">Theoretical clamp<\/div><div class=\"cfc-mc-val\" id=\"cfcMTheory\">\u2014<\/div><div class=\"cfc-mc-unit\">kN<\/div><\/div><div class=\"cfc-mc\"><div class=\"cfc-mc-lbl\">Design clamp force<\/div><div class=\"cfc-mc-val accent\" id=\"cfcMDesign\">\u2014<\/div><div class=\"cfc-mc-unit\">kN (incl. safety factor)<\/div><\/div><div class=\"cfc-mc\"><div class=\"cfc-mc-lbl\">Required tonnage<\/div><div class=\"cfc-mc-val\" id=\"cfcMTons\">\u2014<\/div><div class=\"cfc-mc-unit\">metric ton-force<\/div><\/div><\/div><div class=\"cfc-steps\"><div class=\"cfc-step\"><span class=\"cfc-sn\">Projected area per cavity<\/span><span class=\"cfc-sv\" id=\"cfcS1\">\u2014<\/span><\/div><div class=\"cfc-step\"><span class=\"cfc-sn\">Total projected area (\u00d7 cavities)<\/span><span class=\"cfc-sv\" id=\"cfcS2\">\u2014<\/span><\/div><div class=\"cfc-step\"><span class=\"cfc-sn\">Avg. cavity pressure<\/span><span class=\"cfc-sv\" id=\"cfcS3\">\u2014<\/span><\/div><div class=\"cfc-step\"><span class=\"cfc-sn\">Theoretical clamping force<\/span><span class=\"cfc-sv\" id=\"cfcS4\">\u2014<\/span><\/div><div class=\"cfc-step\"><span class=\"cfc-sn\">\u00d7 safety factor<\/span><span class=\"cfc-sv\" id=\"cfcS5\">\u2014<\/span><\/div><div class=\"cfc-step\"><span class=\"cfc-sn\">Design clamping force (final)<\/span><span class=\"cfc-sv accent\" id=\"cfcS6\">\u2014<\/span><\/div><\/div><div class=\"cfc-gauge-wrap\"><div class=\"cfc-gauge-lbl\">Machine utilization \u2014 design force vs. recommended press<\/div><div class=\"cfc-gauge-track\"><div class=\"cfc-gauge-fill ok\" id=\"cfcGaugeFill\" style=\"width:0%\">0%<\/div><\/div><div class=\"cfc-gauge-marks\"><span class=\"cfc-gauge-mark\">0%<\/span><span class=\"cfc-gauge-mark\">25%<\/span><span class=\"cfc-gauge-mark\">50%<\/span><span class=\"cfc-gauge-mark sweet\">70%<\/span><span class=\"cfc-gauge-mark sweet\">90%<\/span><span class=\"cfc-gauge-mark\">100%<\/span><\/div><\/div><div class=\"cfc-mach-section-lbl\">Press tonnage options<\/div><div class=\"cfc-machs\" id=\"cfcMachs\"><\/div><div class=\"cfc-alerts\" id=\"cfcAlerts\"><\/div><\/div><\/div><div class=\"tw-cfc-embed\"><h3>\ud83d\udd17 Embed This Calculator on Your Website<\/h3><p>Copy the snippet below and paste it into any HTML page, WordPress Custom HTML block, or website builder. The tool is fully self-contained and auto-fits its own height.<\/p><div class=\"tw-cfc-embed-code\" id=\"twCfcEmbedCode\">&lt;iframe id=\"tw-cfc-frame\" src=\"https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html?clamp_calc_embed=1\" width=\"100%\" height=\"760\" style=\"border:none;border-radius:12px;overflow:hidden;\" title=\"Injection Molding Clamping Force Calculator by Topworks Plastic Mold\" loading=\"lazy\" allowfullscreen&gt;\n&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener('message',function(e){if(e.data&amp;&amp;e.data.twCfcHeight){var f=document.getElementById('tw-cfc-frame');if(f)f.style.height=e.data.twCfcHeight+'px';}});&lt;\/script&gt;<\/div><button type=\"button\" class=\"tw-cfc-copy\" id=\"twCfcCopyBtn\">\ud83d\udccb Copy Embed Code<\/button><\/div><div class=\"tw-cfc-footer\"><p>Calculator developed and maintained by <a href=\"https:\/\/www.plasticmoulds.net\/injection-moldings-interactive-tooling.html\" rel=\"dofollow\" title=\"Topworks Plastic Injection Mold \u2014 Interactive Tooling\">Topworks Plastic Injection Mold<\/a> &nbsp;\u00b7&nbsp; Professional plastic injection mold design, manufacturing &amp; DFM services. <\/p><p style=\"margin-top:5px;font-size:10px;color:#d1d5db;\"> Formula: F = A \u00d7 P \u00d7 0.1 \u00d7 SF | Units: cm\u00b2 \u00b7 MPa \u2192 kN | \u00f79.807 \u2192 metric ton-force <\/p><\/div><\/div><script> (function(){ 'use strict'; if(window.__cfcInit)return;window.__cfcInit=true; var MACHINES=[50,80,100,120,160,200,250,320,400,500,630,800,1000,1250,1600,2000]; var state={area:80,pressure:20,cavities:1,sf:1.15,matRange:'15-30'}; function drawCav(id,rows,cols,n){ var el=document.getElementById(id);if(!el)return; if(n===0||rows===0){el.setAttribute('viewBox','0 0 56 44');el.innerHTML='<text x=\"28\" y=\"23\" text-anchor=\"middle\" dominant-baseline=\"middle\" font-size=\"10\" fill=\"#9ca3af\">\u00b7\u00b7\u00b7<\/text>';return;} var W=56,H=44,pad=5; var cw=Math.min((W-pad*2-(cols-1)*3)\/cols,13); var ch=Math.min((H-pad*2-(rows-1)*3)\/rows,13); var ox=(W-(cols*cw+(cols-1)*3))\/2; var oy=(H-(rows*ch+(rows-1)*3))\/2; var html=''; for(var r=0;r<rows;r++)for(var c=0;c<cols;c++){ if(r*cols+c>=n)break; var x=(ox+c*(cw+3)).toFixed(1); var y=(oy+r*(ch+3)).toFixed(1); html+='<rect x=\"'+x+'\" y=\"'+y+'\" width=\"'+cw.toFixed(1)+'\" height=\"'+ch.toFixed(1)+'\" rx=\"2\" fill=\"#bfdbfe\" stroke=\"#3b82f6\" stroke-width=\"0.5\"\/>'; } el.setAttribute('viewBox','0 0 '+W+' '+H);el.innerHTML=html; } [{id:'cfcSvg1',r:1,c:1,n:1},{id:'cfcSvg2',r:1,c:2,n:2},{id:'cfcSvg4',r:2,c:2,n:4},{id:'cfcSvg6',r:2,c:3,n:6},{id:'cfcSvg8',r:2,c:4,n:8},{id:'cfcSvg12',r:3,c:4,n:12},{id:'cfcSvg16',r:4,c:4,n:16},{id:'cfcSvg0',r:3,c:3,n:9}].forEach(function(d){drawCav(d.id,d.r,d.c,d.n);}); function calc(){ var a=state.area,p=state.pressure,n=state.cavities,sf=state.sf; var totalArea=a*n,fTheory=totalArea*p*0.1,fDesign=fTheory*sf; return{totalArea:totalArea,fTheory:fTheory,fDesign:fDesign,fTons:fDesign\/9.807,fTheoryTons:fTheory\/9.807}; } function render(){ var r=calc(),A=state.area,P=state.pressure,N=state.cavities,SF=state.sf; document.getElementById('cfcMTheory').textContent=Math.round(r.fTheory).toLocaleString(); document.getElementById('cfcMDesign').textContent=Math.round(r.fDesign).toLocaleString(); document.getElementById('cfcMTons').textContent=r.fTons.toFixed(1); document.getElementById('cfcS1').textContent=A+' cm\u00b2'; document.getElementById('cfcS2').textContent=A+' \u00d7 '+N+' = '+r.totalArea+' cm\u00b2'; document.getElementById('cfcS3').textContent=P+' MPa'; document.getElementById('cfcS4').textContent=r.totalArea+' \u00d7 '+P+' \u00d7 0.1 = '+Math.round(r.fTheory)+' kN ('+r.fTheoryTons.toFixed(1)+' tf)'; document.getElementById('cfcS5').textContent='\u00d7 '+SF; document.getElementById('cfcS6').textContent=Math.round(r.fDesign)+' kN = '+r.fTons.toFixed(1)+' tf'; var rec=MACHINES.find(function(m){return m>=r.fTons;})||MACHINES[MACHINES.length-1]; var util=Math.round(r.fTons\/rec*100); var gf=document.getElementById('cfcGaugeFill'); gf.style.width=Math.min(util,100)+'%'; gf.textContent=util+'%'; gf.className='cfc-gauge-fill'+(util>100?' danger':util>90?' warn':' ok'); var show=MACHINES.filter(function(m){return m>=r.fTheoryTons*0.7&&m<=Math.max(rec*3,200);}).slice(0,9); var mHtml=''; show.forEach(function(m){ var u=Math.round(r.fTons\/m*100),cls,sub,tag; if(m<r.fTheoryTons){cls='m-small';sub='Too small';tag='RISK';} else if(m===rec){cls='m-rec';sub='RECOMMENDED';tag=u+'%';} else if(u>=50&&u<90){cls='m-good';sub='Suitable';tag=u+'%';} else{cls='m-over';sub='Oversized';tag=u+'%';} mHtml+='<div class=\"cfc-mach '+cls+'\"><span class=\"cfc-mach-tons\">'+m+'<\/span><span class=\"cfc-mach-sub\">ton<\/span><span class=\"cfc-mach-sub\">'+sub+'<\/span><span class=\"cfc-mach-pct\">'+tag+'<\/span><\/div>'; }); document.getElementById('cfcMachs').innerHTML=mHtml; var alerts=[]; if(util>=70&&util<=90)alerts.push({t:'a-ok',ico:'\u2713',m:'Utilization '+util+'% \u2014 within the ideal 70\u201390% window. Machine selection is well-matched.'}); else if(util>90&&util<=100)alerts.push({t:'a-warn',ico:'!',m:'Utilization '+util+'% is high. Verify that gate and runner projections are included in your area input.'}); else if(util>100)alerts.push({t:'a-danger',ico:'\u2715',m:'Design force exceeds press rating \u2014 flash risk is high. Step up to the next available tonnage.'}); else if(util<50)alerts.push({t:'a-warn',ico:'!',m:'Utilization only '+util+'%. The press is significantly oversized \u2014 evaluate a smaller machine.'}); if(P>50)alerts.push({t:'a-warn',ico:'!',m:'Cavity pressure of '+P+' MPa is elevated. Common for thin-wall or high-viscosity resins.'}); if(N>8&&SF<1.2)alerts.push({t:'a-warn',ico:'!',m:'Multi-cavity tools ('+N+' cav) benefit from a safety factor \u2265 1.20.'}); var parts=state.matRange?state.matRange.split('-').map(Number):[0,999]; if(state.matRange&&P<parts[0])alerts.push({t:'a-warn',ico:'!',m:'Pressure below '+state.matRange+' MPa reference range \u2014 short shots possible.'}); if(state.matRange&&parts[1]>0&&P>parts[1])alerts.push({t:'a-warn',ico:'!',m:'Pressure exceeds '+state.matRange+' MPa upper reference. Check runner\/gate sizing.'}); var aHtml=''; alerts.forEach(function(a){aHtml+='<div class=\"cfc-alert '+a.t+'\"><span class=\"cfc-alert-ico\">'+a.ico+'<\/span><span>'+a.m+'<\/span><\/div>';}); document.getElementById('cfcAlerts').innerHTML=aHtml; document.getElementById('cfcTs').textContent='updated '+new Date().toLocaleTimeString([],{hour:'2-digit',minute:'2-digit',second:'2-digit'}); } function pressureHint(){ var P=state.pressure,r=state.matRange; if(!r){document.getElementById('cfcPressureHint').textContent='';return;} var parts=r.split('-').map(Number); var note=P<parts[0]?'\u00b7 below range \u2014 risk of short shots':P>parts[1]?'\u00b7 above range \u2014 review gate\/runner':'\u00b7 within range'; document.getElementById('cfcPressureHint').textContent='Reference range: '+r+' MPa '+note; } var sfHints={'1.1':'Thin-wall standard parts \u2014 verify mold rigidity.','1.15':'General-purpose pick \u2014 suitable for most production tools.','1.2':'Precision \/ multi-cavity tools \u2014 recommended for added margin.','1.25':'Optical \/ large tools \u2014 most conservative.'}; document.getElementById('cfcArea').addEventListener('input',function(e){state.area=parseInt(e.target.value);document.getElementById('cfcAreaOut').textContent=state.area+' cm\u00b2';render();}); document.getElementById('cfcPressure').addEventListener('input',function(e){state.pressure=parseInt(e.target.value);document.getElementById('cfcPressureOut').textContent=state.pressure+' MPa';pressureHint();render();}); document.getElementById('cfcMatGrid').addEventListener('click',function(e){var btn=e.target.closest('.cfc-mat-btn');if(!btn)return;document.querySelectorAll('#cfcMatGrid .cfc-mat-btn').forEach(function(b){b.classList.remove('active');});btn.classList.add('active');var p=parseInt(btn.dataset.p);state.matRange=btn.dataset.r||'';if(p>0){state.pressure=p;document.getElementById('cfcPressure').value=p;document.getElementById('cfcPressureOut').textContent=p+' MPa';}pressureHint();render();}); document.getElementById('cfcSfRow').addEventListener('click',function(e){var btn=e.target.closest('.cfc-sf-btn');if(!btn)return;document.querySelectorAll('#cfcSfRow .cfc-sf-btn').forEach(function(b){b.classList.remove('active');});btn.classList.add('active');state.sf=parseFloat(btn.dataset.v);document.getElementById('cfcSfHint').textContent=sfHints[btn.dataset.v]||'';render();}); document.getElementById('cfcLayGrid').addEventListener('click',function(e){var btn=e.target.closest('.cfc-lay-btn');if(!btn)return;document.querySelectorAll('#cfcLayGrid .cfc-lay-btn').forEach(function(b){b.classList.remove('active');});btn.classList.add('active');var n=parseInt(btn.dataset.n),customRow=document.getElementById('cfcCustomRow');if(n===0){customRow.classList.add('show');state.cavities=parseInt(document.getElementById('cfcCustomN').value)||1;}else{customRow.classList.remove('show');state.cavities=n;}render();}); document.getElementById('cfcCustomN').addEventListener('input',function(e){state.cavities=parseInt(e.target.value)||1;render();}); document.getElementById('twCfcCopyBtn').addEventListener('click',function(){ var text=document.getElementById('twCfcEmbedCode').innerText; var btn=this; navigator.clipboard.writeText(text).then(function(){btn.textContent='\u2713 Copied!';setTimeout(function(){btn.textContent=' Copy Embed Code';},2000);}); }); render(); })(); <\/script><\/div><div id=\"mold-cost-calculator\" class=\"wp-block-group tw-tool tw-cat-calc is-layout-flow wp-block-group-is-layout-flow\"><div id=\"mc-5183\" class=\"mc-wrap\"><style> #mc-5183{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px;color:#e0e0e0;max-width:620px;margin:0 auto;padding:16px;background:#111116;border-radius:14px;box-sizing:border-box} #mc-5183 *{box-sizing:border-box;margin:0;padding:0} #mc-5183 .mc-head{text-align:center;margin-bottom:14px} #mc-5183 .mc-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:3px 10px;border-radius:100px;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#888;margin-bottom:8px} #mc-5183 .mc-dot{width:6px;height:6px;background:#00c060;border-radius:50%;animation:mc-pulse-5183 2s infinite} @keyframes mc-pulse-5183{0%,100%{opacity:1}50%{opacity:.4}} #mc-5183 .mc-title{font-size:17px;font-weight:500;color:#e8e8e8;margin-bottom:3px} #mc-5183 .mc-sub{font-size:11px;color:#888} #mc-5183 .mc-prog{background:rgba(255,255,255,.06);border-radius:100px;height:3px;margin-bottom:14px;overflow:hidden} #mc-5183 .mc-bar{height:100%;background:linear-gradient(90deg,#00c060,#0088dd);border-radius:100px;transition:width .35s ease} #mc-5183 .mc-qbox{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:16px} #mc-5183 .mc-qhd{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px} #mc-5183 .mc-qtitle{font-size:14px;font-weight:500;color:#e8e8e8;margin-bottom:2px} #mc-5183 .mc-qsub{font-size:11px;color:#888} #mc-5183 .mc-step{font-size:11px;color:#555;font-family:monospace} #mc-5183 .mc-opts{display:flex;flex-direction:column;gap:6px} #mc-5183 .mc-opt{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:8px;cursor:pointer;text-align:left;font-family:inherit;font-size:13px;color:#e0e0e0;transition:border-color .15s} #mc-5183 .mc-opt:hover{border-color:rgba(255,255,255,.22)} #mc-5183 .mc-ol{font-size:12px;font-weight:500;color:#e8e8e8;margin-bottom:1px} #mc-5183 .mc-od{font-size:11px;color:#888} #mc-5183 .mc-radio{width:14px;height:14px;border:1.5px solid rgba(255,255,255,.2);border-radius:50%;flex-shrink:0} #mc-5183 .mc-back{margin-top:10px;padding:5px 12px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#888;font-size:11px;cursor:pointer;font-family:inherit} #mc-5183 .mc-back:hover{border-color:rgba(255,255,255,.25);color:#ccc} #mc-5183 .mc-res{display:none} #mc-5183 .mc-rec{padding:16px;border-radius:10px;text-align:center;margin-bottom:12px} #mc-5183 .mc-rec.china{background:rgba(0,192,96,.1);border:1px solid rgba(0,192,96,.35)} #mc-5183 .mc-rec.hybrid{background:rgba(224,144,32,.1);border:1px solid rgba(224,144,32,.35)} #mc-5183 .mc-rec.us{background:rgba(0,136,221,.1);border:1px solid rgba(0,136,221,.35)} #mc-5183 .mc-rlabel{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#888;margin-bottom:4px} #mc-5183 .mc-rtitle{font-size:16px;font-weight:500;margin-bottom:6px} #mc-5183 .mc-rec.china .mc-rtitle{color:#00c060} #mc-5183 .mc-rec.hybrid .mc-rtitle{color:#e09020} #mc-5183 .mc-rec.us .mc-rtitle{color:#0088dd} #mc-5183 .mc-rdesc{font-size:11px;color:#888;line-height:1.5} #mc-5183 .mc-scores{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px} #mc-5183 .mc-scard{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:14px} #mc-5183 .mc-sflag{font-size:11px;color:#888;margin-bottom:2px} #mc-5183 .mc-sval{font-size:26px;font-weight:500} #mc-5183 .mc-sval.cn{color:#00c060} #mc-5183 .mc-sval.us{color:#0088dd} #mc-5183 .mc-scost{font-size:11px;color:#888;margin-top:4px} #mc-5183 .mc-savings{background:rgba(255,255,255,.04);border:1px solid rgba(224,144,32,.4);border-radius:8px;padding:10px 14px;margin-bottom:10px} #mc-5183 .mc-slabel{font-size:11px;color:#e09020} #mc-5183 .mc-snum{font-size:18px;font-weight:500;color:#e09020} #mc-5183 .mc-factors{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:14px;margin-bottom:12px} #mc-5183 .mc-ftitle{font-size:12px;font-weight:500;color:#e8e8e8;margin-bottom:10px} #mc-5183 .mc-factor{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.07)} #mc-5183 .mc-factor:last-child{border-bottom:none} #mc-5183 .mc-fq{font-size:11px;color:#e0e0e0} #mc-5183 .mc-fa{font-size:10px;color:#888;margin-top:1px} #mc-5183 .mc-fscores{display:flex;gap:4px} #mc-5183 .mc-fs{padding:2px 6px;border-radius:100px;font-size:10px} #mc-5183 .mc-fs.cn{background:rgba(0,192,96,.15);color:#00c060} #mc-5183 .mc-fs.us{background:rgba(0,136,221,.15);color:#0088dd} #mc-5183 .mc-fs.win{font-weight:600} #mc-5183 .mc-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px} #mc-5183 .mc-btn{flex:1;min-width:120px;padding:9px 16px;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;text-align:center;font-family:inherit;transition:opacity .15s} #mc-5183 .mc-btnp{background:#00c060;border:none;color:#000} #mc-5183 .mc-btnp:hover{opacity:.85} #mc-5183 .mc-btns{background:transparent;border:1px solid rgba(255,255,255,.18);color:#888} #mc-5183 .mc-btns:hover{color:#ccc;border-color:rgba(255,255,255,.3)} #mc-5183 .mc-cta{padding:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:10px;text-align:center} #mc-5183 .mc-ctatitle{font-size:13px;font-weight:500;margin-bottom:4px;color:#e8e8e8} #mc-5183 .mc-ctadesc{font-size:11px;color:#888;margin-bottom:10px} #mc-5183 .mc-ctalink{display:inline-block;padding:7px 16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#ccc;text-decoration:none;font-size:12px} #mc-5183 .mc-ctalink:hover{border-color:#00c060;color:#00c060} #mc-5183 .mc-foot{text-align:center;margin-top:12px;font-size:10px;color:#444} @media(max-width:500px){#mc-5183 .mc-scores{grid-template-columns:1fr}#mc-5183 .mc-actions{flex-direction:column}} <\/style><div class=\"mc-head\"><div class=\"mc-badge\"><span class=\"mc-dot\"><\/span>Decision tool<\/div><div class=\"mc-title\">Injection Molding Sourcing Calculator<\/div><div class=\"mc-sub\">8 questions \u2192 data-driven sourcing recommendation<\/div><\/div><div class=\"mc-prog\"><div class=\"mc-bar\" id=\"mcBar-5183\" style=\"width:12.5%\"><\/div><\/div><div id=\"mcQV-5183\"><div class=\"mc-qbox\"><div class=\"mc-qhd\"><div><div class=\"mc-qtitle\" id=\"mcQT-5183\"><\/div><div class=\"mc-qsub\" id=\"mcQS-5183\"><\/div><\/div><span class=\"mc-step\" id=\"mcSt-5183\"><\/span><\/div><div class=\"mc-opts\" id=\"mcO-5183\"><\/div><\/div><button class=\"mc-back\" id=\"mcBk-5183\" style=\"display:none\" onclick=\"mcBack_5183()\">\u2190 Previous<\/button><\/div><div class=\"mc-res\" id=\"mcR-5183\"><div class=\"mc-rec\" id=\"mcRec-5183\"><div class=\"mc-rlabel\">Recommendation<\/div><div class=\"mc-rtitle\" id=\"mcRT-5183\"><\/div><div class=\"mc-rdesc\" id=\"mcRD-5183\"><\/div><\/div><div class=\"mc-scores\"><div class=\"mc-scard\"><div class=\"mc-sflag\"> China sourcing<\/div><div class=\"mc-sval cn\" id=\"mcCS-5183\"><\/div><div class=\"mc-scost\" id=\"mcCC-5183\"><\/div><\/div><div class=\"mc-scard\"><div class=\"mc-sflag\"> US \/ nearshore<\/div><div class=\"mc-sval us\" id=\"mcUS-5183\"><\/div><div class=\"mc-scost\" id=\"mcUC-5183\"><\/div><\/div><\/div><div class=\"mc-savings\"><div class=\"mc-slabel\">Potential savings with China sourcing<\/div><div class=\"mc-snum\" id=\"mcSv-5183\"><\/div><\/div><div class=\"mc-factors\"><div class=\"mc-ftitle\">Factor analysis<\/div><div id=\"mcF-5183\"><\/div><\/div><div class=\"mc-actions\"><button class=\"mc-btn mc-btnp\" onclick=\"mcDL_5183()\">\u2193 Download report<\/button><button class=\"mc-btn mc-btns\" onclick=\"mcReset_5183()\">\u21ba Start over<\/button><\/div><div class=\"mc-cta\"><div class=\"mc-ctatitle\">Ready for a detailed analysis?<\/div><div class=\"mc-ctadesc\">Our engineering team provides a quote with DFM feedback within 48 hours.<\/div><a href=\"mailto:sales@plasticmoulds.net?subject=Mold%20Sourcing%20Consultation\" class=\"mc-ctalink\">Contact us \u2192<\/a><\/div><\/div><div class=\"mc-foot\">General guidance only. Actual costs depend on specific requirements. \u00a9 2026 plasticmoulds.net<\/div><\/div><script> (function(){ var uid='5183'; var Q=[ {id:\"volume\",t:\"Annual production volume\",s:\"How many parts per year?\",o:[{l:\"Prototype \/ validation\",d:\"< 1,000 parts\",cn:1,us:4},{l:\"Low volume\",d:\"1,000\u201310,000 parts\",cn:2,us:3},{l:\"Medium volume\",d:\"10,000\u2013100,000 parts\",cn:4,us:2},{l:\"High volume\",d:\"100,000+ parts\",cn:5,us:1}]}, {id:\"lifecycle\",t:\"Product lifecycle\",s:\"How long will this product be in production?\",o:[{l:\"Short-term\",d:\"< 1 year\",cn:1,us:4},{l:\"Medium-term\",d:\"1\u20133 years\",cn:3,us:3},{l:\"Long-term\",d:\"3\u20135 years\",cn:4,us:2},{l:\"Extended\",d:\"5+ years\",cn:5,us:2}]}, {id:\"complexity\",t:\"Part complexity & tolerance\",s:\"What precision level is required?\",o:[{l:\"Standard\",d:\"Single material, \u00b10.1mm\",cn:5,us:2},{l:\"Moderate\",d:\"Multi-gate, side actions, \u00b10.05mm\",cn:4,us:3},{l:\"High precision\",d:\"Micro-molding, optical, \u00b10.01mm\",cn:3,us:4},{l:\"Critical\",d:\"Medical\/aerospace, full traceability\",cn:2,us:5}]}, {id:\"industry\",t:\"Industry & compliance\",s:\"What standards must you meet?\",o:[{l:\"Consumer products\",d:\"General consumer goods\",cn:5,us:2},{l:\"Industrial\",d:\"B2B equipment, machinery\",cn:4,us:3},{l:\"Automotive\",d:\"IATF 16949, PPAP required\",cn:3,us:4},{l:\"Medical \/ aerospace\",d:\"FDA, ISO 13485, AS9100, ITAR\",cn:1,us:5}]}, {id:\"risk\",t:\"Supply chain risk tolerance\",s:\"How critical is supply chain stability?\",o:[{l:\"High tolerance\",d:\"Flexible timelines, can hold inventory\",cn:5,us:2},{l:\"Moderate\",d:\"Some buffer acceptable\",cn:4,us:3},{l:\"Low tolerance\",d:\"JIT delivery, minimal inventory\",cn:2,us:4},{l:\"Zero tolerance\",d:\"Mission-critical, no disruption\",cn:1,us:5}]}, {id:\"ip\",t:\"IP sensitivity\",s:\"How sensitive is your intellectual property?\",o:[{l:\"Low\",d:\"Mature product, public technology\",cn:5,us:2},{l:\"Moderate\",d:\"Some proprietary features\",cn:3,us:3},{l:\"High\",d:\"Core innovation, patents pending\",cn:2,us:4},{l:\"Critical\",d:\"Trade secrets, competitive advantage\",cn:1,us:5}]}, {id:\"timeline\",t:\"Time to production\",s:\"How quickly do you need production-ready molds?\",o:[{l:\"Urgent\",d:\"< 4 weeks\",cn:1,us:5},{l:\"Fast\",d:\"4\u20138 weeks\",cn:3,us:4},{l:\"Standard\",d:\"8\u201312 weeks\",cn:5,us:3},{l:\"Flexible\",d:\"12+ weeks acceptable\",cn:5,us:2}]}, {id:\"experience\",t:\"Supplier experience\",s:\"Your experience with overseas suppliers?\",o:[{l:\"No experience\",d:\"First time sourcing overseas\",cn:2,us:4},{l:\"Limited\",d:\"Some experience, no established partners\",cn:3,us:3},{l:\"Experienced\",d:\"Have worked with overseas suppliers\",cn:4,us:2},{l:\"Extensive\",d:\"Established relationships & processes\",cn:5,us:2}]} ]; var step=0,ans=[]; function $(id){return document.getElementById(id+'-'+uid)} function render(){ var q=Q[step]; $('mcBar').style.width=((step+1)\/Q.length*100)+'%'; $('mcQT').textContent=q.t; $('mcQS').textContent=q.s; $('mcSt').textContent=(step+1<10?'0'+(step+1):step+1)+' \/ '+Q.length; $('mcBk').style.display=step>0?'inline-block':'none'; var c=$('mcO');c.innerHTML=''; q.o.forEach(function(opt){ var b=document.createElement('button');b.className='mc-opt'; b.innerHTML='<div><div class=\"mc-ol\">'+opt.l+'<\/div><div class=\"mc-od\">'+opt.d+'<\/div><\/div><div class=\"mc-radio\"><\/div>'; b.onclick=function(){ans.push({q:q.t,a:opt.l,cn:opt.cn,us:opt.us});step++;step<Q.length?render():showResult()}; c.appendChild(b); }); } function showResult(){ $('mcQV').style.display='none'; $('mcR').style.display='block'; var cn=0,us=0;ans.forEach(function(a){cn+=a.cn;us+=a.us}); var tot=cn+us,cnP=Math.round(cn\/tot*100),usP=Math.round(us\/tot*100); var d=1.3;ans.forEach(function(a){ if(a.q.indexOf('complexity')>-1||a.q.indexOf('Complexity')>-1){ if(a.a.indexOf('High')>-1)d=1.8; else if(a.a.indexOf('Critical')>-1)d=2.5; else if(a.a.indexOf('Standard')>-1)d=1; } }); var cnC=Math.round(25000*d*.4),usC=Math.round(25000*d*1.2),sav=Math.round((usC-cnC)\/usC*100); $('mcCS').textContent=cnP+'%'; $('mcUS').textContent=usP+'%'; $('mcCC').textContent='Est. $'+cnC.toLocaleString(); $('mcUC').textContent='Est. $'+usC.toLocaleString(); $('mcSv').textContent=sav+'% cost reduction (~$'+(usC-cnC).toLocaleString()+')'; var box=$('mcRec'),rt=$('mcRT'),rd=$('mcRD'); box.className='mc-rec'; if(cnP>=65){box.classList.add('china');rt.textContent='China sourcing recommended';rd.textContent='Your profile suggests China sourcing offers the best value. Focus on thorough supplier vetting, clear documentation, and robust quality agreements.';} else if(cnP>=55){box.classList.add('china');rt.textContent='China sourcing with mitigation';rd.textContent='China sourcing is viable but requires additional risk mitigation: consider dual-sourcing, enhanced IP protection, or phased qualification.';} else if(cnP>=45){box.classList.add('hybrid');rt.textContent='Hybrid strategy recommended';rd.textContent='Consider a China+1 approach \u2014 China for tooling\/production molds, nearshore (Mexico\/Vietnam) or US for validation\/bridge tooling.';} else if(cnP>=35){box.classList.add('us');rt.textContent='Nearshore \/ US preferred';rd.textContent='Your requirements favor domestic or nearshore sourcing. The premium is justified by reduced risk, faster iteration, and compliance simplicity.';} else{box.classList.add('us');rt.textContent='US sourcing recommended';rd.textContent='Your profile strongly indicates US sourcing. Compliance requirements, IP concerns, or timeline constraints make overseas sourcing impractical.';} var fc=$('mcF');fc.innerHTML=''; ans.forEach(function(a){ var r=document.createElement('div');r.className='mc-factor'; r.innerHTML='<div><div class=\"mc-fq\">'+a.q+'<\/div><div class=\"mc-fa\">'+a.a+'<\/div><\/div>' +'<div class=\"mc-fscores\"><span class=\"mc-fs cn'+(a.cn>a.us?' win':'')+'\">&#x1F1E8;&#x1F1F3; '+a.cn+'<\/span>' +'<span class=\"mc-fs us'+(a.us>a.cn?' win':'')+'\">&#x1F1FA;&#x1F1F8; '+a.us+'<\/span><\/div>'; fc.appendChild(r); }); window['_mcData_'+uid]={cnP:cnP,usP:usP,cnC:cnC,usC:usC,sav:sav,title:rt.textContent,desc:rd.textContent,ans:ans}; } window['mcBack_'+uid]=function(){if(step>0){step--;ans.pop();render();}}; window['mcReset_'+uid]=function(){step=0;ans=[];$('mcQV').style.display='block';$('mcR').style.display='none';render();}; window['mcDL_'+uid]=function(){ var d=window['_mcData_'+uid]; var t='MOLD SOURCING DECISION REPORT\\nGenerated: '+new Date().toLocaleDateString()+'\\n'; t+='===================================================\\n\\n'; t+='RECOMMENDATION: '+d.title+'\\n\\n'; t+='SCORES\\n- China: '+d.cnP+'%\\n- US\/Nearshore: '+d.usP+'%\\n\\n'; t+='COST ESTIMATES\\n- China tooling: $'+d.cnC.toLocaleString()+'\\n- US tooling: $'+d.usC.toLocaleString()+'\\n- Potential savings: '+d.sav+'%\\n\\n'; t+='ANALYSIS\\n'+d.desc+'\\n\\nRESPONSES\\n'; d.ans.forEach(function(a){t+='- '+a.q+': '+a.a+'\\n';}); t+='\\n===================================================\\nwww.plasticmoulds.net | sales@plasticmoulds.net'; var bl=new Blob([t],{type:'text\/plain'}),u=URL.createObjectURL(bl),a=document.createElement('a'); a.href=u;a.download='Mold-Sourcing-Report.txt';document.body.appendChild(a);a.click();document.body.removeChild(a);URL.revokeObjectURL(u); }; render(); })(); <\/script><div class=\"mcalc-embedbox\" style=\"max-width:620px;margin:16px auto 0;padding:14px 16px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:#17171d;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;\"><div style=\"font-size:14px;font-weight:600;color:#e8e8e8;margin-bottom:3px;\">Use this calculator on your website \u2014 free<\/div><div style=\"font-size:12px;color:#888;margin-bottom:9px;\">Copy the code below to embed the 8-question sourcing tool. A credit link is included.<\/div><textarea id=\"mcalc-5183-embed\" readonly rows=\"3\" onclick=\"this.select()\" style=\"width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;padding:9px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0d0d11;color:#e0e0e0;resize:vertical;\">&lt;iframe id=&quot;mcalc-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html?mcalc_embed=1&quot; width=&quot;100%&quot; height=&quot;640&quot; loading=&quot;lazy&quot; style=&quot;max-width:620px;border:0;&quot; title=&quot;Injection Molding Sourcing Calculator&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.mcalcHeight){var f=document.getElementById(&quot;mcalc-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.mcalcHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Free &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Injection Molding Sourcing Calculator&lt;\/a&gt; by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot;&gt;&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"mcalc-5183-copy\" style=\"margin-top:9px;background:#00c060;color:#000;border:0;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;\">Copy embed code<\/button><\/div><script>(function(){var b=document.getElementById(\"mcalc-5183-copy\"),t=document.getElementById(\"mcalc-5183-embed\");if(!b||!t)return;b.addEventListener(\"click\",function(){t.focus();t.select();var done=function(){b.textContent=\"Copied \\u2713\";setTimeout(function(){b.textContent=\"Copy embed code\";},1500);};if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t.value).then(done,function(){try{document.execCommand(\"copy\");done();}catch(e){}});}else{try{document.execCommand(\"copy\");done();}catch(e){}}});})();<\/script><\/div><div id=\"molding-tools\" class=\"wp-block-group tw-tool tw-cat-calc is-layout-flow wp-block-group-is-layout-flow\"><style> .tw-mt{--bg:#14161a;--surface:#1c1f26;--surface2:#22262f;--line:#2c313b;--text:#e7eaf0;--dim:#9aa3b2;--accent:#e8b84b;--steel:#7f9cc0;--good:#6fcf97;--mono:'DM Mono',ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;--disp:'Bebas Neue','Arial Narrow',system-ui,sans-serif;--body:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-family:var(--body);border:1px solid var(--line);border-radius:14px;padding:26px;max-width:880px;margin:28px auto;box-shadow:0 1px 0 #ffffff0d inset,0 18px 50px #00000040} .tw-mt *{box-sizing:border-box} .tw-mt-kicker{font:600 12px\/1 var(--body);letter-spacing:.18em;color:var(--accent)} .tw-mt-title{font-family:var(--disp);font-weight:400;letter-spacing:.02em;font-size:clamp(28px,5vw,40px);line-height:1.02;margin:8px 0 6px;color:#e7eaf0} .tw-mt-sub{color:var(--dim);font-size:14px;margin:0 0 18px;max-width:60ch} .tw-mt-tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:4px;margin-bottom:20px} .tw-mt-tab{flex:1;appearance:none;border:0;background:transparent;color:var(--dim);font:600 13px\/1 var(--body);letter-spacing:.04em;padding:11px 8px;border-radius:7px;cursor:pointer;transition:.15s} .tw-mt-tab:hover{color:var(--text)} .tw-mt-tab.is-on{background:var(--surface2);color:var(--text);box-shadow:0 0 0 1px var(--line),0 -2px 0 var(--accent) inset} .tw-mt-panel{display:none;animation:twmtin .25s ease} .tw-mt-panel.is-on{display:block} @keyframes twmtin{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}} .tw-mt-lead{color:var(--dim);font-size:14px;margin:0 0 18px} .tw-mt-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px} @media(max-width:680px){.tw-mt-grid{grid-template-columns:1fr}.tw-mt{padding:18px}} .tw-mt-form label{display:block;font-size:12.5px;color:var(--dim);margin-bottom:13px;letter-spacing:.02em} .tw-mt-form input[type=number],.tw-mt-form select{width:100%;margin-top:5px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px 11px;font:500 15px\/1 var(--mono);outline:none;transition:.15s} .tw-mt-form input:focus,.tw-mt-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e8b84b22} .tw-mt-form small{display:block;color:#6f7787;font-size:11px;margin-top:5px;line-height:1.4;font-family:var(--body)} .tw-mt-form select option{background:#1c1f26;color:#e7eaf0} .tw-mt-form select optgroup{background:#1c1f26;color:#9aa3b2} .tw-mt-check{display:flex!important;align-items:center;gap:9px;cursor:pointer} .tw-mt-check input{width:auto;margin:0} .tw-mt-out{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px} .tw-mt-big{font-family:var(--disp);font-size:clamp(40px,9vw,62px);line-height:.9;color:var(--accent)} .tw-mt-big small{display:block;font-family:var(--body);font-size:12px;letter-spacing:.06em;color:var(--dim);margin-top:6px} .tw-mt-uplift{font:500 13px\/1 var(--mono);color:var(--steel);margin:12px 0 16px} .tw-mt-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:#0d0f12;margin-bottom:14px} .tw-mt-bar span{height:100%} .tw-mt-legend{list-style:none;margin:0;padding:0;display:grid;gap:7px} .tw-mt-legend li{display:flex;align-items:center;justify-content:space-between;font:500 12.5px\/1 var(--mono);color:var(--dim)} .tw-mt-legend li b{color:var(--text);font-weight:500} .tw-mt-legend .dot{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:8px;vertical-align:-1px} .tw-mt-total{margin-top:14px;padding-top:13px;border-top:1px solid var(--line);font:500 13px\/1.4 var(--mono);color:var(--text)} .tw-mt-cta{display:inline-block;margin-top:16px;color:var(--accent);text-decoration:none;font:600 13px\/1 var(--body);letter-spacing:.02em;border-bottom:1px solid #e8b84b55;padding-bottom:2px} .tw-mt-cta:hover{border-color:var(--accent)} .tw-mt-finishwrap{display:grid;grid-template-columns:1fr 1fr;gap:22px} @media(max-width:680px){.tw-mt-finishwrap{grid-template-columns:1fr}} .tw-mt-swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:10px} .tw-mt-sw{position:relative;aspect-ratio:1\/.78;border-radius:8px;cursor:pointer;border:2px solid transparent;overflow:hidden;background:linear-gradient(135deg,#d7dade,#9aa0a8 55%,#7c828b)} .tw-mt-sw::before{content:\"\";position:absolute;inset:0;background:radial-gradient(120% 80% at 28% 18%,#ffffff,transparent 55%);opacity:var(--gloss)} .tw-mt-sw::after{content:\"\";position:absolute;inset:0;opacity:var(--rough);mix-blend-mode:multiply;background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'\/%3E%3C\/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'\/%3E%3C\/svg%3E\");background-size:90px} .tw-mt-sw b{position:absolute;left:7px;bottom:6px;font:600 12px\/1 var(--mono);color:#1a1c20;text-shadow:0 1px 2px #ffffffaa;z-index:2} .tw-mt-sw.is-on{border-color:var(--accent);box-shadow:0 0 0 3px #e8b84b33} .tw-mt-finishdetail{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px} .tw-mt-fd-grade{font-family:var(--disp);font-size:34px;line-height:.9;color:var(--accent)} .tw-mt-fd-name{color:var(--dim);font-size:13px;margin:2px 0 14px} .tw-mt-fd-row{display:flex;justify-content:space-between;font:500 13px\/1 var(--mono);padding:8px 0;border-top:1px solid var(--line)} .tw-mt-fd-row span:first-child{color:var(--dim)} .tw-mt-gloss{height:8px;border-radius:5px;background:#0d0f12;margin-top:4px;overflow:hidden} .tw-mt-gloss i{display:block;height:100%;background:linear-gradient(90deg,var(--steel),var(--accent))} .tw-mt-cost{letter-spacing:3px;color:var(--accent)} .tw-mt-cost u{color:#3a3f49;text-decoration:none} .tw-mt-steelcard{border:1px solid var(--accent);background:linear-gradient(180deg,#22262f,#1a1d24);border-radius:10px;padding:18px;margin-bottom:14px} .tw-mt-steelcard .grade{font-family:var(--disp);font-size:30px;line-height:.95;color:var(--accent)} .tw-mt-steelcard .why{color:var(--text);font-size:13.5px;line-height:1.5;margin:10px 0 12px} .tw-mt-spec{display:flex;gap:18px;flex-wrap:wrap;font:500 12px\/1 var(--mono);color:var(--dim)} .tw-mt-spec b{color:var(--text);display:block;font-size:14px;margin-top:3px} .tw-mt-steelalt{font-size:13px;color:var(--dim);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:13px 15px;line-height:1.5} .tw-mt-steelalt b{color:var(--text)} .tw-mt-notes{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px} .tw-mt-notes li{position:relative;padding-left:18px;font-size:12.5px;color:var(--dim);line-height:1.45} .tw-mt-notes li::before{content:\"\u203a\";position:absolute;left:0;color:var(--accent);font-weight:700} .tw-mt-foot{margin:22px 0 0;font-size:11.5px;color:#5f6776;text-align:center} <\/style><div class=\"tw-mt\" data-twmt><div class=\"tw-mt-head\"><span class=\"tw-mt-kicker\">FACTORY-DIRECT TOOLING<\/span><h2 class=\"tw-mt-title\">Injection Molding Decision Tools<\/h2><p class=\"tw-mt-sub\">Estimate your real cost, pick a surface finish, and match the right mold steel. Figures are planning estimates \u2014 send a STEP file for an exact quote.<\/p><\/div><div class=\"tw-mt-tabs\" role=\"tablist\"><button type=\"button\" class=\"tw-mt-tab is-on\" data-tab=\"landed\" role=\"tab\">Landed Cost<\/button><button type=\"button\" class=\"tw-mt-tab\" data-tab=\"finish\" role=\"tab\">Surface Finish<\/button><button type=\"button\" class=\"tw-mt-tab\" data-tab=\"steel\" role=\"tab\">Mold Steel<\/button><\/div><section class=\"tw-mt-panel is-on\" data-panel=\"landed\"><p class=\"tw-mt-lead\">The quote is not the cost. Add duty, freight, and fees to see what a part really lands at.<\/p><div class=\"tw-mt-grid\"><div class=\"tw-mt-form\"><label>Ex-works price per part (USD) <input type=\"number\" data-f=\"unit\" value=\"0.85\" min=\"0\" step=\"0.01\"><\/label><label>Order quantity (parts) <input type=\"number\" data-f=\"qty\" value=\"50000\" min=\"1\" step=\"1\"><\/label><label>Ocean \/ air freight, total order (USD) <input type=\"number\" data-f=\"freight\" value=\"1800\" min=\"0\" step=\"1\"><\/label><label>Duty \/ tariff rate (%) <input type=\"number\" data-f=\"duty\" value=\"0\" min=\"0\" step=\"0.1\"><small>Use your HTS code rate plus any extra tariff. Check current rates on USITC \/ CBP \u2014 they change.<\/small><\/label><label>Insurance + broker + port fees (% of goods) <input type=\"number\" data-f=\"fees\" value=\"2\" min=\"0\" step=\"0.1\"><\/label><label class=\"tw-mt-check\"><input type=\"checkbox\" data-f=\"amort\"> Amortize tooling into per-part cost <\/label><label data-f=\"toolwrap\" hidden>Tooling cost (USD) <input type=\"number\" data-f=\"tool\" value=\"12000\" min=\"0\" step=\"1\"><\/label><\/div><div class=\"tw-mt-out\" data-out=\"landed\"><div class=\"tw-mt-big\"><span data-r=\"perpart\">\u2014<\/span><small>landed cost \/ part<\/small><\/div><div class=\"tw-mt-uplift\" data-r=\"uplift\"><\/div><div class=\"tw-mt-bar\" data-r=\"bar\"><\/div><ul class=\"tw-mt-legend\" data-r=\"legend\"><\/ul><div class=\"tw-mt-total\" data-r=\"total\"><\/div><a class=\"tw-mt-cta\" href=\"\/contact\/\">Get this verified on your part \u2192<\/a><\/div><\/div><\/section><section class=\"tw-mt-panel\" data-panel=\"finish\"><p class=\"tw-mt-lead\">SPI finish grades, from optical polish to heavy texture. Click a grade to see what it costs you.<\/p><div class=\"tw-mt-finishwrap\"><div class=\"tw-mt-swatches\" data-r=\"swatches\"><\/div><div class=\"tw-mt-finishdetail\" data-r=\"finishdetail\"><\/div><\/div><a class=\"tw-mt-cta\" href=\"\/contact\/\">Tell us your finish and resin for a quote \u2192<\/a><\/section><section class=\"tw-mt-panel\" data-panel=\"steel\"><p class=\"tw-mt-lead\">Volume, resin, and finish decide the steel. Pick the wrong grade and you pay in rework or a dead tool.<\/p><div class=\"tw-mt-grid\"><div class=\"tw-mt-form\"><label>Production volume <select data-s=\"vol\"><option value=\"proto\">Prototype \/ bridge (under 10k)<\/option><option value=\"low\" selected>Low (10k \u2013 100k)<\/option><option value=\"med\">Medium (100k \u2013 500k)<\/option><option value=\"high\">High (500k \u2013 1M)<\/option><option value=\"vhigh\">Very high (1M+)<\/option><\/select><\/label><label>Resin type <select data-s=\"resin\"><option value=\"unfilled\" selected>Unfilled (PP, PE, ABS, PS, PC)<\/option><option value=\"filled\">Glass \/ mineral filled (abrasive)<\/option><\/select><\/label><label>Chemistry <select data-s=\"corr\"><option value=\"no\" selected>Non-corrosive<\/option><option value=\"yes\">Corrosive (PVC, POM, flame-retardant)<\/option><\/select><\/label><label>Finish requirement <select data-s=\"finish\"><option value=\"std\" selected>Standard \/ textured<\/option><option value=\"polish\">High polish \/ optical \/ medical<\/option><\/select><\/label><label>Priority <select data-s=\"prio\"><option value=\"cost\">Lowest tooling cost<\/option><option value=\"value\" selected>Best value<\/option><option value=\"life\">Longest tool life<\/option><\/select><\/label><\/div><div class=\"tw-mt-out\" data-out=\"steel\"><div class=\"tw-mt-steelcard\" data-r=\"steelmain\"><\/div><div class=\"tw-mt-steelalt\" data-r=\"steelalt\"><\/div><ul class=\"tw-mt-notes\" data-r=\"steelnotes\"><\/ul><a class=\"tw-mt-cta\" href=\"\/contact\/\">Get a tool quote in this steel \u2192<\/a><\/div><\/div><\/section><p class=\"tw-mt-foot\">Estimates for planning only. Final cost, finish, and steel depend on part geometry, tolerance, and volume.<\/p><\/div><div class=\"tw-mt-embedbox\" style=\"max-width:880px;margin:16px auto 0;padding:14px 16px;border:1px solid #2c313b;border-radius:12px;background:#1c1f26;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;\"><div style=\"font-size:14px;font-weight:600;color:#e7eaf0;margin-bottom:3px;\">Use these calculators on your website \u2014 free<\/div><div style=\"font-size:12.5px;color:#9aa3b2;margin-bottom:9px;\">Copy the code below to embed the landed-cost, finish, and steel tools. A credit link is included.<\/div><textarea id=\"twmt-7599-embed\" readonly rows=\"3\" onclick=\"this.select()\" style=\"width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;padding:9px;border:1px solid #2c313b;border-radius:8px;background:#14161a;color:#e7eaf0;resize:vertical;\">&lt;iframe id=&quot;tw-mt-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html?twmt_embed=1&quot; width=&quot;100%&quot; height=&quot;720&quot; loading=&quot;lazy&quot; style=&quot;max-width:880px;border:0;&quot; title=&quot;Injection Molding Decision Tools&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twMtHeight){var f=document.getElementById(&quot;tw-mt-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twMtHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Free &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Injection Molding Decision Tools&lt;\/a&gt; by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot;&gt;&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"twmt-7599-copy\" style=\"margin-top:9px;background:#e8b84b;color:#14161a;border:0;padding:8px 13px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;\">Copy embed code<\/button><\/div><script>(function(){var b=document.getElementById(\"twmt-7599-copy\"),t=document.getElementById(\"twmt-7599-embed\");if(!b||!t)return;b.addEventListener(\"click\",function(){t.focus();t.select();var done=function(){b.textContent=\"Copied \\u2713\";setTimeout(function(){b.textContent=\"Copy embed code\";},1500);};if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t.value).then(done,function(){try{document.execCommand(\"copy\");done();}catch(e){}});}else{try{document.execCommand(\"copy\");done();}catch(e){}}});})();<\/script><\/div><div id=\"defects-troubleshooting\" class=\"wp-block-group tw-tool tw-cat-trouble is-layout-flow wp-block-group-is-layout-flow\"><style> .defect-tool-container{font-family:-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;max-width:950px;margin:0 auto;color:#e2e8f0;background-color:#121212;padding:30px;border-radius:12px;box-shadow:0 15px 35px rgba(0,0,0,0.6);border:1px solid #2d3748;} .defect-tool-container h3{font-size:22px;color:#f8fafc;margin-bottom:25px;border-bottom:2px solid #333;padding-bottom:12px;font-weight:700;letter-spacing:0.5px;} .defect-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(130px, 1fr));gap:12px;margin-bottom:35px;} .defect-btn{padding:12px 8px;background-color:#1a202c;border:1px solid #4a5568;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;text-align:center;color:#cbd5e0;transition:all 0.2s ease;box-shadow:0 2px 5px rgba(0,0,0,0.4);display:flex;align-items:center;justify-content:center;min-height:48px;user-select:none;} .defect-btn:hover{background-color:#2d3748;border-color:#718096;transform:translateY(-2px);color:#fff;} .defect-btn:focus-visible{outline:2px solid #f59e0b;outline-offset:2px;} .defect-btn.active{background-color:#ef4444;color:#fff;border-color:#ef4444;box-shadow:0 0 10px rgba(239,68,68,0.4);} .diagnosis-box{padding:25px;background:#1a202c;border:1px solid #2d3748;border-top:4px solid #ef4444;border-radius:8px;box-shadow:0 10px 20px rgba(0,0,0,0.3);animation:im-fadeIn 0.4s ease-out;} .diagnosis-box h4{margin-top:0;color:#f8fafc;font-size:20px;border-bottom:1px solid #2d3748;padding-bottom:15px;margin-bottom:20px;} .im-visual{display:flex;gap:20px;align-items:stretch;margin-bottom:24px;} .im-figure{flex:0 0 420px;background:#0d0d0d;border:1px solid #2d3748;border-radius:6px;padding:12px 12px 6px 12px;} .im-figure svg{width:100%;height:auto;display:block;} .diagnosis-box .im-hint{flex:1;color:#9ca3af;font-size:15px;line-height:1.7;margin:0;align-self:center;} @media (max-width:760px){.im-visual{flex-direction:column;gap:14px;} .im-figure{flex:none;width:100%;padding:6px 6px 2px 6px;} } .checkbox-group{margin-bottom:25px;background-color:#121212;padding:18px;border-radius:6px;border:1px solid #2d3748;} .checkbox-group p{margin-top:0;margin-bottom:15px;color:#9ca3af;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;} .checkbox-label{display:block;margin-bottom:12px;font-size:15px;cursor:pointer;line-height:1.5;color:#e2e8f0;transition:color 0.2s;} .checkbox-label:hover{color:#fff;} .checkbox-label:last-child{margin-bottom:0;} .checkbox-label input{margin-right:12px;transform:scale(1.2);cursor:pointer;accent-color:#ef4444;} .generate-btn{padding:12px 25px;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:1px;transition:all 0.2s;display:inline-block;} .generate-btn:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px rgba(239,68,68,0.3);} .im-reset-btn{background:none;border:1px solid #4a5568;color:#9ca3af;padding:12px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;margin-left:10px;} .im-reset-btn:hover{color:#fff;border-color:#718096;} .solution-box{margin-top:25px;padding:25px;background:#064e3b;border-left:5px solid #10b981;border-radius:6px;font-size:15px;line-height:1.7;color:#d1fae5;box-shadow:inset 0 2px 4px rgba(0,0,0,0.2);animation:im-fadeIn 0.4s ease-out;} .solution-box strong{color:#34d399;display:block;margin-bottom:15px;font-size:18px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #047857;padding-bottom:8px;} .solution-box .sol-label{font-weight:700;color:#fff;margin-right:5px;background-color:#047857;padding:2px 6px;border-radius:3px;font-size:13px;text-transform:uppercase;} .solution-box p{margin:0 0 12px 0;} .solution-box p:last-child{margin-bottom:0;} .im-warn{margin-top:20px;padding:15px 20px;background:#422006;border-left:5px solid #f59e0b;border-radius:6px;color:#fde68a;font-size:15px;} @keyframes im-fadeIn{from{opacity:0;transform:translateY(-5px);} to{opacity:1;transform:translateY(0);} } @media (prefers-reduced-motion:reduce){.defect-btn, .generate-btn{transition:none;} .defect-btn:hover, .generate-btn:hover{transform:none;} .diagnosis-box, .solution-box{animation:none;} } @media (max-width:600px){.defect-tool-container{padding:14px;} .diagnosis-box{padding:16px;} .defect-grid{grid-template-columns:repeat(auto-fill, minmax(105px, 1fr));gap:8px;} .defect-btn{font-size:13px;} } <\/style><div class=\"defect-tool-container\" id=\"imdt75960\"><h3>1. Select the defect you need to troubleshoot<\/h3><div class=\"defect-grid\" data-im-grid><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"blackSpecks\">Black Specks<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"blisters\">Blisters<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"blush\">Blush<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"bowing\">Bowing<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"brittleness\">Brittleness<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"burnMarks\">Burn Marks<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"clearSpots\">Clear Spots<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"contamination\">Contamination<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"cracking\">Cracking<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"flash\">Flash<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"flowLines\">Flow Lines<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"gloss\">Gloss<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"jetting\">Jetting<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"shortShots\">Short Shots<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"shrinkage\">Shrinkage<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"silverStreaking\">Silver Streaking<\/div><div class=\"defect-btn\" role=\"button\" tabindex=\"0\" data-defect=\"voids\">Voids<\/div><\/div><div data-im-diagnosis><\/div><\/div><script> (function () { var root = document.getElementById('imdt75960'); if (!root || root.getAttribute('data-im-ready')) { return; } root.setAttribute('data-im-ready', '1'); var grid = root.querySelector('[data-im-grid]'); var area = root.querySelector('[data-im-diagnosis]'); \/* ---------- Knowledge base ---------- n = defect name, w = what it looks like, c = causes: t = condition text, s = [[label, action], ...] ------------------------------------- *\/ var D = { blackSpecks: { n: 'Black Specks and Black Streaks', w: 'Dark carbon particles or dark streaks in an otherwise clean part. Almost always degraded polymer, not dirt.', c: [ { t: 'Melt sits in the barrel too long, or melt temperature runs above the resin datasheet', s: [['PROCESS', 'Drop melt temperature 10-20C and shorten the cycle. Keep shot weight between 30% and 70% of barrel capacity - an oversized barrel is the most common hidden cause of residence-time burn.']] }, { t: 'Specks appear right after a colour or material changeover', s: [['PROCESS', 'Purge with a commercial purging compound rather than virgin resin alone. Run 8-10 full shots at high back pressure before judging the result.']] }, { t: 'Screw, non-return valve or nozzle has visible wear, scoring or carbon build-up', s: [['MACHINE', 'Pull the screw and inspect the flights and check ring. Carbon lodges in worn clearances and releases in bursts, which is why the defect looks random. Polish or replace worn parts.']] }, { t: 'Hot runner tool - specks concentrate near the gate', s: [['MOLD', 'Lower hot tip temperature toward the bottom of its window and check for a leak path or hang-up under the nozzle seal. Stagnant material under a worn seal carbonises within hours.']] }, { t: 'High regrind content, or regrind is handled in open containers', s: [['MATERIAL', 'Screen the regrind, add a magnet at the throat and keep hoppers closed. Cap regrind at 15-25% while chasing the source.']] }, { t: 'Slides, lifters or ejectors were recently greased', s: [['MOLD', 'Wipe off excess grease and switch to a high-temperature low-migration product. Grease that reaches the cavity burns and reads as black specks.']] } ] }, blisters: { n: 'Blisters', w: 'Raised bubbles on the surface, often over thick sections or near the gate. Gas trapped under a skin that had not yet set.', c: [ { t: 'Hygroscopic resin - PA, PC, PET, PBT, ABS, TPU - with unverified drying', s: [['MATERIAL', 'Dry to the datasheet before anything else: PC 120C for 4h, PA6 80C for 4h, PET 150C for 5h. Use a desiccant dryer with dew point at or below -20C and verify at the throat, not the dryer display.']] }, { t: 'Blisters cluster in the last areas to fill', s: [['MOLD', 'This is trapped air, not moisture. Add or deepen vents to 0.01-0.02mm for amorphous resins and 0.005-0.015mm for semi-crystalline. Vent along ejector pins and at the end of every flow path.']] }, { t: 'Melt temperature is at or above the top of the resin window', s: [['PROCESS', 'Lower melt temperature and reduce back pressure. Volatiles boil out of overheated melt and collect under the skin.']] }, { t: 'Blisters grow after the part leaves the mold', s: [['PROCESS', 'The part is being demolded too hot. Extend cooling time, lower mold temperature on the thick side, and check that the cooling channel flow is turbulent.']] }, { t: 'Mold release spray is used on the affected area', s: [['MOLD', 'Stop spraying and clean the tool. Solvent carrier flashes off against hot melt and lifts the skin.']] } ] }, blush: { n: 'Gate Blush and Halo', w: 'A dull, frosted or ring-shaped mark radiating out from the gate. Shear damage where melt enters the cavity.', c: [ { t: 'Injection velocity is high through the gate', s: [['PROCESS', 'Profile the fill: slow through the first 5-10% of stroke while melt passes the gate, then ramp up. This single change fixes most blush.']] }, { t: 'Gate is small relative to wall thickness', s: [['MOLD', 'Open the gate up. Aim for gate thickness at 50-75% of nominal wall. A starved gate forces the shear rate past what the polymer can take.']] }, { t: 'Gate land is sharp or unpolished', s: [['MOLD', 'Radius the gate entry and polish it in the direction of flow. Sharp corners tear the melt front.']] }, { t: 'Melt or mold temperature is at the low end', s: [['PROCESS', 'Raise both. Cold melt is stiffer, so the same velocity produces higher shear stress.']] }, { t: 'Material is unverified or heavily reground', s: [['MATERIAL', 'Dry the resin and run virgin material as a control before changing the tool.']] } ] }, bowing: { n: 'Bowing and Warpage', w: 'The part is out of flat or out of round after ejection. Differential shrinkage, not a fill problem.', c: [ { t: 'Core and cavity run different temperatures, or one circuit is starved', s: [['MOLD', 'Balance the circuits. Measure the actual delta across each circuit - aim for 3C or less. Check for turbulent flow rather than trusting the pump; laminar flow in a channel removes a fraction of the heat.']] }, { t: 'Warp direction lines up with flow direction (glass-filled resin)', s: [['DESIGN', 'This is fibre orientation. Relocate the gate so orientation opposes the warp, or add a second gate with sequential valve gating. Process changes rarely fix fibre-driven warp.']] }, { t: 'Wall thickness varies more than about 10% across the part', s: [['DESIGN', 'Even out the walls and core out heavy sections. Thick regions shrink more and pull the part with them.']] }, { t: 'Warp gets worse when cooling time is cut', s: [['PROCESS', 'Extend cooling time and consider a cooling fixture or jig for the first 60 seconds after ejection.']] }, { t: 'Ejection marks are visible, or the part flexes coming off the ejectors', s: [['MOLD', 'Add ejector area and balance the pattern. Uneven push on a still-soft part locks in bend.']] }, { t: 'Pack pressure was raised to chase sink and warp appeared', s: [['PROCESS', 'Run a gate seal study. Over-packing near the gate while far regions stay unpacked creates the shrink gradient that bows the part.']] } ] }, brittleness: { n: 'Brittleness', w: 'The part snaps instead of yielding, often at a specific location. Molecular weight loss or a weak knit line.', c: [ { t: 'Regrind content is above 25%, or regrind generation is unknown', s: [['MATERIAL', 'Cap regrind at 15-25% and track generations. Each heat history cuts molecular weight. Run 100% virgin as a control to confirm the cause.']] }, { t: 'Resin was over-dried or dried at too high a temperature', s: [['MATERIAL', 'Check drying temperature and time against the datasheet. PA and PC degrade from over-drying as readily as from moisture.']] }, { t: 'Failure is always at the same line on the part', s: [['DESIGN', 'That is a weld line. Move the gate so the knit line falls outside the load path, or add a flow leader and an overflow tab. Raise melt and mold temperature to improve fusion.']] }, { t: 'Melt temperature runs at the bottom of the window', s: [['PROCESS', 'Raise melt temperature. Incomplete fusion between flow fronts gives full geometry with a fraction of the strength.']] }, { t: 'Injection is fast through a small gate', s: [['PROCESS', 'Reduce injection velocity and open the gate. Shear degradation shows up as brittleness with no visual clue.']] }, { t: 'Cracks start at a metal insert or a screw boss', s: [['DESIGN', 'Increase boss wall thickness, preheat inserts, and anneal the part. Hoop stress around an insert is a classic delayed failure.']] } ] }, burnMarks: { n: 'Burn Marks', w: 'Brown or black scorching at the end of fill, in blind pockets or at the tips of ribs. Compressed air ignition, not degraded resin.', c: [ { t: 'Burns sit at the last place to fill, in a blind rib or a boss', s: [['MOLD', 'Vent it. Depth 0.01-0.02mm at the parting line, or vent through an ejector pin with 0.02-0.03mm clearance. This is the fix in most cases; process changes only mask it.']] }, { t: 'Vents exist but the tool has run a long production campaign', s: [['MOLD', 'Vents are packed. Clean with dry ice or ultrasonic bath - do not run a stone over them, since that closes them further.']] }, { t: 'Injection velocity is high at the end of fill', s: [['PROCESS', 'Decelerate over the last 10-15% of the stroke. Slower final velocity gives trapped air time to escape.']] }, { t: 'Burns appear across the whole part, not just at the end of fill', s: [['PROCESS', 'Now it is degradation, not air. Lower melt temperature, shorten residence time and check the nozzle and check ring for hang-up.']] }, { t: 'Mold temperature is high in the affected zone', s: [['PROCESS', 'Reduce local mold temperature - hot steel raises the compressed-air temperature at the flow front.']] } ] }, clearSpots: { n: 'Clear Spots and Unmixed Colour', w: 'Pale, translucent or natural-coloured patches in a coloured part. Colorant that never dispersed.', c: [ { t: 'Colour is added as masterbatch at the throat', s: [['PROCESS', 'Raise back pressure by 5-10 bar and increase screw rotation speed. Most dispersion problems are solved by giving the screw more mixing work.']] }, { t: 'General purpose screw with no mixing section', s: [['MACHINE', 'Fit a mixing nozzle or a screw with a Maddock or pin mixing section. A GP screw conveys well and mixes badly.']] }, { t: 'Letdown ratio or carrier resin is unverified', s: [['MATERIAL', 'Confirm the letdown ratio with the supplier and check that the carrier matches the base resin. An incompatible carrier will not disperse at any screw speed.']] }, { t: 'Pellets separate in the hopper, or the masterbatch is dusty and static-charged', s: [['MATERIAL', 'Switch to a gravimetric feeder at the throat, or move to liquid colour or pre-compounded resin. Gravity blending in a hopper segregates.']] }, { t: 'Unmelted pellets are visible in the part or in a purge', s: [['PROCESS', 'Raise rear and middle zone temperatures and lengthen screw recovery so it finishes well before the mold opens.']] } ] }, contamination: { n: 'Contamination', w: 'Visible foreign matter - wrong-coloured particles, fibres, gel, or metal. Sourced upstream of the machine in most cases.', c: [ { t: 'Started right after a material changeover', s: [['PROCESS', 'Full purge with a purging compound, then break down and clean the screw and nozzle if it persists. Incompatible resins - PA in POM, PVC in anything - will keep shedding for hundreds of shots.']] }, { t: 'Hopper, dryer or conveying lines have not been cleaned this campaign', s: [['MACHINE', 'Strip and clean the whole material path including the dryer hoses. Old resin cakes in dryer hoppers and releases in flakes.']] }, { t: 'Contamination is fibrous, dusty or airborne in character', s: [['MACHINE', 'Cover the hoppers, keep the material path closed, and move regrind handling out of the molding area.']] }, { t: 'Metal particles or hard specks', s: [['MACHINE', 'Check the screen pack and the granulator blades. Add a magnetic separator at the throat. Metal in the barrel damages the screw quickly, so stop and find it.']] }, { t: 'Regrind is used and comes from mixed sources', s: [['MATERIAL', 'Segregate regrind by material and colour, and screen it. Run virgin only as a control to confirm the source before touching the process.']] } ] }, cracking: { n: 'Cracking and Crazing', w: 'Fine surface cracks or through cracks, sometimes appearing days after molding. Residual stress finding a release.', c: [ { t: 'Hold pressure or hold time was raised to fix sink or short shot', s: [['PROCESS', 'Reduce hold pressure and time to the minimum that holds the dimension. Over-packing stores stress that releases later.']] }, { t: 'Cracks start at an ejector pin, a corner or an undercut', s: [['MOLD', 'Add draft - 1 degree minimum, 3 degrees on textured surfaces - polish in the direction of draw, and balance the ejector pattern. Increase ejector area so force spreads out.']] }, { t: 'Cracks appear after contact with a cleaner, oil, adhesive or release agent', s: [['MATERIAL', 'Environmental stress cracking. Change the chemical, and anneal the part to relieve stress. PC and ABS are especially sensitive.']] }, { t: 'Cracks radiate from a metal insert or a self-tapping screw boss', s: [['DESIGN', 'Increase the boss wall, add a radius at the base, and preheat inserts before overmolding. Anneal after molding where the resin allows.']] }, { t: 'Cracks follow a visible knit line', s: [['PROCESS', 'Raise melt and mold temperature to fuse the flow fronts, and relocate the gate so the weld line moves out of the stressed area.']] }, { t: 'Sharp internal corners in the cracked region', s: [['DESIGN', 'Add a radius of at least 0.5x wall thickness. A sharp inside corner concentrates stress by a factor of three or more.']] } ] }, flash: { n: 'Flash', w: 'Thin fins of plastic at the parting line, around inserts or along slide faces. The mold opened, or never fully closed.', c: [ { t: 'Clamp tonnage is unverified for this part', s: [['MACHINE', 'Calculate it: projected area x 2 to 5 tons per square inch, or 300-600 bar cavity pressure. Thin-wall and long flow parts need the high end. Running near the machine limit guarantees flash.']] }, { t: 'Parting line is worn, dented or has debris on it', s: [['MOLD', 'Clean and blue-check the shut-off. Re-spot the tool if the contact pattern is uneven. One dent lifts the whole face.']] }, { t: 'Injection pressure or melt temperature was raised recently', s: [['PROCESS', 'Lower them. Cutting melt temperature raises viscosity, which is often enough on its own.']] }, { t: 'Flash is in the centre of a large flat area', s: [['MOLD', 'Plate deflection. Add support pillars behind the cavity, and check that existing pillars actually contact - a pillar 0.05mm short does nothing.']] }, { t: 'Cushion is large or switchover is late', s: [['PROCESS', 'Reduce shot size and switch to hold earlier. Target a cushion of 3-10mm. Filling the part on hold pressure floods the parting line.']] }, { t: 'Flash appears only on slide or lifter faces', s: [['MOLD', 'Check slide wear and heel block contact. Slides move slightly under pressure once the wedge angle wears.']] } ] }, flowLines: { n: 'Flow Lines', w: 'Wavy lines, streaks or off-tone bands tracing the path the melt took. The flow front cooled unevenly as it advanced.', c: [ { t: 'Injection velocity is low or the fill takes a long time', s: [['PROCESS', 'Raise injection speed and smooth the velocity profile so the flow front never stalls. A stalled front leaves a mark every time it restarts.']] }, { t: 'Melt or mold temperature is at the low end', s: [['PROCESS', 'Raise both. Mold temperature usually has the larger effect on surface appearance.']] }, { t: 'Lines fan out from the gate', s: [['MOLD', 'The gate is too small or badly placed. Open it up and, if possible, gate into the thickest section so flow runs thick to thin.']] }, { t: 'Lines start at a step or a rib intersection', s: [['DESIGN', 'Radius the transition and keep wall variation under 10%. An abrupt step splits and rejoins the flow front.']] }, { t: 'A mark appears near the gate on every shot', s: [['MOLD', 'Add or deepen the cold slug well and check the sprue diameter. A cold slug entering the cavity draws a line the length of the part.']] } ] }, gloss: { n: 'Gloss Variation', w: 'The surface finish is inconsistent - dull patches next to shiny ones, or a texture that reads unevenly.', c: [ { t: 'Dull areas match specific inserts or a repaired region of the tool', s: [['MOLD', 'The steel finish differs. Re-polish or re-texture to one standard across all inserts. No process setting will hide a finish mismatch.']] }, { t: 'Mold temperature is at the low end of the window', s: [['PROCESS', 'Raise mold temperature toward the high end. Hot steel lets the melt replicate the surface before it freezes - this is the strongest lever on gloss.']] }, { t: 'Dull areas are far from the gate', s: [['PROCESS', 'Increase injection speed and hold pressure so pressure reaches the far end. Low local pressure means poor surface replication.']] }, { t: 'Glass or mineral filled resin, with dull streaks', s: [['MATERIAL', 'Filler is reaching the surface. Raise mold temperature substantially, or switch to a resin with a surface-modified filler. Consider gas assist for large flat cosmetic faces.']] }, { t: 'Release agent or moisture residue is present on the tool', s: [['MOLD', 'Clean the tool thoroughly and eliminate spray. Verify resin drying - moisture streaks read as gloss variation.']] } ] }, jetting: { n: 'Jetting', w: 'A snake or worm-shaped mark running from the gate into the part. Melt shot across an open cavity instead of filling as a front.', c: [ { t: 'Melt enters an open cavity with nothing to hit', s: [['MOLD', 'Redirect the gate so melt impinges on a wall, a core pin or a pin added for the purpose. Gate against something and the jet becomes a proper flow front. This is the real fix.']] }, { t: 'Small gate feeding a thick section', s: [['MOLD', 'Open the gate, or change to a tab, fan or overlap gate. A restrictive round gate into a thick wall jets almost by definition.']] }, { t: 'Injection velocity is high from the start of the stroke', s: [['PROCESS', 'Start slow for the first 10-15% of stroke, then ramp. Cheapest change to try first while the tool stays in the press.']] }, { t: 'Melt temperature is at the low end', s: [['PROCESS', 'Raise melt temperature. Hotter melt fuses back into itself, so the jet mark fades even when the jet still forms.']] }, { t: 'Mold temperature is low', s: [['PROCESS', 'Raise mold temperature so the leading stream does not skin over before the rest of the shot arrives.']] } ] }, shortShots: { n: 'Short Shots', w: 'The cavity is not completely filled. Either not enough material, not enough pressure, or air with nowhere to go.', c: [ { t: 'Cushion is at or near zero', s: [['PROCESS', 'Increase shot size until cushion sits at 3-10mm. Check this first - a zero cushion means the machine simply ran out of material.']] }, { t: 'The machine hits its pressure limit during fill', s: [['PROCESS', 'The process is pressure limited. Raise injection speed and melt temperature, or the fill will never complete regardless of shot size.']] }, { t: 'Melt or mold temperature is at the low end', s: [['PROCESS', 'Raise both. Mold temperature matters most on thin walls and long flow lengths.']] }, { t: 'Short shot is always in the same blind pocket or rib tip', s: [['MOLD', 'Trapped air. Vent that area - the cavity is full of compressed gas that the melt cannot displace.']] }, { t: 'Runner or gate is small for the part volume', s: [['MOLD', 'Enlarge the runner and gate. Check flow length to wall thickness ratio - beyond roughly 150:1 for most resins, no process setting will fill it.']] }, { t: 'Cushion drifts shot to shot, or shot weight varies', s: [['MACHINE', 'The non-return valve is leaking. Inspect the check ring and seat. An inconsistent short shot is a machine problem, not a process problem.']] } ] }, shrinkage: { n: 'Shrinkage and Sink Marks', w: 'Depressions over ribs, bosses or thick sections, or parts under nominal dimension. The material shrank and nothing fed it.', c: [ { t: 'Hold pressure or hold time is unverified', s: [['PROCESS', 'Run a gate seal study: step hold time up until part weight stops increasing, then add 10%. Packing past gate freeze does nothing but add stress.']] }, { t: 'Sink sits directly over a rib or a boss', s: [['DESIGN', 'Rib thickness above 60% of nominal wall will always sink on a cosmetic surface. Thin the rib, or core out the boss from the back.']] }, { t: 'The part is out of dimension across the board', s: [['PROCESS', 'Check that the shrink rate used in the tool matches the actual resin grade, then lower melt and mold temperature to reduce shrink. Confirm the resin grade has not been substituted.']] }, { t: 'Sink is far from the gate', s: [['MOLD', 'Pressure is not reaching it. Open the gate and runner, or add a gate closer to the heavy section.']] }, { t: 'Cooling time was shortened to gain cycle', s: [['PROCESS', 'Extend cooling time. A part ejected hot keeps shrinking on the conveyor.']] }, { t: 'Melt temperature is at the high end of the window', s: [['PROCESS', 'Lower it. Hotter melt shrinks more, and semi-crystalline resins - PA, POM, PP, PBT - shrink far more than amorphous ones.']] } ] }, silverStreaking: { n: 'Silver Streaking and Splay', w: 'Silvery, fan-shaped streaks radiating from the gate along the flow direction. Gas smeared under the surface.', c: [ { t: 'Hygroscopic resin with unverified drying', s: [['MATERIAL', 'Dry it properly and measure dew point at or below -20C at the throat. Moisture is the cause of most splay. Do not change process settings until drying is confirmed.']] }, { t: 'Suck-back or decompression stroke is large', s: [['PROCESS', 'Reduce the decompression stroke. Pulling the screw back draws air into the melt, and it comes out as splay at the gate.']] }, { t: 'Melt temperature is high or residence time is long', s: [['PROCESS', 'Lower melt temperature and shorten residence. Thermal degradation generates volatiles that read exactly like moisture splay.']] }, { t: 'Screw speed is high, or the gate is small with fast injection', s: [['PROCESS', 'Reduce screw rotation speed and injection velocity. Shear heating creates gas locally even when barrel temperatures look correct.']] }, { t: 'Started after a material or regrind change', s: [['MATERIAL', 'Purge and run virgin as a control. Incompatible resin contamination produces splay at low levels that no drying will fix.']] }, { t: 'The nozzle drools between shots', s: [['PROCESS', 'Lower the nozzle temperature and add a small decompression. Drool oxidises and re-enters the next shot.']] } ] }, voids: { n: 'Voids', w: 'Internal bubbles in thick sections, usually visible only when the part is sectioned or if the resin is clear. A vacuum, not trapped gas.', c: [ { t: 'Voids sit in the centre of the thickest section', s: [['DESIGN', 'The skin froze and the core shrank away from it. Core out the section, or redesign to a uniform wall. Above about 4mm of solid wall this becomes very hard to fix in process.']] }, { t: 'Hold pressure or hold time is unverified', s: [['PROCESS', 'Increase hold pressure and extend hold time to gate seal. Confirm the gate has not frozen before the core solidifies - that is the failure mode.']] }, { t: 'Gate is small or far from the thick section', s: [['MOLD', 'Open the gate, or move to a hot tip or valve gate at the thick section so it can be fed for longer.']] }, { t: 'Melt temperature is at the high end', s: [['PROCESS', 'Lower it. Hotter melt shrinks more on cooling, which is exactly what pulls a void open.']] }, { t: 'Voids appear as clusters of small bubbles rather than one central void', s: [['MATERIAL', 'That pattern is gas, not vacuum. Dry the resin and check vents - treat it as a blister or splay problem instead.']] }, { t: 'Mold temperature is low on the thick side', s: [['PROCESS', 'Raise it. A hotter surface keeps the skin compliant so packing pressure can still reach the core.']] } ] } }; \/* ---------- Schematic figures ---------- One SVG per defect. Inline colours only, no CSS classes on dynamic elements, so LiteSpeed CSS optimisation cannot strip them. Convention: grey = polymer, dark grey = mold steel, red = the defect, amber = gas, blue = melt flow direction. ---------------------------------------- *\/ var F = 'font-family=\"-apple-system,Segoe UI,Roboto,sans-serif\"'; var G = {}; G.blackSpecks = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<rect x=\"10\" y=\"30\" width=\"146\" height=\"40\" rx=\"6\" fill=\"#2d3748\" stroke=\"#4a5568\" stroke-width=\"1.5\"\/>' + '<path d=\"M18 50 L33 34 L48 66 L63 34 L78 66 L93 34 L108 66 L123 34 L138 50\" fill=\"none\" stroke=\"#64748b\" stroke-width=\"2\"\/>' + '<ellipse cx=\"140\" cy=\"60\" rx=\"10\" ry=\"5\" fill=\"#050505\"\/>' + '<ellipse cx=\"117\" cy=\"40\" rx=\"7\" ry=\"4\" fill=\"#050505\"\/>' + '<path d=\"M156 40 L182 50 L156 60 Z\" fill=\"#4a5568\" stroke=\"#64748b\" stroke-width=\"1.2\"\/>' + '<path d=\"M186 50 L203 50\" stroke=\"#ef4444\" stroke-width=\"2\"\/>' + '<path d=\"M202 45 L213 50 L202 55 Z\" fill=\"#ef4444\"\/>' + '<rect x=\"220\" y=\"24\" width=\"148\" height=\"72\" rx=\"9\" fill=\"#64748b\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/>' + '<circle cx=\"240\" cy=\"42\" r=\"2.8\" fill=\"#050505\"\/><circle cx=\"272\" cy=\"34\" r=\"1.9\" fill=\"#050505\"\/>' + '<circle cx=\"300\" cy=\"54\" r=\"3.4\" fill=\"#050505\"\/><circle cx=\"336\" cy=\"38\" r=\"2.1\" fill=\"#050505\"\/>' + '<circle cx=\"252\" cy=\"80\" r=\"2.4\" fill=\"#050505\"\/><circle cx=\"326\" cy=\"82\" r=\"1.7\" fill=\"#050505\"\/>' + '<path d=\"M280 66 q12 -5 26 3\" stroke=\"#050505\" stroke-width=\"2.8\" fill=\"none\" stroke-linecap=\"round\"\/>' + '<path d=\"M232 62 q9 4 18 -1\" stroke=\"#050505\" stroke-width=\"2.2\" fill=\"none\" stroke-linecap=\"round\"\/>' + '<text x=\"10\" y=\"86\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>Carbon in barrel, check ring, nozzle<\/text>' + '<text x=\"222\" y=\"112\" fill=\"#ef4444\" font-size=\"9.5\" ' + F + '>Released as specks and streaks<\/text>' + '<text x=\"10\" y=\"140\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>Degraded polymer, not dirt. Specks that appear in bursts rather<\/text>' + '<text x=\"10\" y=\"155\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>than steadily point to a dead spot somewhere in the melt path.<\/text>' + '<\/svg>'; G.blisters = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<path d=\"M24 62 L112 62 Q138 26 164 62 L214 62 Q240 30 266 62 L356 62 L356 110 L24 110 Z\" fill=\"#64748b\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/>' + '<path d=\"M28 70 L112 70 Q138 38 164 70 L214 70 Q240 41 266 70 L352 70\" fill=\"none\" stroke=\"#cbd5e0\" stroke-width=\"1\" stroke-dasharray=\"3 2\"\/>' + '<ellipse cx=\"138\" cy=\"55\" rx=\"17\" ry=\"8\" fill=\"#f59e0b\" opacity=\"0.85\"\/>' + '<ellipse cx=\"240\" cy=\"57\" rx=\"19\" ry=\"9\" fill=\"#f59e0b\" opacity=\"0.85\"\/>' + '<path d=\"M138 20 L138 44\" stroke=\"#f59e0b\" stroke-width=\"1\" stroke-dasharray=\"2 2\"\/>' + '<text x=\"146\" y=\"22\" fill=\"#f59e0b\" font-size=\"9.5\" ' + F + '>gas pocket lifts the skin<\/text>' + '<text x=\"286\" y=\"82\" fill=\"#cbd5e0\" font-size=\"9\" ' + F + '>frozen skin<\/text>' + '<text x=\"24\" y=\"126\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>Part wall, section view<\/text>' + '<text x=\"24\" y=\"147\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>Raised, hollow and it moves under a thumbnail. If the bump is a<\/text>' + '<text x=\"24\" y=\"162\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>depression instead, you are looking at sink, not a blister.<\/text>' + '<\/svg>'; G.blush = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<rect x=\"70\" y=\"22\" width=\"288\" height=\"86\" rx=\"8\" fill=\"#64748b\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/>' + '<path d=\"M40 58 L70 65 L70 51 Z\" fill=\"#4a5568\" stroke=\"#64748b\" stroke-width=\"1.2\"\/>' + '<path d=\"M74 34 A 30 34 0 0 1 74 92\" fill=\"none\" stroke=\"#ef4444\" stroke-width=\"2.4\" opacity=\"0.9\"\/>' + '<path d=\"M74 28 A 44 48 0 0 1 74 98\" fill=\"none\" stroke=\"#ef4444\" stroke-width=\"2\" opacity=\"0.6\"\/>' + '<path d=\"M74 24 A 58 62 0 0 1 74 102\" fill=\"none\" stroke=\"#ef4444\" stroke-width=\"1.6\" opacity=\"0.35\"\/>' + '<circle cx=\"72\" cy=\"58\" r=\"3.4\" fill=\"#ef4444\"\/>' + '<text x=\"14\" y=\"46\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>gate<\/text>' + '<text x=\"150\" y=\"60\" fill=\"#ef4444\" font-size=\"10\" ' + F + '>frosted halo<\/text>' + '<text x=\"70\" y=\"126\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>Cosmetic face, top view<\/text>' + '<text x=\"14\" y=\"147\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>The mark is always centred on the gate and fades outward. That<\/text>' + '<text x=\"14\" y=\"162\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>geometry is what separates blush from a general gloss problem.<\/text>' + '<\/svg>'; G.bowing = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<rect x=\"34\" y=\"52\" width=\"312\" height=\"26\" fill=\"none\" stroke=\"#4a5568\" stroke-width=\"1\" stroke-dasharray=\"4 3\"\/>' + '<path d=\"M34 46 Q190 92 346 46 L346 72 Q190 118 34 72 Z\" fill=\"#64748b\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/>' + '<path d=\"M34 40 L34 20\" stroke=\"#ef4444\" stroke-width=\"1.5\"\/><path d=\"M29 26 L34 16 L39 26 Z\" fill=\"#ef4444\"\/>' + '<path d=\"M346 40 L346 20\" stroke=\"#ef4444\" stroke-width=\"1.5\"\/><path d=\"M341 26 L346 16 L351 26 Z\" fill=\"#ef4444\"\/>' + '<path d=\"M190 96 L190 116\" stroke=\"#ef4444\" stroke-width=\"1.5\"\/><path d=\"M185 110 L190 120 L195 110 Z\" fill=\"#ef4444\"\/>' + '<text x=\"150\" y=\"34\" fill=\"#94a3b8\" font-size=\"9\" ' + F + '>nominal flat<\/text>' + '<text x=\"44\" y=\"14\" fill=\"#ef4444\" font-size=\"9.5\" ' + F + '>more shrink<\/text>' + '<text x=\"252\" y=\"14\" fill=\"#ef4444\" font-size=\"9.5\" ' + F + '>more shrink<\/text>' + '<text x=\"200\" y=\"112\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>less shrink<\/text>' + '<text x=\"34\" y=\"147\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>One side of the wall shrinks more than the other and the part<\/text>' + '<text x=\"34\" y=\"162\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>curls toward it. A shrink gradient, never a fill problem.<\/text>' + '<\/svg>'; G.brittleness = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<rect x=\"30\" y=\"26\" width=\"320\" height=\"80\" rx=\"8\" fill=\"#64748b\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/>' + '<path d=\"M44 66 L150 66\" stroke=\"#38bdf8\" stroke-width=\"2\"\/><path d=\"M149 61 L160 66 L149 71 Z\" fill=\"#38bdf8\"\/>' + '<path d=\"M336 66 L230 66\" stroke=\"#38bdf8\" stroke-width=\"2\"\/><path d=\"M231 61 L220 66 L231 71 Z\" fill=\"#38bdf8\"\/>' + '<path d=\"M190 26 L184 42 L196 56 L182 72 L194 88 L188 106\" fill=\"none\" stroke=\"#ef4444\" stroke-width=\"2.6\" stroke-linejoin=\"round\"\/>' + '<text x=\"152\" y=\"20\" fill=\"#ef4444\" font-size=\"9.5\" ' + F + '>weld line<\/text>' + '<text x=\"60\" y=\"124\" fill=\"#38bdf8\" font-size=\"9\" ' + F + '>flow front<\/text>' + '<text x=\"278\" y=\"124\" fill=\"#38bdf8\" font-size=\"9\" ' + F + '>flow front<\/text>' + '<text x=\"30\" y=\"147\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>If it always snaps in the same place, that place is a knit line:<\/text>' + '<text x=\"30\" y=\"162\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>full geometry, a fraction of the strength. Move the gate, not the spec.<\/text>' + '<\/svg>'; G.burnMarks = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<rect x=\"20\" y=\"16\" width=\"340\" height=\"20\" fill=\"#2d3748\" stroke=\"#4a5568\" stroke-width=\"1\"\/>' + '<rect x=\"20\" y=\"86\" width=\"340\" height=\"20\" fill=\"#2d3748\" stroke=\"#4a5568\" stroke-width=\"1\"\/>' + '<path d=\"M20 36 L20 86 L360 86 L360 36 L266 36 L266 18 L236 18 L236 36 Z\" fill=\"none\" stroke=\"#4a5568\" stroke-width=\"1\"\/>' + '<path d=\"M20 36 L20 86 L360 86 L360 36 L266 36 L266 30 L236 30 L236 36 Z\" fill=\"#64748b\"\/>' + '<rect x=\"236\" y=\"18\" width=\"30\" height=\"12\" fill=\"#f59e0b\" opacity=\"0.55\"\/>' + '<path d=\"M236 29 h30 v6 h-30 z\" fill=\"#1c1917\"\/>' + '<path d=\"M40 61 L110 61\" stroke=\"#38bdf8\" stroke-width=\"2\"\/><path d=\"M109 56 L120 61 L109 66 Z\" fill=\"#38bdf8\"\/>' + '<circle cx=\"330\" cy=\"86\" r=\"7\" fill=\"none\" stroke=\"#ef4444\" stroke-width=\"1.6\"\/>' + '<path d=\"M325 81 L335 91 M335 81 L325 91\" stroke=\"#ef4444\" stroke-width=\"1.6\"\/>' + '<text x=\"274\" y=\"26\" fill=\"#f59e0b\" font-size=\"9\" ' + F + '>trapped air<\/text>' + '<text x=\"222\" y=\"46\" fill=\"#1c1917\" font-size=\"9\" ' + F + '>burn<\/text>' + '<text x=\"300\" y=\"104\" fill=\"#ef4444\" font-size=\"9\" ' + F + '>no vent<\/text>' + '<text x=\"20\" y=\"126\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>Blind rib at the end of fill, section view<\/text>' + '<text x=\"20\" y=\"147\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>Air with nowhere to go gets compressed and ignites the melt front.<\/text>' + '<text x=\"20\" y=\"162\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>The scorch marks the last spot to fill, so it tells you where to vent.<\/text>' + '<\/svg>'; G.clearSpots = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<path d=\"M14 18 L96 18 L74 58 L36 58 Z\" fill=\"none\" stroke=\"#4a5568\" stroke-width=\"1.5\"\/>' + '<circle cx=\"32\" cy=\"28\" r=\"4\" fill=\"#94a3b8\"\/><circle cx=\"48\" cy=\"26\" r=\"4\" fill=\"#0284c7\"\/>' + '<circle cx=\"64\" cy=\"30\" r=\"4\" fill=\"#94a3b8\"\/><circle cx=\"80\" cy=\"27\" r=\"4\" fill=\"#94a3b8\"\/>' + '<circle cx=\"42\" cy=\"40\" r=\"4\" fill=\"#94a3b8\"\/><circle cx=\"58\" cy=\"42\" r=\"4\" fill=\"#0284c7\"\/>' + '<circle cx=\"70\" cy=\"44\" r=\"4\" fill=\"#94a3b8\"\/>' + '<path d=\"M100 40 L124 40\" stroke=\"#64748b\" stroke-width=\"2\"\/><path d=\"M123 35 L134 40 L123 45 Z\" fill=\"#64748b\"\/>' + '<rect x=\"142\" y=\"20\" width=\"226\" height=\"76\" rx=\"8\" fill=\"#0284c7\" stroke=\"#38bdf8\" stroke-width=\"1.5\"\/>' + '<ellipse cx=\"186\" cy=\"44\" rx=\"18\" ry=\"11\" fill=\"#e2e8f0\" opacity=\"0.92\"\/>' + '<ellipse cx=\"258\" cy=\"72\" rx=\"24\" ry=\"10\" fill=\"#e2e8f0\" opacity=\"0.92\"\/>' + '<ellipse cx=\"320\" cy=\"40\" rx=\"14\" ry=\"9\" fill=\"#e2e8f0\" opacity=\"0.92\"\/>' + '<text x=\"14\" y=\"74\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>masterbatch + natural<\/text>' + '<text x=\"142\" y=\"112\" fill=\"#e2e8f0\" font-size=\"9.5\" ' + F + '>Pale patches where colour never dispersed<\/text>' + '<text x=\"14\" y=\"140\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>A mixing problem, not a colour-loading problem. Adding more<\/text>' + '<text x=\"14\" y=\"155\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>masterbatch usually makes the patches worse, not better.<\/text>' + '<\/svg>'; G.contamination = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<rect x=\"30\" y=\"22\" width=\"320\" height=\"84\" rx=\"8\" fill=\"#64748b\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/>' + '<path d=\"M62 40 q14 -8 26 4 q12 12 26 2\" fill=\"none\" stroke=\"#e2e8f0\" stroke-width=\"1.8\"\/>' + '<path d=\"M150 78 L162 68 L174 74 L170 88 L154 88 Z\" fill=\"#78350f\" stroke=\"#a16207\" stroke-width=\"1\"\/>' + '<path d=\"M232 40 L240 34 L248 40 L240 46 Z\" fill=\"#e2e8f0\" stroke=\"#ffffff\" stroke-width=\"0.8\"\/>' + '<circle cx=\"300\" cy=\"70\" r=\"6\" fill=\"#7f1d1d\" stroke=\"#ef4444\" stroke-width=\"1\"\/>' + '<circle cx=\"196\" cy=\"46\" r=\"3.4\" fill=\"#166534\"\/>' + '<text x=\"62\" y=\"30\" fill=\"#e2e8f0\" font-size=\"9\" ' + F + '>fibre<\/text>' + '<text x=\"140\" y=\"102\" fill=\"#a16207\" font-size=\"9\" ' + F + '>burnt chunk<\/text>' + '<text x=\"228\" y=\"26\" fill=\"#e2e8f0\" font-size=\"9\" ' + F + '>metal fleck<\/text>' + '<text x=\"282\" y=\"94\" fill=\"#ef4444\" font-size=\"9\" ' + F + '>wrong resin<\/text>' + '<text x=\"30\" y=\"128\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>Foreign matter, varied in shape and colour<\/text>' + '<text x=\"30\" y=\"148\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>Mixed shapes and colours mean it came in with the material.<\/text>' + '<text x=\"30\" y=\"163\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>Uniform black specks mean the machine is making them.<\/text>' + '<\/svg>'; G.cracking = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<rect x=\"30\" y=\"20\" width=\"320\" height=\"88\" rx=\"8\" fill=\"#64748b\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/>' + '<circle cx=\"130\" cy=\"64\" r=\"18\" fill=\"#1a202c\" stroke=\"#4a5568\" stroke-width=\"1.5\"\/>' + '<path d=\"M130 46 L128 30 M148 64 L168 60 M130 82 L134 100 M112 64 L92 70\" fill=\"none\" stroke=\"#ef4444\" stroke-width=\"2.2\"\/>' + '<circle cx=\"272\" cy=\"52\" r=\"9\" fill=\"#1a202c\" stroke=\"#4a5568\" stroke-width=\"1.2\"\/>' + '<path d=\"M272 61 L266 76 L276 88\" fill=\"none\" stroke=\"#ef4444\" stroke-width=\"2.2\" stroke-linejoin=\"round\"\/>' + '<text x=\"98\" y=\"16\" fill=\"#94a3b8\" font-size=\"9\" ' + F + '>screw boss with insert<\/text>' + '<text x=\"288\" y=\"46\" fill=\"#94a3b8\" font-size=\"9\" ' + F + '>ejector pin<\/text>' + '<text x=\"176\" y=\"60\" fill=\"#ef4444\" font-size=\"10\" ' + F + '>radial cracks<\/text>' + '<text x=\"30\" y=\"128\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>Cracks start where stress concentrates<\/text>' + '<text x=\"30\" y=\"148\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>Look at where the crack starts, not where it ends. Bosses, pins,<\/text>' + '<text x=\"30\" y=\"163\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>sharp corners and weld lines each point to a different fix.<\/text>' + '<\/svg>'; G.flash = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<rect x=\"40\" y=\"12\" width=\"300\" height=\"44\" fill=\"#2d3748\" stroke=\"#4a5568\" stroke-width=\"1.2\"\/>' + '<rect x=\"40\" y=\"60\" width=\"300\" height=\"44\" fill=\"#2d3748\" stroke=\"#4a5568\" stroke-width=\"1.2\"\/>' + '<rect x=\"118\" y=\"30\" width=\"144\" height=\"56\" fill=\"#64748b\"\/>' + '<rect x=\"262\" y=\"56\" width=\"78\" height=\"4\" fill=\"#ef4444\"\/>' + '<rect x=\"40\" y=\"56\" width=\"78\" height=\"4\" fill=\"#ef4444\"\/>' + '<path d=\"M40 58 L340 58\" stroke=\"#4a5568\" stroke-width=\"0.6\" stroke-dasharray=\"3 3\"\/>' + '<path d=\"M100 126 L100 112\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/><path d=\"M95 118 L100 108 L105 118 Z\" fill=\"#94a3b8\"\/>' + '<path d=\"M280 126 L280 112\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/><path d=\"M275 118 L280 108 L285 118 Z\" fill=\"#94a3b8\"\/>' + '<text x=\"112\" y=\"126\" fill=\"#94a3b8\" font-size=\"9\" ' + F + '>clamp force<\/text>' + '<text x=\"292\" y=\"126\" fill=\"#94a3b8\" font-size=\"9\" ' + F + '>clamp force<\/text>' + '<text x=\"276\" y=\"50\" fill=\"#ef4444\" font-size=\"10\" ' + F + '>flash<\/text>' + '<text x=\"56\" y=\"50\" fill=\"#ef4444\" font-size=\"10\" ' + F + '>flash<\/text>' + '<text x=\"40\" y=\"150\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>Cavity pressure beat clamp force, or the parting line never<\/text>' + '<text x=\"40\" y=\"165\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>closed properly. Check tonnage before touching the process.<\/text>' + '<\/svg>'; G.flowLines = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<rect x=\"60\" y=\"20\" width=\"298\" height=\"88\" rx=\"8\" fill=\"#64748b\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/>' + '<path d=\"M32 64 L60 71 L60 57 Z\" fill=\"#4a5568\" stroke=\"#64748b\" stroke-width=\"1.2\"\/>' + '<path d=\"M96 22 A 40 42 0 0 1 96 106\" fill=\"none\" stroke=\"#334155\" stroke-width=\"2.4\"\/>' + '<path d=\"M134 22 A 78 42 0 0 1 134 106\" fill=\"none\" stroke=\"#334155\" stroke-width=\"2.4\"\/>' + '<path d=\"M176 22 A 118 42 0 0 1 176 106\" fill=\"none\" stroke=\"#334155\" stroke-width=\"2.4\"\/>' + '<path d=\"M222 22 A 162 42 0 0 1 222 106\" fill=\"none\" stroke=\"#334155\" stroke-width=\"2.4\"\/>' + '<path d=\"M272 22 A 210 42 0 0 1 272 106\" fill=\"none\" stroke=\"#334155\" stroke-width=\"2.4\"\/>' + '<text x=\"8\" y=\"50\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>gate<\/text>' + '<text x=\"196\" y=\"128\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>bands trace the advancing flow front<\/text>' + '<text x=\"8\" y=\"148\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>Each band is one place the flow front stalled and restarted.<\/text>' + '<text x=\"8\" y=\"163\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>Count them back to the gate and the fill profile is the suspect.<\/text>' + '<\/svg>'; G.gloss = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<rect x=\"30\" y=\"20\" width=\"160\" height=\"88\" rx=\"8\" fill=\"#7c8798\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/>' + '<rect x=\"190\" y=\"20\" width=\"160\" height=\"88\" rx=\"8\" fill=\"#525c6b\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/>' + '<path d=\"M52 96 L94 30 M76 96 L118 30 M100 96 L142 30\" stroke=\"#e2e8f0\" stroke-width=\"4\" opacity=\"0.55\"\/>' + '<circle cx=\"212\" cy=\"36\" r=\"1\" fill=\"#94a3b8\"\/><circle cx=\"238\" cy=\"52\" r=\"1\" fill=\"#94a3b8\"\/>' + '<circle cx=\"266\" cy=\"34\" r=\"1\" fill=\"#94a3b8\"\/><circle cx=\"292\" cy=\"60\" r=\"1\" fill=\"#94a3b8\"\/>' + '<circle cx=\"318\" cy=\"42\" r=\"1\" fill=\"#94a3b8\"\/><circle cx=\"226\" cy=\"80\" r=\"1\" fill=\"#94a3b8\"\/>' + '<circle cx=\"254\" cy=\"94\" r=\"1\" fill=\"#94a3b8\"\/><circle cx=\"284\" cy=\"86\" r=\"1\" fill=\"#94a3b8\"\/>' + '<circle cx=\"312\" cy=\"96\" r=\"1\" fill=\"#94a3b8\"\/><circle cx=\"336\" cy=\"70\" r=\"1\" fill=\"#94a3b8\"\/>' + '<path d=\"M190 12 L190 116\" stroke=\"#ef4444\" stroke-width=\"1.6\" stroke-dasharray=\"5 3\"\/>' + '<text x=\"52\" y=\"128\" fill=\"#e2e8f0\" font-size=\"9.5\" ' + F + '>replicated finish<\/text>' + '<text x=\"238\" y=\"128\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>dull patch<\/text>' + '<text x=\"196\" y=\"10\" fill=\"#ef4444\" font-size=\"9\" ' + F + '>hard boundary<\/text>' + '<text x=\"30\" y=\"148\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>A sharp boundary that lines up with an insert means the steel<\/text>' + '<text x=\"30\" y=\"163\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>finish differs. A soft gradient means mold temperature.<\/text>' + '<\/svg>'; G.jetting = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<rect x=\"70\" y=\"18\" width=\"288\" height=\"52\" rx=\"4\" fill=\"none\" stroke=\"#4a5568\" stroke-width=\"1.4\" stroke-dasharray=\"4 3\"\/>' + '<path d=\"M44 44 L70 50 L70 38 Z\" fill=\"#4a5568\" stroke=\"#64748b\" stroke-width=\"1.2\"\/>' + '<path d=\"M70 44 q18 -14 34 0 q16 14 32 0 q16 -14 32 0 q16 14 32 0 q16 -14 32 0\" fill=\"none\" stroke=\"#64748b\" stroke-width=\"9\" stroke-linecap=\"round\"\/>' + '<path d=\"M70 44 q18 -14 34 0 q16 14 32 0 q16 -14 32 0 q16 14 32 0 q16 -14 32 0\" fill=\"none\" stroke=\"#ef4444\" stroke-width=\"1.6\" stroke-dasharray=\"3 3\"\/>' + '<rect x=\"70\" y=\"84\" width=\"288\" height=\"34\" rx=\"4\" fill=\"none\" stroke=\"#4a5568\" stroke-width=\"1.4\" stroke-dasharray=\"4 3\"\/>' + '<path d=\"M44 100 L70 106 L70 94 Z\" fill=\"#4a5568\" stroke=\"#64748b\" stroke-width=\"1.2\"\/>' + '<rect x=\"70\" y=\"86\" width=\"120\" height=\"30\" fill=\"#64748b\"\/>' + '<rect x=\"104\" y=\"86\" width=\"8\" height=\"30\" fill=\"#2d3748\"\/>' + '<path d=\"M74 101 L96 101\" stroke=\"#38bdf8\" stroke-width=\"2\"\/><path d=\"M95 97 L104 101 L95 105 Z\" fill=\"#38bdf8\"\/>' + '<text x=\"252\" y=\"38\" fill=\"#ef4444\" font-size=\"9.5\" ' + F + '>snake mark<\/text>' + '<text x=\"200\" y=\"106\" fill=\"#34d399\" font-size=\"9.5\" ' + F + '>gate against a pin: proper front<\/text>' + '<text x=\"70\" y=\"80\" fill=\"#ef4444\" font-size=\"9\" ' + F + '>open cavity: melt shoots across<\/text>' + '<text x=\"8\" y=\"148\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>Give the melt something to hit and the jet becomes a flow front.<\/text>' + '<text x=\"8\" y=\"163\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>Slowing the first stage hides it; redirecting the gate fixes it.<\/text>' + '<\/svg>'; G.shortShots = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<path d=\"M30 46 L30 106 L350 106 L350 46 L300 46 L300 18 L264 18 L264 46 Z\" fill=\"none\" stroke=\"#94a3b8\" stroke-width=\"1.5\" stroke-dasharray=\"4 3\"\/>' + '<path d=\"M30 46 L30 106 L232 106 Q248 76 232 46 Z\" fill=\"#64748b\"\/>' + '<path d=\"M48 76 L110 76\" stroke=\"#38bdf8\" stroke-width=\"2\"\/><path d=\"M109 71 L120 76 L109 81 Z\" fill=\"#38bdf8\"\/>' + '<text x=\"256\" y=\"80\" fill=\"#ef4444\" font-size=\"10\" ' + F + '>never filled<\/text>' + '<text x=\"256\" y=\"14\" fill=\"#ef4444\" font-size=\"9\" ' + F + '>rib tip empty<\/text>' + '<text x=\"30\" y=\"126\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>Cavity outline dashed, actual part solid<\/text>' + '<text x=\"30\" y=\"147\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>Check the cushion first. Zero cushion is a material shortage;<\/text>' + '<text x=\"30\" y=\"162\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>a healthy cushion means pressure, temperature or venting.<\/text>' + '<\/svg>'; G.shrinkage = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<path d=\"M40 40 L150 40 Q190 56 230 40 L340 40 L340 66 L232 66 L232 108 L200 108 L200 66 L40 66 Z\" fill=\"#64748b\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/>' + '<path d=\"M150 30 Q190 46 230 30\" fill=\"none\" stroke=\"#4a5568\" stroke-width=\"1\" stroke-dasharray=\"4 3\"\/>' + '<path d=\"M190 14 L190 34\" stroke=\"#ef4444\" stroke-width=\"1.4\"\/><path d=\"M185 28 L190 38 L195 28 Z\" fill=\"#ef4444\"\/>' + '<path d=\"M196 76 L228 76\" stroke=\"#f59e0b\" stroke-width=\"1.2\"\/>' + '<path d=\"M348 42 L348 64\" stroke=\"#94a3b8\" stroke-width=\"1.2\"\/>' + '<text x=\"200\" y=\"12\" fill=\"#ef4444\" font-size=\"9.5\" ' + F + '>sink mark<\/text>' + '<text x=\"122\" y=\"26\" fill=\"#4a5568\" font-size=\"9\" ' + F + '>nominal<\/text>' + '<text x=\"238\" y=\"92\" fill=\"#f59e0b\" font-size=\"9\" ' + F + '>rib thickness t<\/text>' + '<text x=\"354\" y=\"56\" fill=\"#94a3b8\" font-size=\"9\" ' + F + '>T<\/text>' + '<text x=\"40\" y=\"128\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>Rib above 60% of wall T will show on the A face<\/text>' + '<text x=\"40\" y=\"148\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>The dip sits directly opposite the heavy section. That alignment<\/text>' + '<text x=\"40\" y=\"163\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>tells you whether to change the process or the geometry.<\/text>' + '<\/svg>'; G.silverStreaking = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<rect x=\"60\" y=\"20\" width=\"298\" height=\"88\" rx=\"8\" fill=\"#64748b\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/>' + '<path d=\"M32 64 L60 71 L60 57 Z\" fill=\"#4a5568\" stroke=\"#64748b\" stroke-width=\"1.2\"\/>' + '<path d=\"M64 64 L340 30\" stroke=\"#e2e8f0\" stroke-width=\"2.4\" opacity=\"0.8\"\/>' + '<path d=\"M64 64 L340 44\" stroke=\"#e2e8f0\" stroke-width=\"2\" opacity=\"0.7\"\/>' + '<path d=\"M64 64 L340 58\" stroke=\"#e2e8f0\" stroke-width=\"2.6\" opacity=\"0.85\"\/>' + '<path d=\"M64 64 L340 72\" stroke=\"#e2e8f0\" stroke-width=\"2\" opacity=\"0.7\"\/>' + '<path d=\"M64 64 L340 86\" stroke=\"#e2e8f0\" stroke-width=\"2.4\" opacity=\"0.8\"\/>' + '<path d=\"M64 64 L318 100\" stroke=\"#e2e8f0\" stroke-width=\"1.8\" opacity=\"0.6\"\/>' + '<text x=\"8\" y=\"50\" fill=\"#94a3b8\" font-size=\"9.5\" ' + F + '>gate<\/text>' + '<text x=\"238\" y=\"128\" fill=\"#e2e8f0\" font-size=\"9.5\" ' + F + '>streaks fan out from the gate<\/text>' + '<text x=\"8\" y=\"148\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>The fan pattern is the signature: gas smeared along the flow<\/text>' + '<text x=\"8\" y=\"163\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>path. Confirm drying before you change a single setting.<\/text>' + '<\/svg>'; G.voids = '<svg viewBox=\"0 0 380 170\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">' + '<rect x=\"60\" y=\"24\" width=\"260\" height=\"84\" rx=\"10\" fill=\"#64748b\" stroke=\"#94a3b8\" stroke-width=\"1.5\"\/>' + '<rect x=\"68\" y=\"32\" width=\"244\" height=\"68\" rx=\"8\" fill=\"none\" stroke=\"#cbd5e0\" stroke-width=\"1\" stroke-dasharray=\"3 2\"\/>' + '<ellipse cx=\"190\" cy=\"66\" rx=\"42\" ry=\"22\" fill=\"#0d0d0d\" stroke=\"#ef4444\" stroke-width=\"1.6\" stroke-dasharray=\"4 3\"\/>' + '<path d=\"M120 66 L142 66\" stroke=\"#f59e0b\" stroke-width=\"1.6\"\/><path d=\"M141 62 L150 66 L141 70 Z\" fill=\"#f59e0b\"\/>' + '<path d=\"M260 66 L238 66\" stroke=\"#f59e0b\" stroke-width=\"1.6\"\/><path d=\"M239 62 L230 66 L239 70 Z\" fill=\"#f59e0b\"\/>' + '<path d=\"M190 40 L190 30\" stroke=\"#f59e0b\" stroke-width=\"1.6\"\/>' + '<text x=\"196\" y=\"26\" fill=\"#f59e0b\" font-size=\"9\" ' + F + '>core pulls inward<\/text>' + '<text x=\"152\" y=\"70\" fill=\"#ef4444\" font-size=\"10\" ' + F + '>void<\/text>' + '<text x=\"60\" y=\"126\" fill=\"#cbd5e0\" font-size=\"9.5\" ' + F + '>Frozen skin dashed. Thick section, section view<\/text>' + '<text x=\"60\" y=\"147\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>A vacuum, not a gas bubble. Smooth and round in the core means<\/text>' + '<text x=\"60\" y=\"162\" fill=\"#cbd5e0\" font-size=\"10.5\" ' + F + '>packing; clustered small bubbles mean moisture instead.<\/text>' + '<\/svg>'; function esc(s) { return String(s).replace(\/&\/g, '&amp;').replace(\/<\/g, '&lt;').replace(\/>\/g, '&gt;').replace(\/\"\/g, '&quot;'); } function renderDiagnosis(key) { var d = D[key]; if (!d) { return; } var h = '<div class=\"diagnosis-box\">'; h += '<h4>' + esc(d.n) + '<\/h4>'; h += '<div class=\"im-visual\">'; h += '<div class=\"im-figure\" role=\"img\" aria-label=\"' + esc(d.n) + ' schematic\">' + (G[key] || '') + '<\/div>'; h += '<p class=\"im-hint\">' + esc(d.w) + '<\/p>'; h += '<\/div>'; h += '<div class=\"checkbox-group\"><p>2. Check every condition that matches your job<\/p>'; for (var i = 0; i < d.c.length; i++) { h += '<label class=\"checkbox-label\"><input type=\"checkbox\" data-cause=\"' + i + '\">' + esc(d.c[i].t) + '<\/label>'; } h += '<\/div>'; h += '<button type=\"button\" class=\"generate-btn\" data-im-go>Show corrective actions<\/button>'; h += '<button type=\"button\" class=\"im-reset-btn\" data-im-reset>Start over<\/button>'; h += '<div data-im-solution><\/div>'; h += '<\/div>'; area.innerHTML = h; area.setAttribute('data-current', key); } function renderSolution() { var key = area.getAttribute('data-current'); var d = D[key]; var out = area.querySelector('[data-im-solution]'); if (!d || !out) { return; } var boxes = area.querySelectorAll('input[data-cause]'); var picked = []; for (var i = 0; i < boxes.length; i++) { if (boxes[i].checked) { picked.push(parseInt(boxes[i].getAttribute('data-cause'), 10)); } } if (picked.length === 0) { out.innerHTML = '<div class=\"im-warn\">Check at least one condition above, then press the button again. If none of them apply, send us the part photos and the process sheet and we will look at it directly.<\/div>'; return; } var h = '<div class=\"solution-box\"><strong>Corrective actions for ' + esc(d.n) + '<\/strong>'; h += '<p style=\"color:#a7f3d0;margin-bottom:18px;\">Work through these in order. Change one variable at a time and run at least five shots before judging the result.<\/p>'; var step = 0; for (var p = 0; p < picked.length; p++) { var cause = d.c[picked[p]]; h += '<p style=\"color:#ffffff;font-weight:700;margin-top:16px;margin-bottom:8px;\">' + esc(cause.t) + '<\/p>'; for (var s = 0; s < cause.s.length; s++) { step++; h += '<p><span class=\"sol-label\">' + esc(cause.s[s][0]) + '<\/span>' + esc(cause.s[s][1]) + '<\/p>'; } } if (picked.length >= 4) { h += '<p style=\"color:#a7f3d0;margin-top:18px;\">You selected ' + picked.length + ' conditions. When that many apply at once, the root cause is usually material or tooling rather than process. Verify drying and purge first, then re-check.<\/p>'; } h += '<\/div>'; out.innerHTML = h; if (out.scrollIntoView) { out.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); } } function selectDefect(btn) { var all = grid.querySelectorAll('.defect-btn'); for (var i = 0; i < all.length; i++) { all[i].classList.remove('active'); } btn.classList.add('active'); renderDiagnosis(btn.getAttribute('data-defect')); } grid.addEventListener('click', function (e) { var btn = e.target.closest('.defect-btn'); if (btn) { selectDefect(btn); } }); grid.addEventListener('keydown', function (e) { if (e.key !== 'Enter' && e.key !== ' ') { return; } var btn = e.target.closest('.defect-btn'); if (btn) { e.preventDefault(); selectDefect(btn); } }); area.addEventListener('click', function (e) { if (e.target.closest('[data-im-go]')) { renderSolution(); return; } if (e.target.closest('[data-im-reset]')) { var all = grid.querySelectorAll('.defect-btn'); for (var i = 0; i < all.length; i++) { all[i].classList.remove('active'); } area.innerHTML = ''; area.removeAttribute('data-current'); } }); })(); <\/script><div class=\"tw-im-embed-box\" style=\"max-width:950px;margin:20px auto 0;padding:14px 16px;border:1px solid rgba(0,0,0,.16);border-radius:8px;background:#f6f8fb;color:#1f2937;box-sizing:border-box;\"><div style=\"font-size:15px;font-weight:700;margin-bottom:4px;\">Use this interactive troubleshooting guide on your website \u2014 free<\/div><div style=\"font-size:12.5px;color:#667085;line-height:1.5;margin-bottom:9px;\">Copy the code below to embed the full defect troubleshooter. A source credit link is included automatically.<\/div><textarea id=\"twim-68097-embed\" readonly rows=\"5\" onclick=\"this.select()\" style=\"width:100%;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;padding:9px;border:1px solid rgba(0,0,0,.18);border-radius:6px;background:#fff;color:#111827;resize:vertical;\">&lt;iframe id=&quot;twim-68097-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html?tw_im_defect_embed=1&quot; width=&quot;100%&quot; height=&quot;1100&quot; loading=&quot;lazy&quot; style=&quot;max-width:950px;border:0;display:block;margin:0 auto;&quot; title=&quot;Injection Molding Defect Troubleshooter&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;(function(){window.addEventListener(&quot;message&quot;,function(e){if(!e.data||!e.data.twIMDefectHeight)return;var f=document.getElementById(&quot;twim-68097-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twIMDefectHeight+&quot;px&quot;;}});})();&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px;line-height:1.5&quot;&gt;Interactive &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Injection Molding Defect Troubleshooter&lt;\/a&gt; by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot;&gt;&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"twim-68097-copy\" style=\"margin-top:8px;background:#dc2626;color:#fff;border:0;padding:8px 13px;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;\">Copy embed code<\/button><\/div><script>(function(){var b=document.getElementById(\"twim-68097-copy\"),t=document.getElementById(\"twim-68097-embed\");if(!b||!t)return;b.addEventListener(\"click\",function(){t.focus();t.select();var done=function(){b.textContent=\"Copied \u2713\";setTimeout(function(){b.textContent=\"Copy embed code\";},1600);};if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t.value).then(done,function(){try{document.execCommand(\"copy\");done();}catch(e){}});}else{try{document.execCommand(\"copy\");done();}catch(e){}}});})();<\/script><\/div><div id=\"gate-types\" class=\"wp-block-group tw-tool tw-cat-mold is-layout-flow wp-block-group-is-layout-flow\"><style> .tw-gt-wrap{max-width:1008px;margin:0 auto;} .interactive-image-container{position:relative;max-width:100%;overflow:visible;border-radius:8px;} .interactive-image-container svg{width:100%;height:auto;display:block;} .hotspot-dot{position:absolute;width:22px;height:22px;background-color:#FF7043;border:3px solid #FFFFFF;border-radius:50%;cursor:pointer;transform:translate(-50%, -50%);transition:all 0.2s ease-in-out;box-shadow:0 3px 6px rgba(0,0,0,0.4);z-index:10;} .hotspot-dot:hover, .hotspot-dot.active{background-color:#E64A19;transform:translate(-50%, -50%) scale(1.3);box-shadow:0 4px 10px rgba(0,0,0,0.6);z-index:20;} @keyframes hotspot-pulse{0%{box-shadow:0 0 0 0 rgba(255,112,67,0.7);} 70%{box-shadow:0 0 0 8px rgba(255,112,67,0);} 100%{box-shadow:0 0 0 0 rgba(255,112,67,0);} } .hotspot-dot:not(.active){animation:hotspot-pulse 2s infinite;} .info-panel{margin-top:15px;padding:15px 20px;background-color:#f8f9fa;border-left:5px solid #FF7043;border-radius:4px;min-height:96px;box-shadow:0 2px 4px rgba(0,0,0,0.05);} .info-title{font-size:1.1em;font-weight:bold;color:#2c3e50;margin-bottom:8px;} .info-desc{font-size:0.92em;color:#546e7a;line-height:1.55;white-space:pre-line;} <\/style><div class=\"tw-gt-wrap\"><div class=\"interactive-image-container\"><svg viewBox=\"0 0 1008 668\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:100%;height:auto;display:block\" font-family=\"'Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif\"><defs><marker id=\"ah\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\"><path d=\"M0,0 L10,5 L0,10 z\" fill=\"#1d4ed8\"\/><\/marker><\/defs><rect x=\"0\" y=\"0\" width=\"1008\" height=\"668\" fill=\"#f8fafc\"\/><text x=\"16\" y=\"34\" font-size=\"22\" font-weight=\"800\" fill=\"#0f172a\">Injection Molding Gate Types<\/text><rect x=\"16\" y=\"54\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#e5e7eb\" stroke=\"#374151\"\/><text x=\"36\" y=\"65\" font-size=\"11.5\" fill=\"#6b7280\">Part \/ cavity<\/text><rect x=\"136\" y=\"54\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#bfdbfe\" stroke=\"#2563eb\"\/><text x=\"156\" y=\"65\" font-size=\"11.5\" fill=\"#6b7280\">Sprue \/ runner<\/text><rect x=\"276\" y=\"54\" width=\"14\" height=\"14\" rx=\"3\" fill=\"#f97316\" stroke=\"#c2410c\"\/><text x=\"296\" y=\"65\" font-size=\"11.5\" fill=\"#6b7280\">Gate<\/text><line x1=\"346\" y1=\"61\" x2=\"368\" y2=\"61\" stroke=\"#1d4ed8\" stroke-width=\"2.4\" marker-end=\"url(#ah)\"\/><text x=\"374\" y=\"65\" font-size=\"11.5\" fill=\"#6b7280\">Melt flow<\/text><g transform=\"translate(16,78)\"><rect x=\"0\" y=\"0\" width=\"316\" height=\"182\" rx=\"12\" fill=\"#ffffff\" stroke=\"#e5e7eb\" stroke-width=\"1.5\"\/><text x=\"14\" y=\"26\" font-size=\"14.5\" font-weight=\"700\" fill=\"#0f172a\">Sprue (Direct) Gate<\/text><text x=\"302\" y=\"26\" font-size=\"10.5\" fill=\"#6b7280\" text-anchor=\"end\">view: side<\/text><rect x=\"98\" y=\"120\" width=\"120\" height=\"40\" rx=\"6\" fill=\"#e5e7eb\" stroke=\"#374151\" stroke-width=\"2\"\/><polygon points=\"152,44 164,44 176,120 140,120\" fill=\"#bfdbfe\" stroke=\"#2563eb\" stroke-width=\"1.5\"\/><rect x=\"140\" y=\"114\" width=\"36\" height=\"8\" rx=\"2\" fill=\"#f97316\" stroke=\"#c2410c\" stroke-width=\"1.2\"\/><line x1=\"158\" y1=\"52\" x2=\"158\" y2=\"112\" stroke=\"#1d4ed8\" stroke-width=\"2.4\" marker-end=\"url(#ah)\"\/><text x=\"180\" y=\"86\" font-size=\"10\" fill=\"#6b7280\" text-anchor=\"start\" font-style=\"italic\">~3\u00b0<\/text><text x=\"158\" y=\"176\" font-size=\"10\" fill=\"#6b7280\" text-anchor=\"middle\" font-style=\"italic\">part<\/text><\/g><g transform=\"translate(346,78)\"><rect x=\"0\" y=\"0\" width=\"316\" height=\"182\" rx=\"12\" fill=\"#ffffff\" stroke=\"#e5e7eb\" stroke-width=\"1.5\"\/><text x=\"14\" y=\"26\" font-size=\"14.5\" font-weight=\"700\" fill=\"#0f172a\">Edge (Standard) Gate<\/text><text x=\"302\" y=\"26\" font-size=\"10.5\" fill=\"#6b7280\" text-anchor=\"end\">view: top<\/text><rect x=\"150\" y=\"70\" width=\"120\" height=\"84\" rx=\"6\" fill=\"#e5e7eb\" stroke=\"#374151\" stroke-width=\"2\"\/><circle cx=\"42\" cy=\"111\" r=\"7\" fill=\"#bfdbfe\" stroke=\"#2563eb\" stroke-width=\"1.5\"\/><rect x=\"42\" y=\"104\" width=\"90\" height=\"14\" rx=\"3\" fill=\"#bfdbfe\" stroke=\"#2563eb\" stroke-width=\"1.5\"\/><rect x=\"132\" y=\"106\" width=\"18\" height=\"10\" rx=\"2\" fill=\"#f97316\" stroke=\"#c2410c\" stroke-width=\"1.2\"\/><line x1=\"60\" y1=\"111\" x2=\"126\" y2=\"111\" stroke=\"#1d4ed8\" stroke-width=\"2.4\" marker-end=\"url(#ah)\"\/><\/g><g transform=\"translate(676,78)\"><rect x=\"0\" y=\"0\" width=\"316\" height=\"182\" rx=\"12\" fill=\"#ffffff\" stroke=\"#e5e7eb\" stroke-width=\"1.5\"\/><text x=\"14\" y=\"26\" font-size=\"14.5\" font-weight=\"700\" fill=\"#0f172a\">Tab Gate<\/text><text x=\"302\" y=\"26\" font-size=\"10.5\" fill=\"#6b7280\" text-anchor=\"end\">view: top<\/text><rect x=\"176\" y=\"66\" width=\"96\" height=\"92\" rx=\"6\" fill=\"#e5e7eb\" stroke=\"#374151\" stroke-width=\"2\"\/><rect x=\"40\" y=\"104\" width=\"66\" height=\"14\" rx=\"3\" fill=\"#bfdbfe\" stroke=\"#2563eb\" stroke-width=\"1.5\"\/><rect x=\"106\" y=\"106\" width=\"14\" height=\"10\" rx=\"2\" fill=\"#f97316\" stroke=\"#c2410c\" stroke-width=\"1.2\"\/><rect x=\"120\" y=\"96\" width=\"56\" height=\"30\" rx=\"3\" fill=\"#e5e7eb\" stroke=\"#374151\" stroke-width=\"1.6\" stroke-dasharray=\"4 3\"\/><text x=\"148\" y=\"116\" font-size=\"10\" fill=\"#6b7280\" text-anchor=\"middle\" font-style=\"italic\">tab<\/text><line x1=\"58\" y1=\"111\" x2=\"102\" y2=\"111\" stroke=\"#1d4ed8\" stroke-width=\"2.4\" marker-end=\"url(#ah)\"\/><\/g><g transform=\"translate(16,274)\"><rect x=\"0\" y=\"0\" width=\"316\" height=\"182\" rx=\"12\" fill=\"#ffffff\" stroke=\"#e5e7eb\" stroke-width=\"1.5\"\/><text x=\"14\" y=\"26\" font-size=\"14.5\" font-weight=\"700\" fill=\"#0f172a\">Fan Gate<\/text><text x=\"302\" y=\"26\" font-size=\"10.5\" fill=\"#6b7280\" text-anchor=\"end\">view: top<\/text><rect x=\"176\" y=\"60\" width=\"96\" height=\"100\" rx=\"6\" fill=\"#e5e7eb\" stroke=\"#374151\" stroke-width=\"2\"\/><rect x=\"40\" y=\"104\" width=\"58\" height=\"14\" rx=\"3\" fill=\"#bfdbfe\" stroke=\"#2563eb\" stroke-width=\"1.5\"\/><polygon points=\"98,111 176,74 176,146\" fill=\"#f97316\" stroke=\"#c2410c\" stroke-width=\"1.5\"\/><line x1=\"58\" y1=\"111\" x2=\"96\" y2=\"111\" stroke=\"#1d4ed8\" stroke-width=\"2.4\" marker-end=\"url(#ah)\"\/><\/g><g transform=\"translate(346,274)\"><rect x=\"0\" y=\"0\" width=\"316\" height=\"182\" rx=\"12\" fill=\"#ffffff\" stroke=\"#e5e7eb\" stroke-width=\"1.5\"\/><text x=\"14\" y=\"26\" font-size=\"14.5\" font-weight=\"700\" fill=\"#0f172a\">Film \/ Flash Gate<\/text><text x=\"302\" y=\"26\" font-size=\"10.5\" fill=\"#6b7280\" text-anchor=\"end\">view: top<\/text><rect x=\"150\" y=\"58\" width=\"122\" height=\"104\" rx=\"6\" fill=\"#e5e7eb\" stroke=\"#374151\" stroke-width=\"2\"\/><rect x=\"138\" y=\"60\" width=\"12\" height=\"100\" fill=\"#f97316\" stroke=\"#c2410c\" stroke-width=\"1\"\/><rect x=\"40\" y=\"104\" width=\"98\" height=\"14\" rx=\"3\" fill=\"#bfdbfe\" stroke=\"#2563eb\" stroke-width=\"1.5\"\/><circle cx=\"40\" cy=\"111\" r=\"7\" fill=\"#bfdbfe\" stroke=\"#2563eb\" stroke-width=\"1.5\"\/><line x1=\"58\" y1=\"111\" x2=\"132\" y2=\"111\" stroke=\"#1d4ed8\" stroke-width=\"2.4\" marker-end=\"url(#ah)\"\/><\/g><g transform=\"translate(676,274)\"><rect x=\"0\" y=\"0\" width=\"316\" height=\"182\" rx=\"12\" fill=\"#ffffff\" stroke=\"#e5e7eb\" stroke-width=\"1.5\"\/><text x=\"14\" y=\"26\" font-size=\"14.5\" font-weight=\"700\" fill=\"#0f172a\">Submarine (Tunnel) Gate<\/text><text x=\"302\" y=\"26\" font-size=\"10.5\" fill=\"#6b7280\" text-anchor=\"end\">view: side<\/text><line x1=\"20\" y1=\"110\" x2=\"296\" y2=\"110\" stroke=\"#94a3b8\" stroke-width=\"1.4\" stroke-dasharray=\"5 4\"\/><text x=\"24\" y=\"104\" font-size=\"10\" fill=\"#6b7280\" text-anchor=\"start\" font-style=\"italic\">parting line<\/text><rect x=\"58\" y=\"86\" width=\"74\" height=\"16\" rx=\"3\" fill=\"#bfdbfe\" stroke=\"#2563eb\" stroke-width=\"1.5\"\/><rect x=\"150\" y=\"116\" width=\"120\" height=\"44\" rx=\"6\" fill=\"#e5e7eb\" stroke=\"#374151\" stroke-width=\"2\"\/><polygon points=\"126,92 134,92 168,124 158,124\" fill=\"#f97316\" stroke=\"#c2410c\" stroke-width=\"1.5\"\/><line x1=\"120\" y1=\"98\" x2=\"158\" y2=\"120\" stroke=\"#1d4ed8\" stroke-width=\"2.4\" marker-end=\"url(#ah)\"\/><\/g><g transform=\"translate(16,470)\"><rect x=\"0\" y=\"0\" width=\"316\" height=\"182\" rx=\"12\" fill=\"#ffffff\" stroke=\"#e5e7eb\" stroke-width=\"1.5\"\/><text x=\"14\" y=\"26\" font-size=\"14.5\" font-weight=\"700\" fill=\"#0f172a\">Pin (Point) Gate<\/text><text x=\"302\" y=\"26\" font-size=\"10.5\" fill=\"#6b7280\" text-anchor=\"end\">view: side<\/text><rect x=\"14\" y=\"48\" width=\"288\" height=\"7\" rx=\"2\" fill=\"#cbd5e1\" stroke=\"#94a3b8\" stroke-width=\"1\"\/><text x=\"300\" y=\"44\" font-size=\"10\" fill=\"#6b7280\" text-anchor=\"end\" font-style=\"italic\">top plate<\/text><rect x=\"60\" y=\"55\" width=\"96\" height=\"12\" rx=\"3\" fill=\"#bfdbfe\" stroke=\"#2563eb\" stroke-width=\"1.5\"\/><rect x=\"98\" y=\"122\" width=\"120\" height=\"40\" rx=\"6\" fill=\"#e5e7eb\" stroke=\"#374151\" stroke-width=\"2\"\/><polygon points=\"153,67 163,67 159,120 157,120\" fill=\"#f97316\" stroke=\"#c2410c\" stroke-width=\"1.5\"\/><line x1=\"158\" y1=\"72\" x2=\"158\" y2=\"116\" stroke=\"#1d4ed8\" stroke-width=\"2.4\" marker-end=\"url(#ah)\"\/><\/g><g transform=\"translate(346,470)\"><rect x=\"0\" y=\"0\" width=\"316\" height=\"182\" rx=\"12\" fill=\"#ffffff\" stroke=\"#e5e7eb\" stroke-width=\"1.5\"\/><text x=\"14\" y=\"26\" font-size=\"14.5\" font-weight=\"700\" fill=\"#0f172a\">Hot Tip Gate<\/text><text x=\"302\" y=\"26\" font-size=\"10.5\" fill=\"#6b7280\" text-anchor=\"end\">view: side<\/text><rect x=\"149\" y=\"42\" width=\"18\" height=\"42\" rx=\"3\" fill=\"#ef4444\" stroke=\"#b91c1c\" stroke-width=\"1.5\"\/><polygon points=\"149,84 167,84 158,100\" fill=\"#ef4444\" stroke=\"#b91c1c\" stroke-width=\"1.5\"\/><line x1=\"149\" y1=\"52\" x2=\"167\" y2=\"52\" stroke=\"#fecaca\" stroke-width=\"1.4\"\/><line x1=\"149\" y1=\"62\" x2=\"167\" y2=\"62\" stroke=\"#fecaca\" stroke-width=\"1.4\"\/><line x1=\"149\" y1=\"72\" x2=\"167\" y2=\"72\" stroke=\"#fecaca\" stroke-width=\"1.4\"\/><text x=\"300\" y=\"52\" font-size=\"10\" fill=\"#ef4444\" text-anchor=\"end\" font-style=\"italic\">heated nozzle<\/text><rect x=\"98\" y=\"110\" width=\"120\" height=\"46\" rx=\"6\" fill=\"#e5e7eb\" stroke=\"#374151\" stroke-width=\"2\"\/><circle cx=\"158\" cy=\"110\" r=\"5\" fill=\"#f97316\" stroke=\"#c2410c\" stroke-width=\"1\"\/><line x1=\"158\" y1=\"86\" x2=\"158\" y2=\"104\" stroke=\"#1d4ed8\" stroke-width=\"2.4\" marker-end=\"url(#ah)\"\/><\/g><g transform=\"translate(676,470)\"><rect x=\"0\" y=\"0\" width=\"316\" height=\"182\" rx=\"12\" fill=\"#ffffff\" stroke=\"#e5e7eb\" stroke-width=\"1.5\"\/><text x=\"14\" y=\"26\" font-size=\"14.5\" font-weight=\"700\" fill=\"#0f172a\">Diaphragm Gate<\/text><text x=\"302\" y=\"26\" font-size=\"10.5\" fill=\"#6b7280\" text-anchor=\"end\">view: top<\/text><circle cx=\"158\" cy=\"104\" r=\"60\" fill=\"#e5e7eb\" stroke=\"#374151\" stroke-width=\"2\"\/><circle cx=\"158\" cy=\"104\" r=\"34\" fill=\"#f97316\" stroke=\"#c2410c\" stroke-width=\"1.4\"\/><circle cx=\"158\" cy=\"104\" r=\"18\" fill=\"#ffffff\" stroke=\"#374151\" stroke-width=\"1.6\"\/><circle cx=\"158\" cy=\"104\" r=\"6\" fill=\"#bfdbfe\" stroke=\"#2563eb\" stroke-width=\"1.2\"\/><line x1=\"194\" y1=\"104\" x2=\"214\" y2=\"104\" stroke=\"#1d4ed8\" stroke-width=\"2\" marker-end=\"url(#ah)\"\/><line x1=\"183\" y1=\"129\" x2=\"198\" y2=\"144\" stroke=\"#1d4ed8\" stroke-width=\"2\" marker-end=\"url(#ah)\"\/><line x1=\"158\" y1=\"140\" x2=\"158\" y2=\"160\" stroke=\"#1d4ed8\" stroke-width=\"2\" marker-end=\"url(#ah)\"\/><line x1=\"133\" y1=\"129\" x2=\"118\" y2=\"144\" stroke=\"#1d4ed8\" stroke-width=\"2\" marker-end=\"url(#ah)\"\/><line x1=\"122\" y1=\"104\" x2=\"102\" y2=\"104\" stroke=\"#1d4ed8\" stroke-width=\"2\" marker-end=\"url(#ah)\"\/><line x1=\"133\" y1=\"79\" x2=\"118\" y2=\"64\" stroke=\"#1d4ed8\" stroke-width=\"2\" marker-end=\"url(#ah)\"\/><line x1=\"158\" y1=\"68\" x2=\"158\" y2=\"48\" stroke=\"#1d4ed8\" stroke-width=\"2\" marker-end=\"url(#ah)\"\/><line x1=\"183\" y1=\"79\" x2=\"198\" y2=\"64\" stroke=\"#1d4ed8\" stroke-width=\"2\" marker-end=\"url(#ah)\"\/><\/g><\/svg><div class=\"hotspot-dot\" style=\"top: 28.4%; left: 17.3%;\" data-id=\"g1\" title=\"Sprue (Direct) Gate\"><\/div><div class=\"hotspot-dot\" style=\"top: 28.4%; left: 50.0%;\" data-id=\"g2\" title=\"Edge (Standard) Gate\"><\/div><div class=\"hotspot-dot\" style=\"top: 28.4%; left: 82.7%;\" data-id=\"g3\" title=\"Tab Gate\"><\/div><div class=\"hotspot-dot\" style=\"top: 57.8%; left: 17.3%;\" data-id=\"g4\" title=\"Fan Gate\"><\/div><div class=\"hotspot-dot\" style=\"top: 57.8%; left: 50.0%;\" data-id=\"g5\" title=\"Film \/ Flash Gate\"><\/div><div class=\"hotspot-dot\" style=\"top: 57.8%; left: 82.7%;\" data-id=\"g6\" title=\"Submarine (Tunnel) Gate\"><\/div><div class=\"hotspot-dot\" style=\"top: 87.1%; left: 17.3%;\" data-id=\"g7\" title=\"Pin (Point) Gate\"><\/div><div class=\"hotspot-dot\" style=\"top: 87.1%; left: 50.0%;\" data-id=\"g8\" title=\"Hot Tip Gate\"><\/div><div class=\"hotspot-dot\" style=\"top: 87.1%; left: 82.7%;\" data-id=\"g9\" title=\"Diaphragm Gate\"><\/div><\/div><div class=\"info-panel\"><div class=\"info-title\" id=\"hotspot-info-title\">Click an orange dot to see when to use each gate<\/div><div class=\"info-desc\" id=\"hotspot-info-desc\">Each dot marks one gate type. Select one to view its best use, pros and cons.<\/div><\/div><\/div><script> document.addEventListener('DOMContentLoaded', function() { var machineData = { 'g1': { title: 'Sprue (Direct) Gate', desc: 'Best for: single-cavity, thick or deep parts.\\nPros: simplest, lowest pressure loss, strong packing.\\nCons: large gate scar, manual trimming, possible sink or stress at the gate.' }, 'g2': { title: 'Edge (Standard) Gate', desc: 'Best for: most flat or box parts fed at the parting line.\\nPros: easy to cut and fine-tune, low cost, very robust.\\nCons: visible gate vestige on the edge, needs manual or fixture degating.' }, 'g3': { title: 'Tab Gate', desc: 'Best for: flat, thin or optical parts such as PC and acrylic.\\nPros: pushes jetting and gate stress into a sacrificial tab.\\nCons: the tab must be trimmed off, small extra scrap.' }, 'g4': { title: 'Fan Gate', desc: 'Best for: wide, thin, flat parts that need an even flow front.\\nPros: spreads melt across a wide edge, less warping and fewer weld lines.\\nCons: wider gate to trim, more finishing work.' }, 'g5': { title: 'Film \/ Flash Gate', desc: 'Best for: large flat, warp-prone parts such as acrylic sheet.\\nPros: very even fill along the whole edge, minimal warpage.\\nCons: long thin gate is hard to remove, more scrap.' }, 'g6': { title: 'Submarine (Tunnel) Gate', desc: 'Best for: automatic degating in multi-cavity molds.\\nPros: gate shears off at ejection, no trimming, clean part.\\nCons: complex mold machining, gate size limited, higher tool cost.' }, 'g7': { title: 'Pin (Point) Gate', desc: 'Best for: 3-plate molds and center-fed parts.\\nPros: automatic degating, tiny witness mark, free gate location.\\nCons: needs a 3-plate mold, higher injection pressure, higher tool cost.' }, 'g8': { title: 'Hot Tip Gate', desc: 'Best for: high-volume runnerless production.\\nPros: no runner scrap, balanced fill, faster cycles.\\nCons: hot-runner cost and maintenance, small gate mark, needs tight thermal control.' }, 'g9': { title: 'Diaphragm Gate', desc: 'Best for: round or tubular parts that need concentricity.\\nPros: uniform radial fill, good roundness, no weld line at the hub.\\nCons: the whole diaphragm must be machined away, extra secondary work.' } }; var dots = document.querySelectorAll('.tw-gt-wrap .hotspot-dot'); var title = document.getElementById('hotspot-info-title'); var desc = document.getElementById('hotspot-info-desc'); dots.forEach(function(dot) { dot.addEventListener('click', function() { dots.forEach(function(d) { d.classList.remove('active'); }); this.classList.add('active'); var data = machineData[this.getAttribute('data-id')]; if (data) { title.textContent = data.title; desc.textContent = data.desc; } }); }); }); <\/script><div class=\"tw-gate-embed\" style=\"max-width:1008px;margin:18px auto 0;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f6f8fb;\"><div style=\"font-size:14px;font-weight:600;margin-bottom:3px;\">Use this interactive guide on your website \u2014 free<\/div><div style=\"font-size:12.5px;color:#666;margin-bottom:8px;\">Copy the code below to embed the clickable gate-types chart. A credit link is included.<\/div><textarea id=\"twgate-1953-embed\" readonly rows=\"3\" onclick=\"this.select()\" style=\"width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;padding:8px;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:#fff;color:#333;resize:vertical;\">&lt;iframe id=&quot;tw-gate-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html?tw_gate_embed=1&quot; width=&quot;100%&quot; height=&quot;900&quot; loading=&quot;lazy&quot; style=&quot;max-width:1008px;border:0;&quot; title=&quot;Injection Molding Gate Types&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twGateHeight){var f=document.getElementById(&quot;tw-gate-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twGateHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Injection Molding Gate Types&lt;\/a&gt; guide by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot;&gt;&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"twgate-1953-copy\" style=\"margin-top:8px;background:#c2410c;color:#fff;border:0;padding:7px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;\">Copy embed code<\/button><\/div><script>(function(){var b=document.getElementById(\"twgate-1953-copy\"),t=document.getElementById(\"twgate-1953-embed\");if(!b||!t)return;b.addEventListener(\"click\",function(){t.focus();t.select();var done=function(){b.textContent=\"Copied \\u2713\";setTimeout(function(){b.textContent=\"Copy embed code\";},1500);};if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t.value).then(done,function(){try{document.execCommand(\"copy\");done();}catch(e){}});}else{try{document.execCommand(\"copy\");done();}catch(e){}}});})();<\/script><\/div><div id=\"mold-components\" class=\"wp-block-group tw-tool tw-cat-structure is-layout-flow wp-block-group-is-layout-flow\"><iframe id=\"mc-4791\" title=\"Plastic Mold Components Interactive Guide\" loading=\"lazy\" scrolling=\"no\" srcdoc=\"&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n&lt;head&gt;\n&lt;meta charset=&quot;UTF-8&quot;&gt;\n&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;\n&lt;title&gt;Plastic Mold Components Interactive Guide&lt;\/title&gt;\n&lt;style&gt; * { box-sizing: border-box; } html, body { margin: 0; padding: 0; background: transparent; font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Arial, sans-serif; color: #1e293b; } .tw-mc { max-width: 1120px; margin: 0 auto; } .tw-mc-hero { background: linear-gradient(135deg, #111827 0%, #1e293b 60%, #334155 100%); color: #fff; border-radius: 14px; padding: 22px 26px; margin-bottom: 18px; } .tw-mc-hero h2 { margin: 0 0 6px; font-size: 24px; font-weight: 800; } .tw-mc-hero p { margin: 0; font-size: 14px; color: #cbd5e1; line-height: 1.5; } .tw-mc-body { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } .tw-mc-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-content: start; } .tw-mc-card { background: #fff; border: 1.5px solid #e5e7eb; border-radius: 12px; padding: 14px 16px; cursor: pointer; transition: border-color .15s, box-shadow .15s; } .tw-mc-card:hover { border-color: #93c5fd; } .tw-mc-card.active { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.12); } .tw-mc-num { width: 26px; height: 26px; border-radius: 50%; background: #dbeafe; color: #2563eb; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 8px; } .tw-mc-ct { font-size: 15px; font-weight: 700; color: #1e293b; margin-bottom: 3px; } .tw-mc-cd { font-size: 12.5px; color: #64748b; line-height: 1.45; } .tw-mc-panel { background: #fff; border: 1.5px solid #e5e7eb; border-radius: 12px; padding: 18px 20px; } .tw-mc-badge { display: inline-block; background: #dcfce7; color: #15803d; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; padding: 4px 10px; border-radius: 999px; margin-bottom: 10px; } .tw-mc-pt { font-size: 20px; font-weight: 800; margin: 0 0 6px; color: #0f172a; } .tw-mc-pd { font-size: 14px; color: #475569; line-height: 1.5; margin: 0 0 14px; } .tw-mc-diagram { background: #f8fafc; border: 1px solid #eef2f7; border-radius: 10px; padding: 10px; margin-bottom: 12px; } .tw-mc-diagram svg { width: 100%; height: auto; display: block; } .tw-mc-bullets { margin: 0; padding-left: 20px; } .tw-mc-bullets li { font-size: 13px; color: #475569; line-height: 1.55; margin: 3px 0; } @media (max-width: 860px) { .tw-mc-body { grid-template-columns: 1fr; } .tw-mc-hero h2 { font-size: 20px; } } @media (max-width: 460px) { .tw-mc-cards { grid-template-columns: 1fr; } }\n&lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n&lt;div class=&quot;tw-mc&quot;&gt; &lt;div class=&quot;tw-mc-hero&quot;&gt; &lt;h2&gt;Plastic Mold Components Interactive Guide&lt;\/h2&gt; &lt;p&gt;A plastic mold shapes molten plastic into finished parts. Click each component to see how it works inside an injection mold.&lt;\/p&gt; &lt;\/div&gt; &lt;div class=&quot;tw-mc-body&quot;&gt; &lt;div class=&quot;tw-mc-cards&quot; id=&quot;twMcCards&quot;&gt;&lt;\/div&gt; &lt;div class=&quot;tw-mc-panel&quot;&gt; &lt;span class=&quot;tw-mc-badge&quot;&gt;Selected Component&lt;\/span&gt; &lt;h3 class=&quot;tw-mc-pt&quot; id=&quot;twMcTitle&quot;&gt;&lt;\/h3&gt; &lt;p class=&quot;tw-mc-pd&quot; id=&quot;twMcDesc&quot;&gt;&lt;\/p&gt; &lt;div class=&quot;tw-mc-diagram&quot; id=&quot;twMcDiagram&quot;&gt;&lt;\/div&gt; &lt;ul class=&quot;tw-mc-bullets&quot; id=&quot;twMcBullets&quot;&gt;&lt;\/ul&gt; &lt;\/div&gt; &lt;\/div&gt;\n&lt;\/div&gt; &lt;script&gt; (function () { var ARROW = &#039;&lt;defs&gt;&lt;marker id=&quot;a&quot; viewBox=&quot;0 0 10 10&quot; refX=&quot;8&quot; refY=&quot;5&quot; markerWidth=&quot;7&quot; markerHeight=&quot;7&quot; orient=&quot;auto-start-reverse&quot;&gt;&lt;path d=&quot;M0,0 L10,5 L0,10 z&quot; fill=&quot;#1d4ed8&quot;\/&gt;&lt;\/marker&gt;&lt;\/defs&gt;&#039;; var COMPS = [ { k:&#039;c1&#039;, t:&#039;Core And Cavity&#039;, s:&#039;Form the shape of the plastic part.&#039;, d:&#039;Together they form the exact shape of the molded part.&#039;, svg:&#039;&lt;svg viewBox=&quot;0 0 520 300&quot; xmlns=&quot;http:\/\/www.w3.org\/2000\/svg&quot;&gt;&#039;+ARROW+&#039;&lt;rect x=&quot;60&quot; y=&quot;80&quot; width=&quot;150&quot; height=&quot;140&quot; rx=&quot;6&quot; fill=&quot;#e5e7eb&quot; stroke=&quot;#94a3b8&quot; stroke-width=&quot;2&quot;\/&gt;&lt;text x=&quot;135&quot; y=&quot;245&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; fill=&quot;#475569&quot;&gt;Cavity half&lt;\/text&gt;&lt;rect x=&quot;310&quot; y=&quot;80&quot; width=&quot;150&quot; height=&quot;140&quot; rx=&quot;6&quot; fill=&quot;#e5e7eb&quot; stroke=&quot;#94a3b8&quot; stroke-width=&quot;2&quot;\/&gt;&lt;text x=&quot;385&quot; y=&quot;245&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; fill=&quot;#475569&quot;&gt;Core half&lt;\/text&gt;&lt;rect x=&quot;205&quot; y=&quot;120&quot; width=&quot;110&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#bfdbfe&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2&quot;\/&gt;&lt;text x=&quot;260&quot; y=&quot;155&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; fill=&quot;#1e3a8a&quot;&gt;Part&lt;\/text&gt;&lt;line x1=&quot;150&quot; y1=&quot;150&quot; x2=&quot;200&quot; y2=&quot;150&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2.5&quot; marker-end=&quot;url(#a)&quot;\/&gt;&lt;line x1=&quot;370&quot; y1=&quot;150&quot; x2=&quot;320&quot; y2=&quot;150&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2.5&quot; marker-end=&quot;url(#a)&quot;\/&gt;&lt;\/svg&gt;&#039;, b:[&#039;The cavity shapes the outer surface; the core shapes the inside.&#039;,&#039;Polished cavity steel gives the part its final finish.&#039;] }, { k:&#039;c2&#039;, t:&#039;Runner System&#039;, s:&#039;Guides molten plastic into the cavity.&#039;, d:&#039;It controls how plastic flows before reaching the final part area.&#039;, svg:&#039;&lt;svg viewBox=&quot;0 0 520 300&quot; xmlns=&quot;http:\/\/www.w3.org\/2000\/svg&quot;&gt;&lt;circle cx=&quot;260&quot; cy=&quot;60&quot; r=&quot;14&quot; fill=&quot;#f97316&quot;\/&gt;&lt;text x=&quot;260&quot; y=&quot;38&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; fill=&quot;#c2410c&quot;&gt;Sprue&lt;\/text&gt;&lt;line x1=&quot;260&quot; y1=&quot;74&quot; x2=&quot;260&quot; y2=&quot;120&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;6&quot;\/&gt;&lt;line x1=&quot;120&quot; y1=&quot;120&quot; x2=&quot;400&quot; y2=&quot;120&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;6&quot;\/&gt;&lt;line x1=&quot;120&quot; y1=&quot;120&quot; x2=&quot;120&quot; y2=&quot;180&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;6&quot;\/&gt;&lt;line x1=&quot;213&quot; y1=&quot;120&quot; x2=&quot;213&quot; y2=&quot;180&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;6&quot;\/&gt;&lt;line x1=&quot;307&quot; y1=&quot;120&quot; x2=&quot;307&quot; y2=&quot;180&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;6&quot;\/&gt;&lt;line x1=&quot;400&quot; y1=&quot;120&quot; x2=&quot;400&quot; y2=&quot;180&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;6&quot;\/&gt;&lt;text x=&quot;438&quot; y=&quot;150&quot; font-size=&quot;13&quot; fill=&quot;#c2410c&quot;&gt;Runner&lt;\/text&gt;&lt;circle cx=&quot;120&quot; cy=&quot;205&quot; r=&quot;26&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2.5&quot;\/&gt;&lt;circle cx=&quot;213&quot; cy=&quot;205&quot; r=&quot;26&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2.5&quot;\/&gt;&lt;circle cx=&quot;307&quot; cy=&quot;205&quot; r=&quot;26&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2.5&quot;\/&gt;&lt;circle cx=&quot;400&quot; cy=&quot;205&quot; r=&quot;26&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2.5&quot;\/&gt;&lt;text x=&quot;260&quot; y=&quot;265&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; fill=&quot;#475569&quot;&gt;Balanced flow to each cavity&lt;\/text&gt;&lt;\/svg&gt;&#039;, b:[&#039;Balanced runners help each cavity fill evenly.&#039;,&#039;Shorter runners can reduce material waste.&#039;] }, { k:&#039;c3&#039;, t:&#039;Gate&#039;, s:&#039;Entry point where plastic flows into the part.&#039;, d:&#039;The controlled opening where melt enters the part cavity.&#039;, svg:&#039;&lt;svg viewBox=&quot;0 0 520 300&quot; xmlns=&quot;http:\/\/www.w3.org\/2000\/svg&quot;&gt;&#039;+ARROW+&#039;&lt;rect x=&quot;300&quot; y=&quot;90&quot; width=&quot;170&quot; height=&quot;120&quot; rx=&quot;8&quot; fill=&quot;#bfdbfe&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2&quot;\/&gt;&lt;text x=&quot;385&quot; y=&quot;155&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; fill=&quot;#1e3a8a&quot;&gt;Part cavity&lt;\/text&gt;&lt;rect x=&quot;60&quot; y=&quot;135&quot; width=&quot;180&quot; height=&quot;30&quot; rx=&quot;4&quot; fill=&quot;#fed7aa&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2&quot;\/&gt;&lt;text x=&quot;150&quot; y=&quot;125&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; fill=&quot;#c2410c&quot;&gt;Runner&lt;\/text&gt;&lt;rect x=&quot;240&quot; y=&quot;142&quot; width=&quot;60&quot; height=&quot;16&quot; fill=&quot;#f97316&quot; stroke=&quot;#c2410c&quot; stroke-width=&quot;1.5&quot;\/&gt;&lt;text x=&quot;270&quot; y=&quot;188&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#c2410c&quot; font-style=&quot;italic&quot;&gt;gate&lt;\/text&gt;&lt;line x1=&quot;120&quot; y1=&quot;150&quot; x2=&quot;300&quot; y2=&quot;150&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2.5&quot; marker-end=&quot;url(#a)&quot;\/&gt;&lt;\/svg&gt;&#039;, b:[&#039;Gate size controls fill speed and packing pressure.&#039;,&#039;A smaller gate leaves a smaller mark but can freeze early.&#039;] }, { k:&#039;c4&#039;, t:&#039;Cooling Channels&#039;, s:&#039;Cool the plastic quickly and evenly.&#039;, d:&#039;Water lines that pull heat out so the part sets fast and evenly.&#039;, svg:&#039;&lt;svg viewBox=&quot;0 0 520 300&quot; xmlns=&quot;http:\/\/www.w3.org\/2000\/svg&quot;&gt;&lt;rect x=&quot;90&quot; y=&quot;60&quot; width=&quot;340&quot; height=&quot;180&quot; rx=&quot;10&quot; fill=&quot;#e5e7eb&quot; stroke=&quot;#94a3b8&quot; stroke-width=&quot;2&quot;\/&gt;&lt;rect x=&quot;210&quot; y=&quot;122&quot; width=&quot;100&quot; height=&quot;56&quot; rx=&quot;8&quot; fill=&quot;#cbd5e1&quot; stroke=&quot;#64748b&quot; stroke-width=&quot;1.5&quot;\/&gt;&lt;text x=&quot;260&quot; y=&quot;155&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#475569&quot;&gt;cavity&lt;\/text&gt;&lt;path d=&quot;M120 92 H400 V132 H120 V168 H400 V208&quot; fill=&quot;none&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;6&quot; stroke-linecap=&quot;round&quot;\/&gt;&lt;circle cx=&quot;120&quot; cy=&quot;92&quot; r=&quot;7&quot; fill=&quot;#3b82f6&quot;\/&gt;&lt;circle cx=&quot;400&quot; cy=&quot;208&quot; r=&quot;7&quot; fill=&quot;#3b82f6&quot;\/&gt;&lt;text x=&quot;108&quot; y=&quot;84&quot; font-size=&quot;12&quot; fill=&quot;#1d4ed8&quot;&gt;in&lt;\/text&gt;&lt;text x=&quot;406&quot; y=&quot;228&quot; font-size=&quot;12&quot; fill=&quot;#1d4ed8&quot;&gt;out&lt;\/text&gt;&lt;text x=&quot;260&quot; y=&quot;268&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; fill=&quot;#475569&quot;&gt;Coolant loops pull heat away&lt;\/text&gt;&lt;\/svg&gt;&#039;, b:[&#039;Even cooling reduces warping and shortens cycle time.&#039;,&#039;Channels sit close to the cavity for fast heat removal.&#039;] }, { k:&#039;c5&#039;, t:&#039;Ejector Pins&#039;, s:&#039;Push the finished part out of the mold.&#039;, d:&#039;They push the cooled part off the core after the mold opens.&#039;, svg:&#039;&lt;svg viewBox=&quot;0 0 520 300&quot; xmlns=&quot;http:\/\/www.w3.org\/2000\/svg&quot;&gt;&#039;+ARROW+&#039;&lt;rect x=&quot;150&quot; y=&quot;70&quot; width=&quot;220&quot; height=&quot;45&quot; rx=&quot;8&quot; fill=&quot;#bfdbfe&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2&quot;\/&gt;&lt;text x=&quot;260&quot; y=&quot;98&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; fill=&quot;#1e3a8a&quot;&gt;Molded part&lt;\/text&gt;&lt;rect x=&quot;185&quot; y=&quot;115&quot; width=&quot;10&quot; height=&quot;70&quot; fill=&quot;#94a3b8&quot; stroke=&quot;#475569&quot; stroke-width=&quot;1&quot;\/&gt;&lt;rect x=&quot;255&quot; y=&quot;115&quot; width=&quot;10&quot; height=&quot;70&quot; fill=&quot;#94a3b8&quot; stroke=&quot;#475569&quot; stroke-width=&quot;1&quot;\/&gt;&lt;rect x=&quot;325&quot; y=&quot;115&quot; width=&quot;10&quot; height=&quot;70&quot; fill=&quot;#94a3b8&quot; stroke=&quot;#475569&quot; stroke-width=&quot;1&quot;\/&gt;&lt;rect x=&quot;120&quot; y=&quot;185&quot; width=&quot;280&quot; height=&quot;24&quot; rx=&quot;4&quot; fill=&quot;#cbd5e1&quot; stroke=&quot;#64748b&quot; stroke-width=&quot;1.5&quot;\/&gt;&lt;text x=&quot;260&quot; y=&quot;202&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#475569&quot;&gt;ejector plate&lt;\/text&gt;&lt;line x1=&quot;190&quot; y1=&quot;140&quot; x2=&quot;190&quot; y2=&quot;104&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2.5&quot; marker-end=&quot;url(#a)&quot;\/&gt;&lt;line x1=&quot;330&quot; y1=&quot;140&quot; x2=&quot;330&quot; y2=&quot;104&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2.5&quot; marker-end=&quot;url(#a)&quot;\/&gt;&lt;text x=&quot;260&quot; y=&quot;250&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; fill=&quot;#475569&quot;&gt;Pins push the part off the core&lt;\/text&gt;&lt;\/svg&gt;&#039;, b:[&#039;Pins push on strong, hidden areas to avoid marks.&#039;,&#039;An even push keeps the part from bending on release.&#039;] }, { k:&#039;c6&#039;, t:&#039;Slider Or Lifter&#039;, s:&#039;Release side holes and undercuts.&#039;, d:&#039;Moving cores that release side features the mold cannot pull straight.&#039;, svg:&#039;&lt;svg viewBox=&quot;0 0 520 300&quot; xmlns=&quot;http:\/\/www.w3.org\/2000\/svg&quot;&gt;&#039;+ARROW+&#039;&lt;rect x=&quot;150&quot; y=&quot;90&quot; width=&quot;150&quot; height=&quot;130&quot; rx=&quot;8&quot; fill=&quot;#e5e7eb&quot; stroke=&quot;#94a3b8&quot; stroke-width=&quot;2&quot;\/&gt;&lt;rect x=&quot;195&quot; y=&quot;120&quot; width=&quot;70&quot; height=&quot;70&quot; rx=&quot;6&quot; fill=&quot;#bfdbfe&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2&quot;\/&gt;&lt;text x=&quot;230&quot; y=&quot;162&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#1e3a8a&quot;&gt;part&lt;\/text&gt;&lt;rect x=&quot;300&quot; y=&quot;135&quot; width=&quot;90&quot; height=&quot;30&quot; rx=&quot;4&quot; fill=&quot;#fca5a5&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;\/&gt;&lt;text x=&quot;345&quot; y=&quot;125&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#b91c1c&quot;&gt;side core&lt;\/text&gt;&lt;line x1=&quot;305&quot; y1=&quot;150&quot; x2=&quot;412&quot; y2=&quot;150&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2.5&quot; marker-end=&quot;url(#a)&quot;\/&gt;&lt;line x1=&quot;360&quot; y1=&quot;72&quot; x2=&quot;412&quot; y2=&quot;150&quot; stroke=&quot;#64748b&quot; stroke-width=&quot;4&quot;\/&gt;&lt;text x=&quot;378&quot; y=&quot;66&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#475569&quot; font-style=&quot;italic&quot;&gt;angle pin&lt;\/text&gt;&lt;text x=&quot;260&quot; y=&quot;255&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; fill=&quot;#475569&quot;&gt;Slides out to release the undercut&lt;\/text&gt;&lt;\/svg&gt;&#039;, b:[&#039;Sliders pull side cores outward to free side holes.&#039;,&#039;Lifters angle inward to release internal undercuts.&#039;] } ]; var cardsWrap = document.getElementById(&#039;twMcCards&#039;); var elTitle = document.getElementById(&#039;twMcTitle&#039;); var elDesc = document.getElementById(&#039;twMcDesc&#039;); var elDiagram = document.getElementById(&#039;twMcDiagram&#039;); var elBullets = document.getElementById(&#039;twMcBullets&#039;); function select(i) { var c = COMPS[i]; var cards = cardsWrap.querySelectorAll(&#039;.tw-mc-card&#039;); cards.forEach(function (el, j) { el.classList.toggle(&#039;active&#039;, i === j); }); elTitle.textContent = c.t; elDesc.textContent = c.d; elDiagram.innerHTML = c.svg; elBullets.innerHTML = &#039;&#039;; c.b.forEach(function (line) { var li = document.createElement(&#039;li&#039;); li.textContent = line; elBullets.appendChild(li); }); } COMPS.forEach(function (c, i) { var card = document.createElement(&#039;div&#039;); card.className = &#039;tw-mc-card&#039;; var num = document.createElement(&#039;div&#039;); num.className = &#039;tw-mc-num&#039;; num.textContent = (i + 1); var t = document.createElement(&#039;div&#039;); t.className = &#039;tw-mc-ct&#039;; t.textContent = c.t; var s = document.createElement(&#039;div&#039;); s.className = &#039;tw-mc-cd&#039;; s.textContent = c.s; card.appendChild(num); card.appendChild(t); card.appendChild(s); card.addEventListener(&#039;click&#039;, function () { select(i); }); cardsWrap.appendChild(card); }); select(0); })();\n&lt;\/script&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\" style=\"display:block;width:100%;max-width:1120px;height:760px;margin:0 auto;border:0;overflow:hidden;\"><\/iframe><script>(function(){var f=document.getElementById(\"mc-4791\");function r(){try{f.style.height=(f.contentWindow.document.documentElement.scrollHeight)+\"px\";}catch(e){}}f.addEventListener(\"load\",function(){r();setTimeout(r,300);setTimeout(r,1200);try{new ResizeObserver(r).observe(f.contentWindow.document.body);}catch(e){}});window.addEventListener(\"resize\",r);})();<\/script><div class=\"tw-mc-seo\" style=\"max-width:1120px;margin:18px auto 0;font-size:13px;line-height:1.5;color:#475569;\"><h3 style=\"font-size:15px;font-weight:600;margin:0 0 6px;\">Main components of a plastic injection mold<\/h3><ul style=\"margin:0;padding-left:20px;\"><li><strong>Core and Cavity<\/strong> \u2014 form the shape of the plastic part.<\/li><li><strong>Runner System<\/strong> \u2014 guides molten plastic into the cavity.<\/li><li><strong>Gate<\/strong> \u2014 entry point where plastic flows into the part.<\/li><li><strong>Cooling Channels<\/strong> \u2014 cool the plastic quickly and evenly.<\/li><li><strong>Ejector Pins<\/strong> \u2014 push the finished part out of the mold.<\/li><li><strong>Slider or Lifter<\/strong> \u2014 release side holes and undercuts.<\/li><\/ul><\/div><div class=\"tw-mc-embed\" style=\"max-width:1120px;margin:18px auto 0;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#f6f8fb;\"><div style=\"font-size:14px;font-weight:600;margin-bottom:3px;\">Use this interactive guide on your website \u2014 free<\/div><div style=\"font-size:12.5px;color:#666;margin-bottom:8px;\">Copy the code below to embed the clickable components guide. A credit link is included.<\/div><textarea id=\"mc-4791-embed\" readonly rows=\"3\" onclick=\"this.select()\" style=\"width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;padding:8px;border:1px solid rgba(0,0,0,.15);border-radius:6px;background:#fff;color:#333;resize:vertical;\">&lt;iframe id=&quot;tw-mc-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html?mc_embed=1&quot; width=&quot;100%&quot; height=&quot;760&quot; loading=&quot;lazy&quot; style=&quot;max-width:1120px;border:0;&quot; title=&quot;Plastic Mold Components Interactive Guide&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twMcHeight){var f=document.getElementById(&quot;tw-mc-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twMcHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Interactive &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Plastic Mold Components Guide&lt;\/a&gt; by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot;&gt;&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"mc-4791-copy\" style=\"margin-top:8px;background:#2563eb;color:#fff;border:0;padding:7px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;\">Copy embed code<\/button><\/div><script>(function(){var b=document.getElementById(\"mc-4791-copy\"),t=document.getElementById(\"mc-4791-embed\");if(!b||!t)return;b.addEventListener(\"click\",function(){t.focus();t.select();var done=function(){b.textContent=\"Copied \\u2713\";setTimeout(function(){b.textContent=\"Copy embed code\";},1500);};if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t.value).then(done,function(){try{document.execCommand(\"copy\");done();}catch(e){}});}else{try{document.execCommand(\"copy\");done();}catch(e){}}});})();<\/script><\/div><div id=\"cooling-time\" class=\"wp-block-group tw-tool tw-cat-calc is-layout-flow wp-block-group-is-layout-flow\"><style> .tw-ct{--bg:#0f1419;--surface:#171d24;--surface2:#1d242c;--line:#26303a;--text:#e6edf3;--dim:#8b97a5;--accent:#38bdf8;--accent2:#22d3ee;--mono:'DM Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;--disp:'Bebas Neue', 'Arial Narrow', system-ui, sans-serif;--body:'DM Sans', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;background:var(--bg);color:var(--text);font-family:var(--body);border:1px solid var(--line);border-radius:14px;padding:26px;max-width:880px;margin:28px auto;box-shadow:0 1px 0 #ffffff0d inset, 0 18px 50px #00000045;} .tw-ct *{box-sizing:border-box;} .tw-ct-kicker{font:600 12px\/1 var(--body);letter-spacing:.18em;color:var(--accent);} .tw-ct-title{font-family:var(--disp);font-weight:400;letter-spacing:.02em;font-size:clamp( 28px, 5vw, 40px );line-height:1.02;margin:8px 0 6px;color:var(--text);} .tw-ct-sub{color:var(--dim);font-size:14px;margin:0 0 18px;max-width:68ch;line-height:1.55;} .tw-ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;} @media(max-width:680px){.tw-ct-grid{grid-template-columns:1fr;} .tw-ct{padding:18px;} } .tw-ct-form label{display:block;font-size:12.5px;color:var(--dim);margin-bottom:13px;letter-spacing:.02em;} .tw-ct-form input[type=number], .tw-ct-form select{width:100%;margin-top:5px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px 11px;font:500 15px\/1 var(--mono);outline:none;transition:.15s;} .tw-ct-form input:focus, .tw-ct-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #38bdf822;} .tw-ct-form small{display:block;color:#66717d;font-size:11px;margin-top:5px;line-height:1.4;font-family:var(--body);} .tw-ct-form select option{background:#171d24;color:#e6edf3;} .tw-ct-out{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;} .tw-ct-big{font-family:var(--disp);font-size:clamp( 40px, 9vw, 62px );line-height:.9;color:var(--accent);} .tw-ct-big small{display:block;font-family:var(--body);font-size:12px;letter-spacing:.06em;color:var(--dim);margin-top:6px;} .tw-ct-frac{font:500 13px\/1.4 var(--mono);color:var(--accent2);margin:12px 0 16px;} .tw-ct-rows{display:grid;gap:9px;margin-bottom:14px;} .tw-ct-row{display:flex;align-items:center;justify-content:space-between;font:500 13px\/1 var(--mono);color:var(--dim);padding:9px 0;border-top:1px solid var(--line);} .tw-ct-row b{color:var(--text);font-weight:500;} .tw-ct-stage{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);} .tw-ct-stage-title{font-size:11px;color:var(--dim);letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px;} .tw-ct-stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px;} .tw-ct-stage-item{display:flex;justify-content:space-between;font:500 11px\/1.3 var(--mono);color:var(--dim);} .tw-ct-stage-item b{color:var(--text);} .tw-ct-note{font-size:12px;color:var(--dim);line-height:1.5;margin:12px 0 4px;} .tw-ct-cta{display:inline-block;margin-top:14px;color:var(--accent);text-decoration:none;font:600 13px\/1 var(--body);letter-spacing:.02em;border-bottom:1px solid #38bdf855;padding-bottom:2px;} .tw-ct-cta:hover{border-color:var(--accent);} .tw-ct-chartwrap{margin-top:22px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px;} .tw-ct-chart{width:100%;} .tw-ct-foot{margin:20px 0 0;font-size:11px;color:#586572;text-align:center;line-height:1.5;} <\/style><div class=\"tw-ct\" data-twct><div class=\"tw-ct-head\"><span class=\"tw-ct-kicker\"> INJECTION MOLDING ENGINEERING TOOL <\/span><h2 class=\"tw-ct-title\"> Cooling &amp; Cycle Time Calculator <\/h2><p class=\"tw-ct-sub\"> Cooling typically accounts for 70%\u201385% of the injection molding cycle. Cooling time is strongly governed by the square of the thickest wall thickness, making wall design and cooling-system performance critical to productivity and part cost. <\/p><\/div><div class=\"tw-ct-grid\"><div class=\"tw-ct-form\"><label> Thickest wall thickness (mm) <input type=\"number\" data-c=\"wall\" value=\"2.0\" min=\"0.3\" step=\"0.1\" ><small> Cooling time is approximately proportional to wall thickness\u00b2. <\/small><\/label><label> Resin <select data-c=\"mat\"><\/select><small> Material type is shown as amorphous or crystalline. <\/small><\/label><label> Melt temperature (\u00b0C) <input type=\"number\" data-c=\"melt\" value=\"230\" step=\"1\" ><\/label><label> Mold \/ coolant temperature (\u00b0C) <input type=\"number\" data-c=\"mold\" value=\"50\" step=\"1\" ><\/label><label> Ejection \/ demold temperature (\u00b0C) <input type=\"number\" data-c=\"eject\" value=\"85\" step=\"1\" ><small> Approximate center temperature at which the part can be ejected. Best set at or slightly below the material's HDT. <\/small><\/label><label> Cooling share of total cycle (%) <input type=\"number\" data-c=\"share\" value=\"78\" min=\"70\" max=\"85\" step=\"1\" ><small> Typical planning range: 70%\u201385%. The other cycle stages are automatically redistributed. <\/small><\/label><label> Cooling System Efficiency (%) <input type=\"number\" data-c=\"eff\" value=\"100\" min=\"40\" max=\"160\" step=\"5\" ><small> 100% = baseline heat-transfer performance. Higher values represent better cooling channels, higher coolant flow, or conformal cooling. <\/small><\/label><label> Safety factor (%) <input type=\"number\" data-c=\"sf\" value=\"20\" min=\"0\" max=\"100\" step=\"5\" ><small> Extra margin added to the theoretical minimum cooling time for incoming-material and machine variation. Industry rule of thumb: ~20% (more for tight-tolerance parts). Set 0% to see the theoretical minimum. <\/small><\/label><label> Cavities <input type=\"number\" data-c=\"cav\" value=\"1\" min=\"1\" step=\"1\" ><\/label><\/div><div class=\"tw-ct-out\"><div class=\"tw-ct-big\"><span data-r=\"cool\"> \u2014 <\/span><small> cooling time \/ cycle <\/small><\/div><div class=\"tw-ct-frac\" data-r=\"frac\" ><\/div><div class=\"tw-ct-rows\"><div class=\"tw-ct-row\"><span> Estimated cycle <\/span><b data-r=\"cycle\"> \u2014 <\/b><\/div><div class=\"tw-ct-row\"><span> Throughput <\/span><b data-r=\"pph\"> \u2014 <\/b><\/div><\/div><div class=\"tw-ct-stage\"><div class=\"tw-ct-stage-title\"> Dynamic Cycle Distribution <\/div><div class=\"tw-ct-stage-grid\"><div class=\"tw-ct-stage-item\"><span> Fill <\/span><b data-r=\"fill\"> \u2014 <\/b><\/div><div class=\"tw-ct-stage-item\"><span> Pack &amp; Hold <\/span><b data-r=\"pack\"> \u2014 <\/b><\/div><div class=\"tw-ct-stage-item\"><span> Cooling <\/span><b data-r=\"coolpct\"> \u2014 <\/b><\/div><div class=\"tw-ct-stage-item\"><span> Mold &amp; Ejection <\/span><b data-r=\"moldpct\"> \u2014 <\/b><\/div><\/div><\/div><p class=\"tw-ct-note\" data-r=\"note\" ><\/p><a class=\"tw-ct-cta\" href=\"\/contact\/\" > Get your cycle time verified on your part \u2192 <\/a><\/div><\/div><div class=\"tw-ct-chartwrap\"><div class=\"tw-ct-chart\" data-r=\"chart\" ><\/div><\/div><p class=\"tw-ct-foot\"> Planning estimate based on a 1-D transient conduction, center-temperature model. The bare formula gives the theoretical minimum cooling time; the displayed value adds the chosen safety factor to approximate a real production setpoint. Cooling time follows the approximate wall-thickness-squared relationship, and cooling is typically 70%\u201385% of the molding cycle. Actual cycle time depends on geometry, material grade, crystallization behavior, mold design, cooling-channel layout, coolant temperature, flow regime, machine settings, and ejection requirements. <\/p><\/div><div class=\"tw-ct-embedbox\" style=\"max-width:880px;margin:16px auto 0;padding:14px 16px;border:1px solid #26303a;border-radius:12px;background:#171d24;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;\"><div style=\"font-size:14px;font-weight:600;color:#e6edf3;margin-bottom:3px;\">Use this calculator on your website \u2014 free<\/div><div style=\"font-size:12.5px;color:#8b97a5;margin-bottom:9px;\">Copy the code below to embed the cooling &amp; cycle time calculator. A credit link is included.<\/div><textarea id=\"twct-2548-embed\" readonly rows=\"3\" onclick=\"this.select()\" style=\"width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;padding:9px;border:1px solid #26303a;border-radius:8px;background:#0f1419;color:#e6edf3;resize:vertical;\">&lt;iframe id=&quot;tw-ct-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html?twct_embed=1&quot; width=&quot;100%&quot; height=&quot;900&quot; loading=&quot;lazy&quot; style=&quot;max-width:880px;border:0;&quot; title=&quot;Injection Molding Cooling &amp;amp; Cycle Time Calculator&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twCtHeight){var f=document.getElementById(&quot;tw-ct-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twCtHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Free &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Injection Molding Cooling &amp;amp; Cycle Time Calculator&lt;\/a&gt; by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot;&gt;&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"twct-2548-copy\" style=\"margin-top:9px;background:#38bdf8;color:#0f1419;border:0;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;\">Copy embed code<\/button><\/div><script>(function(){var b=document.getElementById(\"twct-2548-copy\"),t=document.getElementById(\"twct-2548-embed\");if(!b||!t)return;b.addEventListener(\"click\",function(){t.focus();t.select();var done=function(){b.textContent=\"Copied \\u2713\";setTimeout(function(){b.textContent=\"Copy embed code\";},1500);};if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t.value).then(done,function(){try{document.execCommand(\"copy\");done();}catch(e){}});}else{try{document.execCommand(\"copy\");done();}catch(e){}}});})();<\/script><\/div><div id=\"resin-selector\" class=\"wp-block-group tw-tool tw-cat-calc is-layout-flow wp-block-group-is-layout-flow\"><style> .tw-rs{--bg:#141119;--surface:#1c1826;--surface2:#221d2e;--line:#302941;--text:#ece8f3;--dim:#9a90ad;--accent:#a78bfa;--accent2:#c4b5fd;--mono:'DM Mono',ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;--disp:'Bebas Neue','Arial Narrow',system-ui,sans-serif;--body:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-family:var(--body);border:1px solid var(--line);border-radius:12px;padding:16px;max-width:880px;margin:20px auto;box-shadow:0 1px 0 #ffffff0d inset,0 14px 40px #00000045} .tw-rs *{box-sizing:border-box} .tw-rs-kicker{font:600 10px\/1 var(--body);letter-spacing:.16em;color:var(--accent)} .tw-rs-title{font-family:var(--disp);font-weight:400;letter-spacing:.02em;font-size:clamp(20px,4vw,28px);line-height:1.02;margin:5px 0 3px;color:var(--text)} .tw-rs-sub{color:var(--dim);font-size:11.5px;margin:0 0 12px;max-width:64ch;line-height:1.45} .tw-rs-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:14px} @media(max-width:700px){.tw-rs-grid{grid-template-columns:1fr}.tw-rs{padding:13px}} .tw-rs-fs{border:1px solid var(--line);border-radius:8px;padding:9px 11px;margin-bottom:11px;background:var(--surface)} .tw-rs-fs legend{font:600 9px\/1 var(--body);letter-spacing:.13em;text-transform:uppercase;color:var(--accent);padding:0 5px} .tw-rs-check{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--text);cursor:pointer;margin:6px 0} .tw-rs-check input{width:auto;margin:0;accent-color:var(--accent)} .tw-rs-form label.sel{display:block;font-size:11px;color:var(--dim);margin-bottom:8px;letter-spacing:.02em} .tw-rs-form select{width:100%;margin-top:4px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:7px;padding:6px 9px;font:500 12px\/1 var(--mono);outline:none;transition:.15s} .tw-rs-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #a78bfa22} .tw-rs-form select option{background:#1c1826;color:#ece8f3} .tw-rs-out{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px} .tw-rs-toplabel{font:600 9px\/1 var(--body);letter-spacing:.13em;text-transform:uppercase;color:var(--dim)} .tw-rs-topname{font-family:var(--disp);font-size:clamp(22px,5vw,32px);line-height:.95;color:var(--accent);margin:3px 0 7px} .tw-rs-matchbar{height:6px;border-radius:4px;background:#0e0b14;overflow:hidden;margin-bottom:5px} .tw-rs-matchbar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent))} .tw-rs-matchnum{font:500 11px\/1 var(--mono);color:var(--accent2);margin-bottom:9px} .tw-rs-topuse{font-size:11.5px;color:var(--text);line-height:1.45;margin-bottom:11px} .tw-rs-topspec{display:flex;flex-wrap:wrap;gap:12px;font:500 10px\/1 var(--mono);color:var(--dim)} .tw-rs-topspec b{color:var(--text);display:block;font-size:11.5px;margin-top:3px} .tw-rs-topspec span>span{display:block;margin-top:4px} .tw-rs-empty{font-size:11.5px;color:var(--dim);line-height:1.45;padding:8px 0} .tw-rs-runners{margin-top:10px;display:grid;gap:5px} .tw-rs-runner{display:flex;align-items:center;justify-content:space-between;font:500 11.5px\/1 var(--mono);color:var(--dim);padding:7px 0;border-top:1px solid var(--line)} .tw-rs-runner b{color:var(--text);font-weight:500} .tw-rs-cta{display:inline-block;margin-top:12px;color:var(--accent);text-decoration:none;font:600 11.5px\/1 var(--body);letter-spacing:.02em;border-bottom:1px solid #a78bfa55;padding-bottom:2px} .tw-rs-cta:hover{border-color:var(--accent)} .tw-rs-tablewrap{margin-top:14px;border:1px solid var(--line);border-radius:8px;overflow:hidden} .tw-rs-scroll{overflow-x:auto} .tw-rs-table{width:100%;min-width:640px;border-collapse:collapse;font-size:11px} .tw-rs-table th{background:var(--surface2);color:var(--dim);font:600 9.5px\/1.2 var(--body);letter-spacing:.03em;text-align:center;padding:7px 6px;border-bottom:1px solid var(--line);white-space:nowrap} .tw-rs-table th:first-child{text-align:left} .tw-rs-table td{padding:6px 6px;border-bottom:1px solid var(--line);text-align:center;color:var(--text);white-space:nowrap} .tw-rs-table tr:last-child td{border-bottom:0} .tw-rs-mn{text-align:left!important;font-weight:600;color:var(--text)} .tw-rs-c{font-family:var(--mono);color:var(--dim)} .tw-rs-win td{background:#a78bfa14} .tw-rs-win .tw-rs-mn{color:var(--accent2)} .tw-rs-match{font-family:var(--mono);color:var(--text);min-width:80px} .tw-rs-mbar{display:block;height:4px;border-radius:3px;background:#0e0b14;overflow:hidden;margin-bottom:3px} .tw-rs-mbar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent))} .tw-rs-foot{margin:14px 0 0;font-size:10px;color:#615772;text-align:center;line-height:1.45} <\/style><div class=\"tw-rs\" data-twrs><div class=\"tw-rs-head\"><span class=\"tw-rs-kicker\">FACTORY-DIRECT TOOLING<\/span><h2 class=\"tw-rs-title\">Injection Molding Resin Selector<\/h2><p class=\"tw-rs-sub\">Tell us what the part needs and we rank the common molding resins for you \u2014 ABS, PP, PC, PA, POM, PMMA and more \u2014 with a side-by-side comparison.<\/p><\/div><div class=\"tw-rs-grid\"><div class=\"tw-rs-form\"><fieldset class=\"tw-rs-fs\"><legend>Must have<\/legend><label class=\"tw-rs-check\"><input type=\"checkbox\" data-f=\"trans\"> Must be transparent<\/label><label class=\"tw-rs-check\"><input type=\"checkbox\" data-f=\"food\"> Food-contact safe<\/label><\/fieldset><label class=\"sel\">Strength &amp; stiffness <select data-w=\"strength\"><option value=\"0\">Not needed<\/option><option value=\"1\">Nice to have<\/option><option value=\"2\" selected>Priority<\/option><\/select><\/label><label class=\"sel\">Heat resistance <select data-w=\"heat\"><option value=\"0\">Not needed<\/option><option value=\"1\" selected>Nice to have<\/option><option value=\"2\">Priority<\/option><\/select><\/label><label class=\"sel\">Impact toughness <select data-w=\"impact\"><option value=\"0\">Not needed<\/option><option value=\"1\" selected>Nice to have<\/option><option value=\"2\">Priority<\/option><\/select><\/label><label class=\"sel\">Chemical resistance <select data-w=\"chem\"><option value=\"0\" selected>Not needed<\/option><option value=\"1\">Nice to have<\/option><option value=\"2\">Priority<\/option><\/select><\/label><label class=\"sel\">Low cost <select data-w=\"cost\"><option value=\"0\">Not needed<\/option><option value=\"1\">Nice to have<\/option><option value=\"2\" selected>Priority<\/option><\/select><\/label><\/div><div class=\"tw-rs-out\"><div data-r=\"top\"><\/div><div class=\"tw-rs-runners\" data-r=\"runners\"><\/div><a class=\"tw-rs-cta\" href=\"\/contact\/\">Not sure? Send your part and we'll recommend a resin \u2192<\/a><\/div><\/div><div class=\"tw-rs-tablewrap\"><div class=\"tw-rs-scroll\"><table class=\"tw-rs-table\"><thead><tr><th>Material<\/th><th>Stiffness<\/th><th>Heat<\/th><th>Impact<\/th><th>Chemical<\/th><th>Cost<\/th><th>Clear<\/th><th>Food<\/th><th>Match<\/th><\/tr><\/thead><tbody data-r=\"tbody\"><\/tbody><\/table><\/div><\/div><p class=\"tw-rs-foot\">Ratings are relative guidance for typical unfilled grades \u2014 glass-filled, impact-modified, or specific certified grades differ. Cost \u25cf = higher, \u25cf\u25cf\u25cf\u25cf\u25cf = lowest. Confirm food-contact and flammability with the exact grade's datasheet.<\/p><\/div><div class=\"tw-rs-embedbox\" style=\"max-width:920px;margin:16px auto 0;padding:14px 16px;border:1px solid #302941;border-radius:12px;background:#1c1826;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;\"><div style=\"font-size:14px;font-weight:600;color:#ece8f3;margin-bottom:3px;\">Use this resin selector on your website \u2014 free<\/div><div style=\"font-size:12.5px;color:#9a90ad;margin-bottom:9px;\">Copy the code below to embed the material selector and comparison table. A credit link is included.<\/div><textarea id=\"twrs-2363-embed\" readonly rows=\"3\" onclick=\"this.select()\" style=\"width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;padding:9px;border:1px solid #302941;border-radius:8px;background:#141119;color:#ece8f3;resize:vertical;\">&lt;iframe id=&quot;tw-rs-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html?twrs_embed=1&quot; width=&quot;100%&quot; height=&quot;1000&quot; loading=&quot;lazy&quot; style=&quot;max-width:920px;border:0;&quot; title=&quot;Injection Molding Resin Selector&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twRsHeight){var f=document.getElementById(&quot;tw-rs-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twRsHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Free &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Injection Molding Resin Selector&lt;\/a&gt; by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot;&gt;&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"twrs-2363-copy\" style=\"margin-top:9px;background:#a78bfa;color:#141119;border:0;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;\">Copy embed code<\/button><\/div><script>(function(){var b=document.getElementById(\"twrs-2363-copy\"),t=document.getElementById(\"twrs-2363-embed\");if(!b||!t)return;b.addEventListener(\"click\",function(){t.focus();t.select();var done=function(){b.textContent=\"Copied \\u2713\";setTimeout(function(){b.textContent=\"Copy embed code\";},1500);};if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t.value).then(done,function(){try{document.execCommand(\"copy\");done();}catch(e){}});}else{try{document.execCommand(\"copy\");done();}catch(e){}}});})();<\/script><\/div><div id=\"mold-price\" class=\"wp-block-group tw-tool tw-cat-calc is-layout-flow wp-block-group-is-layout-flow\"><style> .tw-mp{--bg:#0f1613;--surface:#16201b;--surface2:#1b2721;--line:#26332c;--text:#e6f0ea;--dim:#8fa398;--accent:#34d399;--accent2:#6ee7b7;--mono:'DM Mono',ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;--disp:'Bebas Neue','Arial Narrow',system-ui,sans-serif;--body:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-family:var(--body);border:1px solid var(--line);border-radius:12px;padding:16px;max-width:880px;margin:20px auto;box-shadow:0 1px 0 #ffffff0d inset,0 14px 40px #00000045} .tw-mp *{box-sizing:border-box} .tw-mp-kicker{font:600 10px\/1 var(--body);letter-spacing:.16em;color:var(--accent)} .tw-mp-title{font-family:var(--disp);font-weight:400;letter-spacing:.02em;font-size:clamp(20px,4vw,30px);line-height:1.02;margin:5px 0 3px;color:var(--text)} .tw-mp-sub{color:var(--dim);font-size:11.5px;margin:0 0 12px;max-width:64ch;line-height:1.45} .tw-mp-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:14px} @media(max-width:700px){.tw-mp-grid{grid-template-columns:1fr}.tw-mp{padding:13px}} .tw-mp-form label{display:block;font-size:11px;color:var(--dim);margin-bottom:8px;letter-spacing:.02em} .tw-mp-form input[type=number],.tw-mp-form select{width:100%;margin-top:4px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:7px;padding:6px 9px;font:500 12px\/1 var(--mono);outline:none;transition:.15s} .tw-mp-form input:focus,.tw-mp-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #34d39922} .tw-mp-form select option{background:#16201b;color:#e6f0ea} .tw-mp-out{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px} .tw-mp-big{font-family:var(--disp);font-size:clamp(30px,7vw,46px);line-height:.92;color:var(--accent)} .tw-mp-big small{display:block;font-family:var(--body);font-size:10.5px;letter-spacing:.04em;color:var(--dim);margin-top:5px} .tw-mp-summary{font:500 11px\/1.4 var(--mono);color:var(--dim);margin:11px 0 12px} .tw-mp-summary b{color:var(--text);font-weight:600} .tw-mp-compare{display:grid;gap:8px;margin-bottom:12px} .tw-mp-cmp{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:9px;font:500 11px\/1 var(--mono);color:var(--dim)} .tw-mp-cmpn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .tw-mp-cmpbar{height:8px;border-radius:5px;background:#0a0f0c;overflow:hidden} .tw-mp-cmpbar i{display:block;height:100%;background:#2a3b32} .tw-mp-cmpv{white-space:nowrap;color:var(--text)} .tw-mp-cmp.on .tw-mp-cmpn{color:var(--accent2)} .tw-mp-cmp.on .tw-mp-cmpbar i{background:linear-gradient(90deg,var(--accent2),var(--accent))} .tw-mp-cmp.on .tw-mp-cmpv{color:var(--accent2)} .tw-mp-hint{font-size:11px;color:var(--dim);line-height:1.45;margin:0 0 4px} .tw-mp-cta{display:inline-block;margin-top:12px;color:var(--accent);text-decoration:none;font:600 11.5px\/1 var(--body);letter-spacing:.02em;border-bottom:1px solid #34d39955;padding-bottom:2px} .tw-mp-cta:hover{border-color:var(--accent)} .tw-mp-foot{margin:14px 0 0;font-size:10px;color:#566a5f;text-align:center;line-height:1.45} <\/style><div class=\"tw-mp\" data-twmp><div class=\"tw-mp-head\"><span class=\"tw-mp-kicker\">FACTORY-DIRECT TOOLING<\/span><h2 class=\"tw-mp-title\">How Much Does an Injection Mold Cost?<\/h2><p class=\"tw-mp-sub\">Estimate the one-time tooling cost of an injection mold from part size, cavity count, complexity, and steel \u2014 with a China vs. Western price comparison.<\/p><\/div><div class=\"tw-mp-grid\"><div class=\"tw-mp-form\"><label>Part size (envelope, longest side) <select data-c=\"size\"><option value=\"s1\">Palm-size (under 50 mm)<\/option><option value=\"s2\" selected>Small (50 \u2013 150 mm)<\/option><option value=\"s3\">Medium (150 \u2013 300 mm)<\/option><option value=\"s4\">Large (300 \u2013 500 mm)<\/option><option value=\"s5\">Very large (over 500 mm)<\/option><\/select><\/label><label>Number of cavities <input type=\"number\" data-c=\"cav\" value=\"1\" min=\"1\" max=\"256\" step=\"1\"><\/label><label>Part complexity <select data-c=\"cx\"><option value=\"simple\">Simple \u2014 straight pull, no undercuts<\/option><option value=\"mod\" selected>Moderate \u2014 a few features \/ 1 side action<\/option><option value=\"cplx\">Complex \u2014 multiple slides \/ lifters<\/option><option value=\"vcplx\">Very complex \u2014 many actions, tight tolerance<\/option><\/select><\/label><label>Mold steel <select data-c=\"steel\"><option value=\"alu\">Aluminum (prototype \/ bridge)<\/option><option value=\"p20\" selected>P20 pre-hardened<\/option><option value=\"h718\">718H (improved P20)<\/option><option value=\"nak\">NAK80 (mirror polish)<\/option><option value=\"hard\">S136 \/ H13 (hardened \/ stainless)<\/option><\/select><\/label><label>Runner system <select data-c=\"run\"><option value=\"cold\" selected>Cold runner<\/option><option value=\"hot\">Hot runner<\/option><\/select><\/label><label>Surface finish <select data-c=\"fin\"><option value=\"std\" selected>Standard finish<\/option><option value=\"pol\">High polish \/ optical<\/option><option value=\"tex\">Texture (etch \/ EDM)<\/option><\/select><\/label><label>Quote region <select data-c=\"region\"><option value=\"cn\" selected>China (factory-direct)<\/option><option value=\"na\">North America<\/option><option value=\"eu\">Europe<\/option><\/select><\/label><\/div><div class=\"tw-mp-out\"><div class=\"tw-mp-big\"><span data-r=\"range\">\u2014<\/span><small data-r=\"reglabel\"><\/small><\/div><div class=\"tw-mp-summary\" data-r=\"summary\"><\/div><div class=\"tw-mp-compare\" data-r=\"compare\"><\/div><p class=\"tw-mp-hint\">This is the one-time tooling cost \u2014 not the per-part price.<\/p><a class=\"tw-mp-cta\" href=\"\/contact\/\">Get an exact mold quote \u2014 send your STEP file \u2192<\/a><\/div><\/div><p class=\"tw-mp-foot\">Planning estimate only. A real mold quote depends on part geometry, tolerance, cavity layout, action count, steel, and runner system. Send a 3D file for a firm price.<\/p><\/div><div class=\"tw-mp-embedbox\" style=\"max-width:880px;margin:14px auto 0;padding:12px 14px;border:1px solid #26332c;border-radius:12px;background:#16201b;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;\"><div style=\"font-size:13px;font-weight:600;color:#e6f0ea;margin-bottom:3px;\">Use this estimator on your website \u2014 free<\/div><div style=\"font-size:11.5px;color:#8fa398;margin-bottom:8px;\">Copy the code below to embed the mold cost estimator. A credit link is included.<\/div><textarea id=\"twmp-6495-embed\" readonly rows=\"3\" onclick=\"this.select()\" style=\"width:100%;box-sizing:border-box;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.4;padding:8px;border:1px solid #26332c;border-radius:8px;background:#0f1613;color:#e6f0ea;resize:vertical;\">&lt;iframe id=&quot;tw-mp-embed&quot; src=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html?twmp_embed=1&quot; width=&quot;100%&quot; height=&quot;720&quot; loading=&quot;lazy&quot; style=&quot;max-width:880px;border:0;&quot; title=&quot;Injection Mold Cost Estimator&quot;&gt;&lt;\/iframe&gt;\n&lt;script&gt;window.addEventListener(&quot;message&quot;,function(e){if(e.data&amp;&amp;e.data.twMpHeight){var f=document.getElementById(&quot;tw-mp-embed&quot;);if(f&amp;&amp;e.source===f.contentWindow){f.style.height=e.data.twMpHeight+&quot;px&quot;;}}});&lt;\/script&gt;\n&lt;p style=&quot;font-size:13px&quot;&gt;Free &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/injection-moldings-interactive-tooling.html&quot;&gt;Injection Mold Cost Estimator&lt;\/a&gt; by &lt;a href=&quot;https:\/\/www.plasticmoulds.net\/it\/&quot;&gt;&lt;\/a&gt;&lt;\/p&gt;<\/textarea><button type=\"button\" id=\"twmp-6495-copy\" style=\"margin-top:8px;background:#34d399;color:#0f1613;border:0;padding:7px 13px;border-radius:8px;font-size:12.5px;font-weight:600;cursor:pointer;\">Copy embed code<\/button><\/div><script>(function(){var b=document.getElementById(\"twmp-6495-copy\"),t=document.getElementById(\"twmp-6495-embed\");if(!b||!t)return;b.addEventListener(\"click\",function(){t.focus();t.select();var done=function(){b.textContent=\"Copied \\u2713\";setTimeout(function(){b.textContent=\"Copy embed code\";},1500);};if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(t.value).then(done,function(){try{document.execCommand(\"copy\");done();}catch(e){}});}else{try{document.execCommand(\"copy\");done();}catch(e){}}});})();<\/script><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Everything on this page is available as a free, interactive injection molding resource\u2014ready to use online and easy to add to your own website.Explore a six-stage injection molding cycle simulator and adjust key parameters such as melt temperature, injection speed, and packing pressure to see how they affect part quality and common molding defects in [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-17629","post","type-post","status-publish","format-standard","hentry","category-injection-molding"],"_links":{"self":[{"href":"https:\/\/www.plasticmoulds.net\/it\/wp-json\/wp\/v2\/posts\/17629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.plasticmoulds.net\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.plasticmoulds.net\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.plasticmoulds.net\/it\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.plasticmoulds.net\/it\/wp-json\/wp\/v2\/comments?post=17629"}],"version-history":[{"count":92,"href":"https:\/\/www.plasticmoulds.net\/it\/wp-json\/wp\/v2\/posts\/17629\/revisions"}],"predecessor-version":[{"id":20404,"href":"https:\/\/www.plasticmoulds.net\/it\/wp-json\/wp\/v2\/posts\/17629\/revisions\/20404"}],"wp:attachment":[{"href":"https:\/\/www.plasticmoulds.net\/it\/wp-json\/wp\/v2\/media?parent=17629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.plasticmoulds.net\/it\/wp-json\/wp\/v2\/categories?post=17629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.plasticmoulds.net\/it\/wp-json\/wp\/v2\/tags?post=17629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}