steve/shaft-collar
Shaft collar: DIN 705 A set collar, bores 3 to 20 mm, and one-piece clamp collars.
Parallel key, DIN 6885-1 form A, 2 x 2 to 12 x 8, any length, with the common sizes as presets.
| 1 | """Parallel key, form A (both ends rounded), DIN 6885-1: width b, height h, overall length l. Centred on the origin: length |
| 2 | along X, width along Y, base on the XY plane.""" |
| 3 | from steve import Model |
| 4 | |
| 5 | size = "5x5" # Key width x height |
| 6 | length = 20 # mm Key length |
| 7 | |
| 8 | # b x h: (width b, height h). DIN 6885-1:1968, table of key sizes, as listed at |
| 9 | # https://fasten.it/en/norms/norm/din_6885-1 (shaft ranges there too). |
| 10 | KEYS = {"2x2": (2, 2), "3x3": (3, 3), "4x4": (4, 4), "5x5": (5, 5), "6x6": (6, 6), "8x7": (8, 7), "10x8": (10, 8), "12x8": (12, 8)} |
| 11 | |
| 12 | b, h = KEYS[size] |
| 13 | if length <= b: |
| 14 | raise ValueError(f"A {size} key is longer than its {b} mm width.") |
| 15 | |
| 16 | model = Model() |
| 17 | with model.sketch("outline", on="XY", name="Key") as sk: |
| 18 | sk.slot("key", (-(length - b) / 2, 0), ((length - b) / 2, 0), b / 2) |
| 19 | model.extrude("key", "outline", distance=h, name="Key") |
| 20 | model.material("steel-generic", color="#a7abb0") |
| 21 | result = model.result() |
| 22 |
| 1 | name = "steve/parallel-key" |
| 2 | version = "1.0.0" |
| 3 | runtime = "steve" |
| 4 | license = "MIT" |
| 5 | summary = "Parallel key, DIN 6885-1 form A, 2 x 2 to 12 x 8, any length, with the common sizes as presets." |
| 6 | description = """Parallel key form A (rounded ends) to DIN 6885-1, for a keyed shaft and hub: width b, height h and overall \ |
| 7 | length. Length along X, base on the XY plane. See the README for the source.""" |
| 8 | tags = ["key", "shaft", "din-6885", "power-transmission", "metric"] |
| 9 | |
| 10 | [parameters.size] |
| 11 | type = "choice" |
| 12 | default = "5x5" |
| 13 | choices = ["2x2", "3x3", "4x4", "5x5", "6x6", "8x7", "10x8", "12x8"] |
| 14 | label = "Width × height" |
| 15 | |
| 16 | [parameters.length] |
| 17 | type = "number" |
| 18 | default = 20 |
| 19 | min = 3 |
| 20 | max = 200 |
| 21 | unit = "mm" |
| 22 | label = "Length" |
| 23 |
| 1 | # Presets of this part (factory/PRESETS.md). Written by factory/gen.py. |
| 2 | |
| 3 | [[presets]] |
| 4 | id = "2x2x10" |
| 5 | title = "2 × 2 × 10" |
| 6 | params = { size = "2x2", length = 10 } |
| 7 | aliases = ["DIN 6885 2x2x10", "key 2x2x10", "parallel key 2x2 10", "2x2 key", "parallel key; width=2 mm; height=2 mm; length=10 mm"] |
| 8 | standard = "DIN 6885-1" |
| 9 | |
| 10 | [[presets]] |
| 11 | id = "2x2x15" |
| 12 | title = "2 × 2 × 15" |
| 13 | params = { size = "2x2", length = 15 } |
| 14 | aliases = ["DIN 6885 2x2x15", "key 2x2x15", "parallel key 2x2 15", "2x2 key", "parallel key; width=2 mm; height=2 mm; length=15 mm"] |
| 15 | standard = "DIN 6885-1" |
| 16 | |
| 17 | [[presets]] |
| 18 | id = "2x2x20" |
| 19 | title = "2 × 2 × 20" |
| 20 | params = { size = "2x2", length = 20 } |
| 21 | aliases = ["DIN 6885 2x2x20", "key 2x2x20", "parallel key 2x2 20", "2x2 key", "parallel key; width=2 mm; height=2 mm; length=20 mm"] |
| 22 | standard = "DIN 6885-1" |
| 23 | |
| 24 | [[presets]] |
| 25 | id = "2x2x25" |
| 26 | title = "2 × 2 × 25" |
| 27 | params = { size = "2x2", length = 25 } |
| 28 | aliases = ["DIN 6885 2x2x25", "key 2x2x25", "parallel key 2x2 25", "2x2 key", "parallel key; width=2 mm; height=2 mm; length=25 mm"] |
| 29 | standard = "DIN 6885-1" |
| 30 | |
| 31 | [[presets]] |
| 32 | id = "2x2x30" |
| 33 | title = "2 × 2 × 30" |
| 34 | params = { size = "2x2", length = 30 } |
| 35 | aliases = ["DIN 6885 2x2x30", "key 2x2x30", "parallel key 2x2 30", "2x2 key", "parallel key; width=2 mm; height=2 mm; length=30 mm"] |
| 36 | standard = "DIN 6885-1" |
| 37 | |
| 38 | [[presets]] |
| 39 | id = "2x2x40" |
| 40 | title = "2 × 2 × 40" |
| 41 | params = { size = "2x2", length = 40 } |
| 42 | aliases = ["DIN 6885 2x2x40", "key 2x2x40", "parallel key 2x2 40", "2x2 key", "parallel key; width=2 mm; height=2 mm; length=40 mm"] |
| 43 | standard = "DIN 6885-1" |
| 44 | |
| 45 | [[presets]] |
| 46 | id = "2x2x50" |
| 47 | title = "2 × 2 × 50" |
| 48 | params = { size = "2x2", length = 50 } |
| 49 | aliases = ["DIN 6885 2x2x50", "key 2x2x50", "parallel key 2x2 50", "2x2 key", "parallel key; width=2 mm; height=2 mm; length=50 mm"] |
| 50 | standard = "DIN 6885-1" |
| 51 | |
| 52 | [[presets]] |
| 53 | id = "3x3x10" |
| 54 | title = "3 × 3 × 10" |
| 55 | params = { size = "3x3", length = 10 } |
| 56 | aliases = ["DIN 6885 3x3x10", "key 3x3x10", "parallel key 3x3 10", "3x3 key", "parallel key; width=3 mm; height=3 mm; length=10 mm"] |
| 57 | standard = "DIN 6885-1" |
| 58 | |
| 59 | [[presets]] |
| 60 | id = "3x3x15" |
| 61 | title = "3 × 3 × 15" |
| 62 | params = { size = "3x3", length = 15 } |
| 63 | aliases = ["DIN 6885 3x3x15", "key 3x3x15", "parallel key 3x3 15", "3x3 key", "parallel key; width=3 mm; height=3 mm; length=15 mm"] |
| 64 | standard = "DIN 6885-1" |
| 65 | |
| 66 | [[presets]] |
| 67 | id = "3x3x20" |
| 68 | title = "3 × 3 × 20" |
| 69 | params = { size = "3x3", length = 20 } |
| 70 | aliases = ["DIN 6885 3x3x20", "key 3x3x20", "parallel key 3x3 20", "3x3 key", "parallel key; width=3 mm; height=3 mm; length=20 mm"] |
| 71 | standard = "DIN 6885-1" |
| 72 | |
| 73 | [[presets]] |
| 74 | id = "3x3x25" |
| 75 | title = "3 × 3 × 25" |
| 76 | params = { size = "3x3", length = 25 } |
| 77 | aliases = ["DIN 6885 3x3x25", "key 3x3x25", "parallel key 3x3 25", "3x3 key", "parallel key; width=3 mm; height=3 mm; length=25 mm"] |
| 78 | standard = "DIN 6885-1" |
| 79 | |
| 80 | [[presets]] |
| 81 | id = "3x3x30" |
| 82 | title = "3 × 3 × 30" |
| 83 | params = { size = "3x3", length = 30 } |
| 84 | aliases = ["DIN 6885 3x3x30", "key 3x3x30", "parallel key 3x3 30", "3x3 key", "parallel key; width=3 mm; height=3 mm; length=30 mm"] |
| 85 | standard = "DIN 6885-1" |
| 86 | |
| 87 | [[presets]] |
| 88 | id = "3x3x40" |
| 89 | title = "3 × 3 × 40" |
| 90 | params = { size = "3x3", length = 40 } |
| 91 | aliases = ["DIN 6885 3x3x40", "key 3x3x40", "parallel key 3x3 40", "3x3 key", "parallel key; width=3 mm; height=3 mm; length=40 mm"] |
| 92 | standard = "DIN 6885-1" |
| 93 | |
| 94 | [[presets]] |
| 95 | id = "3x3x50" |
| 96 | title = "3 × 3 × 50" |
| 97 | params = { size = "3x3", length = 50 } |
| 98 | aliases = ["DIN 6885 3x3x50", "key 3x3x50", "parallel key 3x3 50", "3x3 key", "parallel key; width=3 mm; height=3 mm; length=50 mm"] |
| 99 | standard = "DIN 6885-1" |
| 100 | |
| 101 | [[presets]] |
| 102 | id = "4x4x10" |
| 103 | title = "4 × 4 × 10" |
| 104 | params = { size = "4x4", length = 10 } |
| 105 | aliases = ["DIN 6885 4x4x10", "key 4x4x10", "parallel key 4x4 10", "4x4 key", "parallel key; width=4 mm; height=4 mm; length=10 mm"] |
| 106 | standard = "DIN 6885-1" |
| 107 | |
| 108 | [[presets]] |
| 109 | id = "4x4x15" |
| 110 | title = "4 × 4 × 15" |
| 111 | params = { size = "4x4", length = 15 } |
| 112 | aliases = ["DIN 6885 4x4x15", "key 4x4x15", "parallel key 4x4 15", "4x4 key", "parallel key; width=4 mm; height=4 mm; length=15 mm"] |
| 113 | standard = "DIN 6885-1" |
| 114 | |
| 115 | [[presets]] |
| 116 | id = "4x4x20" |
| 117 | title = "4 × 4 × 20" |
| 118 | params = { size = "4x4", length = 20 } |
| 119 | aliases = ["DIN 6885 4x4x20", "key 4x4x20", "parallel key 4x4 20", "4x4 key", "parallel key; width=4 mm; height=4 mm; length=20 mm"] |
| 120 | standard = "DIN 6885-1" |
| 121 | |
| 122 | [[presets]] |
| 123 | id = "4x4x25" |
| 124 | title = "4 × 4 × 25" |
| 125 | params = { size = "4x4", length = 25 } |
| 126 | aliases = ["DIN 6885 4x4x25", "key 4x4x25", "parallel key 4x4 25", "4x4 key", "parallel key; width=4 mm; height=4 mm; length=25 mm"] |
| 127 | standard = "DIN 6885-1" |
| 128 | |
| 129 | [[presets]] |
| 130 | id = "4x4x30" |
| 131 | title = "4 × 4 × 30" |
| 132 | params = { size = "4x4", length = 30 } |
| 133 | aliases = ["DIN 6885 4x4x30", "key 4x4x30", "parallel key 4x4 30", "4x4 key", "parallel key; width=4 mm; height=4 mm; length=30 mm"] |
| 134 | standard = "DIN 6885-1" |
| 135 | |
| 136 | [[presets]] |
| 137 | id = "4x4x40" |
| 138 | title = "4 × 4 × 40" |
| 139 | params = { size = "4x4", length = 40 } |
| 140 | aliases = ["DIN 6885 4x4x40", "key 4x4x40", "parallel key 4x4 40", "4x4 key", "parallel key; width=4 mm; height=4 mm; length=40 mm"] |
| 141 | standard = "DIN 6885-1" |
| 142 | |
| 143 | [[presets]] |
| 144 | id = "4x4x50" |
| 145 | title = "4 × 4 × 50" |
| 146 | params = { size = "4x4", length = 50 } |
| 147 | aliases = ["DIN 6885 4x4x50", "key 4x4x50", "parallel key 4x4 50", "4x4 key", "parallel key; width=4 mm; height=4 mm; length=50 mm"] |
| 148 | standard = "DIN 6885-1" |
| 149 | |
| 150 | [[presets]] |
| 151 | id = "5x5x10" |
| 152 | title = "5 × 5 × 10" |
| 153 | params = { size = "5x5", length = 10 } |
| 154 | aliases = ["DIN 6885 5x5x10", "key 5x5x10", "parallel key 5x5 10", "5x5 key", "parallel key; width=5 mm; height=5 mm; length=10 mm"] |
| 155 | standard = "DIN 6885-1" |
| 156 | |
| 157 | [[presets]] |
| 158 | id = "5x5x15" |
| 159 | title = "5 × 5 × 15" |
| 160 | params = { size = "5x5", length = 15 } |
| 161 | aliases = ["DIN 6885 5x5x15", "key 5x5x15", "parallel key 5x5 15", "5x5 key", "parallel key; width=5 mm; height=5 mm; length=15 mm"] |
| 162 | standard = "DIN 6885-1" |
| 163 | |
| 164 | [[presets]] |
| 165 | id = "5x5x20" |
| 166 | title = "5 × 5 × 20" |
| 167 | params = { size = "5x5", length = 20 } |
| 168 | aliases = ["DIN 6885 5x5x20", "key 5x5x20", "parallel key 5x5 20", "5x5 key", "parallel key; width=5 mm; height=5 mm; length=20 mm"] |
| 169 | standard = "DIN 6885-1" |
| 170 | |
| 171 | [[presets]] |
| 172 | id = "5x5x25" |
| 173 | title = "5 × 5 × 25" |
| 174 | params = { size = "5x5", length = 25 } |
| 175 | aliases = ["DIN 6885 5x5x25", "key 5x5x25", "parallel key 5x5 25", "5x5 key", "parallel key; width=5 mm; height=5 mm; length=25 mm"] |
| 176 | standard = "DIN 6885-1" |
| 177 | |
| 178 | [[presets]] |
| 179 | id = "5x5x30" |
| 180 | title = "5 × 5 × 30" |
| 181 | params = { size = "5x5", length = 30 } |
| 182 | aliases = ["DIN 6885 5x5x30", "key 5x5x30", "parallel key 5x5 30", "5x5 key", "parallel key; width=5 mm; height=5 mm; length=30 mm"] |
| 183 | standard = "DIN 6885-1" |
| 184 | |
| 185 | [[presets]] |
| 186 | id = "5x5x40" |
| 187 | title = "5 × 5 × 40" |
| 188 | params = { size = "5x5", length = 40 } |
| 189 | aliases = ["DIN 6885 5x5x40", "key 5x5x40", "parallel key 5x5 40", "5x5 key", "parallel key; width=5 mm; height=5 mm; length=40 mm"] |
| 190 | standard = "DIN 6885-1" |
| 191 | |
| 192 | [[presets]] |
| 193 | id = "5x5x50" |
| 194 | title = "5 × 5 × 50" |
| 195 | params = { size = "5x5", length = 50 } |
| 196 | aliases = ["DIN 6885 5x5x50", "key 5x5x50", "parallel key 5x5 50", "5x5 key", "parallel key; width=5 mm; height=5 mm; length=50 mm"] |
| 197 | standard = "DIN 6885-1" |
| 198 | |
| 199 | [[presets]] |
| 200 | id = "6x6x10" |
| 201 | title = "6 × 6 × 10" |
| 202 | params = { size = "6x6", length = 10 } |
| 203 | aliases = ["DIN 6885 6x6x10", "key 6x6x10", "parallel key 6x6 10", "6x6 key", "parallel key; width=6 mm; height=6 mm; length=10 mm"] |
| 204 | standard = "DIN 6885-1" |
| 205 | |
| 206 | [[presets]] |
| 207 | id = "6x6x15" |
| 208 | title = "6 × 6 × 15" |
| 209 | params = { size = "6x6", length = 15 } |
| 210 | aliases = ["DIN 6885 6x6x15", "key 6x6x15", "parallel key 6x6 15", "6x6 key", "parallel key; width=6 mm; height=6 mm; length=15 mm"] |
| 211 | standard = "DIN 6885-1" |
| 212 | |
| 213 | [[presets]] |
| 214 | id = "6x6x20" |
| 215 | title = "6 × 6 × 20" |
| 216 | params = { size = "6x6", length = 20 } |
| 217 | aliases = ["DIN 6885 6x6x20", "key 6x6x20", "parallel key 6x6 20", "6x6 key", "parallel key; width=6 mm; height=6 mm; length=20 mm"] |
| 218 | standard = "DIN 6885-1" |
| 219 | |
| 220 | [[presets]] |
| 221 | id = "6x6x25" |
| 222 | title = "6 × 6 × 25" |
| 223 | params = { size = "6x6", length = 25 } |
| 224 | aliases = ["DIN 6885 6x6x25", "key 6x6x25", "parallel key 6x6 25", "6x6 key", "parallel key; width=6 mm; height=6 mm; length=25 mm"] |
| 225 | standard = "DIN 6885-1" |
| 226 | |
| 227 | [[presets]] |
| 228 | id = "6x6x30" |
| 229 | title = "6 × 6 × 30" |
| 230 | params = { size = "6x6", length = 30 } |
| 231 | aliases = ["DIN 6885 6x6x30", "key 6x6x30", "parallel key 6x6 30", "6x6 key", "parallel key; width=6 mm; height=6 mm; length=30 mm"] |
| 232 | standard = "DIN 6885-1" |
| 233 | |
| 234 | [[presets]] |
| 235 | id = "6x6x40" |
| 236 | title = "6 × 6 × 40" |
| 237 | params = { size = "6x6", length = 40 } |
| 238 | aliases = ["DIN 6885 6x6x40", "key 6x6x40", "parallel key 6x6 40", "6x6 key", "parallel key; width=6 mm; height=6 mm; length=40 mm"] |
| 239 | standard = "DIN 6885-1" |
| 240 | |
| 241 | [[presets]] |
| 242 | id = "6x6x50" |
| 243 | title = "6 × 6 × 50" |
| 244 | params = { size = "6x6", length = 50 } |
| 245 | aliases = ["DIN 6885 6x6x50", "key 6x6x50", "parallel key 6x6 50", "6x6 key", "parallel key; width=6 mm; height=6 mm; length=50 mm"] |
| 246 | standard = "DIN 6885-1" |
| 247 | |
| 248 | [[presets]] |
| 249 | id = "8x7x20" |
| 250 | title = "8 × 7 × 20" |
| 251 | params = { size = "8x7", length = 20 } |
| 252 | aliases = ["DIN 6885 8x7x20", "key 8x7x20", "8x7 key"] |
| 253 | standard = "DIN 6885-1" |
| 254 | |
| 255 | [[presets]] |
| 256 | id = "8x7x30" |
| 257 | title = "8 × 7 × 30" |
| 258 | params = { size = "8x7", length = 30 } |
| 259 | aliases = ["DIN 6885 8x7x30", "key 8x7x30", "8x7 key"] |
| 260 | standard = "DIN 6885-1" |
| 261 | |
| 262 | [[presets]] |
| 263 | id = "8x7x40" |
| 264 | title = "8 × 7 × 40" |
| 265 | params = { size = "8x7", length = 40 } |
| 266 | aliases = ["DIN 6885 8x7x40", "key 8x7x40", "8x7 key"] |
| 267 | standard = "DIN 6885-1" |
| 268 | |
| 269 | [[presets]] |
| 270 | id = "8x7x50" |
| 271 | title = "8 × 7 × 50" |
| 272 | params = { size = "8x7", length = 50 } |
| 273 | aliases = ["DIN 6885 8x7x50", "key 8x7x50", "8x7 key"] |
| 274 | standard = "DIN 6885-1" |
| 275 | |
| 276 | [[presets]] |
| 277 | id = "10x8x25" |
| 278 | title = "10 × 8 × 25" |
| 279 | params = { size = "10x8", length = 25 } |
| 280 | aliases = ["DIN 6885 10x8x25", "key 10x8x25", "10x8 key"] |
| 281 | standard = "DIN 6885-1" |
| 282 | |
| 283 | [[presets]] |
| 284 | id = "10x8x32" |
| 285 | title = "10 × 8 × 32" |
| 286 | params = { size = "10x8", length = 32 } |
| 287 | aliases = ["DIN 6885 10x8x32", "key 10x8x32", "10x8 key"] |
| 288 | standard = "DIN 6885-1" |
| 289 | |
| 290 | [[presets]] |
| 291 | id = "10x8x40" |
| 292 | title = "10 × 8 × 40" |
| 293 | params = { size = "10x8", length = 40 } |
| 294 | aliases = ["DIN 6885 10x8x40", "key 10x8x40", "10x8 key"] |
| 295 | standard = "DIN 6885-1" |
| 296 | |
| 297 | [[presets]] |
| 298 | id = "10x8x50" |
| 299 | title = "10 × 8 × 50" |
| 300 | params = { size = "10x8", length = 50 } |
| 301 | aliases = ["DIN 6885 10x8x50", "key 10x8x50", "10x8 key"] |
| 302 | standard = "DIN 6885-1" |
| 303 | |
| 304 | [[presets]] |
| 305 | id = "12x8x32" |
| 306 | title = "12 × 8 × 32" |
| 307 | params = { size = "12x8", length = 32 } |
| 308 | aliases = ["DIN 6885 12x8x32", "key 12x8x32", "12x8 key"] |
| 309 | standard = "DIN 6885-1" |
| 310 | |
| 311 | [[presets]] |
| 312 | id = "12x8x40" |
| 313 | title = "12 × 8 × 40" |
| 314 | params = { size = "12x8", length = 40 } |
| 315 | aliases = ["DIN 6885 12x8x40", "key 12x8x40", "12x8 key"] |
| 316 | standard = "DIN 6885-1" |
| 317 | |
| 318 | [[presets]] |
| 319 | id = "12x8x50" |
| 320 | title = "12 × 8 × 50" |
| 321 | params = { size = "12x8", length = 50 } |
| 322 | aliases = ["DIN 6885 12x8x50", "key 12x8x50", "12x8 key"] |
| 323 | standard = "DIN 6885-1" |
| 324 |
Form A parallel key: both ends rounded, for a keyed shaft and hub.
A slot outline of width b and overall length, extruded to height h. Length along X, width along Y, base on the
XY plane, centred on the origin.
DIN 6885-1:1968 (withdrawn, still the common designation), key width b and height h, as listed at https://fasten.it/en/norms/norm/din_6885-1.
| b × h | 2×2 | 3×3 | 4×4 | 5×5 | 6×6 | 8×7 | 10×8 | 12×8 |
|---|---|---|---|---|---|---|---|---|
| Shaft over … to | 6–8 | 8–10 | 10–12 | 12–17 | 17–22 | 22–30 | 30–38 | 38–44 |
No tolerance is stated: the source above lists none.
Preset lengths come from the step.parts catalogue metadata (MIT, library/NOTICE.md).
| 1 | # Parallel key (DIN 6885-1) |
| 2 | |
| 3 | Form A parallel key: both ends rounded, for a keyed shaft and hub. |
| 4 | |
| 5 | ## Geometry |
| 6 | |
| 7 | A slot outline of width `b` and overall `length`, extruded to height `h`. Length along X, width along Y, base on the |
| 8 | XY plane, centred on the origin. |
| 9 | |
| 10 | ## Source |
| 11 | |
| 12 | DIN 6885-1:1968 (withdrawn, still the common designation), key width b and height h, as listed at |
| 13 | <https://fasten.it/en/norms/norm/din_6885-1>. |
| 14 | |
| 15 | | b × h | 2×2 | 3×3 | 4×4 | 5×5 | 6×6 | 8×7 | 10×8 | 12×8 | |
| 16 | |---|---|---|---|---|---|---|---|---| |
| 17 | | Shaft over … to | 6–8 | 8–10 | 10–12 | 12–17 | 17–22 | 22–30 | 30–38 | 38–44 | |
| 18 | |
| 19 | No tolerance is stated: the source above lists none. |
| 20 | |
| 21 | Preset lengths come from the step.parts catalogue metadata (MIT, `library/NOTICE.md`). |
| 22 |
Parallel key form A (rounded ends) to DIN 6885-1, for a keyed shaft and hub: width b, height h and overall length. Length along X, base on the XY plane. See the README for the source.
Form A parallel key: both ends rounded, for a keyed shaft and hub.
A slot outline of width b and overall length, extruded to height h. Length along X, width along Y, base on the
XY plane, centred on the origin.
DIN 6885-1:1968 (withdrawn, still the common designation), key width b and height h, as listed at https://fasten.it/en/norms/norm/din_6885-1.
| b × h | 2×2 | 3×3 | 4×4 | 5×5 | 6×6 | 8×7 | 10×8 | 12×8 |
|---|---|---|---|---|---|---|---|---|
| Shaft over … to | 6–8 | 8–10 | 10–12 | 12–17 | 17–22 | 22–30 | 30–38 | 38–44 |
No tolerance is stated: the source above lists none.
Preset lengths come from the step.parts catalogue metadata (MIT, library/NOTICE.md).
Shaft collar: DIN 705 A set collar, bores 3 to 20 mm, and one-piece clamp collars.
Straight gear rack, ISO 53 basic rack, modules 0.5 to 2, any length, with common lengths as presets.
Straight miter gear (1:1 bevel, 90 degree) envelope, modules 1 to 3, with catalogue numbers as presets.
External retaining ring (circlip) for shafts, DIN 471 pattern, shafts 10 to 34 mm, measured from published models.