A 3D-printable desk figurine of Clawd, the pixel-art Claude Code mascot from the "Welcome, Claw'd" screen: blocky rectangular body, two square eyes, stubby side arms, and four legs (with the sprite's signature wider gap before the right-most leg).
| File | Description |
|---|---|
clawd.stl |
Ready-to-slice binary STL (watertight, single manifold) |
clawd_eye_inserts.stl |
Optional: two square plates to print in black and glue into the eye pockets |
generate_clawd.py |
Parametric generator — edit and re-run to tweak the model |
preview.png |
Rendered preview |
clawd_wave.stl |
Variant: right arm raised in a pixel-staircase wave |
clawd_wink.stl |
Variant: right eye winking (horizontal slit pocket) |
clawd_chonk.stl |
Variant: bigger and twice as thick — a chunky desk piece |
clawd_keychain.stl |
Variant: 37 mm wide, 4 mm thin, split-ring loop on top |
generate_variants.py |
Parametric generator for all four variants |
render_preview.py |
Renders preview_variants.png from the generators |
preview_variants.png |
Rendered preview of the variants |
All four are watertight and exported lying on their backs like the original, so they print flat with no supports:
- wave (96 × 71 × 15 mm) — same scale as the original, right arm raised above the head as a staircase of pixel blocks.
- wink (82 × 60 × 15 mm) — identical body, right eye pocket is a
slit. The original
clawd_eye_inserts.stlsquare still fits the open left eye. - chonk (112 × 82 × 34 mm) — scaled up 1.4× and more than twice as thick, with deeper 2 mm eye pockets. ~218 cm³, so keep infill low (8–10 %) unless you want a paperweight.
- keychain (37 × 35 × 4 mm) — palm-sized with a fused hanging loop (5 mm ring hole, fits a standard split ring). Eyes are shallow 0.8 mm pockets — color them with a black marker.
- Standing size: 81.6 mm wide × 59.6 mm tall × 15 mm thick
- Exported lying on its back (face up) — already in print orientation
- Eyes are 1.2 mm recessed pockets, so they read as dark squares by shadow alone
- Watertight, winding-consistent single shell — passes slicer sanity checks
- Material: any (PLA is fine) — terracotta / burnt orange, obviously
- Layer height: 0.2 mm
- Infill: 10–15 %
- Supports: none. The model prints flat on its back; every feature is in-plane. Stand it up on its legs after printing.
- Black eyes: three easy options —
- leave the pockets as-is (shadow makes them read dark),
- color them in with a black paint marker (simplest), or
- print
clawd_eye_inserts.stlin black and glue the two squares into the pockets (they have 0.15 mm clearance per side).
- Scaling: scale freely — it's a solid slab, so any size prints fine.
pip install numpy trimesh manifold3d
python3 generate_clawd.py clawd.stl
python3 generate_variants.pyThe sprite geometry is a handful of axis-aligned rectangles declared at
the top of generate_clawd.py (traced from the welcome-screen artwork),
plus SCALE, THICKNESS, and EYE_DEPTH knobs. The script asserts the
mesh is watertight before exporting. generate_variants.py shares the
same sprite constants; each variant is a parameter set in its VARIANTS
dict (scale, thickness, eye style, wave arm, hanging loop), so new
combinations — a chonk that waves, a winking keychain — are one-line
edits. Re-render the preview grid with:
pip install matplotlib
python3 render_preview.py
