Skip to content

[family] metric plastic cable gland - #52

Open
songmingqing36-lang wants to merge 8 commits into
BenchCAD-org:mainfrom
songmingqing36-lang:issue-31-metric-plastic-cable-gland
Open

[family] metric plastic cable gland#52
songmingqing36-lang wants to merge 8 commits into
BenchCAD-org:mainfrom
songmingqing36-lang:issue-31-metric-plastic-cable-gland

Conversation

@songmingqing36-lang

@songmingqing36-lang songmingqing36-lang commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator

Reference (re-embedded from issue #31)

Datasheet drawing Product photo
drawing photo
Datasheet drawing Product photo

Family

  • Family: metric_plastic_cable_glandcat:enclosure-hardware
  • Closes [family] metric_plastic_cable_gland #31
  • An assembled metric polyamide cable gland with a male connection thread, hexagonal body, fluted domed cap, cable passage, and an M40+ shoulder seal.

Reference (issue #31 — LAPP SKINTOP ST-M)

Datasheet drawing Part photo
drawing photo

Generated — benchmark views (what the model sees)

preview_views
preview_hard_zoom.png

Generated — easy / medium / hard samples

preview

Extremes — smallest & largest sampled instances

preview_extremes

How it's parameterized

size_index selects one complete LAPP SKINTOP ST-M catalog row from M12 through M63. refine() then copies that row's nominal thread diameter, wrench size, cap diameter A, thread length D, clamping range F, and O-ring state into the model without mixing dimensions between sizes.

tightened selects the published C minimum or C maximum for the same row, representing the fully compressed or relaxed cap position. The external geometry includes an Mx1.5 connection thread, six-flat wrench body, round domed cap with 12 longitudinal grip ribs, functional cable passage, and the M40/M50/M63 shoulder-seal band.

Ten parameters describe the family:

  • size_index: coupled M12–M63 catalog row.
  • thread_d: nominal EN 60423 metric connection diameter; pitch fixed at 1.5 mm.
  • sw: body wrench size across flats.
  • outer_dia_a: cap outside diameter A.
  • overall_len: catalog C minimum or maximum selected by tightened.
  • thread_len: male connection length D.
  • clamp_min, clamp_max: catalog cable clamping range F.
  • o_ring: M40+ NBR shoulder-seal feature.
  • tightened: relaxed versus fully tightened cap position.

The molded thread crest, internal trapezoidal cap thread, elastomer insert, and grip-rib detail are simplified with explicit proportion rules where the manufacturer does not publish their internal geometry.

Verification (sampled instances — one non-degenerate solid)

difficulty row state thread SW A C clamp F O-ring solids valid bbox (mm)
easy s0 M16 relaxed 16 19 21.1 34 4–10 0 1 yes 21.9×21.2×34
medium s0 M32 tightened 32 36 40.3 39 9–21 0 1 yes 41.6×40.3×39
hard s0 M63 tightened 63 66 73.9 59 34–45 1 1 yes 76.2×73.9×59
hard s1 M50 tightened 50 55 61.6 54 27–34 1 1 yes 63.5×61.6×54
hard s2 M63 relaxed 63 66 73.9 71 34–45 1 1 yes 76.2×73.9×71

uv run bench2 validate metric_plastic_cable_gland --seeds 4PASS (10 parameters complete; all eight catalog rows covered; difficulties distinct; every instance one non-degenerate solid).

Checklist

  • uv run bench2 validate metric_plastic_cable_gland passes locally
  • preview.png, preview_views.png, and preview_extremes.png generated and inspected
  • all M12–M63 dimensions remain coupled to one DB53111000EN v17 catalog row
  • single-solid family; family.json correctly omits a multi-body solids declaration
  • every PARAM_SPEC.source and check() constraint cites a catalog/rule or honest proportion
  • PR touches only designs/metric_plastic_cable_gland/
  • commits are DCO-signed
  • AI-assisted; human contributor reviewed every line and stands behind the constraints

Sources used

  • LAPP SKINTOP ST-M official data sheet DB53111000EN v17 (20 June 2023), dimension table for M12x1.5 through M63x1.5.
  • EN 60423 metric cable-gland connection sizes; pitch fixed at 1.5 mm for the selected range.
  • Issue [family] metric_plastic_cable_gland #31 reference drawing and product photograph for the assembled hex-body / round-fluted-cap form.
  • Internal trapezoidal thread, elastomer insert, crest shape, and grip-rib details: proportion, because separate molded dimensions are not published.

Data note: the M20 row has Cmin 34 mm and Cmax 37 mm, so its published compression travel is 3 mm. The implementation follows the v17 table directly where the issue's prose summary says 3.5 mm minimum.


Maintainer commits 5d8001f + 44e4efa: hex washer-face chamfers, thread-end + bore-mouth entry chamfers, full-height deeper grip strips; renders re-pinned to that head.

Signed-off-by: songmingqing36-lang <songmingqing36@gmail.com>
@github-actions

github-actions Bot commented Jul 26, 2026

Copy link
Copy Markdown

bench2 validate

metric_plastic_cable_gland

  ✓ 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: size_index reaches all 8 declared values (standard table fully covered)
  ✓ difficulty separation: difficulties produce distinct programs
  ✓ geometry novelty: 8/12 unique shapes (33% duplicate)
  ✓ solids: every instance non-degenerate, 1 solid(s) each
PASS — designs/metric_plastic_cable_gland

Previews: the previews artifact on this run.

@songmingqing36-lang songmingqing36-lang changed the title design: add metric plastic cable gland [family] add metric plastic cable gland Jul 26, 2026
@songmingqing36-lang songmingqing36-lang changed the title [family] add metric plastic cable gland [family] metric plastic cable gland Jul 26, 2026
@BenchCAD

Copy link
Copy Markdown
Collaborator

Maintainer note: I edited only the image urls in your description — they were pinned to your branch name, which gets deleted when this PR merges (taking every preview with it), so they now point at the same files pinned to 43c195c; no code changed and the images show exactly what they did before. / 【维护者说明】只改了描述里的图片链接:原先钉在分支名上,本 PR 合并后该分支会被删除、预览图会随之永久失效,现已改钉到 43c195c,指向的仍是同样的文件;代码没有任何改动,图片内容也完全一致。

@HaozheZhang6 HaozheZhang6 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In top view the circle is internally tangent; not externally tangent


Thread-construction check (added 07-31): _ring_thread (part.py:14-24) builds the thread as concentric rectangular rings — consistent with the framework's ring-thread baseline (no helix on the pinned cadquery), so the construction itself is fine. Two details: the crest width is a fixed 0.45 mm instead of scaling with pitch (at P=1.5 that's a thin rib; use ~0.4·P), and int(height/pitch) plus the early break can leave the top of the band bare — derive the count from the covered span. The tangency finding above still stands.

…, full-height grip strips

Maintainer pass on top of the review:
- both hex bands get the z-direction washer-face chamfer on their top and
  bottom rims (previously only the vertical corner edges were chamfered);
- the bottom-most plane gets its lead-in: a 45-degree chamfer on the
  thread-end OD and a matching cone at the bore mouth;
- the grip strips beside each corner of the upper nut now run the full
  height of that band and cut a little deeper (they stopped 11% short at
  both ends and read as a detached stub).

bench2 validate passes; all four renders regenerated.

Signed-off-by: HaozheZhang6 <haozhezhang6@users.noreply.github.com>
@HaozheZhang6

HaozheZhang6 commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Maintainer pass, pushed as 5d8001f + 44e4efa on top of the review — five geometry updates, renders regenerated:

  1. Top-view tangency (the review finding) — the dome base is now the hexagon's inscribed circle (sw/2, tangent to the flats from inside; it was outer_dia_a/2 and stood proud of the flats).
  2. Stepped top entry — the cable entry is a counterbore stepping down to the clamp bore: two concentric circles in top view, as on the real gland.
  3. Hex washer-face chamfers — both hex bands carry the z-direction chamfer on their top and bottom rims (previously only the vertical corner edges).
  4. Entry chamfers on the bottom plane — 45° lead-in on the thread-end OD plus a cone at the bore mouth.
  5. Grip strips full height, deeper — they stopped 11 % short at both ends; now aligned with the nut band and cut deeper (0.08→0.10·A).

Before (top row) vs after (bottom row) — iso · top view (tangency + step bore) · low-angle:

before/after

All four renders at 44e4efa:

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

Also in the PR body: render links re-pinned to this head, a ## Reference section re-embedding issue #31's drawing + photo, and preview_hard_zoom.png. bench2 validate passes. Still open from the review: the two thread-ring details (crest width vs pitch; top-of-band coverage).

… top entry

Addresses the top-view tangency review finding: the dome base is now the
hexagon's inscribed circle (sw/2, tangent to the flats from inside; it
was outer_dia_a/2 and stood proud of the flats), with the arc bulge kept
inside it. The top entry is now a stepped bore: a seal counterbore
(clamp bore + max(1.2, 0.045 A), 0.30 dome_h deep) stepping down to the
clamp bore — two concentric circles in top view, as on the real gland.
Renders regenerated.

Signed-off-by: HaozheZhang6 <haozhezhang6@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.

[family] metric_plastic_cable_gland

3 participants