Sign in with STEVE

steve/flat-washer

Metric flat washers: ISO 7089 / DIN 125, ISO 7091, ISO 7092, ISO 7093-1, DIN 9021, DIN 433, DIN 440 V, DIN 7349.

v2.0.0 Latest STEVE MIT 0
Isometric
part.py 96 lines · Python · STEVE runtime · checked
Download
1"""Metric plain (flat) washer: normal series ISO 7089 (DIN 125-A), product grade C ISO 7091 (DIN 126), small series
2ISO 7092 (DIN 433; M1 to M1.4 from DIN 433), large series ISO 7093-1 and DIN 9021, square-hole DIN 440 form V, heavy DIN 7349.
3
4A flat ring: hole d1 (min, nominal), outside diameter d2 (max, nominal) and thickness h (nominal). DIN 440 form V
5has a square hole of side a. The washer lies on the XY plane at the origin, its thickness along +Z.
6"""
7from steve import Model
8
9standard = "ISO 7089" # Standard
10size = "M3" # Thread size
11material = "steel" # Material
12
13# size: (d1, d2, h) in mm; d1 = hole (min = nominal), d2 = outside diameter (max = nominal), h = nominal thickness
14# ISO 7089:2000 Table 1 (and non-preferred sizes); DIN 125-1 form A has the same dimensions.
15# DIN EN ISO 7089:2000-11, https://fasten.it/norms/norm/din_en_iso_7089; https://www.fasteners.eu/standards/ISO/7089/
16ISO_7089 = {
17 "M1.6": (1.7, 4.0, 0.3), "M2": (2.2, 5.0, 0.3), "M2.5": (2.7, 6.0, 0.5), "M3": (3.2, 7.0, 0.5),
18 "M3.5": (3.7, 8.0, 0.5), "M4": (4.3, 9.0, 0.8), "M5": (5.3, 10.0, 1.0), "M6": (6.4, 12.0, 1.6),
19 "M8": (8.4, 16.0, 1.6), "M10": (10.5, 20.0, 2.0), "M12": (13.0, 24.0, 2.5), "M14": (15.0, 28.0, 2.5),
20 "M16": (17.0, 30.0, 3.0), "M18": (19.0, 34.0, 3.0), "M20": (21.0, 37.0, 3.0), "M22": (23.0, 39.0, 3.0),
21 "M24": (25.0, 44.0, 4.0), "M27": (28.0, 50.0, 4.0), "M30": (31.0, 56.0, 4.0), "M33": (34.0, 60.0, 5.0),
22 "M36": (37.0, 66.0, 5.0),
23}
24# ISO 7091:2000 Table 1 (product grade C); DIN 126 has the same dimensions.
25# DIN EN ISO 7091:2000-11, https://fasten.it/norms/norm/din_en_iso_7091; https://www.fasteners.eu/standards/ISO/7091/
26ISO_7091 = {
27 "M1.6": (1.8, 4.0, 0.3), "M2": (2.4, 5.0, 0.3), "M2.5": (2.9, 6.0, 0.5), "M3": (3.4, 7.0, 0.5),
28 "M4": (4.5, 9.0, 0.8), "M5": (5.5, 10.0, 1.0), "M6": (6.6, 12.0, 1.6), "M8": (9.0, 16.0, 1.6),
29 "M10": (11.0, 20.0, 2.0), "M12": (13.5, 24.0, 2.5), "M16": (17.5, 30.0, 3.0), "M20": (22.0, 37.0, 3.0),
30 "M24": (26.0, 44.0, 4.0), "M30": (33.0, 56.0, 4.0), "M36": (39.0, 66.0, 5.0), "M42": (45.0, 78.0, 8.0),
31 "M48": (52.0, 92.0, 8.0), "M56": (62.0, 105.0, 10.0), "M64": (70.0, 115.0, 10.0),
32}
33# ISO 7092:2000 Table 1 (small series, M1.6 to M36); DIN 433-1 has the same dimensions.
34# DIN EN ISO 7092:2000-11, https://fasten.it/norms/norm/din_en_iso_7092; M36 d2 60 also https://www.jcfasteners.com/wp-content/uploads/ISO-7092-Small-OD-Washer-B6iD10-SS316.pdf
35ISO_7092 = {
36 "M1.6": (1.7, 3.5, 0.3),
37 "M2": (2.2, 4.5, 0.3), "M2.5": (2.7, 5.0, 0.5), "M3": (3.2, 6.0, 0.5), "M3.5": (3.7, 7.0, 0.5),
38 "M4": (4.3, 8.0, 0.5), "M5": (5.3, 9.0, 1.0), "M6": (6.4, 11.0, 1.6), "M8": (8.4, 15.0, 1.6),
39 "M10": (10.5, 18.0, 1.6), "M12": (13.0, 20.0, 2.0), "M14": (15.0, 24.0, 2.5), "M16": (17.0, 28.0, 2.5),
40 "M18": (19.0, 30.0, 2.5), "M20": (21.0, 34.0, 3.0), "M24": (25.0, 39.0, 4.0), "M30": (31.0, 50.0, 4.0),
41 "M36": (37.0, 60.0, 5.0),
42}
43# ISO 7093-1:2000 Table 1 (large series, product grade A). DIN EN ISO 7093-1:2000-11, https://fasten.it/norms/norm/din_en_iso_7093-1
44ISO_7093 = {
45 "M3": (3.2, 9.0, 0.8), "M3.5": (3.7, 11.0, 0.8), "M4": (4.3, 12.0, 1.0), "M5": (5.3, 15.0, 1.0),
46 "M6": (6.4, 18.0, 1.6), "M8": (8.4, 24.0, 2.0), "M10": (10.5, 30.0, 2.5), "M12": (13.0, 37.0, 3.0),
47 "M14": (15.0, 44.0, 3.0), "M16": (17.0, 50.0, 3.0), "M18": (19.0, 56.0, 4.0), "M20": (21.0, 60.0, 4.0),
48 "M22": (23.0, 66.0, 5.0), "M24": (25.0, 72.0, 5.0), "M27": (30.0, 85.0, 6.0), "M30": (33.0, 92.0, 6.0),
49 "M33": (36.0, 105.0, 6.0), "M36": (39.0, 110.0, 8.0),
50}
51# DIN 9021:1990-03 table (https://fasten.it/norms/norm/din_9021; https://www.fasteners.eu/standards/DIN/9021/) (outside diameter about 3 d); only the sizes ISO 7093-1 doesn't have.
52DIN_9021 = {
53 "M2.5": (2.7, 8.0, 0.8), "M7": (7.4, 22.0, 2.0),
54}
55# DIN 440:2001-03 form V (https://fasten.it/norms/norm/din_440, table 0) (square hole, for carriage bolts): (square hole a min, d2 max, nominal h = mid of h min / max)
56DIN_440_V = {
57 "M5": (5.5, 18.0, 2.0), "M6": (6.6, 22.0, 2.0), "M8": (9.0, 28.0, 3.0), "M10": (11.0, 34.0, 3.0),
58 "M12": (14.0, 44.0, 4.0), "M16": (18.0, 56.0, 5.0), "M20": (22.0, 72.0, 6.0), "M22": (24.0, 80.0, 6.0),
59}
60# DIN 433-1:1990-03 table: the sizes below M1.6 that ISO 7092 doesn't have (https://fasten.it/norms/norm/din_433).
61DIN_433 = {
62 "M1": (1.1, 2.5, 0.3), "M1.2": (1.3, 3.0, 0.3), "M1.4": (1.5, 3.0, 0.3),
63}
64# DIN 7349:2009-08 table (washers for bolts with heavy clamping sleeves; https://fasten.it/norms/norm/din_7349, https://www.fasteners.eu/standards/DIN/7349/).
65DIN_7349 = {
66 "M3": (3.2, 9.0, 1.0), "M4": (4.3, 12.0, 1.6), "M5": (5.3, 15.0, 2.0), "M6": (6.4, 17.0, 3.0),
67 "M8": (8.4, 21.0, 4.0), "M10": (10.5, 25.0, 4.0), "M12": (13.0, 30.0, 6.0), "M14": (15.0, 36.0, 6.0),
68 "M16": (17.0, 40.0, 6.0), "M18": (19.0, 44.0, 8.0), "M20": (21.0, 44.0, 8.0), "M22": (23.0, 50.0, 8.0),
69 "M24": (25.0, 50.0, 10.0), "M27": (28.0, 60.0, 10.0), "M30": (31.0, 68.0, 10.0),
70}
71STANDARDS = {"ISO 7089": ISO_7089, "ISO 7091": ISO_7091, "ISO 7092": ISO_7092, "ISO 7093-1": ISO_7093,
72 "DIN 9021": DIN_9021, "DIN 433": DIN_433, "DIN 440 V": DIN_440_V, "DIN 7349": DIN_7349}
73# material choice: (STEVE material library id, appearance colour)
74MATERIALS = {
75 "steel": ("steel-generic", "#b9bdc2"), # 200 HV / 300 HV, zinc plated
76 "stainless-a2": ("stainless-304", "#c9ccd0"), # A2
77 "stainless-a4": ("stainless-316", "#c9ccd0"), # A4
78}
79
80table = STANDARDS[standard]
81if size not in table:
82 raise ValueError(f"{standard} has no size {size}; sizes: {', '.join(table)}")
83d1, d2, h = table[size]
84material_id, colour = MATERIALS[material]
85
86model = Model()
87with model.sketch("washer_sketch", on="XY", name="Washer") as sk:
88 sk.circle("outside", (0, 0), d2 / 2)
89 if standard == "DIN 440 V":
90 sk.center_rect("hole", (0, 0), d1, d1)
91 else:
92 sk.circle("hole", (0, 0), d1 / 2)
93model.extrude("washer", "washer_sketch", distance=h, name="Washer")
94model.material(material_id, color=colour)
95result = model.result()
96

Metric plain washers in seven standard series (normal, product grade C, small, large, square-hole and heavy), with catalogue sizes as presets. A flat ring: nominal hole d1, outside diameter d2 and thickness h of the standard's table (DIN 440 form V: a square hole). The washer lies on the XY plane at the origin, its thickness along +Z. See the README for the tables and their sources.

Flat washer (ISO 7089, ISO 7091, ISO 7092, ISO 7093-1, DIN 9021, DIN 440 V, DIN 7349)

Metric plain washers in seven standard series, with catalogue sizes as presets.

Geometry

A flat ring: hole d1 (min = nominal), outside diameter d2 (max = nominal), thickness h (nominal, the middle of the standard's min and max). DIN 440 form V has a square hole of side a (min). ISO 7090's outer chamfer is not part of this recipe. The washer lies on the XY plane at the origin, its thickness along +Z.

Parameters

Parameter Meaning
standard ISO 7089 (= DIN 125-A, normal series), ISO 7091 (= DIN 126, grade C), ISO 7092 (= DIN 433, small series), ISO 7093-1 (large series), DIN 9021 (large, sizes ISO 7093-1 lacks), DIN 440 V (square hole), DIN 7349 (heavy)
size Bolt size the washer is for; each standard has its own sizes (tables below)
material steel (zinc plated), stainless-a2, stainless-a4

Sources

Dimensions in mm, from the standards' tables as reproduced on fasten.it ("reproduced by permission of DIN") and fasteners.eu; each table names its pages. Columns: d1, d2, h.

ISO 7089:2000, Table 1 (DIN 125-1 form A has the same dimensions)

DIN EN ISO 7089:2000-11, https://fasten.it/norms/norm/din_en_iso_7089; https://www.fasteners.eu/standards/ISO/7089/.

Size d1 d2 h
M1.6 1.7 4 0.3
M2 2.2 5 0.3
M2.5 2.7 6 0.5
M3 3.2 7 0.5
M3.5 3.7 8 0.5
M4 4.3 9 0.8
M5 5.3 10 1
M6 6.4 12 1.6
M8 8.4 16 1.6
M10 10.5 20 2
M12 13 24 2.5
M14 15 28 2.5
M16 17 30 3
M18 19 34 3
M20 21 37 3
M22 23 39 3
M24 25 44 4
M27 28 50 4
M30 31 56 4
M33 34 60 5
M36 37 66 5
ISO 7091:2000, Table 1 (DIN 126)

DIN EN ISO 7091:2000-11, https://fasten.it/norms/norm/din_en_iso_7091; https://www.fasteners.eu/standards/ISO/7091/.

Size d1 d2 h
M1.6 1.8 4 0.3
M2 2.4 5 0.3
M2.5 2.9 6 0.5
M3 3.4 7 0.5
M4 4.5 9 0.8
M5 5.5 10 1
M6 6.6 12 1.6
M8 9 16 1.6
M10 11 20 2
M12 13.5 24 2.5
M16 17.5 30 3
M20 22 37 3
M24 26 44 4
M30 33 56 4
M36 39 66 5
M42 45 78 8
M48 52 92 8
M56 62 105 10
M64 70 115 10
ISO 7092:2000, Table 1 (DIN 433-1)

DIN EN ISO 7092:2000-11, https://fasten.it/norms/norm/din_en_iso_7092. M36 d2 is 60 (fasten.it's DIN EN ISO 7092 and DIN 433 tables, and https://www.jcfasteners.com/wp-content/uploads/ISO-7092-Small-OD-Washer-B6iD10-SS316.pdf); fasteners.eu's 58 is the outlier. ISO 7092 covers M1.6 to M36.

Size d1 d2 h
M1.6 1.7 3.5 0.3
M2 2.2 4.5 0.3
M2.5 2.7 5 0.5
M3 3.2 6 0.5
M3.5 3.7 7 0.5
M4 4.3 8 0.5
M5 5.3 9 1
M6 6.4 11 1.6
M8 8.4 15 1.6
M10 10.5 18 1.6
M12 13 20 2
M14 15 24 2.5
M16 17 28 2.5
M18 19 30 2.5
M20 21 34 3
M24 25 39 4
M30 31 50 4
M36 37 60 5
ISO 7093-1:2000, Table 1

DIN EN ISO 7093-1:2000-11, https://fasten.it/norms/norm/din_en_iso_7093-1 (the only source found).

Size d1 d2 h
M3 3.2 9 0.8
M3.5 3.7 11 0.8
M4 4.3 12 1
M5 5.3 15 1
M6 6.4 18 1.6
M8 8.4 24 2
M10 10.5 30 2.5
M12 13 37 3
M14 15 44 3
M16 17 50 3
M18 19 56 4
M20 21 60 4
M22 23 66 5
M24 25 72 5
M27 30 85 6
M30 33 92 6
M33 36 105 6
M36 39 110 8
DIN 9021:1990-03 (only the sizes ISO 7093-1 lacks)

https://fasten.it/norms/norm/din_9021; https://www.fasteners.eu/standards/DIN/9021/.

Size d1 d2 h
M2.5 2.7 8 0.8
M7 7.4 22 2
DIN 440:2001-03 form V (square hole; h nominal = middle of h min and h max)

https://fasten.it/norms/norm/din_440 (first table, form V).

Size a d2 h
M5 5.5 18 2
M6 6.6 22 2
M8 9 28 3
M10 11 34 3
M12 14 44 4
M16 18 56 5
M20 22 72 6
M22 24 80 6
DIN 433-1:1990-03 (the sizes below ISO 7092's range)

https://fasten.it/norms/norm/din_433.

Size d1 d2 h
M1 1.1 2.5 0.3
M1.2 1.3 3 0.3
M1.4 1.5 3 0.3
DIN 7349:2009-08

https://fasten.it/norms/norm/din_7349 (supersedes the 1974 edition); https://www.fasteners.eu/standards/DIN/7349/.

Size d1 d2 h
M3 3.2 9 1
M4 4.3 12 1.6
M5 5.3 15 2
M6 6.4 17 3
M8 8.4 21 4
M10 10.5 25 4
M12 13 30 6
M14 15 36 6
M16 17 40 6
M18 19 44 8
M20 21 44 8
M22 23 50 8
M24 25 50 10
M27 28 60 10
M30 31 68 10

Corrected in this audit: ISO 7092 M36 d2 58 -> 60; M1, M1.2 and M1.4 moved from "ISO 7092" (which starts at M1.6) to DIN 433; DIN 7349 edition 1974 -> 2009-08 (same values).

Preset list: sizes of the step.parts catalogue (MIT), see library/NOTICE.md. Catalogue sizes outside these tables have no preset (ISO 7090 M3; ISO 7091 / DIN 126 M3.5, M7, M14, M18, M22, M27, M33, M39, M45, M52, M60; ISO 7093 M2).

  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/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/tab-washer

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

2 38 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/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