Generate a printable 3D model of your Tangled punchcard.
stl 3d-model 3d-printing

Files
README.md

punchcard3D #

Create a printable 3D model from a public Tangled punchcard.

Features #

  • Generate an STL or colored 3MF model from a public Tangled punchcard
  • Nameplate with the exact handle and year beside Dolly, Tangled's mascot
  • Contribution grid preview in the terminal while generating
  • No sign-in required — uses Tangled's public profile data

Preview #

CLI output Generated 3D model
Punchcard generated in the terminal Generated punchcard 3D model

Usage #

Prerequisites #

punchcard3D is written in Rust and built with Cargo:

cargo build --release

Installing #

From the repository root:

cargo install --path .

Or run it directly without installing:

cargo run --release -- --user dolly.tngl.sh

Flags #

You can run the punchcard3d command with the following flags:

  • -d, --debug: Enable diagnostic logging and per-stage timings for fetching, layout, generation, export, and saving.
    • Example: punchcard3d --user dolly.tngl.sh --debug
  • -h, --help: Show help for the command.
    • Example: punchcard3d --help
  • -o, --output <FILE>: Set the output filename. A .3mf extension creates a colored 3MF model; otherwise the output is STL.
    • Example: punchcard3d --user dolly.tngl.sh --output dolly-punchcard.3mf
  • -p, --profile <PROFILE>: Set the model size profile. standard is the full-size model (~76 × 159 × 22 mm); mini is the default, and scales the 14-column grid down to ~36 × 77 × 12 mm with 1.8 mm pillars for quicker, cheaper prints.
    • Example: punchcard3d --user dolly.tngl.sh --profile standard
  • -u, --user <USER>: Set the exact Tangled handle. This is required.
    • Example: punchcard3d --user dolly.tngl.sh
  • -y, --year <YEAR>: Set the contribution year. Tangled currently provides only the current year.
    • Example: punchcard3d --user dolly.tngl.sh --year 2026
  • -a, --art-only: Print the contribution grid without writing a model. Cannot be combined with --output.
    • Example: punchcard3d --user dolly.tngl.sh --art-only

By default, the CLI creates a punchcard-<handle>-<year>.stl file in your current directory. Use the --output flag to choose a different filename or a colored 3MF model.