[family-assembly] Add t_handle_ball_lock_pin - #54
Open
jiashunwu1030-oss wants to merge 8 commits into
Open
Conversation
Signed-off-by: 吴嘉顺 <jiashunwu1030@gmail.com>
|
Welcome, and thanks for the family PR! Three things that answer most questions:
中文:红 ✗ 点 Details 或看 validate 报告评论;本地 |
bench2 validatet_handle_ball_lock_pinPreviews: the |
Signed-off-by: 吴嘉顺 <jiashunwu1030@gmail.com>
Signed-off-by: 吴嘉顺 <jiashunwu1030@gmail.com>
Signed-off-by: 吴嘉顺 <jiashunwu1030@gmail.com>
Signed-off-by: 吴嘉顺 <jiashunwu1030@gmail.com>
Signed-off-by: 吴嘉顺 <jiashunwu1030@gmail.com>
jiashunwu1030-oss
marked this pull request as ready for review
July 26, 2026 11:14
HaozheZhang6
requested changes
Jul 27, 2026
HaozheZhang6
left a comment
Collaborator
There was a problem hiding this comment.
For assembly case, we also need the render img for each part and a picture showing how it is assembled.
Collaborator
|
please also copy the reference picture and drawing from issue |
HaozheZhang6
requested review from
JiusongZhou7,
TimPetrillo,
a1423150775-dotcom,
bnyang,
qiwei-lai-2007,
songmingqing36-lang and
sunzhenchuan007
July 28, 2026 09:46
sunzhenchuan007
approved these changes
Jul 28, 2026
This was referenced Jul 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Family
t_handle_ball_lock_pinOfficial manufacturer reference — copied from Family Issue #53
The primary official GN 113.8 datasheet page below contains the manufacturer product photo and dimensioned drawing.
Generated — benchmark views (what the model sees)
The four benchmark viewing directions for the submitted family:
Generated — easy / medium / hard samples
The deterministic difficulty samples used for the family preview:
Extremes — smallest & largest sampled instances
The left model is
GN 113.8-5-10; the right model isGN 113.8-25-150.Modeled external bodies — medium seed 0
catalog_index 18 — GN 113.8-12-20The image separates the five actual modeled bodies:
The upper and lower locking balls are two distinct assembly instances.
Schematic exploded / assembly sequence
Schematic exploded/assembly sequence of the five modeled external bodies; not an authoritative manufacturing procedure.
The final stage matches the locked state returned by
part.py. Hidden springs, push rods, and the internal actuator are not modeled. The image shows only the relative positions of the five modeled external bodies and does not claim to reproduce a manufacturer-specified assembly process.Button input and locking-ball motion — schematic
Schematic operating states of the modeled external bodies. The hidden actuator mechanism is omitted; button travel and intermediate motion are not manufacturer-specified dimensions.
Button input and ball retraction are functionally associated through an omitted internal mechanism; direct contact is not modeled.
For this
GN 113.8-12-20example,d1 = 12 mmandd2 = 14.5 mm. The per-side locked protrusion shown is the geometric envelope difference(d2-d1)/2 = 1.25 mm; it is not claimed as the manufacturer-specified physical ball travel. The illustrated button displacement is schematic and is not an official catalog dimension.How it's parameterized
catalog_indexselects one complete manufacturer row; dimensions are never independently mixed into catalog combinations that do not exist.GN 113.8-5-10throughGN 113.8-25-150.d1,l1,d2,d3,d4,l2,l3, andm.d1 -0.04/-0.08,l1 +0.6, andl2 ±1mm.catalog_index 18 / GN 113.8-12-20is the deterministicmedium seed 0sample. Its modeled shaft length isl1+l2 = 20+10.6 = 30.6 mm."solids": 5and returns five non-degenerate visible bodies: the pin shaft with locking-ball pockets, the T-handle with integrated hub/shoulder, the external push button, and two locking-ball instances.Verification (every sampled instance — five non-degenerate solids)
bench2 validate t_handle_ball_lock_pin --seeds 5→ PASS.Validation results
family.json, base plane, parameter contractvalidate-designs / validateModeling simplifications and constraints
catalog_indexmappings come from complete rows in the official manufacturer catalog.catalog_index 18 / GN 113.8-12-20ismedium seed 0, and its shaft length isl1+l2 = 30.6 mm.family.jsonandpart.py; they are not presented as exact catalog dimensions.Delivered files
part.py— CadQuery geometryspec.py— 30 complete catalog rows, parameter contract, and constraintsfamily.json— provenance, description, contributor, andsolids: 5preview.png— difficulty overviewpreview_views.png— four benchmark viewspreview_extremes.png— global minimum and maximumChecklist
bench2 validate t_handle_ball_lock_pin --seeds 5passes; CI validation also passes.family.jsondeclares"solids": 5, and every entity is non-degenerate.PARAM_SPEC.sourceand everycheck()constraint cites the manufacturer table, a physical constraint, or honestly says"proportion".Sources used