steve/split-lock-washer
Split lock washer (spring washer), DIN 127 form B, M2 to M100.
Metric curved spring washers (DIN 137 A) and external tooth lock washers (DIN 6797 A), M2 to M10.
| 1 | """Metric spring and lock washers: DIN 137 form A curved spring washers and DIN 6797 form A external tooth lock |
| 2 | washers. |
| 3 | |
| 4 | - curved (DIN 137 A): the annulus d1 x d2, s thick, curved about the X axis so that it stands h (max, the free height) |
| 5 | tall: the region of the annulus between two coaxial cylinders (axis parallel to X) of radii R and R + s, with R |
| 6 | chosen so that the inner surface rises h - s at the rim. Its lowest point is on the XY plane at the origin. |
| 7 | - tooth (DIN 6797 A): envelope, the flat blank, an annulus d1 x d2, s thick, on the XY plane; the standard gives the |
| 8 | number of teeth (6 or 8) and the overall height (at least 2 s) but not the teeth's shape, so they are not modelled. |
| 9 | Centred on the origin. |
| 10 | """ |
| 11 | from steve import Model |
| 12 | |
| 13 | size = "M4" # Nominal size (screw) |
| 14 | style = "curved" # Washer style |
| 15 | material = "spring-steel" # Material |
| 16 | |
| 17 | # mm. DIN 137 (1985) form A, curved: (d1 min = nominal, d2 nominal, s nominal, h max) |
| 18 | CURVED = {"M2": (2.2, 4.5, 0.3, 1.0), "M2.5": (2.8, 5.5, 0.3, 1.1), "M3": (3.2, 6, 0.4, 1.3), "M4": (4.3, 8, 0.5, 1.6), |
| 19 | "M5": (5.3, 10, 0.5, 1.8), "M6": (6.4, 11, 0.5, 2.2), "M8": (8.4, 15, 0.5, 3.4), "M10": (10.5, 18, 0.8, 4.0)} |
| 20 | # mm. DIN 6797:1988-07 form A, external teeth: (d1 min = nominal, d2 max = nominal, s nominal, number of teeth) |
| 21 | TOOTH = {"M2": (2.2, 4.5, 0.3, 6), "M2.5": (2.7, 5.5, 0.4, 6), "M3": (3.2, 6, 0.4, 6), "M4": (4.3, 8, 0.5, 8), |
| 22 | "M5": (5.3, 10, 0.6, 8), "M6": (6.4, 11, 0.7, 8), "M8": (8.4, 15, 0.8, 8)} |
| 23 | MATERIALS = {"spring-steel": ("steel-generic", "#4a4c50"), "stainless": ("stainless-304", "#c9ccd0")} |
| 24 | |
| 25 | material_id, colour = MATERIALS[material] |
| 26 | model = Model() |
| 27 | if style == "curved": |
| 28 | d1, d2, s, h = CURVED[size] |
| 29 | r2, k = d2 / 2, h - s |
| 30 | R = (r2 * r2 + k * k) / (2 * k) # inner surface radius: it rises k at y = +-d2/2 |
| 31 | model.cylinder("blank", r2, h + 2, at=(0, 0, -1), name="Blank") |
| 32 | model.cylinder("hole", d1 / 2, h + 2, at=(0, 0, -1), op="cut", name="Hole") |
| 33 | model.cylinder("shell", R + s, 2 * d2, at=(-d2, 0, R + s), direction=(1, 0, 0), op="new", name="Shell") |
| 34 | model.cylinder("shell_in", R, 2 * d2, at=(-d2, 0, R + s), direction=(1, 0, 0), op="cut", body="shell", name="Shell inside") |
| 35 | model.combine("washer", "blank", ["shell"], op="intersect", name="Washer") |
| 36 | else: |
| 37 | d1, d2, s, teeth = TOOTH[size] |
| 38 | with model.sketch("washer_sketch", on="XY", name="Washer") as sk: |
| 39 | sk.circle("outside", (0, 0), d2 / 2) |
| 40 | sk.circle("inside", (0, 0), d1 / 2) |
| 41 | model.extrude("washer", "washer_sketch", distance=s, name="Washer") |
| 42 | model.material(material_id, color=colour) |
| 43 | result = model.result() |
| 44 |
| 1 | name = "steve/spring-lock-washer" |
| 2 | version = "1.0.0" |
| 3 | runtime = "steve" |
| 4 | license = "MIT" |
| 5 | summary = "Metric curved spring washers (DIN 137 A) and external tooth lock washers (DIN 6797 A), M2 to M10." |
| 6 | description = """Curved spring washers, DIN 137 form A (M2 to M10): the annulus curved about one axis to its free height \ |
| 7 | h max. External tooth lock washers, DIN 6797 form A (M2 to M8): envelope geometry, the flat blank (the teeth's shape \ |
| 8 | is not given by the standard). |
| 9 | |
| 10 | Centred on the origin, lying on the XY plane. Dimensions: see the README.""" |
| 11 | tags = ["fastener", "washer", "spring-washer", "curved-washer", "tooth-lock-washer", "din-137", "din-6797", "metric"] |
| 12 | |
| 13 | [parameters.size] |
| 14 | type = "choice" |
| 15 | default = "M4" |
| 16 | choices = ["M2", "M2.5", "M3", "M4", "M5", "M6", "M8", "M10"] |
| 17 | label = "Screw size" |
| 18 | |
| 19 | [parameters.style] |
| 20 | type = "choice" |
| 21 | default = "curved" |
| 22 | choices = ["curved", "tooth"] |
| 23 | label = "Style" |
| 24 | description = "curved: DIN 137 A (M2 to M10); tooth: DIN 6797 A external teeth (M2 to M8)." |
| 25 | |
| 26 | [parameters.material] |
| 27 | type = "choice" |
| 28 | default = "spring-steel" |
| 29 | choices = ["spring-steel", "stainless"] |
| 30 | label = "Material" |
| 31 | |
| 32 | [[presets]] |
| 33 | id = "DIN137A-M2" |
| 34 | title = "Curved spring washer M2 (DIN 137 A)" |
| 35 | params = { size = "M2", style = "curved" } |
| 36 | aliases = ["DIN 137 A M2", "DIN 137 M2", "curved spring washer M2", "DIN 137A M2"] |
| 37 | standard = "DIN 137 A" |
| 38 | |
| 39 | [[presets]] |
| 40 | id = "DIN137A-M2.5" |
| 41 | title = "Curved spring washer M2.5 (DIN 137 A)" |
| 42 | params = { size = "M2.5", style = "curved" } |
| 43 | aliases = ["DIN 137 A M2.5", "DIN 137 M2.5", "curved spring washer M2.5", "DIN 137A M2.5"] |
| 44 | standard = "DIN 137 A" |
| 45 | |
| 46 | [[presets]] |
| 47 | id = "DIN137A-M3" |
| 48 | title = "Curved spring washer M3 (DIN 137 A)" |
| 49 | params = { size = "M3", style = "curved" } |
| 50 | aliases = ["DIN 137 A M3", "DIN 137 M3", "curved spring washer M3", "DIN 137A M3"] |
| 51 | standard = "DIN 137 A" |
| 52 | |
| 53 | [[presets]] |
| 54 | id = "DIN137A-M4" |
| 55 | title = "Curved spring washer M4 (DIN 137 A)" |
| 56 | params = { size = "M4", style = "curved" } |
| 57 | aliases = ["DIN 137 A M4", "DIN 137 M4", "curved spring washer M4", "DIN 137A M4"] |
| 58 | standard = "DIN 137 A" |
| 59 | |
| 60 | [[presets]] |
| 61 | id = "DIN137A-M5" |
| 62 | title = "Curved spring washer M5 (DIN 137 A)" |
| 63 | params = { size = "M5", style = "curved" } |
| 64 | aliases = ["DIN 137 A M5", "DIN 137 M5", "curved spring washer M5", "DIN 137A M5"] |
| 65 | standard = "DIN 137 A" |
| 66 | |
| 67 | [[presets]] |
| 68 | id = "DIN137A-M6" |
| 69 | title = "Curved spring washer M6 (DIN 137 A)" |
| 70 | params = { size = "M6", style = "curved" } |
| 71 | aliases = ["DIN 137 A M6", "DIN 137 M6", "curved spring washer M6", "DIN 137A M6"] |
| 72 | standard = "DIN 137 A" |
| 73 | |
| 74 | [[presets]] |
| 75 | id = "DIN137A-M8" |
| 76 | title = "Curved spring washer M8 (DIN 137 A)" |
| 77 | params = { size = "M8", style = "curved" } |
| 78 | aliases = ["DIN 137 A M8", "DIN 137 M8", "curved spring washer M8", "DIN 137A M8"] |
| 79 | standard = "DIN 137 A" |
| 80 | |
| 81 | [[presets]] |
| 82 | id = "DIN137A-M10" |
| 83 | title = "Curved spring washer M10 (DIN 137 A)" |
| 84 | params = { size = "M10", style = "curved" } |
| 85 | aliases = ["DIN 137 A M10", "DIN 137 M10", "curved spring washer M10", "DIN 137A M10"] |
| 86 | standard = "DIN 137 A" |
| 87 | |
| 88 | [[presets]] |
| 89 | id = "DIN6797A-M2" |
| 90 | title = "External tooth lock washer M2 (DIN 6797 A)" |
| 91 | params = { size = "M2", style = "tooth" } |
| 92 | aliases = ["DIN 6797 A M2", "DIN 6797 M2", "external tooth lock washer M2", "star washer M2"] |
| 93 | standard = "DIN 6797 A" |
| 94 | |
| 95 | [[presets]] |
| 96 | id = "DIN6797A-M2.5" |
| 97 | title = "External tooth lock washer M2.5 (DIN 6797 A)" |
| 98 | params = { size = "M2.5", style = "tooth" } |
| 99 | aliases = ["DIN 6797 A M2.5", "DIN 6797 M2.5", "external tooth lock washer M2.5", "star washer M2.5"] |
| 100 | standard = "DIN 6797 A" |
| 101 | |
| 102 | [[presets]] |
| 103 | id = "DIN6797A-M3" |
| 104 | title = "External tooth lock washer M3 (DIN 6797 A)" |
| 105 | params = { size = "M3", style = "tooth" } |
| 106 | aliases = ["DIN 6797 A M3", "DIN 6797 M3", "external tooth lock washer M3", "star washer M3"] |
| 107 | standard = "DIN 6797 A" |
| 108 | |
| 109 | [[presets]] |
| 110 | id = "DIN6797A-M4" |
| 111 | title = "External tooth lock washer M4 (DIN 6797 A)" |
| 112 | params = { size = "M4", style = "tooth" } |
| 113 | aliases = ["DIN 6797 A M4", "DIN 6797 M4", "external tooth lock washer M4", "star washer M4"] |
| 114 | standard = "DIN 6797 A" |
| 115 | |
| 116 | [[presets]] |
| 117 | id = "DIN6797A-M5" |
| 118 | title = "External tooth lock washer M5 (DIN 6797 A)" |
| 119 | params = { size = "M5", style = "tooth" } |
| 120 | aliases = ["DIN 6797 A M5", "DIN 6797 M5", "external tooth lock washer M5", "star washer M5"] |
| 121 | standard = "DIN 6797 A" |
| 122 | |
| 123 | [[presets]] |
| 124 | id = "DIN6797A-M6" |
| 125 | title = "External tooth lock washer M6 (DIN 6797 A)" |
| 126 | params = { size = "M6", style = "tooth" } |
| 127 | aliases = ["DIN 6797 A M6", "DIN 6797 M6", "external tooth lock washer M6", "star washer M6"] |
| 128 | standard = "DIN 6797 A" |
| 129 | |
| 130 | [[presets]] |
| 131 | id = "DIN6797A-M8" |
| 132 | title = "External tooth lock washer M8 (DIN 6797 A)" |
| 133 | params = { size = "M8", style = "tooth" } |
| 134 | aliases = ["DIN 6797 A M8", "DIN 6797 M8", "external tooth lock washer M8", "star washer M8"] |
| 135 | standard = "DIN 6797 A" |
| 136 |
Curved spring washers (DIN 137 form A, M2 to M10) and external tooth lock washers (DIN 6797 form A, M2 to M8). Presets cover the catalogue's metric curved spring washers and external tooth lock washers.
| Parameter | Meaning |
|---|---|
size |
Screw size: M2 to M10 (curved), M2 to M8 (tooth) |
style |
curved (DIN 137 A) or tooth (DIN 6797 A) |
material |
spring-steel or stainless |
| Size | Curved d1 | d2 | s | h max | Tooth d1 | d2 | s | teeth |
|---|---|---|---|---|---|---|---|---|
| M2 | 2.2 | 4.5 | 0.3 | 1.0 | 2.2 | 4.5 | 0.3 | 6 |
| M2.5 | 2.8 | 5.5 | 0.3 | 1.1 | 2.7 | 5.5 | 0.4 | 6 |
| M3 | 3.2 | 6 | 0.4 | 1.3 | 3.2 | 6 | 0.4 | 6 |
| M4 | 4.3 | 8 | 0.5 | 1.6 | 4.3 | 8 | 0.5 | 8 |
| M5 | 5.3 | 10 | 0.5 | 1.8 | 5.3 | 10 | 0.6 | 8 |
| M6 | 6.4 | 11 | 0.5 | 2.2 | 6.4 | 11 | 0.7 | 8 |
| M8 | 8.4 | 15 | 0.5 | 3.4 | 8.4 | 15 | 0.8 | 8 |
| M10 | 10.5 | 18 | 0.8 | 4.0 | – | – | – | – |
The catalogue's entries carry DIN 125 plain-washer dimensions (for example M3: 3.2 / 7 / 0.5), not a curved or toothed washer's; the presets follow the standards. Not covered: M12 curved (DIN 137 A has no M12); wave washers (DIN 137 B gives no number of waves).
Preset list: sizes of the step.parts catalogue (MIT), see library/NOTICE.md.
| 1 | # Spring and lock washers (DIN 137 A / DIN 6797 A) |
| 2 | |
| 3 | Curved spring washers (DIN 137 form A, M2 to M10) and external tooth lock washers (DIN 6797 form A, M2 to M8). |
| 4 | Presets cover the catalogue's metric curved spring washers and external tooth lock washers. |
| 5 | |
| 6 | ## Geometry |
| 7 | |
| 8 | - **curved** (DIN 137 A): the annulus **d1** × **d2**, **s** thick, curved about an axis parallel to X so that it |
| 9 | stands **h** (max, the free height) tall: the part of the annulus between two coaxial cylinders of radii R and |
| 10 | R + s, R chosen so that the inner (upper) surface rises h − s at the rim (R = ((d2/2)² + (h − s)²) / (2 (h − s))). |
| 11 | Its lowest point is on the XY plane at the origin. The standard gives d1, d2, s and h only; this is the curved form |
| 12 | those four numbers define. |
| 13 | - **tooth** (DIN 6797 A): envelope, the flat blank, an annulus d1 × d2, s thick, lying on the XY plane. The standard |
| 14 | gives the number of teeth (6 up to M3, 8 from M4) and the overall height (at least 2 s) but not the teeth's shape, |
| 15 | width or twist, so the teeth are not modelled. |
| 16 | |
| 17 | ## Parameters |
| 18 | |
| 19 | | Parameter | Meaning | |
| 20 | |---|---| |
| 21 | | `size` | Screw size: M2 to M10 (curved), M2 to M8 (tooth) | |
| 22 | | `style` | `curved` (DIN 137 A) or `tooth` (DIN 6797 A) | |
| 23 | | `material` | `spring-steel` or `stainless` | |
| 24 | |
| 25 | ## Sources |
| 26 | |
| 27 | - **DIN 137** (1985; withdrawn without replacement), *Spring washers, curved or waved*, form A, as reproduced by |
| 28 | fasten.it (https://fasten.it/en/Norms/Norm/DIN%20137, table "source DIN 137 A"). Cross-check: McMaster-Carr's DIN |
| 29 | 137A washer specifications (https://mcmaster.com/products/washers/specifications-met~din-137a) agree on d1, d2, s |
| 30 | and h max for M2, M3, M4, M5, M6, M8 and M10. |
| 31 | Disagreement: the fasten.it page's text calls form A "waved" and form B "curved"; its figure, DIN 137 itself |
| 32 | (form A gewölbt, form B gewellt) and McMaster have form A curved. The table used here is the one with h max 1.0 (M2) |
| 33 | to 4.0 (M10), which McMaster sells as DIN 137 A curved washers. |
| 34 | - **DIN 6797:1988-07** (withdrawn), *Toothed lock washers*, form A (external teeth), as reproduced by fasten.it |
| 35 | (https://fasten.it/en/Norms/Norm/DIN%206797). Cross-checks: Bossard BN 787 "Toothed lock washers type A, external |
| 36 | teeth" (28 Apr 2017) agrees on every d1, d2, s; Duratool/Farnell datasheet V1.1 (21/07/17, |
| 37 | https://www.farnell.com/cad/2337766.pdf) agrees on the teeth (M3 6, M4 8). The rows "for hexagon screws only" (M5 |
| 38 | 5.1/9, M8 8.2/14) are not used. |
| 39 | |
| 40 | | Size | Curved d1 | d2 | s | h max | Tooth d1 | d2 | s | teeth | |
| 41 | |---|---|---|---|---|---|---|---|---| |
| 42 | | M2 | 2.2 | 4.5 | 0.3 | 1.0 | 2.2 | 4.5 | 0.3 | 6 | |
| 43 | | M2.5 | 2.8 | 5.5 | 0.3 | 1.1 | 2.7 | 5.5 | 0.4 | 6 | |
| 44 | | M3 | 3.2 | 6 | 0.4 | 1.3 | 3.2 | 6 | 0.4 | 6 | |
| 45 | | M4 | 4.3 | 8 | 0.5 | 1.6 | 4.3 | 8 | 0.5 | 8 | |
| 46 | | M5 | 5.3 | 10 | 0.5 | 1.8 | 5.3 | 10 | 0.6 | 8 | |
| 47 | | M6 | 6.4 | 11 | 0.5 | 2.2 | 6.4 | 11 | 0.7 | 8 | |
| 48 | | M8 | 8.4 | 15 | 0.5 | 3.4 | 8.4 | 15 | 0.8 | 8 | |
| 49 | | M10 | 10.5 | 18 | 0.8 | 4.0 | – | – | – | – | |
| 50 | |
| 51 | The catalogue's entries carry DIN 125 plain-washer dimensions (for example M3: 3.2 / 7 / 0.5), not a curved or |
| 52 | toothed washer's; the presets follow the standards. Not covered: M12 curved (DIN 137 A has no M12); wave washers |
| 53 | (DIN 137 B gives no number of waves). |
| 54 | |
| 55 | Preset list: sizes of the step.parts catalogue (MIT), see `library/NOTICE.md`. |
| 56 |
Curved spring washers, DIN 137 form A (M2 to M10): the annulus curved about one axis to its free height h max. External tooth lock washers, DIN 6797 form A (M2 to M8): envelope geometry, the flat blank (the teeth's shape is not given by the standard). Centred on the origin, lying on the XY plane. Dimensions: see the README.
Curved spring washers (DIN 137 form A, M2 to M10) and external tooth lock washers (DIN 6797 form A, M2 to M8). Presets cover the catalogue's metric curved spring washers and external tooth lock washers.
| Parameter | Meaning |
|---|---|
size |
Screw size: M2 to M10 (curved), M2 to M8 (tooth) |
style |
curved (DIN 137 A) or tooth (DIN 6797 A) |
material |
spring-steel or stainless |
| Size | Curved d1 | d2 | s | h max | Tooth d1 | d2 | s | teeth |
|---|---|---|---|---|---|---|---|---|
| M2 | 2.2 | 4.5 | 0.3 | 1.0 | 2.2 | 4.5 | 0.3 | 6 |
| M2.5 | 2.8 | 5.5 | 0.3 | 1.1 | 2.7 | 5.5 | 0.4 | 6 |
| M3 | 3.2 | 6 | 0.4 | 1.3 | 3.2 | 6 | 0.4 | 6 |
| M4 | 4.3 | 8 | 0.5 | 1.6 | 4.3 | 8 | 0.5 | 8 |
| M5 | 5.3 | 10 | 0.5 | 1.8 | 5.3 | 10 | 0.6 | 8 |
| M6 | 6.4 | 11 | 0.5 | 2.2 | 6.4 | 11 | 0.7 | 8 |
| M8 | 8.4 | 15 | 0.5 | 3.4 | 8.4 | 15 | 0.8 | 8 |
| M10 | 10.5 | 18 | 0.8 | 4.0 | – | – | – | – |
The catalogue's entries carry DIN 125 plain-washer dimensions (for example M3: 3.2 / 7 / 0.5), not a curved or toothed washer's; the presets follow the standards. Not covered: M12 curved (DIN 137 A has no M12); wave washers (DIN 137 B gives no number of waves).
Preset list: sizes of the step.parts catalogue (MIT), see library/NOTICE.md.
Split lock washer (spring washer), DIN 127 form B, M2 to M100.
Conical spring washer (disc spring) for bolted joints, DIN 6796, M2 to M125.
Tab washers, flat as delivered: DIN 93 (long tab) and DIN 463 (long and short tab), M3 to M52.
Metric flat washers: ISO 7089 / DIN 125, ISO 7091, ISO 7092, ISO 7093-1, DIN 9021, DIN 433, DIN 440 V, DIN 7349.