Skip to content

Enlarge gusset on cylinder_holder_46mm_slot for build-plate adhesion (st-skn) - #1

Closed
SeanOC wants to merge 1 commit into
mainfrom
gusset-46mm-skn
Closed

Enlarge gusset on cylinder_holder_46mm_slot for build-plate adhesion (st-skn)#1
SeanOC wants to merge 1 commit into
mainfrom
gusset-46mm-skn

Conversation

@SeanOC

@SeanOC SeanOC commented Apr 20, 2026

Copy link
Copy Markdown
Owner

Summary

Prints of the 46mm cylindrical holder were failing — initial layers curled off the build plate. The narrow 50×6.5 backer strip + small trapezoidal gusset (20→8 × 6mm) left two thin first-layer patches with weak edges.

Changes

  • `gusset_back_w`: 20 → 46 (~full backer width)
  • `gusset_front_w`: 8 → 30 (embraces cup tangent zone)
  • `gusset_depth`: 6 → 10 (reaches past ring tangent, merges into cup wall)
  • Dropped bottom chamfer on gusset (it faces the build plate and was shrinking first-layer area for an invisible edge)

Impact

  • Gusset-contributed area: 74 → 325 mm² (~4.4×, exceeds the 2× target in the bead)
  • Total bed contact: ~1839 → ~2090 mm² (~14% overall)
  • Critical: stitches backer strip + gusset + cup into one continuous bonded region, eliminating the backer-corner curl initiation site
  • PRINT_ANCHOR_BBOX unchanged (52.5×59×80)

Test plan

  • OpenSCAD render OK
  • Print the updated model and confirm no curl

Authored by obsidian polecat; cherry-picked onto a clean branch off main (the polecat branch also carried an unrelated gt-pvx safety-net commit from Apr 18).

Refs: st-skn, hq-cv-yhw4a

🤖 Generated with Claude Code

…(st-skn)

Print orientation puts the cradle Z-axis vertical, so the bed sees three
patches: the backer's narrow 50×6.5 bottom strip, the cup floor wedge,
and a small gusset trapezoid bridging them. Prints were curling at the
backer corners — the strip is too thin and the original 20→8mm × 6mm
gusset added almost no area to the bond.

Widened the gusset trapezoid (back 20→46, front 8→30, depth 6→10) so
it spans nearly the full backer width and reaches past the ring's near
tangent into the cup-wall region. The gusset bottom now blends into the
cup floor on the build plate, turning two narrow patches into one
continuous bonded footprint. Gusset bed area: ~74 → ~325 mm² (~4.4×).

Also dropped the gusset's bottom chamfer — it faces the build plate, so
chamfering it just shaves first-layer area off an invisible edge.

Renders verified: bbox unchanged (52.5×59), cradle profile unchanged,
gusset visible in side and front views as a wide skirt at the base of
the cradle. PRINT_ANCHOR_BBOX still accurate.

Out of scope per the bead: 42mm/70mm/77mm backports.
@SeanOC

SeanOC commented Apr 20, 2026

Copy link
Copy Markdown
Owner Author

Closing — no PR flow on stuff. Landing directly on main.

@SeanOC SeanOC closed this Apr 20, 2026
@SeanOC
SeanOC deleted the gusset-46mm-skn branch April 20, 2026 23:46
SeanOC added a commit that referenced this pull request Aug 17, 2026
…DOES mate (pst-fpa5)

Codex gate finding #1 on PR #64: the "screw-thread, NOT compatible with our
Multiboard-derived slot" conclusion was wrong. Re-measured the head mesh and
cross-checked our own slot geometry:

- multiconnectSlotDesign.scad builds the female slot with rotate_extrude of
  [[0,0],[10.15,0],[10.15,1.2121],[7.65,3.712],[7.65,5],[0,5]] — a
  rotationally-symmetric Ø20.3 mouth (1.2121mm deep) tapering to a Ø15.3
  throat. NOT a linear dovetail; the mating male stud is meant to be round.
- openGrid head presents a Ø~20 cap (~1.2mm thick) on a Ø~7.5 neck; the
  Ø16/15 thread below is the INTERNAL head↔snap joint, not the accessory
  interface. Cap Ø and 1.2mm seat depth match the slot mouth almost exactly;
  the neck clears the Ø15.3 throat while the Ø20 cap is retained behind it.

So they are two halves of the SAME Multiconnect interface (male stud +
female slot). The earlier read mistook the assembly thread for the mount
interface and assumed a rotationally-symmetric stud couldn't be Multiconnect
(our own slot is itself rotationally symmetric).

Rewrote both the assets README fit section (with a direct clearance table +
measured male-stud profile) and the libs/README.md constants to document the
real limitation: PITCH, not profile — openGrid cells are 28mm vs the 25mm
Multiboard slot default, so a single stud always mates but a multi-slot
accessory must be built at distanceBetweenSlots=28. Docs only; no SCAD
rebuilt, nothing relabeled. npm test 218/218.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GAPCqAw3FoZhCDwWkcDiRk

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
SeanOC added a commit that referenced this pull request Aug 18, 2026
…ete CC BY notice (pst-ws2l)

Addresses the 3 P1 codex findings on PR #64 at head 9ece1a4:

#1 Male-stud profile was numerically wrong. Re-measured openGrid Multiconnect.3mf
by WATERTIGHT CROSS-SECTION (trimesh.section per depth) instead of the earlier
vertex-radius-max hack, which under-sampled the smooth cone and mistook the
Ø~7.5 inner drive-recess loop (7.5mm = radius, ~Ø15) for an outer neck. Truth:
a smooth Ø20->Ø15 frustum over the first ~3.5mm, then the external M16 thread
shank (Ø14-16) that screws INTO the snap and is hidden after assembly. Replaced
the table with depth-aligned outer Ø, added a male-vs-female clearance table
(~0.3-0.7mm matched slip-fit), and fixed the "internal M16 shank" label -> the
head carries the EXTERNAL thread.

#2 Slot is not wholly rotationally symmetric. Corrected both READMEs: the
profile feeds a rotate_extrude ROUND LOADING POCKET plus two mirrored
linear_extrude calls forming a LONGITUDINAL CHANNEL (countersunk slide-fit,
not a linear dovetail undercut).

#3 CC BY notice completed per CC BY 4.0 3(a)(1): added canonical source URL
(opengrid.world + MakerWorld models 1307474/1179191), the CC BY 4.0 license
URI, required attribution string, and modification status. Files verified
VERBATIM — all 12 committed .step/.3mf/.stl are byte-identical (sha256) to the
operator's delivered originals. Added asset-level assets/openGrid-multiconnect/NOTICE.

Compatibility conclusion unchanged and now better supported (clean slip-fit).
Docs only; no SCAD rebuilt, nothing relabeled. npm test 218/218.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GAPCqAw3FoZhCDwWkcDiRk

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
SeanOC added a commit that referenced this pull request Aug 18, 2026
…constants (pst-c73m) (#64)

* chore(assets): vendor openGrid Multiconnect reference CAD + measured constants (pst-c73m)

Vendor the operator-delivered official openGrid Multiconnect source geometry
(ddanier / Shapr3D STEP exports) into assets/openGrid-multiconnect/ so the
files live in-repo. Includes STEP for all 6 parts + a print-ready mesh each
(.3mf, or .stl for Lock Snap). Omits the proprietary .shapr editables and the
redundant bundle zip (kept in operator incoming/) — trims ~20MB to ~3MB.

Measured from the STEP/mesh (trimesh + stdlib, no CAD kernel) and documented
in the assets README + libs/README.md next to the Multiboard constants:
- center thread ~M16 x 3.0 (snap internal Ø~16.5, head external Ø~16.0)
- snap body 25.6 x 25.6 x 6.8mm (Directional +0.4 key; Lock 25.8); one 28mm cell
- head/plug 20 x 20 x 10.8mm threaded dome

KEY FINDING (documentation only; no SCAD rebuilt, nothing relabeled):
openGrid Multiconnect is a SCREW-THREAD system, mechanically DIFFERENT from
the Multiboard dovetail slot our mount_type=multiconnect targets
(20.3mm mouth -> 15.3mm waist, 5mm deep, 25mm pitch). They do not mate. The
"shared-standard compatibility" premise in the bead is not supported by the
delivered geometry — matches mayor ruling ci-wisp-u8lc7o3; bears on pst-d3c3.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SHbWj3sm7nEDPEFyNPeQo

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(assets): correct openGrid Multiconnect fit conclusion — the stud DOES mate (pst-fpa5)

Codex gate finding #1 on PR #64: the "screw-thread, NOT compatible with our
Multiboard-derived slot" conclusion was wrong. Re-measured the head mesh and
cross-checked our own slot geometry:

- multiconnectSlotDesign.scad builds the female slot with rotate_extrude of
  [[0,0],[10.15,0],[10.15,1.2121],[7.65,3.712],[7.65,5],[0,5]] — a
  rotationally-symmetric Ø20.3 mouth (1.2121mm deep) tapering to a Ø15.3
  throat. NOT a linear dovetail; the mating male stud is meant to be round.
- openGrid head presents a Ø~20 cap (~1.2mm thick) on a Ø~7.5 neck; the
  Ø16/15 thread below is the INTERNAL head↔snap joint, not the accessory
  interface. Cap Ø and 1.2mm seat depth match the slot mouth almost exactly;
  the neck clears the Ø15.3 throat while the Ø20 cap is retained behind it.

So they are two halves of the SAME Multiconnect interface (male stud +
female slot). The earlier read mistook the assembly thread for the mount
interface and assumed a rotationally-symmetric stud couldn't be Multiconnect
(our own slot is itself rotationally symmetric).

Rewrote both the assets README fit section (with a direct clearance table +
measured male-stud profile) and the libs/README.md constants to document the
real limitation: PITCH, not profile — openGrid cells are 28mm vs the 25mm
Multiboard slot default, so a single stud always mates but a multi-slot
accessory must be built at distanceBetweenSlots=28. Docs only; no SCAD
rebuilt, nothing relabeled. npm test 218/218.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GAPCqAw3FoZhCDwWkcDiRk

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* ci: regenerate model thumbnails

* docs(assets): openGrid Multiconnect license = CC BY 4.0 (operator-verified) (pst-c73m)

Sean verified the MakerWorld model pages directly 2026-08-17 (models
1307474 / 1179191): license is CC BY 4.0, so republishing the STEP/3MF/STL
here is permitted with attribution. Drop the TBV/unverified caveat; require
openGrid / David D (ddanier) attribution. Resolves the PR #64 republish P1.
Also drop residual "dovetail" wording (the interface is a rotationally-
symmetric stud-in-pocket, not a linear dovetail).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SHbWj3sm7nEDPEFyNPeQo

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(assets): correct male-stud measurements, slot description + complete CC BY notice (pst-ws2l)

Addresses the 3 P1 codex findings on PR #64 at head 9ece1a4:

#1 Male-stud profile was numerically wrong. Re-measured openGrid Multiconnect.3mf
by WATERTIGHT CROSS-SECTION (trimesh.section per depth) instead of the earlier
vertex-radius-max hack, which under-sampled the smooth cone and mistook the
Ø~7.5 inner drive-recess loop (7.5mm = radius, ~Ø15) for an outer neck. Truth:
a smooth Ø20->Ø15 frustum over the first ~3.5mm, then the external M16 thread
shank (Ø14-16) that screws INTO the snap and is hidden after assembly. Replaced
the table with depth-aligned outer Ø, added a male-vs-female clearance table
(~0.3-0.7mm matched slip-fit), and fixed the "internal M16 shank" label -> the
head carries the EXTERNAL thread.

#2 Slot is not wholly rotationally symmetric. Corrected both READMEs: the
profile feeds a rotate_extrude ROUND LOADING POCKET plus two mirrored
linear_extrude calls forming a LONGITUDINAL CHANNEL (countersunk slide-fit,
not a linear dovetail undercut).

#3 CC BY notice completed per CC BY 4.0 3(a)(1): added canonical source URL
(opengrid.world + MakerWorld models 1307474/1179191), the CC BY 4.0 license
URI, required attribution string, and modification status. Files verified
VERBATIM — all 12 committed .step/.3mf/.stl are byte-identical (sha256) to the
operator's delivered originals. Added asset-level assets/openGrid-multiconnect/NOTICE.

Compatibility conclusion unchanged and now better supported (clean slip-fit).
Docs only; no SCAD rebuilt, nothing relabeled. npm test 218/218.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GAPCqAw3FoZhCDwWkcDiRk

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(assets): correct female slot axis in fit proof — throat-first undercut (pst-c73m)

Codex gate P1 (review of head 22e5ad2, bead pst-xspf): the fit proof reversed
the QuackWorks cavity depth axis. Corrected using a DIRECT measurement — a
single-slot multiconnectBack(25,40,25) exported (Manifold+CGAL) and
cross-sectioned through the pocket centre (trimesh.section):

  board face (y=-6.5) opens at the Ø15.3 THROAT, flares to a Ø20.3 undercut
  pocket behind it, blind at ~4.15mm — NOT a Ø20.3 mouth tapering to Ø15.3
  over 5mm.

Rewrote the fit sections in assets/openGrid-multiconnect/README.md and the
libs/README.md mirror:
- female cut = throat-first keyhole undercut (measured table), depth 4.15mm
- engagement = slide-in via on-ramp + undercut CAPTURE (Ø20 cap behind Ø15.3
  throat), not a straight push/countersink
- clearance table now compares CO-LOCATED surfaces (Ø15 stem vs Ø15.3 throat
  ~0.3mm; Ø20 cap vs Ø20.3 pocket ~0.3mm); dropped the hidden-thread row
- assembled axial seating flagged as print-verify, not proven on paper

Fit conclusion unchanged (they mate; share the Multiconnect male/female
interface; only board pitch differs 28 vs 25). npm test 218/218.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SHbWj3sm7nEDPEFyNPeQo

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(assets): drop misattributed MakerWorld model 1307474 from notice (pst-c73m)

Codex gate finding pst-39ah: MakerWorld model 1307474 is a Wayward_Electron
derivative, not David D's source, so citing it as the provenance/license
source is wrong. Remove the 1307474 reference from the NOTICE and README;
keep David D's source bundle (model 1179191) as the operator-verified CC BY
4.0 source. Attribution to David D (ddanier) / openGrid is unchanged.

Docs-only. npm test 218/218.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SHbWj3sm7nEDPEFyNPeQo

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

1 participant