Sign in with STEVE

steve/countersunk-screw

Countersunk socket screw, ISO 10642 / DIN 7991, M3 to M12, any length.

v1.0.0 STEVE MIT 0
Isometric
part.py 40 lines · Python · STEVE runtime · checked
Download
1"""ISO 10642 (DIN 7991) countersunk socket screw. Envelope: 90 degree head and plain shank in one revolved
2profile, hex socket. The head's top face is on the XY plane at the origin; `length` is the overall length."""
3from steve import Model
4
5size = "M4" # Thread size
6length = 12 # mm Overall length (head included)
7
8# size: (head diameter dk, head height k, hex key s)
9HEADS = {
10 'M3': (6.72, 1.86, 2.0),
11 'M4': (8.96, 2.48, 2.5),
12 'M5': (11.2, 3.1, 3.0),
13 'M6': (13.44, 3.72, 4.0),
14 'M8': (17.92, 4.96, 5.0),
15 'M10': (22.4, 6.2, 6.0),
16 'M12': (26.88, 7.44, 8.0),
17}
18NOMINAL = {
19 'M3': 3.0,
20 'M4': 4.0,
21 'M5': 5.0,
22 'M6': 6.0,
23 'M8': 8.0,
24 'M10': 10.0,
25 'M12': 12.0,
26}
27dk, k, s = HEADS[size]
28d = NOMINAL[size]
29cone = (dk - d) / 2 # 90 degree countersink: as deep as it is wide
30total = max(length, cone + 0.5)
31
32model = Model()
33with model.sketch("profile", on="XZ", name="Profile") as sk:
34 sk.polyline("outline", [(0, 0), (dk / 2, 0), (d / 2, -cone), (d / 2, -total), (0, -total)])
35model.revolve("body", "profile", axis="Z")
36with model.sketch("socket_sketch", on="XY", name="Hex socket") as sk:
37 sk.polygon("hex", (0, 0), s / 2, 6, inscribed=False)
38model.extrude("socket", "socket_sketch", distance=-0.8 * k, op="cut")
39result = model.result()
40

ISO 10642 (DIN 7991) countersunk socket screw. Envelope: 90 degree head and plain shank in one revolved profile, hex socket. The head's top face is on the XY plane at the origin; `length` is the overall length. Dimensions from STEVE's standard-part tables (nominal values of the standard). Envelope geometry: no modelled thread.

  1. 2.0.0 Latest Compare with 1.1.0
  2. 1.1.0 Compare with 1.0.0

    Materials and finishes: each part is made of its standard's engineering material, with its usual finish.

  3. 1.0.0
More #fastener
STEVEMIT

steve/inch-flat-head-screw

Flat head (countersunk) socket cap screw, inch, ASME B18.3, #0 to 1/2 in, UNC/UNF, any length, with catalogue sizes as presets.

0 112 sizes 0 1 day ago v1.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/pan-head-screw

Pan head screw with cross recess, ISO 7045, M2 to M8, any length.

0 7 variants 0 2 days ago v1.1.0