Sign in with STEVE

steve/tab-washer

Tab washers, flat as delivered: DIN 93 (long tab) and DIN 463 (long and short tab), M3 to M52.

v1.0.0 Latest STEVE MIT 2
Isometric
part.py 72 lines · Python · STEVE runtime · checked
Download
1"""Tab washer (lock washer with tabs), flat as delivered: DIN 93 (one long tab) or DIN 463 (a long and a short tab at
2right angles), M3 to M52.
3
4A disc of outside diameter d2 with the hole d1 and thickness s; the long tab of width b reaches l (DIN 93) or l1
5(DIN 463) from the hole's centre along +X, DIN 463's short tab l2 along +Y. The tabs' corner radius r is not
6modelled. The washer lies on the XY plane at the origin, its thickness along +Z.
7"""
8from steve import Model
9
10standard = "DIN 93" # Standard
11size = "M10" # Thread size
12material = "steel" # Material
13
14# DIN 93:1974-07 table (https://fasten.it/norms/norm/din_93; https://www.fasteners.eu/standards/DIN/93/ for M4 to M39). size: (d1, d2, b, l, s)
15DIN_93 = {
16 "M3": (3.2, 12.0, 4.0, 13.0, 0.38), "M3.5": (3.7, 12.0, 4.0, 13.0, 0.38), "M4": (4.3, 14.0, 5.0, 14.0, 0.38),
17 "M5": (5.3, 17.0, 6.0, 16.0, 0.5), "M6": (6.4, 19.0, 7.0, 18.0, 0.5), "M7": (7.4, 19.0, 7.0, 18.0, 0.5),
18 "M8": (8.4, 22.0, 8.0, 20.0, 0.75), "M10": (10.5, 26.0, 10.0, 22.0, 0.75), "M12": (13.0, 30.0, 12.0, 28.0, 1.0),
19 "M14": (15.0, 33.0, 12.0, 28.0, 1.0), "M16": (17.0, 36.0, 15.0, 32.0, 1.0), "M18": (19.0, 40.0, 18.0, 36.0, 1.0),
20 "M20": (21.0, 42.0, 18.0, 36.0, 1.0), "M22": (23.0, 50.0, 20.0, 42.0, 1.0), "M24": (25.0, 50.0, 20.0, 42.0, 1.0),
21 "M27": (28.0, 58.0, 23.0, 48.0, 1.6), "M30": (31.0, 63.0, 26.0, 52.0, 1.6), "M33": (34.0, 68.0, 28.0, 56.0, 1.6),
22 "M36": (37.0, 75.0, 30.0, 60.0, 1.6), "M39": (40.0, 82.0, 32.0, 64.0, 1.6), "M42": (43.0, 88.0, 35.0, 70.0, 1.6),
23 "M45": (46.0, 95.0, 38.0, 75.0, 1.6), "M48": (50.0, 100.0, 40.0, 80.0, 1.6), "M52": (54.0, 105.0, 44.0, 85.0, 1.6),
24}
25# DIN 463:1974-07 table (https://fasten.it/norms/norm/din_463; https://www.fasteners.eu/standards/DIN/463/ for M4 to M39, without d2). size: (d1, d2, b, l1, l2, s)
26DIN_463 = {
27 "M3": (3.2, 7.0, 4.0, 13.0, 5.0, 0.38), "M3.5": (3.7, 8.0, 4.0, 13.0, 5.5, 0.38),
28 "M4": (4.3, 9.0, 5.0, 14.0, 6.5, 0.38), "M5": (5.3, 10.0, 6.0, 16.0, 8.0, 0.5), "M6": (6.4, 12.5, 7.0, 18.0, 9.0, 0.5),
29 "M7": (7.4, 14.0, 7.0, 18.0, 10.0, 0.5), "M8": (8.4, 17.0, 8.0, 20.0, 11.0, 0.75),
30 "M10": (10.5, 21.0, 10.0, 22.0, 13.0, 0.75), "M12": (13.0, 24.0, 12.0, 28.0, 15.0, 1.0),
31 "M14": (15.0, 28.0, 12.0, 28.0, 16.0, 1.0), "M16": (17.0, 30.0, 15.0, 32.0, 18.0, 1.0),
32 "M18": (19.0, 34.0, 18.0, 36.0, 20.0, 1.0), "M20": (21.0, 37.0, 18.0, 36.0, 21.0, 1.0),
33 "M22": (23.0, 39.0, 20.0, 42.0, 23.0, 1.0), "M24": (25.0, 44.0, 20.0, 42.0, 25.0, 1.0),
34 "M27": (28.0, 50.0, 23.0, 48.0, 29.0, 1.6), "M30": (31.0, 56.0, 26.0, 52.0, 32.0, 1.6),
35 "M33": (34.0, 60.0, 28.0, 56.0, 34.0, 1.6), "M36": (37.0, 66.0, 30.0, 60.0, 38.0, 1.6),
36 "M39": (40.0, 72.0, 32.0, 64.0, 41.0, 1.6), "M42": (43.0, 78.0, 35.0, 70.0, 44.0, 1.6),
37 "M45": (46.0, 85.0, 38.0, 75.0, 48.0, 1.6), "M48": (50.0, 92.0, 40.0, 80.0, 50.0, 1.6),
38 "M52": (54.0, 98.0, 44.0, 85.0, 53.0, 1.6),
39}
40# material choice: (STEVE material library id, appearance colour)
41MATERIALS = {
42 "steel": ("steel-dc01", "#b4b7bb"), # soft (formable) steel
43 "stainless-a2": ("stainless-304", "#c9ccd0"),
44}
45
46table = DIN_93 if standard == "DIN 93" else DIN_463
47if size not in table:
48 raise ValueError(f"{standard} has no size {size}")
49row = table[size]
50d1, d2, b = row[0], row[1], row[2]
51long_tab = row[3]
52short_tab = row[4] if standard == "DIN 463" else 0
53s = row[-1]
54material_id, colour = MATERIALS[material]
55
56model = Model()
57with model.sketch("disc_sketch", on="XY", name="Disc") as sk:
58 sk.circle("disc", (0, 0), d2 / 2)
59model.extrude("disc", "disc_sketch", distance=s, name="Disc")
60with model.sketch("long_tab_sketch", on="XY", name="Long tab") as sk:
61 sk.rect("long_tab_outline", (0, -b / 2), (long_tab, b / 2))
62model.extrude("long_tab", "long_tab_sketch", distance=s, name="Long tab")
63if standard == "DIN 463":
64 with model.sketch("short_tab_sketch", on="XY", name="Short tab") as sk:
65 sk.rect("short_tab_outline", (-b / 2, 0), (b / 2, short_tab))
66 model.extrude("short_tab", "short_tab_sketch", distance=s, name="Short tab")
67with model.sketch("hole_sketch", on="XY", name="Hole") as sk:
68 sk.circle("hole", (0, 0), d1 / 2)
69model.extrude("hole", "hole_sketch", distance=s, op="cut", name="Hole")
70model.material(material_id, color=colour)
71result = model.result()
72

Tab (lock) washers before bending: DIN 93 with one long tab, DIN 463 with a long and a short tab at right angles, with catalogue sizes as presets. A disc d2 with the hole d1 and thickness s, tabs of width b to l / l1 (along +X) and l2 (along +Y) from the hole's centre; the tab corner radius is not modelled. The washer lies on the XY plane at the origin, its thickness along +Z. Dimensions from DIN 93 and DIN 463 (see the README).

Tab washer (DIN 93, DIN 463)

Tab (lock) washers as delivered, flat: DIN 93 with one long tab, DIN 463 with a long and a short tab at right angles, M3 to M52, with catalogue sizes as presets.

Geometry

A disc of outside diameter d2 with the hole d1 and thickness s. The long tab, width b, reaches l (DIN 93) or l1 (DIN 463) from the hole's centre along +X; DIN 463's short tab, also width b, reaches l2 along +Y. The tabs' corner radius r is not modelled. The washer lies on the XY plane at the origin, its thickness along +Z.

Parameters

Parameter Meaning
standard DIN 93 (long tab), DIN 463 (long and short tab)
size Thread size, M3 to M52
material steel (soft, formable), stainless-a2

Sources

Tables read from the reproductions on fasten.it (mm), checked against fasteners.eu for M4 to M39.

DIN 93:1974-07, tab washers with long tab

https://fasten.it/norms/norm/din_93; https://www.fasteners.eu/standards/DIN/93/.

Size d1 d2 b l s
M3 3.2 12 4 13 0.38
M3.5 3.7 12 4 13 0.38
M4 4.3 14 5 14 0.38
M5 5.3 17 6 16 0.5
M6 6.4 19 7 18 0.5
M7 7.4 19 7 18 0.5
M8 8.4 22 8 20 0.75
M10 10.5 26 10 22 0.75
M12 13 30 12 28 1
M14 15 33 12 28 1
M16 17 36 15 32 1
M18 19 40 18 36 1
M20 21 42 18 36 1
M22 23 50 20 42 1
M24 25 50 20 42 1
M27 28 58 23 48 1.6
M30 31 63 26 52 1.6
M33 34 68 28 56 1.6
M36 37 75 30 60 1.6
M39 40 82 32 64 1.6
M42 43 88 35 70 1.6
M45 46 95 38 75 1.6
M48 50 100 40 80 1.6
M52 54 105 44 85 1.6
DIN 463:1974-07, tab washers with long and short tab at right angles

https://fasten.it/norms/norm/din_463; https://www.fasteners.eu/standards/DIN/463/ (no d2).

Size d1 d2 b l1 l2 s
M3 3.2 7 4 13 5 0.38
M3.5 3.7 8 4 13 5.5 0.38
M4 4.3 9 5 14 6.5 0.38
M5 5.3 10 6 16 8 0.5
M6 6.4 12.5 7 18 9 0.5
M7 7.4 14 7 18 10 0.5
M8 8.4 17 8 20 11 0.75
M10 10.5 21 10 22 13 0.75
M12 13 24 12 28 15 1
M14 15 28 12 28 16 1
M16 17 30 15 32 18 1
M18 19 34 18 36 20 1
M20 21 37 18 36 21 1
M22 23 39 20 42 23 1
M24 25 44 20 42 25 1
M27 28 50 23 48 29 1.6
M30 31 56 26 52 32 1.6
M33 34 60 28 56 34 1.6
M36 37 66 30 60 38 1.6
M39 40 72 32 64 41 1.6
M42 43 78 35 70 44 1.6
M45 46 85 38 75 48 1.6
M48 50 92 40 80 50 1.6
M52 54 98 44 85 53 1.6

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

  1. 1.0.0 Latest
More #fastener
STEVEMIT

steve/split-lock-washer

Split lock washer (spring washer), DIN 127 form B, M2 to M100.

3 21 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/spring-lock-washer

Metric curved spring washers (DIN 137 A) and external tooth lock washers (DIN 6797 A), M2 to M10.

1 15 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/inch-lock-washer

Inch lock washers, ASME B18.21.1: regular split (helical spring) and external tooth, #2 to 1/2.

0 18 sizes 0 1 day ago v1.0.0
STEVEMIT

steve/conical-spring-washer

Conical spring washer (disc spring) for bolted joints, DIN 6796, M2 to M125.

0 9 sizes 0 1 day ago v1.0.0