May 2, 2026
Description
A 3-digit (0–999) rotating barrel counter for *Magic: the
Gathering* — hex prism with three independently-rotating drums,
each with digits 0–9 engraved around its six faces. Capped at
each end by a hex cap engraved with the player's chosen **mana
symbol** (W / U / B / R / G / colourless). Caps lock to a shared
square axle so the drums rotate freely but the caps stay put.
Use it as a life counter, commander damage tracker, **+1/+1
counter pile** for a single big creature, storm count, or
anything else where you need to track 0–999 without rummaging for
spare dice.
For one counter you need:
3 × shared/drum_combined.stl— the rotating drum (digits 0-9
around six hex faces). Print three of these — one per digit
position (hundreds / tens / ones).
- 1 × shared/axle.stl— the square axle that all three drums
rotate on. The square cross-section locks the caps so they don't
spin, while the drums rotate freely.
- 2 × end caps — pick any two of the six mana variants. Match
both to your deck's primary colour, or use one cap as the "active"
side and the other as the back.
Cap variants (pick 2):
w/cap_combined.stl— White (sun)
- u/cap_combined.stl— Blue (water drop)
- b/cap_combined.stl— Black (skull)
- r/cap_combined.stl— Red (fireball)
- g/cap_combined.stl— Green (tree)
- c/cap_combined.stl— Colourless (diamond)
The drum and each cap ship as ASCII multi-solid STLs with two
named solids — body(filament A) + labels(filament B):
Drag a *_combined.stlinto Bambu Studio.
2. Right-click the imported object → Split to Parts.
3. Two sub-parts appear, locked to identical coordinates.
4. Assign filament A (e.g. white PLA) to body.
5. Assign filament B (e.g. black for digits, gold for mana
symbols) to labels.
6. Slice. Print flat on the bed, no supports.
Why combined STL with named solids? Bambu's "Add Part" workflow
rearranges coordinates — the digit labels would land off-centre
from their hex faces. A single ASCII STL with two named solids +
Split-to-Parts preserves the exact alignment.
Single-colour fallback
If you don't have AMS, the engravings are recessed and stay legible
in a single filament. Use the body STLs alone
drum_body.stl,
<mana>/cap_body.stl) and skip the labels.Assembly
Slide the axle through one cap. The cap's square bore
locks onto the axle's square stub — it can't rotate.
2. Slide three drums onto the axle in order. The drum bores are
round, so they rotate freely.
3. Cap the other end with the second cap. Press-fit; the
slotted bore in each cap snaps onto the axle's stub end.
4. Spin each drum to dial in the digit you want.
Bambu Lab P2S or any 0.4 mm FDM
- 0.2 mm layer height, 3 walls, 15 % infill
- PLA Basic
- No supports
- Drums + caps: print flat on a hex face (the engraved face
prints horizontally — cleanest engraving floors)
- Axle: print standing up on the small square end
Full parametric .scadis included. Variables at the top control
drum height, hex face count, axle length, cap thickness, mana glyph
size, digit font/size, and per-cap mana choice. Add a 7th cap
variant by dropping a new SVG glyph in assets/mana/and adding a
line to the mana_capslist in barrel_counter.scad.
Mana glyphs are extracted from the standard MTG mana font; the
hex/square axle interface uses a 0.05 mm per-face clearance for a
firm rotation-locked fit in PLA at 0.4 mm nozzle.
Fan content for Magic: the Gathering by Wizards of the Coast —
not affiliated.
License:
Creative Commons — Attribution