Skip to content

feat: add swivel_clamp_connector_joint family - #71

Open
sunzhenchuan007 wants to merge 2 commits into
BenchCAD-org:mainfrom
sunzhenchuan007:codex/swivel-clamp-connector-joint
Open

feat: add swivel_clamp_connector_joint family#71
sunzhenchuan007 wants to merge 2 commits into
BenchCAD-org:mainfrom
sunzhenchuan007:codex/swivel-clamp-connector-joint

Conversation

@sunzhenchuan007

Copy link
Copy Markdown
Collaborator

Family

Official references

Generated previews

Standard preview Benchmark views
standard preview benchmark views

Extremes

extreme instances

Component inspection

Seven rows show each physical component highlighted in the assembly plus four isolated views. The bottom panels show the exploded assembly with direction arrows and the separately colored final assembly.

per-component four-view inspection, exploded view, and colored assembly

Parameterization and catalog-row coupling

The family transcribes all eight published equal-diameter GN 490 rows (d1 = d2, 8–20 mm). clamp_d selects a complete row; refine() then copies d3, d4, l1, l2, l3, l4, l5, and m from that same row. It does not interpolate or independently mix dimensions. Types A and B select the published socket-screw or adjustable-lever actuation variants.

The two complete clamp bodies are fixed in a 90-degree reference pose. build() returns a semantic cq.Assembly containing:

  1. lower_clamp_body
  2. upper_clamp_body
  3. actuator
  4. hex_nut
  5. distance_bushing
  6. lower_compression_spring
  7. upper_compression_spring

family.json declares "solids": 7 and lists the same seven component names.

Verification

  • uv run bench2 validate swivel_clamp_connector_jointPASS
  • All samples contain exactly 7 non-degenerate solids
  • Exhaustive local geometry audit passed all 16 catalog-row/actuator combinations
  • Maximum pairwise component intersection volume: 0 mm³
  • Maximum nominal rod/component intersection volume: 0 mm³
  • Type B generated envelopes reproduce published l2 and l3 within approximately 1e-7 mm
  • Standard, multi-view, extremes, and per-component four-view previews were inspected locally

Sources, proportions, and known simplifications

Published catalog values and complete-row relationships are preserved exactly. Undimensioned casting details are explicitly recorded as proportion in NOTES.md, including the V-groove construction, body passages/clearances, distance-bushing profile, spring geometry, and simplified DIN fastener/lever envelopes.

Deliberate simplifications:

  • Casting draft, texture, ribs, small blends, chamfers, parting lines, threads, and lever-ratchet internals are omitted.
  • The central distance bushing is a single circular separator with a central round bore and no eccentric opening.
  • The two pressure springs are real helical solids above and below the bushing, but their wire, turns, pitch, and end treatment are proportional because the catalog does not dimension them.
  • Context rods/tubes and motion are omitted; no swivel-angle range, load rating, fit class, or tolerance is invented.
  • The final two-body topology, plain clamp-body outer faces, central bushing, and two coaxial springs supersede the Issue's earlier provisional six-solid/four-jaw/offset-spring interpretation after visual acceptance.

Checklist

  • Only designs/swivel_clamp_connector_joint/ is included
  • family.json, part.py, and spec.py agree on seven semantic components
  • Official dimensions are complete-row coupled; unsupported geometry is labeled proportion
  • check() retains engineering constraints and was not weakened for sampling
  • bench2 validate passes locally
  • Four standard previews plus per-component four-view inspection are committed
  • Human-guided visual inspection completed before PR creation
  • DCO-signed commit
  • AI-assisted implementation; sources, constraints, geometry, and deviations documented for human review

This PR is opened as Draft pending CI and maintainer review.

Signed-off-by: Zane <sunzhenchuan@mail.ustc.edu.cn>
@github-actions

Copy link
Copy Markdown

Welcome, and thanks for the family PR! Three things that answer most questions:

  • No checks running? A maintainer must click Approve workflows once for your first PR — pending, not ignored.
  • Red gate? The message tells you the fix: click Details, or read the bench2 validate report comment posted after each run. Reproduce locally with uv sync && uv run bench2 validate <family> (debug help).
  • Scope: designs/<family>/ holds only the package files (reference drawings/photos go in the family issue), and the PR checklist must be fully ticked. Not done yet? Mark the PR as a Draft.

中文:红 ✗ 点 Details 或看 validate 报告评论;本地 uv run bench2 validate <family> 复现;参考图放 issue 不放 PR;没做完用 Draft。入门 → GETTING_STARTED.zh

@github-actions

github-actions Bot commented Jul 27, 2026

Copy link
Copy Markdown

bench2 validate

swivel_clamp_connector_joint

  ✓ family.json: keys + base_plane valid
  ✓ pieces: build(10 params) + PARAM_SPEC + check present
  ✓ PARAM_SPEC: 10 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
  ✓ coverage: clamp_d reaches all 8 declared values (standard table fully covered)
  ✓ coverage: actuator_type reaches all 2 declared values (standard table fully covered)
  ✓ difficulty separation: difficulties produce distinct programs
  ✓ geometry novelty: 9/12 unique shapes (25% duplicate)
  ✓ solids: every instance non-degenerate, 7 solid(s) each (declares solids=7)
PASS — designs/swivel_clamp_connector_joint

Previews: the previews artifact on this run.

@sunzhenchuan007
sunzhenchuan007 marked this pull request as ready for review July 28, 2026 13:10
@HaozheZhang6

Copy link
Copy Markdown
Collaborator

Is this pr a new family or editing on an existing family?

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] swivel_clamp_connector_joint

3 participants