Sign in with STEVE

steve/button-head-screw

Button head socket screw, ISO 7380, M3 to M12, any length.

v1.0.0 STEVE MIT 10
Isometric
part.py 42 lines · Python · STEVE runtime · checked
Download
1"""ISO 7380 button head socket screw. Envelope: domed head (revolved profile), hex socket, plain shank.
2The head's flat side is on the XY plane at the origin; the shank points down -Z."""
3from steve import Model
4
5size = "M4" # Thread size
6length = 10 # mm Length under the head
7
8# size: (head diameter dk, head height k, hex key s)
9HEADS = {
10 'M3': (5.7, 1.65, 2.0),
11 'M4': (7.6, 2.2, 2.5),
12 'M5': (9.5, 2.75, 3.0),
13 'M6': (10.5, 3.3, 4.0),
14 'M8': (14.0, 4.4, 5.0),
15 'M10': (17.5, 5.5, 6.0),
16 'M12': (21.0, 6.6, 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]
29
30model = Model()
31with model.sketch("head_profile", on="XZ", name="Head profile") as sk:
32 sk.polyline("outline", [(0, 0), (dk / 2, 0), (dk / 2, 0.25 * k), (0.42 * dk, 0.7 * k), (0.3 * dk, 0.92 * k), (0, k)])
33model.revolve("head", "head_profile", axis="Z")
34with model.sketch("shank_sketch", on="XY", name="Shank") as sk:
35 sk.circle("shank", (0, 0), d / 2)
36model.extrude("shank", "shank_sketch", distance=-length)
37model.plane("head_top", on="XY", offset=k, name="Head top")
38with model.sketch("socket_sketch", on="head_top", name="Hex socket") as sk:
39 sk.polygon("hex", (0, 0), s / 2, 6, inscribed=False)
40model.extrude("socket", "socket_sketch", distance=-0.6 * k, op="cut")
41result = model.result()
42

ISO 7380 button head socket screw. Envelope: domed head (revolved profile), hex socket, plain shank. The head's flat side is on the XY plane at the origin; the shank points down -Z. 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/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/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
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
STEVEMIT

steve/captive-panel-screw

Captive panel screw envelope, M3 to M5, any length: shank and round knob (simplified).

0 18 sizes 0 1 day ago v1.0.0