Skip to content

Baseplates: corner pockets with a 2 mm screw hole leave open edges under the bosses at 34.04 mm #80

Open

Description

@Oliver-Johnson

Found while sweeping #79 (#70). It is on main (f319c83) and has nothing to do with joints: the design below has none. #79 does not fix it.

What happens. With Mounting base set to corner pockets and screws with a 2 mm hole (default 6 mm head), the boss in each cell's +x, -y corner comes out of its pocket cut at a 34.04 mm pitch with 6 open edges, all on the rim of the screw hole at the boss's top (2.6 mm). With two 2 x 2 pieces that is 24 open edges a piece. Checks gives no warning and Download stays on.

Repro (no joint, so these are main's bytes): https://drawerforge.co.uk/#pi=34.04&w=136.16&d=68.08&bw=84&cn=none&bm=bosses&sc=1&sh=2

Figures, per piece, on main's page, counted with the page's own checkManifold. The page's bad-edge count is open edges plus edges used four times; every four-use edge here lies on a line between two cells, where neighbouring bosses meet, which is the known kind the plate audit quarantines.

Pitch 2 mm hole (sh=2) 3 mm hole (sh=3)
34 (w=136&d=68) 126 = 0 open + 126 four-use 40 = 0 open + 40 four-use
34.04 (the link) 150 = 24 open + 126 four-use 40 = 0 open + 40 four-use
34.08 (w=136.32&d=68.16) 126 = 0 open + 126 four-use 40 = 0 open + 40 four-use
  • The open edges come from the boss's own cut: one quarter boss minus its pocket, cut alone as buildPiece cuts it, gives the same 6 open edges at 34.04 and none at 34 or 34.08. No vertex of either solid lies within 0.001 mm of the other's planes, so it comes from the BSP's splitting, not a near-coincidence.
  • How often. One 2 x 2 piece, no joint, pitches 30 to 50 mm every 0.01 (2,001 pitches), open edges only, built in Node: on main, 52 pitches leave open edges with a 2 mm hole and 48 with a 3 mm hole. On Keep a joint's housing empty and every pocket open with corner pockets #79's head (which cuts a boss's pocket again when it comes out open) only 34.04 does, with a 2 mm hole. So after Keep a joint's housing empty and every pocket open with corner pockets #79 this is the one case in that range the second cut cannot fix.
  • The screw-pocket branch (claude/screw-flats-clearance) changes the shank's polygon; I haven't checked whether it moves this case.

Possible fix.

  1. Cut a boss's screw shank with 14 sides, as the counterbore and the magnet pocket are. As a trial on Keep a joint's housing empty and every pocket open with corner pockets #79's head, a 2 x 2 piece was watertight at all 2,001 pitches with a 2 mm or a 3 mm hole, 34.04 included. Since fastenerCutter also cuts the solid base's pockets, give the boss's cutter its own number of sides so only corner pockets with screws change.
  2. Narrower: keep 12 sides and, when a boss's pocket is still open after cutAgain, cut it once more with the shank turned half a side (15 degrees). On main that cleared 34.04.
  3. Tests: an audit row for this link, and a sweep of 2 and 3 mm holes from 30 to 60 mm on one-cell and 2 x 2 pieces, for open edges and for which designs change bytes.

Activity

  1. Oliver-Johnson commented on Oct 10, 2026

    @Oliver-Johnson
    OwnerAuthor

    Re-checked on main after #81 (c0dc948). The link in this issue is now refused (the default 6 mm head is over the 5.8 mm cap at 34.04 mm) and the design builds closed at the cap, so the figures above no longer apply. A re-sweep of 21,916 corner-pocket designs the page takes found the same kind of fault at three other pitches (34.32, 34.73 and 38.95 mm, 3 open edges a cell), which is filed as #91 with repro links. #93 adds audit rows for this issue's own sizes and says "Refs #80", so this issue is still open; it can be closed once #91 is fixed or if you prefer to track the rest there alone.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

bugSomething isn't working

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions