Sign in with STEVE

steve/low-head-socket-cap-screw

Low head socket cap screw, DIN 7984, M3 to M12, any length, with catalogue sizes as presets.

v1.0.0 Latest STEVE MIT 0
Isometric
part.py 49 lines · Python · STEVE runtime · checked
Download
1"""Hexagon socket head cap screw with low head, DIN 7984, M3 to M12, any length.
2
3Envelope model for assemblies: cylindrical low head (diameter dk max, height k max), hexagon socket (key size s,
4depth t min) and a plain shank at the nominal thread diameter d (the thread is not modelled).
5The head's bearing face is on the XY plane at the origin, the head above it, the shank along -Z; `length` is the
6nominal length l, measured from under the head.
7"""
8from steve import Model
9
10size = "M5" # Thread size
11length = 12 # mm Nominal length (under the head)
12material = "steel" # Material
13
14# DIN 7984:2009-06, Tabelle 1, pp. 6-7 (https://tdm-neva.ru/upload/screws/din-7984.pdf; also
15# https://fasten.it/en/Norms/Norm/DIN%207984). size: (thread d, head diameter dk max, head height k max, hexagon socket s,
16# socket depth t min)
17DIMENSIONS = {
18 "M3": (3.0, 5.5, 2.0, 2.0, 1.38),
19 "M4": (4.0, 7.0, 2.8, 2.5, 2.18),
20 "M5": (5.0, 8.5, 3.5, 3.0, 2.58),
21 "M6": (6.0, 10.0, 4.0, 4.0, 2.88),
22 "M8": (8.0, 13.0, 5.0, 5.0, 3.65),
23 "M10": (10.0, 16.0, 6.0, 7.0, 4.35),
24 "M12": (12.0, 18.0, 7.0, 8.0, 4.85),
25}
26# material choice: (STEVE material library id, appearance colour)
27MATERIALS = {
28 "steel": ("steel-generic", "#2b2d30"), # property class 8.8, black oxide finish
29 "stainless-a2": ("stainless-304", "#c9ccd0"), # ISO 3506-1 A2-70
30 "stainless-a4": ("stainless-316", "#c9ccd0"), # ISO 3506-1 A4-70
31}
32
33d, dk, k, s, t = DIMENSIONS[size]
34material_id, colour = MATERIALS[material]
35
36model = Model()
37with model.sketch("head_sketch", on="XY", name="Head") as sk:
38 sk.circle("head_circle", (0, 0), dk / 2)
39model.extrude("head", "head_sketch", distance=k, name="Head")
40with model.sketch("shank_sketch", on="XY", name="Shank") as sk:
41 sk.circle("shank_circle", (0, 0), d / 2)
42model.extrude("shank", "shank_sketch", distance=-length, name="Shank")
43model.plane("head_top", on="XY", offset=k, name="Head top")
44with model.sketch("socket_sketch", on="head_top", name="Hexagon socket") as sk:
45 sk.polygon("hex", (0, 0), s / 2, 6, inscribed=False)
46model.extrude("socket", "socket_sketch", distance=-t, op="cut", name="Socket")
47model.material(material_id, color=colour)
48result = model.result()
49

DIN 7984 hexagon socket head cap screw with low head. Envelope geometry for assemblies: low cylindrical head (dk max, k max), hexagon socket (s, t min) and a plain shank at the nominal thread diameter; the thread itself is not modelled. The head's bearing face is on the XY plane at the origin and the shank points along -Z; `length` is the nominal length under the head. Dimensions from DIN 7984:2009-06 Table 1 (see the README).

Low head socket cap screw (DIN 7984)

Hexagon socket head cap screw with low head, metric coarse thread, M3 to M12, at any length. Presets cover the common catalogue sizes (M3 × 8, M6 × 20, ...).

Geometry

Envelope for assemblies and clearance checks:

  • cylindrical low head, diameter dk max, height k max;
  • hexagon socket, key size s (nominal), depth t min, flat bottom;
  • plain shank at the nominal thread diameter d, length l (length); the thread is not modelled.

The head's bearing face is on the XY plane at the origin, the head above it, the shank along -Z.

Parameters

Parameter Meaning
size Thread size, M3 to M12
length Nominal length l under the head, mm
material steel (property class 8.8, black oxide), stainless-a2, stainless-a4 (ISO 3506-1)

Source

DIN 7984:2009-06, Hexagon socket head cap screws with low head, Tabelle 1, pp. 6-7: d, dk max, k max, s (nominal), t min. Read from a full copy of the standard (https://tdm-neva.ru/upload/screws/din-7984.pdf) and checked against fasten.it's reproduction of DIN 7984 2009-06 / 2021-10 / 2022-03 (https://fasten.it/en/Norms/Norm/DIN 7984, "t nom") and Aspen Fasteners' sheet (https://www.aspenfasteners.com/content/pdf/Metric_DIN_7984_spec.pdf, t nominal). DIN Media's change note for DIN 7984:2022-03 lists no dimensional change since 2009-06, so the values hold for the current edition.

Size dk k s t
M3 5.5 2.0 2.0 1.38
M4 7.0 2.8 2.5 2.18
M5 8.5 3.5 3.0 2.58
M6 10.0 4.0 4.0 2.88
M8 13.0 5.0 5.0 3.65
M10 16.0 6.0 7.0 4.35
M12 18.0 7.0 8.0 4.85

Corrected in this audit: t was the nominal depth (and 4.8 for M12, in no source) under a "t min" label; it is now the table's t min (1.38, 2.18, 2.58, 2.88, 3.65, 4.35, 4.85).

DIN 7984 starts at M3: the smaller low-head screws some catalogues list have no standard dimensions and are not included. Preset list: sizes and lengths of the step.parts catalogue (MIT), see library/NOTICE.md.

  1. 1.0.0 Latest
More #fastener
STEVEMIT

steve/socket-head-cap-screw

Socket head cap screw, ISO 4762 / DIN 912, M1.6 to M64, any length, with catalogue sizes as presets.

0 394 sizes 0 1 day ago v2.0.0
STEVEMIT

steve/hex-head-screw

Hexagon head screw, fully threaded, ISO 4017 / DIN 933, M1.6 to M36, any length, with catalogue sizes as presets.

18 85 sizes 0 1 day ago v2.0.0
STEVEMIT

steve/button-head-screw

Hexagon socket button head screw, ISO 7380-1, M3 to M16, any length, with catalogue sizes as presets.

10 65 sizes 0 1 day ago v2.0.0
STEVEMIT

steve/countersunk-screw

Hexagon socket countersunk head screw, ISO 10642 / DIN 7991, M3 to M12, any length, with catalogue sizes as presets.

0 62 sizes 0 1 day ago v2.0.0