Skip to content

[family-assembly] truss_half_coupler_hook: rigging half coupler / hook clamp - #47

Open
BenchCAD wants to merge 4 commits into
mainfrom
family/truss_half_coupler_hook
Open

[family-assembly] truss_half_coupler_hook: rigging half coupler / hook clamp#47
BenchCAD wants to merge 4 commits into
mainfrom
family/truss_half_coupler_hook

Conversation

@BenchCAD

@BenchCAD BenchCAD commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

Family

Reference (re-embedded from issue #29 — Doughty T57000/T57200)

Dimensioned drawing Product photo
drawing photo

Renders (regenerated at this PR's head)

preview.png
preview_views.png
preview_hard_zoom.png
preview_extremes.png
preview_parts.png

How it's parameterized — assembly

Per review: the coupler is modelled as the six parts it is assembled from
hinged lower/upper shell around the Ø48-51 barrel, hinge pin, swivel closing
bolt (pivot eye + shank + ring thread), its pivot pin, and a DIN 315-style wing
nut whose internal thread rings sit on the same z-grid as the bolt rings,
offset half a pitch — engaged and measurably non-intersecting. Every mate is
contact-or-clearance (pins 0.15 radial, bolt-slot 0.6 a side, split plane 0.6 a
side, nut 0.3 over the lug). Same 8 sampled params as before (width 30-50 and
base drop 40-55 remain the per-model axes; stud still toggles the hook-clamp
variant); the bolt/nut/pin hardware derives from hang_d (M12/M10) as catalog
constants — see NOTES.md.

Verification (every sampled instance — six separate solids, zero pairwise intersection)

difficulty bore_d wall_t body_w base_drop hang_d solids max pair overlap (mm³) bbox (mm)
easy s0 48.37 6.34 48.24 53.08 13.0 6 0.00 126×48×115
easy s1 49.54 6.9 45.72 54.74 12.71 6 0.00 127×46×115
medium s0 49.91 5.08 30.82 40.25 12.78 6 0.00 124×31×136
medium s1 49.54 7.8 32.88 54.23 11.56 6 0.00 123×33×114
hard s0 49.91 5.35 30.86 40.25 13.24 6 0.00 127×31×138
hard s1 49.54 8.75 33.03 54.23 11.77 6 0.00 126×33×116

bench2 validate truss_half_coupler_hookPASS, including
solids: every instance non-degenerate, 6 solid(s) each (declares solids=6).
Pairwise intersection measured directly (OCC common op) on both variants — all
0.00 mm³, including the interleaved bolt/nut thread rings.

Checklist

  • uv run bench2 validate truss_half_coupler_hook passes locally (CI re-runs it)
  • I ran uv run bench2 preview, looked at every image, and committed all four renders; the part matches the issue's reference drawing across all tiers, and both extremes are sane
  • Multi-body part: family.json declares "solids": 6; per-part render committed and embedded above
  • Every PARAM_SPEC.source and every check() constraint cites a real rule/table, or honestly says "proportion"nothing fabricated
  • PR touches only designs/truss_half_coupler_hook/, and only the package files
  • Commits are DCO-signed
  • (AI-assisted) I reviewed every line and stand behind the constraints

Sources used

  • Doughty T57000/T57010/T58080/T58100/T57200 datasheets: Ø48-51 bore, widths 30-51, tube-centre→base 40-55, eye Ø12.7 (M12) / M10 option, hook-clamp M12x50 stud 34 proud; drawing dims 107 across / 116 tall / pins at 55.
  • DIN 315 (wing nut proportions, shape anchor) and ISO 261 coarse pitch for the closing bolt — hardware constants derived from hang_d, documented in NOTES.md.

Doughty T57000/T57200 class: ring closed round the standard 48-51 mm barrel,
closing-bolt lug over the crown, hanging tang with a fixing eye or a protruding
M12 stud (hook-clamp variant). 8 params, one feature (stud). bench2 validate
passes; renders inspected.

Signed-off-by: BenchCAD <benchcad@users.noreply.github.com>
@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown

bench2 validate

truss_half_coupler_hook

  ✓ family.json: keys + base_plane valid
  ✓ pieces: build(8 params) + PARAM_SPEC + check present
  ✓ PARAM_SPEC: 8 params, all entries complete
  ✓ easy: 4/4 seeds sample+check+build+execute clean
  ✓ medium: 4/4 seeds sample+check+build+execute clean
  ✓ hard: 4/4 seeds sample+check+build+execute clean
  ✓ difficulty separation: difficulties produce distinct programs
  ✓ geometry novelty: 12/12 unique shapes (0% duplicate)
  ✓ solids: every instance non-degenerate, 6 solid(s) each (declares solids=6)
PASS — designs/truss_half_coupler_hook

Previews: the previews artifact on this run.

…w fixes

Codex (gpt-5.6-sol): the XZ extrusion already runs -Y, so translating by
-body_w/2 put the ring beside the lug/tang, meeting only at a coincident face
(overall width doubled). Recentre with +body_w/2. Also: stud is catalog-fixed
M12 (not eye-driven), eye-room check applies only to the eye variant, wall
check threshold now binding (bore/11), width/base_drop ranges tightened to the
catalog (30-51 / 40-55), 'extruded' not 'cast'.

Signed-off-by: BenchCAD <benchcad@users.noreply.github.com>
HaozheZhang6 and others added 2 commits July 31, 2026 02:27
Per maintainer review: the coupler is now the six parts it is assembled
from — hinged lower/upper shells around the Ø48-51 barrel, hinge pin,
swivel closing bolt (pivot eye + shank + ring thread), pivot pin, and a
DIN 315-proportion wing nut whose internal rings nest half a pitch
between the bolt rings. All mates are contact-or-clearance; pairwise
intersection measures 0.00 mm³ on sampled instances and four parameter
corners. family.json declares solids: 6; NOTES.md maps the Doughty
drawing symbols and the hardware derivation; all renders regenerated
including preview_parts.png.

Signed-off-by: BenchCAD <benchcad@users.noreply.github.com>
@BenchCAD BenchCAD changed the title [family] truss_half_coupler_hook: rigging half coupler / hook clamp [family-assembly] truss_half_coupler_hook: rigging half coupler / hook clamp Jul 31, 2026
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.

[family-assembly] truss_half_coupler_hook

2 participants