Gridfinity Pic-to-Bin
Photograph a tool lying on a printed marker sheet. Get a 3D-printable gridfinity bin with a pocket cut to the tool's exact shape.
Get it running
1. Install
pipx install gridfinity-pic-to-bin
pic-to-bin-fusion install
The second command adds a Gridfinity Pic-to-Bin button under Solid → Create in Fusion 360 — that's what turns the result into a solid model (enable it with Shift+S →).
No pipx yet? py -m pip install --user pipx; py -m pipx ensurepath (Windows)
or brew install pipx && pipx ensurepath (macOS) — then open a new terminal.
Needs Python 3.10+.
More install options →
2. Print the template
generate-phone-template --paper-size letter
Print the PDF at exactly 100% scale — not fit-to-page. One-time setup; the sheet is reusable.
3. Photograph the tool
Lay it inside the dotted zone, shoot from above with all 8 markers in frame. Measure the tool's depth with calipers — that's the one number the photo can't give you. Photo tips →
4. Start the web app
mkdir ~/pic-to-bin && cd ~/pic-to-bin # Windows: mkdir $HOME\pic-to-bin; cd $HOME\pic-to-bin
pic-to-bin-web --port 8000
Run it from a dedicated folder — output and the SAM2 model weights (several hundred MB, downloaded on the first trace) land in the current directory.
5. Use it
Open http://localhost:8000, drag in the photo, enter the tool depth, and
submit. You get a layout preview, a 1:1 fit-test PDF to print and lay the
real tool on to check the fit, and a bin_config.json.
Then in Fusion 360, click Solid → Create → Gridfinity Pic-to-Bin and
point it at that bin_config.json. It builds the whole parametric bin —
body, pockets, finger slots, stacking lip, gridfinity base pads. Export STL
and print.
Prefer the terminal? The web app is a wrapper around one command:
pic-to-bin photo.jpg --tool-height 17
Documentation
| How it works | ArUco calibration, SAM2 tracing, layout packing, bin generation |
| Installation | pipx vs. venv, where to run commands, upgrading, from source |
| Web app | Two-phase re-do flow, multi-user setup, the opt-in LLM review |
| CLI reference | Every pic-to-bin flag, plus the individual pipeline steps |
| Tolerance & fit | Why the pocket fits how it does, and how to tighten or loosen it |
| Fusion 360 | Add-in install, manual ZIP install, macOS Gatekeeper, what gets built |
| Troubleshooting | Marker detection errors, bad fits, common photo problems |
| Hosting the web app | Reverse proxy setup and security notes |
MIT licensed — see LICENSE.md.
Metadata
Release files for gridfinity-pic-to-bin 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gridfinity_pic_to_bin-0.2.3.tar.gz | 325.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gridfinity_pic_to_bin-0.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 626.9 kB
Release files / gridfinity_pic_to_bin-0.2.3.tar.gz
| Download URL | gridfinity_pic_to_bin-0.2.3.tar.gz |
|---|---|
| Size | 325.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6fdadaf5a6f8638eb7bc53de4a5ec21542803680a7b1ed32bcde7fd8ad1ad70e
|
|
BLAKE2b-256 checksum How to use checksums |
cf32dbf25b34aa95138abfea075ed6a96d914ac34e5dbb5f45832b0c416ef068
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logRelease files / gridfinity_pic_to_bin-0.2.3-py3-none-any.whl
| Download URL | gridfinity_pic_to_bin-0.2.3-py3-none-any.whl |
|---|---|
| Size | 301.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
765067c5cde885538af7bf9a21dac7fc6d1a05d48d52411c8fa14f0c041e170f
|
|
BLAKE2b-256 checksum How to use checksums |
720a6597e6d3be4424ba32d9d2675eeb00b5a70c8201a3fa2e9e4d5c8eaf1219
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency log