Sign in with STEVE

steve/hex-standoff

Hex standoffs M2 to M4, female/female and male/female: Würth WA-SBRII/SBRIE (M2), Harwin R25/R30/R40 (M2.5 to M4).

v1.0.0 Latest STEVE MIT 0

Not affiliated with or endorsed by Würth.

Isometric
part.py 50 lines · Python · STEVE runtime · checked
Download
1"""Hex standoffs (spacers) M2 to M4, female/female and male/female: Würth WA-SBRII / WA-SBRIE (M2) and Harwin
2R25/R30/R40-100 (female/female) and -300 (male/female) (M2.5, M3, M4).
3
4A hex prism, width across flats AF (the maker's maximum), corners along X, from z = 0 to the body length L, centred
5on the origin. Internal threads are drawn as bores at the nominal diameter to the maker's (minimum full) thread length
6(through where the maker's part is tapped through; from both ends of a female/female standoff); the male stud, at the
7nominal diameter, runs from z = 0 down by its length. Threads, chamfers and the stud's undercut are not modelled.
8"""
9from steve import Model
10
11thread = "M3" # Thread
12gender = "female-female" # Gender
13length = 10 # mm Body length L
14material = "brass-nickel" # Material
15
16NOMINAL = {"M2": 2.0, "M2.5": 2.5, "M3": 3.0, "M4": 4.0}
17# (thread, gender): (maker series, across flats AF, stud length, [(up to body length, female thread length)])
18# female thread length None = tapped through.
19SERIES = {
20 ("M2", "female-female"): ("Würth WA-SBRII", 4.0, 0, [(15, None)]),
21 ("M2", "male-female"): ("Würth WA-SBRIE", 4.0, 5.0, [(5, 2.5), (10, 5.0), (30, 6.0)]),
22 ("M2.5", "female-female"): ("Harwin R25-100", 5.0, 0, [(20, None), (33, 10.0)]),
23 ("M2.5", "male-female"): ("Harwin R25-300", 5.0, 5.0, [(3, 1.9), (5, 2.5), (6, 3.5), (7, 4.5), (20, 5.0)]),
24 ("M3", "female-female"): ("Harwin R30-100", 5.0, 0, [(21, None), (40, 10.0)]),
25 ("M3", "male-female"): ("Harwin R30-300", 5.0, 6.0, [(4, 2.0), (5, 2.5), (6, 3.0), (7, 4.5), (8, 5.5), (80, 6.0)]),
26 ("M4", "female-female"): ("Harwin R40-100", 7.0, 0, [(21, None), (60, 10.0)]),
27 ("M4", "male-female"): ("Harwin R40-300", 7.0, 8.0, [(6, 2.5), (7, 3.5), (8, 4.5), (9, 5.5), (10, 6.5), (63, 8.0)]),
28}
29MATERIALS = {"brass-nickel": ("brass", "#c6c8c4")}
30
31series, AF, stud, depths = SERIES[(thread, gender)]
32d = NOMINAL[thread]
33depth = next((t for upto, t in depths if length <= upto), depths[-1][1])
34material_id, colour = MATERIALS[material]
35
36model = Model()
37with model.sketch("body_sketch", on="XY", name="Body") as sk:
38 sk.polygon("hex", (0, 0), AF / 2, 6, inscribed=False)
39model.extrude("body", "body_sketch", distance=length, name="Body")
40if depth is None:
41 model.cylinder("bore", d / 2, length, op="cut", name="Thread")
42else:
43 model.cylinder("top_thread", d / 2, depth, at=(0, 0, length - depth), op="cut", name="Top thread")
44 if gender == "female-female":
45 model.cylinder("bottom_thread", d / 2, depth, op="cut", name="Bottom thread")
46if gender == "male-female":
47 model.cylinder("stud", d / 2, stud, at=(0, 0, -stud), op="join", name="Stud")
48model.material(material_id, color=colour)
49result = model.result()
50

Hexagonal brass spacers for boards and panels, M2 to M4, female/female and male/female, from the makers' drawings: Würth Elektronik WA-SBRII / WA-SBRIE for M2 and Harwin R25-, R30-, R40-100 (female/female) and -300 (male/female) for M2.5, M3 and M4. The body length is a parameter. A hex prism from z = 0 to L, centred on the origin; the male stud below z = 0. Threads are drawn as plain bores and a plain stud at the nominal diameter. Dimensions: see the README.

Hex standoff (Würth WA-SBRII / WA-SBRIE, Harwin R25 / R30 / R40)

Hexagonal brass spacers M2 to M4, female/female and male/female, at any body length. Presets cover the catalogue's generic hex standoffs at the lengths the makers sell.

Geometry

A hex prism, width across flats AF (the maker's maximum), corners along X, from z = 0 to the body length L, centred on the origin. Internal threads are drawn as plain bores at the nominal diameter: through where the maker's part is tapped through, otherwise to the maker's minimum full thread length (from both ends of a female/female standoff; the tap drill's run-out beyond it is not modelled). The male stud, a plain cylinder at the nominal diameter, runs from z = 0 down by its length. Threads, chamfers and the stud's undercut are not modelled.

Parameters

Parameter Meaning
thread M2, M2.5, M3, M4
gender female-female or male-female
length Body length L, mm (the stud is extra)
material brass-nickel (CW614N, nickel plated)

Sources

  • M2: Würth Elektronik, WA-SBRII brass spacer, internal/internal (order codes 970LL0244) and WA-SBRIE, internal/external (971LL0244), datasheets per order code, revisions 001.003 / 001.004, 2020-07-28 (https://www.we-online.com/components/products/datasheet/<order code>.pdf; read: 970050244, 970060244, 970080244, 970100244, 970120244, 970150244, 971050244, 971080244, 971100244, 971150244, 971200244, 971250244, 971300244), and the product pages listing the lengths (https://www.we-online.com/en/components/products/SBRII_BRASS_SPACER_STUD_METRIC_INTERNAL_INTERNAL, https://www.we-online.com/en/components/products/SBRIE_BRASS_SPACER_STUD_METRIC_INTERNAL_EXTERNAL).
  • M2.5, M3, M4: Harwin customer information sheets (sheet 2 of 2), brass CW614N, nickel finish, L1 ± 0.10 up to 12 mm, ± 0.15 over: R25-100XX02 (DRG-01991, issue 4), R30-100XX02 (DRG-01994, issue 14, 10.03.21), R40-100XX02 (DRG-02016, issue 6), R25-300XX02 (DRG-01992, issue 11, 02.11.22), R30-300XX02 (DRG-01997, issue 22, 17.03.25), R40-300XX02 (DRG-02019, issue 6, 03.11.22), from https://content.harwin.com/asset/<id>/DRG-0xxxx-Technical-Drawing-Datasheet-<series>-pdf.pdf (linked from each series' page on harwin.com).
Thread, gender Series AF Stud Female thread
M2 F/F Würth WA-SBRII 4 – through (Tli = L), L 5, 6, 8, 10, 12, 15
M2 M/F Würth WA-SBRIE 4 M2 × 5 (Tlo) Tli 2.5 (L 5), 5 (L 8, 10), 6 (L 15–30)
M2.5 F/F Harwin R25-100 5.00 max – through, except L 25 and 33: at least 10 from both ends
M2.5 M/F Harwin R25-300 5.0 max M2.5 × 5.00 L2 min 1.90 (L 3), 2.50 (4, 5), 3.50 (6), 4.50 (7), 5.00 (8–20)
M3 F/F Harwin R30-100 5.00 / 4.80 – through up to 21; 22–28 not through but at least 10 from both ends; over 28: at least 10 (hole 14 max)
M3 M/F Harwin R30-300 5.0 / 4.8 M3 × 6.00 L3 min 2.00 (L 4), 2.50 (5), 3.00 (6), 4.50 (7), 5.50 (8), 6.00 (9 and over)
M4 F/F Harwin R40-100 7.00 / 6.80 – as M3 F/F
M4 M/F Harwin R40-300 7.00 / 6.80 M4 × 8.00 L3 min 2.50 (L 6), 3.50 (7), 4.50 (8), 5.50 (9), 6.50 (10), 8.00 (11 and over)

Body lengths sold: Würth M2 F/F 5, 6, 8, 10, 12, 15; M2 M/F 5, 8, 10, 15, 20, 25, 30; Harwin per the drawings' tables (R25-100: 4–18, 20, 25, 33; R25-300: 3–18, 20; R30-100: 4–18, 20–22, 24, 25, 28, 30, 32, 34–36, the 39 and 40 marked obsolete; R30-300: 4–22, 24–26, 30, 32, 34, 35, 38, 40, 45, 50, 60, 80; R40-100: 5–16, 18, 20, 25, 26, 30, 36, 60; R40-300: 6–16, 18, 20, 25, 30, 35, 40, 46, 63). Catalogue lengths a maker does not sell are not presets.

Not covered: round standoffs (no maker table for round male/female; the round female/female table found, RS PRO https://docs.rs-online.com/46b8/A700000007872806.pdf, does not state the thread depth of its short parts).

Preset list: sizes of the step.parts catalogue (MIT), see library/NOTICE.md.

  1. 1.0.0 Latest
More #standoff
STEVEMIT

steve/smt-spacer

Würth Elektronik SMT steel spacers: WA-SMSI, WA-SMST, WA-SMSE and WA-SMSR, any length.

0 179 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/round-spacer

Round unthreaded clearance spacer for M3 screws (Harwin R30-601): Ø4.76 × Ø3.30, any length.

0 9 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/pcb-support

PCB support post (snap-in, adhesive-backed, swage, press-fit), M2 to M4, any height: simplified, measured from step.parts' models.

0 128 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/pcb-card-guide

PCB card guide and board retaining clip, boards 1 to 2.4 mm, any length: simplified, measured from step.parts' models.

0 50 sizes 0 1 day ago v1.0.0