Skip to content

Generate the grid base test prints - #11

Merged
XDGFX merged 12 commits into
mainfrom
worktree-7-grid-calibration
Oct 4, 2026
Merged

XDGFX merged 12 commits into
mainfrom
worktree-7-grid-calibration

Conversation

@XDGFX

@XDGFX XDGFX commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Closes #7.

Rounds one and two are printed, and their values are saved as working tolerances: light-thin (0.5 mm boss wall), a 3.2 mm hole, a 0.6 mm face, pegs 0.6 mm under the hole (0.5 mm for one fixed into a holder), and joiners at 0.28 mm. #6 and #8 are updated to match. Round three, the whole-system check, moves to #14 so nothing waits on it.

What's here

  • src/core/grid/: the grid tile, the joiner, a binary STL writer, and a check for 45° overhangs. Built with manifold-3d. Not exported yet; Build the grid base into dunnage #8 builds on it.
  • scripts/grid-calibration.ts: writes each round's test prints to out/grid-calibration/<round>/ as STLs, with a parts list and estimated weights.
    • Round one: two strips, about 3 g: five screw pilot holes (3.0–3.8 mm) in one wall, and three boss walls (0.5, 0.9, 1.2 mm) round one hole.
    • Round two (with a wall and hole chosen): the joiner fit, five joiners on two small tiles, and pegs at six clearances, told apart by length.
    • Round three (with a fit chosen): a 2 × 2 set with its joiners, a 25 × 25 tile to weigh, and a test holder.
  • docs/grid-calibration.md: the design under test, how to print, and results tables to fill in.

The design, right way up

  • The top face is always closed: a grid of holes.
  • The bottom is open, with a full-height boss round every hole, a band round the edge, and a low web along every row and column tying the bosses together.
  • A joiner is four rings tied by webs. The rings slide over the bosses round a join and stop on the web, flush with the bottom. The band is cut only where a joiner passes through it, so a joiner fits at any pair of edge holes, or where four tiles meet.

This replaces the clip pockets in #6 §3; the doc lists what #6 needs changing.

Every part is checked in tests: one closed solid, no unsupported overhangs, fits a P1S bed.

🤖 Generated with Claude Code

XDGFX and others added 12 commits October 2, 2026 12:03
Grid tiles, clip pockets and clips built with manifold-3d in src/core/grid/,
with an STL writer and an overhang check. scripts/grid-calibration.ts writes
round one (pilot holes per boss wall, clip shapes and clearances) and round two
(pin interference, 2 x 2 sets, full tiles to weigh, a test holder).
docs/grid-calibration.md says how to print them and holds the results.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Pin holes stay at the chosen size and the pegs grow by the interference, as #6
§6 has it, counted by V-groove rings. Pockets are spaced evenly along an edge,
so a 25-hole edge no longer gets two one pitch apart. The column test tiles
share one helper, and the docs say how to judge the bow-tie, why one coupon
variant is enough, and what to update in #6.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Cal's review of the first test prints: the top face is always closed (light lost
its skin), clips must fit any tile from below, and pegs print lying on a flat.

Every tile now has a rebate round the edge of its open bottom, with the edge
bosses standing up in it as stubs. A plate covering 2 x 2 holes presses over the
stubs either side of a join, flush, and its holes keep the grid usable. It fits
at any pair of edge holes, or where four tiles meet, so there are no special
clip pockets or coupons. Round one prints two of each hole-test tile to join,
with plates at five fits per variant. Pegs are round with a flat, labelled by
dots on the flat.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
From Cal's review: plates grip deeper, ribs tie bosses together, and round one
spans a range of weights to compare.

- Plates are 1.6 mm, sit on the edge bosses' ends, and slide four sleeves 5 mm
  down the bosses. The seat ribs in the rebate are gone.
- standard's ribs run along hole lines, through the bosses.
- Boss walls are set as a wall, the same whatever the hole. A light-thin
  variant (0.5 mm, one line) joins light-thick, light and standard; the light
  variants have a 1.2 mm band.
- Each variant prints with a 0.6 mm and a 1.2 mm top face. Label dots sit over
  the band so they never go through a thin skin, and test holes are in the
  inner rows, so plates fit the edge holes.
- The round-one parts list estimates a full 25 x 25 tile for each variant and
  skin: 80 g (light-thin, 0.6) to 224 g (standard, 1.2).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
From Cal's review: standard's ribs missed most holes. Every variant now has a
0.8 mm web, 3 mm up from the top face, along every row and column of holes,
tying each boss to its neighbours; it's notched round the edge bosses for the
plate sleeves.

Test pieces drop to 3 rows: one test hole per size per piece, between edge rows
for the plates.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The sleeves now slide 3 mm down the edge bosses and stop 0.4 mm above the web,
so the web runs whole to every edge boss.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
From Cal's review:

- Every boss runs full height. A joiner is four rings tied by webs; the rings
  slide over the bosses' ends and stop on the tile's web, flush with the back.
  The band is cut only where a joiner's rings and webs pass through it, rather
  than lowering the whole edge.
- Round one is two strips: five screw pilot holes in one wall, and three boss
  walls round one hole (about 3 g). The joiner fit waits for the wall, so it
  moves to round two with the pins; the 2 x 2 set, full tile and test holder
  are round three.
- Joiners are labelled by V-notches round one ring, since their webs are too
  small for dots.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Round one chose a 3.2 mm hole and a 0.5 mm wall (light-thin). Every wall bent,
so each boss now flares out with a 1 mm 45 degree chamfer onto the top face.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Round two's first try was far too tight: no peg came close to its hole, and the
loosest joiner (0.15 mm) went on only 1 mm. Joiners now run 0.2-0.6 mm radial
clearance, with the band's ring room grown to match, and pegs 0.3-0.8 mm under
the hole. Pegs' dots couldn't be read, so each size is 2 mm longer than the last.
The pins strip goes: the pegs use the joiner tiles' holes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@XDGFX
XDGFX marked this pull request as ready for review October 4, 2026 07:46
@XDGFX
XDGFX merged commit 2032cc9 into main Oct 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Lock down the grid base spec with test prints

1 participant