grinder.svg · 125 lines
<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="1100" viewBox="0 0 1500 1100">
<defs>
<linearGradient id="metal" x1="0" y1="0" x2="1" y2="1"><stop stop-color="#f4f0e7"/><stop offset=".48" stop-color="#c7d1d0"/><stop offset="1" stop-color="#82989a"/></linearGradient>
<linearGradient id="wood" x1="0" y1="0" x2="1" y2="0"><stop stop-color="#7c452c"/><stop offset=".48" stop-color="#c17a4a"/><stop offset="1" stop-color="#8b4e30"/></linearGradient>
<linearGradient id="body" x1="0" y1="0" x2="1" y2="0"><stop stop-color="#1d3940"/><stop offset=".5" stop-color="#315961"/><stop offset="1" stop-color="#19343a"/></linearGradient>
<linearGradient id="cup" x1="0" y1="0" x2="1" y2="0"><stop stop-color="#9c5a39"/><stop offset=".5" stop-color="#d18b5b"/><stop offset="1" stop-color="#8b4c32"/></linearGradient>
<pattern id="hatch" width="8" height="8" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><line x1="0" y1="0" x2="0" y2="8" stroke="#46666a" stroke-width="1" opacity=".25"/></pattern>
<style>
.ink{stroke:#21383c;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.fine{stroke:#38575b;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;fill:none}
.dash{stroke:#668185;stroke-width:1.5;stroke-dasharray:6 7;fill:none}
.label{font:600 17px 'Arial',sans-serif;letter-spacing:1.3px;fill:#20383d}
.sub{font:13px 'Arial',sans-serif;letter-spacing:1.1px;fill:#6a7775}
.num{font:700 14px 'Arial',sans-serif;fill:#f6f1e5;text-anchor:middle;dominant-baseline:middle}
</style>
</defs>
<!-- paper -->
<rect width="1500" height="1100" fill="#f3f0e7"/>
<path d="M48 52H1452M48 1046H1452" stroke="#b8c0b7" stroke-width="1"/>
<text x="68" y="92" font-family="Arial,sans-serif" font-size="29" font-weight="700" letter-spacing="3" fill="#20383d">HAND GRINDER</text>
<text x="70" y="120" class="sub">EXPLODED ASSEMBLY · CONICAL BURR MECHANISM</text>
<text x="1430" y="85" text-anchor="end" class="sub">01 / MECHANICAL STUDY</text>
<!-- vertical axis and assembly guide -->
<path d="M700 126V1014" class="dash"/>
<text x="716" y="291" class="sub" transform="rotate(90 716 291)">COMMON SHAFT AXIS</text>
<!-- crank handle assembly -->
<!-- crank hub atop axle -->
<ellipse cx="700" cy="160" rx="43" ry="13" fill="#dce1dc" class="ink"/>
<path d="M657 160v18c0 8 19 15 43 15s43-7 43-15v-18" fill="url(#metal)" class="ink"/>
<ellipse cx="700" cy="160" rx="43" ry="13" fill="url(#metal)" class="ink"/>
<circle cx="700" cy="162" r="10" fill="#8c9e9b" class="fine"/>
<!-- bent crank arm -->
<path d="M702 163 C752 154 806 139 856 126 L912 117" fill="none" stroke="#243c40" stroke-width="18" stroke-linecap="round"/>
<path d="M702 159 C752 150 806 135 856 122 L912 113" fill="none" stroke="url(#metal)" stroke-width="10" stroke-linecap="round"/>
<!-- knob -->
<ellipse cx="946" cy="112" rx="26" ry="11" fill="#633c2d" class="ink"/>
<path d="M920 112v43c0 8 12 15 26 15s26-7 26-15v-43" fill="url(#wood)" class="ink"/>
<ellipse cx="946" cy="112" rx="26" ry="11" fill="#d19a70" class="ink"/>
<path d="M930 121v31M940 124v34M951 123v35" stroke="#e2ad81" stroke-width="1.5" opacity=".6"/>
<!-- separate lid -->
<ellipse cx="700" cy="239" rx="147" ry="27" fill="#c2ceca" class="ink"/>
<path d="M553 239v20c0 15 66 28 147 28s147-13 147-28v-20" fill="url(#metal)" class="ink"/>
<ellipse cx="700" cy="239" rx="147" ry="27" fill="#e7e5db" class="ink"/>
<ellipse cx="700" cy="240" rx="24" ry="8" fill="#9eaeaa" class="fine"/>
<circle cx="700" cy="240" r="6" fill="#20383d"/>
<!-- hopper / upper body, open top -->
<path d="M562 326 L590 424 Q700 453 810 424 L838 326" fill="url(#body)" class="ink"/>
<path d="M573 330 L600 416 Q700 438 800 416 L827 330" fill="url(#hatch)" stroke="none"/>
<ellipse cx="700" cy="326" rx="138" ry="34" fill="#416970" class="ink"/>
<ellipse cx="700" cy="326" rx="115" ry="23" fill="#243e42" stroke="#21383c" stroke-width="2"/>
<!-- beans in hopper opening -->
<g fill="#b7784c" stroke="#5a392b" stroke-width="1.4">
<path d="M625 324c-10-12 3-22 15-16 11 5 12 18 1 22-6 2-12 0-16-6z"/><path d="M653 317c-7-11 8-19 17-11 9 7 5 18-5 20-5 1-9-3-12-9z"/>
<path d="M683 327c-11-9-3-21 9-19 12 1 16 12 7 19-5 4-11 4-16 0z"/><path d="M711 317c-6-12 9-18 18-9 8 8 3 18-7 19-5 0-8-4-11-10z"/>
<path d="M742 326c-10-10 0-21 12-17 11 4 12 15 2 20-5 3-10 1-14-3z"/><path d="M774 317c-8-10 4-20 14-14 11 6 8 17-2 20-5 1-9-2-12-6z"/>
</g>
<path d="M594 414q106 27 212 0" fill="none" stroke="#8ea6a0" stroke-width="2"/>
<!-- lower rim / outlet throat of hopper -->
<ellipse cx="700" cy="430" rx="110" ry="20" fill="#203b40" class="ink"/>
<ellipse cx="700" cy="430" rx="63" ry="12" fill="#f3f0e7" stroke="#21383c" stroke-width="2"/>
<!-- outer conical burr carrier ring, exploded -->
<path d="M564 494 L586 555 Q700 579 814 555 L836 494" fill="#506c6e" class="ink"/>
<ellipse cx="700" cy="494" rx="136" ry="31" fill="#d8dfd9" class="ink"/>
<ellipse cx="700" cy="494" rx="94" ry="20" fill="#f3f0e7" stroke="#21383c" stroke-width="2.5"/>
<!-- visible inner cone-wall section / burr teeth -->
<path d="M606 495 L625 548 Q700 565 775 548 L794 495" fill="#aebcb8" stroke="#21383c" stroke-width="2"/>
<path d="M618 500 L637 545 M632 500 L648 550 M648 500 L661 553 M666 500 L675 555 M684 501 L689 556 M702 501 L702 556 M720 501 L715 555 M738 500 L729 553 M756 500 L742 550 M772 500 L755 546" stroke="#405c60" stroke-width="3"/>
<ellipse cx="700" cy="494" rx="94" ry="20" fill="none" stroke="#21383c" stroke-width="2.5"/>
<!-- carrier underside lip -->
<path d="M586 555q114 29 228 0v12q-114 29-228 0z" fill="#344f53" class="ink"/>
<!-- inner conical burr and shaft, separated beneath ring -->
<path d="M642 586 L666 674 Q700 694 734 674 L758 586 Q700 604 642 586Z" fill="url(#metal)" class="ink"/>
<ellipse cx="700" cy="586" rx="58" ry="17" fill="#dce1dc" class="ink"/>
<ellipse cx="700" cy="586" rx="35" ry="10" fill="#70888a" class="fine"/>
<!-- conical burr ridges -->
<path d="M651 597l34 82M663 600l25 83M677 603l17 86M691 603l6 88M705 603l-3 88M719 600l-10 87M733 597l-17 82M747 594l-24 82" stroke="#557174" stroke-width="3" fill="none"/>
<path d="M681 691v99q0 10 19 10t19-10v-99" fill="url(#metal)" class="ink"/>
<path d="M681 750h38M681 761h38M681 772h38" stroke="#647b7c" stroke-width="2"/>
<!-- adjustment spring and washer around shaft -->
<ellipse cx="700" cy="708" rx="41" ry="12" fill="#bac7c2" class="ink"/>
<ellipse cx="700" cy="708" rx="18" ry="6" fill="#f3f0e7" class="fine"/>
<path d="M666 714c-10 8 10 12 0 20s10 12 0 20" fill="none" stroke="#61797b" stroke-width="3"/>
<path d="M734 714c10 8-10 12 0 20s-10 12 0 20" fill="none" stroke="#61797b" stroke-width="3"/>
<!-- adjustment collar -->
<ellipse cx="700" cy="800" rx="120" ry="24" fill="#c6d0ca" class="ink"/>
<path d="M580 800v40q0 19 120 19t120-19v-40" fill="url(#metal)" class="ink"/>
<ellipse cx="700" cy="800" rx="120" ry="24" fill="#dfe3dc" class="ink"/>
<ellipse cx="700" cy="800" rx="77" ry="14" fill="#f3f0e7" stroke="#21383c" stroke-width="2"/>
<path d="M589 814l18 4m-18 7 18 4m-17 8 17 4M793 814l-18 4m18 7-18 4m17 8-17 4" stroke="#73888a" stroke-width="2"/>
<!-- adjustment knurl ticks -->
<path d="M590 821v16M604 826v17M618 830v17M782 830v17M796 826v17M810 821v16" stroke="#536e70" stroke-width="2"/>
<!-- main lower housing, open / cutaway to reveal drive -->
<path d="M574 870 Q700 895 826 870 L812 939 Q700 963 588 939Z" fill="url(#body)" class="ink"/>
<path d="M595 879 Q700 899 805 879 L795 931 Q700 949 605 931Z" fill="url(#hatch)" stroke="none"/>
<ellipse cx="700" cy="870" rx="126" ry="25" fill="#31565d" class="ink"/>
<ellipse cx="700" cy="870" rx="91" ry="16" fill="#f3f0e7" stroke="#21383c" stroke-width="2"/>
<ellipse cx="700" cy="941" rx="112" ry="22" fill="#1d3a3f" class="ink"/>
<!-- grind adjustment dial at front -->
<path d="M788 874q24 3 29 17l-4 27q-15 10-34 9l-5-42z" fill="#c88756" class="ink"/>
<path d="M790 886l19 3M790 895l19 3M789 904l18 3" stroke="#f0cfaa" stroke-width="2"/>
<!-- collector cup below -->
<ellipse cx="700" cy="981" rx="111" ry="22" fill="#723f2c" class="ink"/>
<path d="M589 981 L603 1028 Q700 1051 797 1028 L811 981" fill="url(#cup)" class="ink"/>
<ellipse cx="700" cy="981" rx="111" ry="22" fill="#d09161" class="ink"/>
<ellipse cx="700" cy="981" rx="84" ry="13" fill="#6b3c2c" stroke="#5a372b" stroke-width="2"/>
<path d="M606 1025q94 21 188 0" fill="none" stroke="#e0a577" stroke-width="2"/>
<!-- grounds visible in cup -->
<path d="M626 983q74-17 148 0l-13 10q-61 13-122 0z" fill="#49352c"/>
<circle cx="661" cy="984" r="2" fill="#d6a17b"/><circle cx="713" cy="982" r="2" fill="#d6a17b"/><circle cx="744" cy="987" r="2" fill="#d6a17b"/>
<!-- numbered leaders and labels -->
<g>
<circle cx="1040" cy="151" r="14" fill="#315961"/><text x="1040" y="151" class="num">1</text><path d="M1024 151h-36l-25-16" class="fine"/><text x="1070" y="146" class="label">CRANK & DRIVE</text><text x="1070" y="166" class="sub">REMOVABLE HANDLE · STEEL AXLE</text>
<circle cx="382" cy="248" r="14" fill="#315961"/><text x="382" y="248" class="num">2</text><path d="M398 248h59l96 1" class="fine"/><text x="96" y="244" class="label">HOPPER LID</text><text x="96" y="264" class="sub">LIFT-OFF DUST COVER</text>
<circle cx="1002" cy="360" r="14" fill="#315961"/><text x="1002" y="360" class="num">3</text><path d="M986 360h-77l-71 29" class="fine"/><text x="1032" y="356" class="label">BEAN HOPPER</text><text x="1032" y="376" class="sub">OPEN-TOP FEED CHAMBER</text>
<circle cx="374" cy="513" r="14" fill="#315961"/><text x="374" y="513" class="num">4</text><path d="M390 513h72l120 0" class="fine"/><text x="96" y="509" class="label">STATIONARY OUTER BURR</text><text x="96" y="529" class="sub">RING-SHAPED · TOOTHED INNER FACE</text>
<circle cx="1000" cy="622" r="14" fill="#315961"/><text x="1000" y="622" class="num">5</text><path d="M984 622h-84l-142 5" class="fine"/><text x="1030" y="618" class="label">ROTATING CONICAL BURR</text><text x="1030" y="638" class="sub">MATCHING GROOVED GRINDING SURFACES</text>
<circle cx="383" cy="735" r="14" fill="#315961"/><text x="383" y="735" class="num">6</text><path d="M399 735h139l144-19" class="fine"/><text x="96" y="731" class="label">SHAFT, SPRING & WASHER</text><text x="96" y="751" class="sub">PRELOAD KEEPS BURRS ALIGNED</text>
<circle cx="1000" cy="820" r="14" fill="#315961"/><text x="1000" y="820" class="num">7</text><path d="M984 820h-57l-108 0" class="fine"/><text x="1030" y="816" class="label">GRIND-SETTING COLLAR</text><text x="1030" y="836" class="sub">ROTATE TO ADJUST BURR GAP</text>
<circle cx="374" cy="907" r="14" fill="#315961"/><text x="374" y="907" class="num">8</text><path d="M390 907h80l122 0" class="fine"/><text x="96" y="903" class="label">LOWER BODY</text><text x="96" y="923" class="sub">SUPPORTS ADJUSTMENT ASSEMBLY</text>
<circle cx="1000" cy="1007" r="14" fill="#315961"/><text x="1000" y="1007" class="num">9</text><path d="M984 1007h-70l-105-5" class="fine"/><text x="1030" y="1003" class="label">GROUNDS CUP</text><text x="1030" y="1023" class="sub">TWIST-OFF COLLECTION VESSEL</text>
</g>
<!-- footer scale / note -->
<text x="70" y="1078" class="sub">EXPLODED ALONG THE GRINDER'S CENTRAL DRIVE AXIS · NOT TO SCALE</text>
<text x="1430" y="1078" text-anchor="end" class="sub">BURR GEOMETRY: CONICAL / NOT FLAT</text>
</svg>Exploded hand grinder: GPT-6 Luna
There is no post about this one, since only some results need one, so the picture, the source and the scoring are here instead.
run 1 · 3r · $0.0065
run 2 · 1r · $0.0046Draw an exploded assembly diagram of a manual coffee grinder, as an SVG. Use a hand grinder with conical burrs rather than flat burrs.Frozen at v1. This model got this and nothing else.
Top to bottom: handle knob, crank, body, outer burr, inner burr, spring if drawn, adjustment dial, catch jar. The drive shaft runs through the body and both burrs, so it is left out of the order, the way the French press leaves out its rod. The adjustment is at the bottom, below the burrs, and the inner cone comes out downwards through the fixed outer ring. Checked against Comandante's FAQ for the C40, Coffeegeek on the Timemore C2, Hario's spare-parts list and a review for the Skerton Pro, and a guide to the Porlex Mini. The Skerton has no spring, so the spring is not required. How it is scored, and this run's files on GitHub.