steve/cotter-pin
Cotter pin (split pin), nominal 1 to 5 mm, any length: simplified envelope measured from step.parts' models.
Slotted spring pin (roll pin), heavy duty, ISO 8752 / DIN 1481, d 1 to 50 mm, any length.
| 1 | """Slotted spring pin (heavy duty), ISO 8752 (DIN 1481), d 1 to 50 mm, any length. |
| 2 | |
| 3 | Free state (before fitting): a tube of outside diameter d1 max and wall s, both ends tapered over length a min to the end |
| 4 | diameter d2 (the wall keeps its thickness through the taper), and an axial slot. ISO 8752 leaves the slot's width to |
| 5 | the supplier (Table 2) but requires that the slot shall not fully close in the smallest permitted hole (clause 4: hole |
| 6 | d H12, so its smallest size is d). The slot is drawn at that limit, pi * (d1 max - d) wide at the outside: the |
| 7 | circumference a pin of d1 max gives up when pressed into a hole of diameter d. One end is on the XY plane at the origin, the pin along +Z, the slot at the +X side. |
| 8 | """ |
| 9 | import math |
| 10 | |
| 11 | from steve import Model |
| 12 | |
| 13 | diameter = 4 # mm Nominal diameter d |
| 14 | length = 20 # mm Length l |
| 15 | material = "spring-steel" # Material |
| 16 | |
| 17 | # ISO 8752:2009 Table 1, pp. 2-3 (official preview: https://cdn.standards.iteh.ai/samples/40658/df4caae79e6b4325b3bc70097ffa4274/ISO-8752-2009.pdf; |
| 18 | # also https://fasten.it/en/Norms/Norm/DIN%20EN%20ISO%208752, 10-2009). |
| 19 | # d: (d1 max before mounting, d2 before mounting (for reference), a min, s) |
| 20 | DIMENSIONS = { |
| 21 | 1: (1.3, 0.8, 0.15, 0.2), 1.5: (1.8, 1.1, 0.25, 0.3), 2: (2.4, 1.5, 0.35, 0.4), 2.5: (2.9, 1.8, 0.4, 0.5), |
| 22 | 3: (3.5, 2.1, 0.5, 0.6), 3.5: (4.0, 2.3, 0.6, 0.75), 4: (4.6, 2.8, 0.65, 0.8), 4.5: (5.1, 2.9, 0.8, 1.0), |
| 23 | 5: (5.6, 3.4, 0.9, 1.0), 6: (6.7, 4.0, 1.2, 1.2), 8: (8.8, 5.5, 1.6, 1.5), 10: (10.8, 6.5, 2.0, 2.0), |
| 24 | 12: (12.8, 7.5, 2.0, 2.5), 13: (13.8, 8.5, 2.0, 2.5), 14: (14.8, 8.5, 2.0, 3.0), 16: (16.8, 10.5, 2.0, 3.0), |
| 25 | 18: (18.9, 11.5, 2.0, 3.5), 20: (20.9, 12.5, 3.0, 4.0), 21: (21.9, 13.5, 3.0, 4.0), 25: (25.9, 15.5, 3.0, 5.0), |
| 26 | 28: (28.9, 17.5, 3.0, 5.5), 30: (30.9, 18.5, 3.0, 6.0), 32: (32.9, 20.5, 3.0, 6.0), 35: (35.9, 21.5, 3.0, 7.0), |
| 27 | 38: (38.9, 23.5, 4.0, 7.5), 40: (40.9, 25.5, 4.0, 7.5), 45: (45.9, 28.5, 4.0, 8.5), 50: (50.9, 31.5, 4.0, 9.5), |
| 28 | } |
| 29 | # material choice: (STEVE material library id, appearance colour) |
| 30 | MATERIALS = { |
| 31 | "spring-steel": ("steel-c60e", "#3a3c3f"), |
| 32 | "stainless": ("stainless-420c", "#c9ccd0"), # martensitic stainless |
| 33 | } |
| 34 | |
| 35 | if diameter not in DIMENSIONS: |
| 36 | raise ValueError(f"ISO 8752 has no diameter {diameter} mm") |
| 37 | d1, d2, a, s = DIMENSIONS[diameter] |
| 38 | if length <= 2 * a: |
| 39 | raise ValueError(f"length must be more than twice the taper length ({2 * a} mm)") |
| 40 | outer, end = d1 / 2, d2 / 2 |
| 41 | gap = math.pi * (d1 - diameter) # slot width at the outside, mm |
| 42 | slot_angle = math.degrees(gap / outer) |
| 43 | material_id, colour = MATERIALS[material] |
| 44 | |
| 45 | model = Model() |
| 46 | with model.sketch("wall", on="XZ", name="Wall section") as sk: |
| 47 | sk.polyline("outline", [(end - s, 0), (end, 0), (outer, a), (outer, length - a), (end, length), |
| 48 | (end - s, length), (outer - s, length - a), (outer - s, a)]) |
| 49 | model.revolve("pin", "wall", axis="Z", angle=360 - slot_angle, name="Pin") |
| 50 | model.material(material_id, color=colour) |
| 51 | result = model.result() |
| 52 |
| 1 | name = "steve/slotted-spring-pin" |
| 2 | version = "1.0.0" |
| 3 | runtime = "steve" |
| 4 | license = "MIT" |
| 5 | summary = "Slotted spring pin (roll pin), heavy duty, ISO 8752 / DIN 1481, d 1 to 50 mm, any length." |
| 6 | description = """ISO 8752 (DIN 1481) heavy-duty slotted spring pin in its free state before fitting: a slotted tube \ |
| 7 | of outside diameter d1 max and wall s with tapered ends (end diameter d2 over length a), with catalogue sizes as \ |
| 8 | presets. The slot's width is not fixed by the standard; it is drawn as the circumference the pin gives up when \ |
| 9 | pressed into a hole of its nominal diameter. |
| 10 | |
| 11 | One end is on the XY plane at the origin and the pin points along +Z. Dimensions from ISO 8752 (see the README).""" |
| 12 | tags = ["pin", "spring-pin", "roll-pin", "slotted-pin", "iso-8752", "din-1481", "metric"] |
| 13 | |
| 14 | [parameters.diameter] |
| 15 | type = "choice" |
| 16 | default = 4 |
| 17 | choices = [1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 6, 8, 10, 12, 13, 14, 16, 18, 20, 21, 25, 28, 30, 32, 35, 38, 40, 45, 50] |
| 18 | label = "Diameter" |
| 19 | description = "Nominal diameter d (the hole it fits), mm." |
| 20 | |
| 21 | [parameters.length] |
| 22 | type = "number" |
| 23 | default = 20 |
| 24 | min = 1 |
| 25 | max = 200 |
| 26 | unit = "mm" |
| 27 | label = "Length" |
| 28 | |
| 29 | [parameters.material] |
| 30 | type = "choice" |
| 31 | default = "spring-steel" |
| 32 | choices = ["spring-steel", "stainless"] |
| 33 | label = "Material" |
| 34 |
| 1 | # Presets of this part (factory/PRESETS.md). Written by factory/gen.py. |
| 2 | |
| 3 | [[presets]] |
| 4 | id = "1.5x6" |
| 5 | title = "Ø1.5 × 6" |
| 6 | params = { diameter = 1.5, length = 6 } |
| 7 | aliases = ["ISO 8752 1.5x6", "DIN 1481 1.5x6", "roll pin 1.5x6", "spring pin 1.5x6", "d=1.5 mm, L=6 mm"] |
| 8 | standard = "ISO 8752" |
| 9 | |
| 10 | [[presets]] |
| 11 | id = "1.5x8" |
| 12 | title = "Ø1.5 × 8" |
| 13 | params = { diameter = 1.5, length = 8 } |
| 14 | aliases = ["ISO 8752 1.5x8", "DIN 1481 1.5x8", "roll pin 1.5x8", "spring pin 1.5x8", "d=1.5 mm, L=8 mm"] |
| 15 | standard = "ISO 8752" |
| 16 | |
| 17 | [[presets]] |
| 18 | id = "1.5x10" |
| 19 | title = "Ø1.5 × 10" |
| 20 | params = { diameter = 1.5, length = 10 } |
| 21 | aliases = ["ISO 8752 1.5x10", "DIN 1481 1.5x10", "roll pin 1.5x10", "spring pin 1.5x10", "d=1.5 mm, L=10 mm"] |
| 22 | standard = "ISO 8752" |
| 23 | |
| 24 | [[presets]] |
| 25 | id = "1.5x12" |
| 26 | title = "Ø1.5 × 12" |
| 27 | params = { diameter = 1.5, length = 12 } |
| 28 | aliases = ["ISO 8752 1.5x12", "DIN 1481 1.5x12", "roll pin 1.5x12", "spring pin 1.5x12", "d=1.5 mm, L=12 mm"] |
| 29 | standard = "ISO 8752" |
| 30 | |
| 31 | [[presets]] |
| 32 | id = "1.5x16" |
| 33 | title = "Ø1.5 × 16" |
| 34 | params = { diameter = 1.5, length = 16 } |
| 35 | aliases = ["ISO 8752 1.5x16", "DIN 1481 1.5x16", "roll pin 1.5x16", "spring pin 1.5x16", "d=1.5 mm, L=16 mm"] |
| 36 | standard = "ISO 8752" |
| 37 | |
| 38 | [[presets]] |
| 39 | id = "1.5x20" |
| 40 | title = "Ø1.5 × 20" |
| 41 | params = { diameter = 1.5, length = 20 } |
| 42 | aliases = ["ISO 8752 1.5x20", "DIN 1481 1.5x20", "roll pin 1.5x20", "spring pin 1.5x20", "d=1.5 mm, L=20 mm"] |
| 43 | standard = "ISO 8752" |
| 44 | |
| 45 | [[presets]] |
| 46 | id = "1.5x25" |
| 47 | title = "Ø1.5 × 25" |
| 48 | params = { diameter = 1.5, length = 25 } |
| 49 | aliases = ["ISO 8752 1.5x25", "DIN 1481 1.5x25", "roll pin 1.5x25", "spring pin 1.5x25", "d=1.5 mm, L=25 mm"] |
| 50 | standard = "ISO 8752" |
| 51 | |
| 52 | [[presets]] |
| 53 | id = "2x6" |
| 54 | title = "Ø2 × 6" |
| 55 | params = { diameter = 2, length = 6 } |
| 56 | aliases = ["ISO 8752 2x6", "DIN 1481 2x6", "roll pin 2x6", "spring pin 2x6", "d=2 mm, L=6 mm"] |
| 57 | standard = "ISO 8752" |
| 58 | |
| 59 | [[presets]] |
| 60 | id = "2x8" |
| 61 | title = "Ø2 × 8" |
| 62 | params = { diameter = 2, length = 8 } |
| 63 | aliases = ["ISO 8752 2x8", "DIN 1481 2x8", "roll pin 2x8", "spring pin 2x8", "d=2 mm, L=8 mm"] |
| 64 | standard = "ISO 8752" |
| 65 | |
| 66 | [[presets]] |
| 67 | id = "2x10" |
| 68 | title = "Ø2 × 10" |
| 69 | params = { diameter = 2, length = 10 } |
| 70 | aliases = ["ISO 8752 2x10", "DIN 1481 2x10", "roll pin 2x10", "spring pin 2x10", "d=2 mm, L=10 mm"] |
| 71 | standard = "ISO 8752" |
| 72 | |
| 73 | [[presets]] |
| 74 | id = "2x12" |
| 75 | title = "Ø2 × 12" |
| 76 | params = { diameter = 2, length = 12 } |
| 77 | aliases = ["ISO 8752 2x12", "DIN 1481 2x12", "roll pin 2x12", "spring pin 2x12", "d=2 mm, L=12 mm"] |
| 78 | standard = "ISO 8752" |
| 79 | |
| 80 | [[presets]] |
| 81 | id = "2x16" |
| 82 | title = "Ø2 × 16" |
| 83 | params = { diameter = 2, length = 16 } |
| 84 | aliases = ["ISO 8752 2x16", "DIN 1481 2x16", "roll pin 2x16", "spring pin 2x16", "d=2 mm, L=16 mm"] |
| 85 | standard = "ISO 8752" |
| 86 | |
| 87 | [[presets]] |
| 88 | id = "2x20" |
| 89 | title = "Ø2 × 20" |
| 90 | params = { diameter = 2, length = 20 } |
| 91 | aliases = ["ISO 8752 2x20", "DIN 1481 2x20", "roll pin 2x20", "spring pin 2x20", "d=2 mm, L=20 mm"] |
| 92 | standard = "ISO 8752" |
| 93 | |
| 94 | [[presets]] |
| 95 | id = "2x25" |
| 96 | title = "Ø2 × 25" |
| 97 | params = { diameter = 2, length = 25 } |
| 98 | aliases = ["ISO 8752 2x25", "DIN 1481 2x25", "roll pin 2x25", "spring pin 2x25", "d=2 mm, L=25 mm"] |
| 99 | standard = "ISO 8752" |
| 100 | |
| 101 | [[presets]] |
| 102 | id = "2.5x8" |
| 103 | title = "Ø2.5 × 8" |
| 104 | params = { diameter = 2.5, length = 8 } |
| 105 | aliases = ["ISO 8752 2.5x8", "DIN 1481 2.5x8", "roll pin 2.5x8", "spring pin 2.5x8", "d=2.5 mm, L=8 mm"] |
| 106 | standard = "ISO 8752" |
| 107 | |
| 108 | [[presets]] |
| 109 | id = "2.5x10" |
| 110 | title = "Ø2.5 × 10" |
| 111 | params = { diameter = 2.5, length = 10 } |
| 112 | aliases = ["ISO 8752 2.5x10", "DIN 1481 2.5x10", "roll pin 2.5x10", "spring pin 2.5x10", "d=2.5 mm, L=10 mm"] |
| 113 | standard = "ISO 8752" |
| 114 | |
| 115 | [[presets]] |
| 116 | id = "2.5x12" |
| 117 | title = "Ø2.5 × 12" |
| 118 | params = { diameter = 2.5, length = 12 } |
| 119 | aliases = ["ISO 8752 2.5x12", "DIN 1481 2.5x12", "roll pin 2.5x12", "spring pin 2.5x12", "d=2.5 mm, L=12 mm"] |
| 120 | standard = "ISO 8752" |
| 121 | |
| 122 | [[presets]] |
| 123 | id = "2.5x16" |
| 124 | title = "Ø2.5 × 16" |
| 125 | params = { diameter = 2.5, length = 16 } |
| 126 | aliases = ["ISO 8752 2.5x16", "DIN 1481 2.5x16", "roll pin 2.5x16", "spring pin 2.5x16", "d=2.5 mm, L=16 mm"] |
| 127 | standard = "ISO 8752" |
| 128 | |
| 129 | [[presets]] |
| 130 | id = "2.5x20" |
| 131 | title = "Ø2.5 × 20" |
| 132 | params = { diameter = 2.5, length = 20 } |
| 133 | aliases = ["ISO 8752 2.5x20", "DIN 1481 2.5x20", "roll pin 2.5x20", "spring pin 2.5x20", "d=2.5 mm, L=20 mm"] |
| 134 | standard = "ISO 8752" |
| 135 | |
| 136 | [[presets]] |
| 137 | id = "2.5x25" |
| 138 | title = "Ø2.5 × 25" |
| 139 | params = { diameter = 2.5, length = 25 } |
| 140 | aliases = ["ISO 8752 2.5x25", "DIN 1481 2.5x25", "roll pin 2.5x25", "spring pin 2.5x25", "d=2.5 mm, L=25 mm"] |
| 141 | standard = "ISO 8752" |
| 142 | |
| 143 | [[presets]] |
| 144 | id = "2.5x30" |
| 145 | title = "Ø2.5 × 30" |
| 146 | params = { diameter = 2.5, length = 30 } |
| 147 | aliases = ["ISO 8752 2.5x30", "DIN 1481 2.5x30", "roll pin 2.5x30", "spring pin 2.5x30", "d=2.5 mm, L=30 mm"] |
| 148 | standard = "ISO 8752" |
| 149 | |
| 150 | [[presets]] |
| 151 | id = "3x10" |
| 152 | title = "Ø3 × 10" |
| 153 | params = { diameter = 3, length = 10 } |
| 154 | aliases = ["ISO 8752 3x10", "DIN 1481 3x10", "roll pin 3x10", "spring pin 3x10", "d=3 mm, L=10 mm"] |
| 155 | standard = "ISO 8752" |
| 156 | |
| 157 | [[presets]] |
| 158 | id = "3x12" |
| 159 | title = "Ø3 × 12" |
| 160 | params = { diameter = 3, length = 12 } |
| 161 | aliases = ["ISO 8752 3x12", "DIN 1481 3x12", "roll pin 3x12", "spring pin 3x12", "d=3 mm, L=12 mm"] |
| 162 | standard = "ISO 8752" |
| 163 | |
| 164 | [[presets]] |
| 165 | id = "3x16" |
| 166 | title = "Ø3 × 16" |
| 167 | params = { diameter = 3, length = 16 } |
| 168 | aliases = ["ISO 8752 3x16", "DIN 1481 3x16", "roll pin 3x16", "spring pin 3x16", "d=3 mm, L=16 mm"] |
| 169 | standard = "ISO 8752" |
| 170 | |
| 171 | [[presets]] |
| 172 | id = "3x20" |
| 173 | title = "Ø3 × 20" |
| 174 | params = { diameter = 3, length = 20 } |
| 175 | aliases = ["ISO 8752 3x20", "DIN 1481 3x20", "roll pin 3x20", "spring pin 3x20", "d=3 mm, L=20 mm"] |
| 176 | standard = "ISO 8752" |
| 177 | |
| 178 | [[presets]] |
| 179 | id = "3x25" |
| 180 | title = "Ø3 × 25" |
| 181 | params = { diameter = 3, length = 25 } |
| 182 | aliases = ["ISO 8752 3x25", "DIN 1481 3x25", "roll pin 3x25", "spring pin 3x25", "d=3 mm, L=25 mm"] |
| 183 | standard = "ISO 8752" |
| 184 | |
| 185 | [[presets]] |
| 186 | id = "3x30" |
| 187 | title = "Ø3 × 30" |
| 188 | params = { diameter = 3, length = 30 } |
| 189 | aliases = ["ISO 8752 3x30", "DIN 1481 3x30", "roll pin 3x30", "spring pin 3x30", "d=3 mm, L=30 mm"] |
| 190 | standard = "ISO 8752" |
| 191 | |
| 192 | [[presets]] |
| 193 | id = "3x40" |
| 194 | title = "Ø3 × 40" |
| 195 | params = { diameter = 3, length = 40 } |
| 196 | aliases = ["ISO 8752 3x40", "DIN 1481 3x40", "roll pin 3x40", "spring pin 3x40", "d=3 mm, L=40 mm"] |
| 197 | standard = "ISO 8752" |
| 198 | |
| 199 | [[presets]] |
| 200 | id = "4x12" |
| 201 | title = "Ø4 × 12" |
| 202 | params = { diameter = 4, length = 12 } |
| 203 | aliases = ["ISO 8752 4x12", "DIN 1481 4x12", "roll pin 4x12", "spring pin 4x12", "d=4 mm, L=12 mm"] |
| 204 | standard = "ISO 8752" |
| 205 | |
| 206 | [[presets]] |
| 207 | id = "4x16" |
| 208 | title = "Ø4 × 16" |
| 209 | params = { diameter = 4, length = 16 } |
| 210 | aliases = ["ISO 8752 4x16", "DIN 1481 4x16", "roll pin 4x16", "spring pin 4x16", "d=4 mm, L=16 mm"] |
| 211 | standard = "ISO 8752" |
| 212 | |
| 213 | [[presets]] |
| 214 | id = "4x20" |
| 215 | title = "Ø4 × 20" |
| 216 | params = { diameter = 4, length = 20 } |
| 217 | aliases = ["ISO 8752 4x20", "DIN 1481 4x20", "roll pin 4x20", "spring pin 4x20", "d=4 mm, L=20 mm"] |
| 218 | standard = "ISO 8752" |
| 219 | |
| 220 | [[presets]] |
| 221 | id = "4x25" |
| 222 | title = "Ø4 × 25" |
| 223 | params = { diameter = 4, length = 25 } |
| 224 | aliases = ["ISO 8752 4x25", "DIN 1481 4x25", "roll pin 4x25", "spring pin 4x25", "d=4 mm, L=25 mm"] |
| 225 | standard = "ISO 8752" |
| 226 | |
| 227 | [[presets]] |
| 228 | id = "4x30" |
| 229 | title = "Ø4 × 30" |
| 230 | params = { diameter = 4, length = 30 } |
| 231 | aliases = ["ISO 8752 4x30", "DIN 1481 4x30", "roll pin 4x30", "spring pin 4x30", "d=4 mm, L=30 mm"] |
| 232 | standard = "ISO 8752" |
| 233 | |
| 234 | [[presets]] |
| 235 | id = "4x40" |
| 236 | title = "Ø4 × 40" |
| 237 | params = { diameter = 4, length = 40 } |
| 238 | aliases = ["ISO 8752 4x40", "DIN 1481 4x40", "roll pin 4x40", "spring pin 4x40", "d=4 mm, L=40 mm"] |
| 239 | standard = "ISO 8752" |
| 240 | |
| 241 | [[presets]] |
| 242 | id = "4x50" |
| 243 | title = "Ø4 × 50" |
| 244 | params = { diameter = 4, length = 50 } |
| 245 | aliases = ["ISO 8752 4x50", "DIN 1481 4x50", "roll pin 4x50", "spring pin 4x50", "d=4 mm, L=50 mm"] |
| 246 | standard = "ISO 8752" |
| 247 | |
| 248 | [[presets]] |
| 249 | id = "5x16" |
| 250 | title = "Ø5 × 16" |
| 251 | params = { diameter = 5, length = 16 } |
| 252 | aliases = ["ISO 8752 5x16", "DIN 1481 5x16", "roll pin 5x16", "spring pin 5x16", "d=5 mm, L=16 mm"] |
| 253 | standard = "ISO 8752" |
| 254 | |
| 255 | [[presets]] |
| 256 | id = "5x20" |
| 257 | title = "Ø5 × 20" |
| 258 | params = { diameter = 5, length = 20 } |
| 259 | aliases = ["ISO 8752 5x20", "DIN 1481 5x20", "roll pin 5x20", "spring pin 5x20", "d=5 mm, L=20 mm"] |
| 260 | standard = "ISO 8752" |
| 261 | |
| 262 | [[presets]] |
| 263 | id = "5x25" |
| 264 | title = "Ø5 × 25" |
| 265 | params = { diameter = 5, length = 25 } |
| 266 | aliases = ["ISO 8752 5x25", "DIN 1481 5x25", "roll pin 5x25", "spring pin 5x25", "d=5 mm, L=25 mm"] |
| 267 | standard = "ISO 8752" |
| 268 | |
| 269 | [[presets]] |
| 270 | id = "5x30" |
| 271 | title = "Ø5 × 30" |
| 272 | params = { diameter = 5, length = 30 } |
| 273 | aliases = ["ISO 8752 5x30", "DIN 1481 5x30", "roll pin 5x30", "spring pin 5x30", "d=5 mm, L=30 mm"] |
| 274 | standard = "ISO 8752" |
| 275 | |
| 276 | [[presets]] |
| 277 | id = "5x40" |
| 278 | title = "Ø5 × 40" |
| 279 | params = { diameter = 5, length = 40 } |
| 280 | aliases = ["ISO 8752 5x40", "DIN 1481 5x40", "roll pin 5x40", "spring pin 5x40", "d=5 mm, L=40 mm"] |
| 281 | standard = "ISO 8752" |
| 282 | |
| 283 | [[presets]] |
| 284 | id = "5x50" |
| 285 | title = "Ø5 × 50" |
| 286 | params = { diameter = 5, length = 50 } |
| 287 | aliases = ["ISO 8752 5x50", "DIN 1481 5x50", "roll pin 5x50", "spring pin 5x50", "d=5 mm, L=50 mm"] |
| 288 | standard = "ISO 8752" |
| 289 | |
| 290 | [[presets]] |
| 291 | id = "6x20" |
| 292 | title = "Ø6 × 20" |
| 293 | params = { diameter = 6, length = 20 } |
| 294 | aliases = ["ISO 8752 6x20", "DIN 1481 6x20", "roll pin 6x20", "spring pin 6x20", "d=6 mm, L=20 mm"] |
| 295 | standard = "ISO 8752" |
| 296 | |
| 297 | [[presets]] |
| 298 | id = "6x25" |
| 299 | title = "Ø6 × 25" |
| 300 | params = { diameter = 6, length = 25 } |
| 301 | aliases = ["ISO 8752 6x25", "DIN 1481 6x25", "roll pin 6x25", "spring pin 6x25", "d=6 mm, L=25 mm"] |
| 302 | standard = "ISO 8752" |
| 303 | |
| 304 | [[presets]] |
| 305 | id = "6x30" |
| 306 | title = "Ø6 × 30" |
| 307 | params = { diameter = 6, length = 30 } |
| 308 | aliases = ["ISO 8752 6x30", "DIN 1481 6x30", "roll pin 6x30", "spring pin 6x30", "d=6 mm, L=30 mm"] |
| 309 | standard = "ISO 8752" |
| 310 | |
| 311 | [[presets]] |
| 312 | id = "6x40" |
| 313 | title = "Ø6 × 40" |
| 314 | params = { diameter = 6, length = 40 } |
| 315 | aliases = ["ISO 8752 6x40", "DIN 1481 6x40", "roll pin 6x40", "spring pin 6x40", "d=6 mm, L=40 mm"] |
| 316 | standard = "ISO 8752" |
| 317 | |
| 318 | [[presets]] |
| 319 | id = "6x50" |
| 320 | title = "Ø6 × 50" |
| 321 | params = { diameter = 6, length = 50 } |
| 322 | aliases = ["ISO 8752 6x50", "DIN 1481 6x50", "roll pin 6x50", "spring pin 6x50", "d=6 mm, L=50 mm"] |
| 323 | standard = "ISO 8752" |
| 324 | |
| 325 | [[presets]] |
| 326 | id = "8x25" |
| 327 | title = "Ø8 × 25" |
| 328 | params = { diameter = 8, length = 25 } |
| 329 | aliases = ["ISO 8752 8x25", "DIN 1481 8x25", "roll pin 8x25", "spring pin 8x25", "d=8 mm, L=25 mm"] |
| 330 | standard = "ISO 8752" |
| 331 | |
| 332 | [[presets]] |
| 333 | id = "8x30" |
| 334 | title = "Ø8 × 30" |
| 335 | params = { diameter = 8, length = 30 } |
| 336 | aliases = ["ISO 8752 8x30", "DIN 1481 8x30", "roll pin 8x30", "spring pin 8x30", "d=8 mm, L=30 mm"] |
| 337 | standard = "ISO 8752" |
| 338 | |
| 339 | [[presets]] |
| 340 | id = "8x40" |
| 341 | title = "Ø8 × 40" |
| 342 | params = { diameter = 8, length = 40 } |
| 343 | aliases = ["ISO 8752 8x40", "DIN 1481 8x40", "roll pin 8x40", "spring pin 8x40", "d=8 mm, L=40 mm"] |
| 344 | standard = "ISO 8752" |
| 345 | |
| 346 | [[presets]] |
| 347 | id = "8x50" |
| 348 | title = "Ø8 × 50" |
| 349 | params = { diameter = 8, length = 50 } |
| 350 | aliases = ["ISO 8752 8x50", "DIN 1481 8x50", "roll pin 8x50", "spring pin 8x50", "d=8 mm, L=50 mm"] |
| 351 | standard = "ISO 8752" |
| 352 | |
| 353 | [[presets]] |
| 354 | id = "10x30" |
| 355 | title = "Ø10 × 30" |
| 356 | params = { diameter = 10, length = 30 } |
| 357 | aliases = ["ISO 8752 10x30", "DIN 1481 10x30", "roll pin 10x30", "spring pin 10x30", "d=10 mm, L=30 mm"] |
| 358 | standard = "ISO 8752" |
| 359 | |
| 360 | [[presets]] |
| 361 | id = "10x40" |
| 362 | title = "Ø10 × 40" |
| 363 | params = { diameter = 10, length = 40 } |
| 364 | aliases = ["ISO 8752 10x40", "DIN 1481 10x40", "roll pin 10x40", "spring pin 10x40", "d=10 mm, L=40 mm"] |
| 365 | standard = "ISO 8752" |
| 366 | |
| 367 | [[presets]] |
| 368 | id = "10x50" |
| 369 | title = "Ø10 × 50" |
| 370 | params = { diameter = 10, length = 50 } |
| 371 | aliases = ["ISO 8752 10x50", "DIN 1481 10x50", "roll pin 10x50", "spring pin 10x50", "d=10 mm, L=50 mm"] |
| 372 | standard = "ISO 8752" |
| 373 |
Heavy-duty slotted spring pin (roll pin), d 1 to 50 mm, any length, with catalogue sizes as presets.
The pin in its free state, before fitting: a tube of outside diameter d1 max and wall s, both ends tapered over the length a min to the end diameter d2 (the wall keeps its thickness through the taper), and an axial slot. ISO 8752 leaves the slot's width to the supplier (Table 2: "Form and width of slot at the discretion of the supplier") and sets one rule (clause 4): mounted in the smallest permitted hole (diameter d, tolerance class H12), the slot shall not fully close. The slot is drawn at that limit, π × (d1 max − d) wide at the outside: the circumference a pin of d1 max gives up when pressed into a hole of diameter d. A real pin's slot is wider by the supplier's margin. One end is on the XY plane at the origin, the pin along +Z, the slot at the +X side.
| Parameter | Meaning |
|---|---|
diameter |
Nominal diameter d (the hole it fits), mm |
length |
Length l, mm |
material |
spring-steel, stainless (martensitic) |
ISO 8752:2009, Spring-type straight pins — Slotted, heavy duty, Table 1, pp. 2-3: d1 max before mounting, d2 before mounting (for reference), a min, s (mm); clause 4 and Table 2 for the slot (above). Read from the official preview (https://cdn.standards.iteh.ai/samples/40658/df4caae79e6b4325b3bc70097ffa4274/ISO-8752-2009.pdf) and checked against fasten.it's DIN EN ISO 8752:2009-10 (https://fasten.it/en/Norms/Norm/DIN EN ISO 8752). ISO 8752:2009 was confirmed in 2024 and is current. The 2009 edition calls the nominal diameter d1 nom; here it is d.
| d | d1 max | d2 | a min | s |
|---|---|---|---|---|
| 1 | 1.3 | 0.8 | 0.15 | 0.2 |
| 1.5 | 1.8 | 1.1 | 0.25 | 0.3 |
| 2 | 2.4 | 1.5 | 0.35 | 0.4 |
| 2.5 | 2.9 | 1.8 | 0.4 | 0.5 |
| 3 | 3.5 | 2.1 | 0.5 | 0.6 |
| 3.5 | 4 | 2.3 | 0.6 | 0.75 |
| 4 | 4.6 | 2.8 | 0.65 | 0.8 |
| 4.5 | 5.1 | 2.9 | 0.8 | 1 |
| 5 | 5.6 | 3.4 | 0.9 | 1 |
| 6 | 6.7 | 4 | 1.2 | 1.2 |
| 8 | 8.8 | 5.5 | 1.6 | 1.5 |
| 10 | 10.8 | 6.5 | 2 | 2 |
| 12 | 12.8 | 7.5 | 2 | 2.5 |
| 13 | 13.8 | 8.5 | 2 | 2.5 |
| 14 | 14.8 | 8.5 | 2 | 3 |
| 16 | 16.8 | 10.5 | 2 | 3 |
| 18 | 18.9 | 11.5 | 2 | 3.5 |
| 20 | 20.9 | 12.5 | 3 | 4 |
| 21 | 21.9 | 13.5 | 3 | 4 |
| 25 | 25.9 | 15.5 | 3 | 5 |
| 28 | 28.9 | 17.5 | 3 | 5.5 |
| 30 | 30.9 | 18.5 | 3 | 6 |
| 32 | 32.9 | 20.5 | 3 | 6 |
| 35 | 35.9 | 21.5 | 3 | 7 |
| 38 | 38.9 | 23.5 | 4 | 7.5 |
| 40 | 40.9 | 25.5 | 4 | 7.5 |
| 45 | 45.9 | 28.5 | 4 | 8.5 |
| 50 | 50.9 | 31.5 | 4 | 9.5 |
Corrected in this audit: d 8 a 2.0 -> 1.6 (2.0 is a max; every other row uses a min); the slot width is now explained by the clause it comes from.
Preset list: sizes of the step.parts catalogue (MIT), see library/NOTICE.md.
| 1 | # Slotted spring pin (ISO 8752 / DIN 1481) |
| 2 | |
| 3 | Heavy-duty slotted spring pin (roll pin), d 1 to 50 mm, any length, with catalogue sizes as presets. |
| 4 | |
| 5 | ## Geometry |
| 6 | |
| 7 | The pin in its free state, before fitting: a tube of outside diameter **d1 max** and wall **s**, both ends tapered |
| 8 | over the length **a min** to the end diameter **d2** (the wall keeps its thickness through the taper), and an axial |
| 9 | slot. ISO 8752 leaves the slot's width to the supplier (Table 2: "Form and width of slot at the discretion of the |
| 10 | supplier") and sets one rule (clause 4): mounted in the smallest permitted hole (diameter d, tolerance class H12), the |
| 11 | slot shall not fully close. The slot is drawn at that limit, π × (d1 max − d) wide at the outside: the circumference |
| 12 | a pin of d1 max gives up when pressed into a hole of diameter d. A real pin's slot is wider by the supplier's margin. One end is on the XY plane at the origin, the pin along +Z, the |
| 13 | slot at the +X side. |
| 14 | |
| 15 | ## Parameters |
| 16 | |
| 17 | | Parameter | Meaning | |
| 18 | |---|---| |
| 19 | | `diameter` | Nominal diameter d (the hole it fits), mm | |
| 20 | | `length` | Length l, mm | |
| 21 | | `material` | `spring-steel`, `stainless` (martensitic) | |
| 22 | |
| 23 | ## Source |
| 24 | |
| 25 | ISO 8752:2009, *Spring-type straight pins — Slotted, heavy duty*, Table 1, pp. 2-3: d1 max before mounting, d2 |
| 26 | before mounting (for reference), a min, s (mm); clause 4 and Table 2 for the slot (above). Read from the official |
| 27 | preview (<https://cdn.standards.iteh.ai/samples/40658/df4caae79e6b4325b3bc70097ffa4274/ISO-8752-2009.pdf>) and checked against fasten.it's DIN EN ISO 8752:2009-10 |
| 28 | (<https://fasten.it/en/Norms/Norm/DIN%20EN%20ISO%208752>). ISO 8752:2009 was confirmed in 2024 and is current. The |
| 29 | 2009 edition calls the nominal diameter d1 nom; here it is d. |
| 30 | |
| 31 | | d | d1 max | d2 | a min | s | |
| 32 | |---|---|---|---|---| |
| 33 | | 1 | 1.3 | 0.8 | 0.15 | 0.2 | |
| 34 | | 1.5 | 1.8 | 1.1 | 0.25 | 0.3 | |
| 35 | | 2 | 2.4 | 1.5 | 0.35 | 0.4 | |
| 36 | | 2.5 | 2.9 | 1.8 | 0.4 | 0.5 | |
| 37 | | 3 | 3.5 | 2.1 | 0.5 | 0.6 | |
| 38 | | 3.5 | 4 | 2.3 | 0.6 | 0.75 | |
| 39 | | 4 | 4.6 | 2.8 | 0.65 | 0.8 | |
| 40 | | 4.5 | 5.1 | 2.9 | 0.8 | 1 | |
| 41 | | 5 | 5.6 | 3.4 | 0.9 | 1 | |
| 42 | | 6 | 6.7 | 4 | 1.2 | 1.2 | |
| 43 | | 8 | 8.8 | 5.5 | 1.6 | 1.5 | |
| 44 | | 10 | 10.8 | 6.5 | 2 | 2 | |
| 45 | | 12 | 12.8 | 7.5 | 2 | 2.5 | |
| 46 | | 13 | 13.8 | 8.5 | 2 | 2.5 | |
| 47 | | 14 | 14.8 | 8.5 | 2 | 3 | |
| 48 | | 16 | 16.8 | 10.5 | 2 | 3 | |
| 49 | | 18 | 18.9 | 11.5 | 2 | 3.5 | |
| 50 | | 20 | 20.9 | 12.5 | 3 | 4 | |
| 51 | | 21 | 21.9 | 13.5 | 3 | 4 | |
| 52 | | 25 | 25.9 | 15.5 | 3 | 5 | |
| 53 | | 28 | 28.9 | 17.5 | 3 | 5.5 | |
| 54 | | 30 | 30.9 | 18.5 | 3 | 6 | |
| 55 | | 32 | 32.9 | 20.5 | 3 | 6 | |
| 56 | | 35 | 35.9 | 21.5 | 3 | 7 | |
| 57 | | 38 | 38.9 | 23.5 | 4 | 7.5 | |
| 58 | | 40 | 40.9 | 25.5 | 4 | 7.5 | |
| 59 | | 45 | 45.9 | 28.5 | 4 | 8.5 | |
| 60 | | 50 | 50.9 | 31.5 | 4 | 9.5 | |
| 61 | |
| 62 | Corrected in this audit: d 8 a 2.0 -> 1.6 (2.0 is a max; every other row uses a min); the slot width is now |
| 63 | explained by the clause it comes from. |
| 64 | |
| 65 | Preset list: sizes of the step.parts catalogue (MIT), see `library/NOTICE.md`. |
| 66 |
ISO 8752 (DIN 1481) heavy-duty slotted spring pin in its free state before fitting: a slotted tube of outside diameter d1 max and wall s with tapered ends (end diameter d2 over length a), with catalogue sizes as presets. The slot's width is not fixed by the standard; it is drawn as the circumference the pin gives up when pressed into a hole of its nominal diameter. One end is on the XY plane at the origin and the pin points along +Z. Dimensions from ISO 8752 (see the README).
Heavy-duty slotted spring pin (roll pin), d 1 to 50 mm, any length, with catalogue sizes as presets.
The pin in its free state, before fitting: a tube of outside diameter d1 max and wall s, both ends tapered over the length a min to the end diameter d2 (the wall keeps its thickness through the taper), and an axial slot. ISO 8752 leaves the slot's width to the supplier (Table 2: "Form and width of slot at the discretion of the supplier") and sets one rule (clause 4): mounted in the smallest permitted hole (diameter d, tolerance class H12), the slot shall not fully close. The slot is drawn at that limit, π × (d1 max − d) wide at the outside: the circumference a pin of d1 max gives up when pressed into a hole of diameter d. A real pin's slot is wider by the supplier's margin. One end is on the XY plane at the origin, the pin along +Z, the slot at the +X side.
| Parameter | Meaning |
|---|---|
diameter |
Nominal diameter d (the hole it fits), mm |
length |
Length l, mm |
material |
spring-steel, stainless (martensitic) |
ISO 8752:2009, Spring-type straight pins — Slotted, heavy duty, Table 1, pp. 2-3: d1 max before mounting, d2 before mounting (for reference), a min, s (mm); clause 4 and Table 2 for the slot (above). Read from the official preview (https://cdn.standards.iteh.ai/samples/40658/df4caae79e6b4325b3bc70097ffa4274/ISO-8752-2009.pdf) and checked against fasten.it's DIN EN ISO 8752:2009-10 (https://fasten.it/en/Norms/Norm/DIN EN ISO 8752). ISO 8752:2009 was confirmed in 2024 and is current. The 2009 edition calls the nominal diameter d1 nom; here it is d.
| d | d1 max | d2 | a min | s |
|---|---|---|---|---|
| 1 | 1.3 | 0.8 | 0.15 | 0.2 |
| 1.5 | 1.8 | 1.1 | 0.25 | 0.3 |
| 2 | 2.4 | 1.5 | 0.35 | 0.4 |
| 2.5 | 2.9 | 1.8 | 0.4 | 0.5 |
| 3 | 3.5 | 2.1 | 0.5 | 0.6 |
| 3.5 | 4 | 2.3 | 0.6 | 0.75 |
| 4 | 4.6 | 2.8 | 0.65 | 0.8 |
| 4.5 | 5.1 | 2.9 | 0.8 | 1 |
| 5 | 5.6 | 3.4 | 0.9 | 1 |
| 6 | 6.7 | 4 | 1.2 | 1.2 |
| 8 | 8.8 | 5.5 | 1.6 | 1.5 |
| 10 | 10.8 | 6.5 | 2 | 2 |
| 12 | 12.8 | 7.5 | 2 | 2.5 |
| 13 | 13.8 | 8.5 | 2 | 2.5 |
| 14 | 14.8 | 8.5 | 2 | 3 |
| 16 | 16.8 | 10.5 | 2 | 3 |
| 18 | 18.9 | 11.5 | 2 | 3.5 |
| 20 | 20.9 | 12.5 | 3 | 4 |
| 21 | 21.9 | 13.5 | 3 | 4 |
| 25 | 25.9 | 15.5 | 3 | 5 |
| 28 | 28.9 | 17.5 | 3 | 5.5 |
| 30 | 30.9 | 18.5 | 3 | 6 |
| 32 | 32.9 | 20.5 | 3 | 6 |
| 35 | 35.9 | 21.5 | 3 | 7 |
| 38 | 38.9 | 23.5 | 4 | 7.5 |
| 40 | 40.9 | 25.5 | 4 | 7.5 |
| 45 | 45.9 | 28.5 | 4 | 8.5 |
| 50 | 50.9 | 31.5 | 4 | 9.5 |
Corrected in this audit: d 8 a 2.0 -> 1.6 (2.0 is a max; every other row uses a min); the slot width is now explained by the clause it comes from.
Preset list: sizes of the step.parts catalogue (MIT), see library/NOTICE.md.
Cotter pin (split pin), nominal 1 to 5 mm, any length: simplified envelope measured from step.parts' models.
Parallel pin (dowel pin), ISO 2338 / DIN 7, d 0.6 to 50 mm, any length.
Clevis pin with head, ISO 2341 / DIN 1444, type A or B (split-pin hole), d 4 to 24 mm, any length.
Hexagon head screw, fully threaded, ISO 4017 / DIN 933, M1.6 to M36, any length, with catalogue sizes as presets.