[family-assembly] window_cam_lock: AmesburyTruth 17 Series cam lock - #56
[family-assembly] window_cam_lock: AmesburyTruth 17 Series cam lock#56sunzhenchuan007 wants to merge 2 commits into
Conversation
Signed-off-by: Zane <sunzhenchuan@mail.ustc.edu.cn>
|
Welcome, and thanks for the family PR! Three things that answer most questions:
中文:红 ✗ 点 Details 或看 validate 报告评论;本地 |
bench2 validatewindow_cam_lockPreviews: the |
HaozheZhang6
left a comment
There was a problem hiding this comment.
This is a good one. We also need the render of each part, and how to assemble it.
Signed-off-by: Zane <sunzhenchuan@mail.ustc.edu.cn>
|
Addressed the assembly feedback in 3160062: split the physical parts into build_fixed_body() and build_rotating_body(), return a named cq.Assembly, added matching family.json components metadata, and added preview_parts.png with sequential component highlighting, an exploded insertion view, and the final assembly. Revalidated all 12 sampled poses: both components remain non-degenerate, maximum intersection volume is 0, and minimum clearance is 0.20 mm. |
Family
window_cam_lock-cat:window-hardware- multi-body assemblyReference (issue #55 - AmesburyTruth 17.23 EntryGard / 17.32 Trimline)
Generated - easy / medium / hard grid
Generated - four benchmark views
Extremes - minimum and maximum sampled instances
Components and assembly
Each panel keeps the full assembly context: the active component is highlighted,
the mating component is ghosted, and the exploded panel shows the spindle
insertion direction.
How it is parameterized - multi-body
A surface-mounted window cam lock with a fixed housing and a rotating
lever/cap/spindle.
build_fixed_body()andbuild_rotating_body()constructthe two physical components independently.
build()returns acq.Assemblywhose stable child names match
family.json.components;family.jsondeclares
"solids": 2.product_rowselects one complete official source row: AmesburyTruth17.23.XX.200EntryGard or17.32.XX.200Trimline.refine()copies allofficial dimensions and the alignment-lug state from that row, so dimensions
from the two products cannot be mixed. The handle angle spans 0-90 degrees.
The housing has a shallow asymmetric cavity: one long side is open, while the
opposite long side and both short ends remain closed. The 17.32 row has two
proportioned alignment lugs on one long side; the 17.23 row has none.
Verification
bench2 validate window_cam_lock-> PASSComponent-level audit across all 12 sampled poses:
components[].quantityagree with the Assembly andsolids0.000000000 mm^30.200000 mmbench2 preview window_cam_lockrendered all nine tier/seed images plus bothextremes. The three standard previews and
preview_parts.pngwere inspected.Checklist
uv run bench2 validate window_cam_lockpasses locallyuv run bench2 preview window_cam_lock, inspected every image, and committedpreview.png,preview_views.png,preview_extremes.png, and assembly evidence inpreview_parts.pngfamily.jsondeclares"solids": 2and namedcomponentsPARAM_SPEC.sourceand everycheck()constraint cites a real rule/table or honestly says"proportion"; nothing is fabricateddesigns/window_cam_lock/; reference drawings and photos remain in issue [family-assembly] window_cam_lock #55Sources used
17.23.XX.200EntryGard official drawing and product page17.32.XX.200Trimline official drawing and product pageproportionformulas for undimensioned housing, cavity, lever, spindle, and lug detailsNOTES.mdrecords the 17.23 and 17.32 height recalculations, mounting-hole andcountersink margins, every proportion formula, engineering constraints,
component assembly basis, and deliberate deviations.