steve/inch-set-screw
Socket set screw, inch, ASME B18.3, #0 to 1/2 in, UNC/UNF, with catalogue sizes as presets.
Hexagon socket set screw with flat point, ISO 4026 / DIN 913, M3 to M12, length from d, with catalogue sizes as presets.
| 1 | """Hexagon socket set screw with flat point, ISO 4026 (DIN 913), M3 to M12, length l >= d. |
| 2 | |
| 3 | Envelope model for assemblies: plain cylinder at the nominal thread diameter d (the thread is not modelled), hexagon |
| 4 | socket (key size s, depth t min for the length) at one end and a flat point of diameter dp max at the other, chamfered at 45°. |
| 5 | The socket end is on the XY plane at the origin, the screw along -Z; `length` is the nominal (overall) length l. |
| 6 | """ |
| 7 | from steve import Model |
| 8 | |
| 9 | size = "M5" # Thread size |
| 10 | length = 8 # mm Nominal length (overall) |
| 11 | material = "steel" # Material |
| 12 | |
| 13 | # ISO 4026:2003, Table 1 (official preview p. 3: |
| 14 | # https://cdn.standards.iteh.ai/samples/36431/f53ced64ab1946679bd80f0a0e6cac63/ISO-4026-2003.pdf; also |
| 15 | # https://fasten.it/en/Norms/Norm/DIN%20EN%20ISO%204026, DIN EN ISO 4026:2004-05). |
| 16 | # size: (thread d, flat point diameter dp max, hexagon socket s nominal, socket depth t min for the shortest length |
| 17 | # (footnote d: lengths in the shaded cells, which are l = d for M3 to M12), t min for longer lengths (footnote e)) |
| 18 | DIMENSIONS = { |
| 19 | "M3": (3.0, 2.0, 1.5, 1.2, 2.0), |
| 20 | "M4": (4.0, 2.5, 2.0, 1.5, 2.5), |
| 21 | "M5": (5.0, 3.5, 2.5, 2.0, 3.0), |
| 22 | "M6": (6.0, 4.0, 3.0, 2.0, 3.5), |
| 23 | "M8": (8.0, 5.5, 4.0, 3.0, 5.0), |
| 24 | "M10": (10.0, 7.0, 5.0, 4.0, 6.0), |
| 25 | "M12": (12.0, 8.5, 6.0, 4.8, 8.0), |
| 26 | } |
| 27 | # material choice: (STEVE material library id, appearance colour) |
| 28 | MATERIALS = { |
| 29 | "steel": ("steel-generic", "#2b2d30"), # property class 45H, black oxide finish |
| 30 | "stainless-a2": ("stainless-304", "#c9ccd0"), # ISO 3506-3 A2-21H |
| 31 | "stainless-a4": ("stainless-316", "#c9ccd0"), # ISO 3506-3 A4-21H |
| 32 | } |
| 33 | |
| 34 | d, dp, s, t_short, t_long = DIMENSIONS[size] |
| 35 | if length < d: |
| 36 | raise ValueError(f"ISO 4026 has no {size} screw shorter than {d:g} mm (its socket depth isn't defined there)") |
| 37 | t = t_short if length <= d else t_long # the shaded (shortest) length is l = d for every size here |
| 38 | material_id, colour = MATERIALS[material] |
| 39 | point = (d - dp) / 2 # 45° chamfer from d down to the flat point dp |
| 40 | |
| 41 | model = Model() |
| 42 | with model.sketch("profile", on="XZ", name="Profile") as sk: |
| 43 | sk.polyline("outline", [(0, 0), (d / 2, 0), (d / 2, -(length - point)), (dp / 2, -length), (0, -length)]) |
| 44 | model.revolve("body", "profile", axis="Z", name="Screw") |
| 45 | with model.sketch("socket_sketch", on="XY", name="Hexagon socket") as sk: |
| 46 | sk.polygon("hex", (0, 0), s / 2, 6, inscribed=False) |
| 47 | model.extrude("socket", "socket_sketch", distance=-t, op="cut", name="Socket") |
| 48 | model.material(material_id, color=colour) |
| 49 | result = model.result() |
| 50 |
| 1 | name = "steve/set-screw" |
| 2 | version = "1.0.0" |
| 3 | runtime = "steve" |
| 4 | license = "MIT" |
| 5 | summary = "Hexagon socket set screw with flat point, ISO 4026 / DIN 913, M3 to M12, length from d, with catalogue sizes as presets." |
| 6 | description = """ISO 4026 (DIN 913) hexagon socket set screw with flat point (grub screw). Envelope geometry for \ |
| 7 | assemblies: a plain cylinder at the nominal thread diameter, hexagon socket (s, t min) and a flat point (dp max, \ |
| 8 | 45° chamfer); the thread itself is not modelled. |
| 9 | |
| 10 | The socket end is on the XY plane at the origin and the screw points along -Z; `length` is the overall length. \ |
| 11 | Dimensions from ISO 4026:2003 Table 1 (see the README).""" |
| 12 | tags = ["fastener", "screw", "set-screw", "grub-screw", "iso-4026", "din-913", "metric"] |
| 13 | |
| 14 | [parameters.size] |
| 15 | type = "choice" |
| 16 | default = "M5" |
| 17 | choices = ["M3", "M4", "M5", "M6", "M8", "M10", "M12"] |
| 18 | label = "Thread size" |
| 19 | |
| 20 | [parameters.length] |
| 21 | type = "number" |
| 22 | default = 8 |
| 23 | min = 2 |
| 24 | max = 100 |
| 25 | step = 1 |
| 26 | unit = "mm" |
| 27 | label = "Length" |
| 28 | description = "Nominal length l, overall; at least d (ISO 4026 has no shorter screws)." |
| 29 | |
| 30 | [parameters.material] |
| 31 | type = "choice" |
| 32 | default = "steel" |
| 33 | choices = ["steel", "stainless-a2", "stainless-a4"] |
| 34 | label = "Material" |
| 35 | description = "steel: property class 45H, black oxide; stainless-a2 / stainless-a4: ISO 3506-3 A2 / A4." |
| 36 | |
| 37 | [[presets]] |
| 38 | id = "M3x3" |
| 39 | title = "M3 × 3" |
| 40 | params = { size = "M3", length = 3 } |
| 41 | aliases = ["DIN 913 M3x3", "ISO 4026 M3x3", "grub screw M3x3", "set screw M3x3", "M3 set screw", "DIN913 M3x3"] |
| 42 | standard = "DIN 913" |
| 43 | |
| 44 | [[presets]] |
| 45 | id = "M3x4" |
| 46 | title = "M3 × 4" |
| 47 | params = { size = "M3", length = 4 } |
| 48 | aliases = ["DIN 913 M3x4", "ISO 4026 M3x4", "grub screw M3x4", "set screw M3x4", "M3 set screw", "DIN913 M3x4"] |
| 49 | standard = "DIN 913" |
| 50 | |
| 51 | [[presets]] |
| 52 | id = "M3x5" |
| 53 | title = "M3 × 5" |
| 54 | params = { size = "M3", length = 5 } |
| 55 | aliases = ["DIN 913 M3x5", "ISO 4026 M3x5", "grub screw M3x5", "set screw M3x5", "M3 set screw", "DIN913 M3x5"] |
| 56 | standard = "DIN 913" |
| 57 | |
| 58 | [[presets]] |
| 59 | id = "M3x6" |
| 60 | title = "M3 × 6" |
| 61 | params = { size = "M3", length = 6 } |
| 62 | aliases = ["DIN 913 M3x6", "ISO 4026 M3x6", "grub screw M3x6", "set screw M3x6"] |
| 63 | standard = "DIN 913" |
| 64 | |
| 65 | [[presets]] |
| 66 | id = "M3x8" |
| 67 | title = "M3 × 8" |
| 68 | params = { size = "M3", length = 8 } |
| 69 | aliases = ["DIN 913 M3x8", "ISO 4026 M3x8", "grub screw M3x8", "set screw M3x8"] |
| 70 | standard = "DIN 913" |
| 71 | |
| 72 | [[presets]] |
| 73 | id = "M3x10" |
| 74 | title = "M3 × 10" |
| 75 | params = { size = "M3", length = 10 } |
| 76 | aliases = ["DIN 913 M3x10", "ISO 4026 M3x10", "grub screw M3x10", "set screw M3x10"] |
| 77 | standard = "DIN 913" |
| 78 | |
| 79 | [[presets]] |
| 80 | id = "M3x12" |
| 81 | title = "M3 × 12" |
| 82 | params = { size = "M3", length = 12 } |
| 83 | aliases = ["DIN 913 M3x12", "ISO 4026 M3x12", "grub screw M3x12", "set screw M3x12"] |
| 84 | standard = "DIN 913" |
| 85 | |
| 86 | [[presets]] |
| 87 | id = "M3x16" |
| 88 | title = "M3 × 16" |
| 89 | params = { size = "M3", length = 16 } |
| 90 | aliases = ["DIN 913 M3x16", "ISO 4026 M3x16", "grub screw M3x16", "set screw M3x16"] |
| 91 | standard = "DIN 913" |
| 92 | |
| 93 | [[presets]] |
| 94 | id = "M3x20" |
| 95 | title = "M3 × 20" |
| 96 | params = { size = "M3", length = 20 } |
| 97 | aliases = ["DIN 913 M3x20", "ISO 4026 M3x20", "grub screw M3x20", "set screw M3x20"] |
| 98 | standard = "DIN 913" |
| 99 | |
| 100 | [[presets]] |
| 101 | id = "M4x4" |
| 102 | title = "M4 × 4" |
| 103 | params = { size = "M4", length = 4 } |
| 104 | aliases = ["DIN 913 M4x4", "ISO 4026 M4x4", "grub screw M4x4", "set screw M4x4"] |
| 105 | standard = "DIN 913" |
| 106 | |
| 107 | [[presets]] |
| 108 | id = "M4x5" |
| 109 | title = "M4 × 5" |
| 110 | params = { size = "M4", length = 5 } |
| 111 | aliases = ["DIN 913 M4x5", "ISO 4026 M4x5", "grub screw M4x5", "set screw M4x5"] |
| 112 | standard = "DIN 913" |
| 113 | |
| 114 | [[presets]] |
| 115 | id = "M4x6" |
| 116 | title = "M4 × 6" |
| 117 | params = { size = "M4", length = 6 } |
| 118 | aliases = ["DIN 913 M4x6", "ISO 4026 M4x6", "grub screw M4x6", "set screw M4x6"] |
| 119 | standard = "DIN 913" |
| 120 | |
| 121 | [[presets]] |
| 122 | id = "M4x8" |
| 123 | title = "M4 × 8" |
| 124 | params = { size = "M4", length = 8 } |
| 125 | aliases = ["DIN 913 M4x8", "ISO 4026 M4x8", "grub screw M4x8", "set screw M4x8"] |
| 126 | standard = "DIN 913" |
| 127 | |
| 128 | [[presets]] |
| 129 | id = "M4x10" |
| 130 | title = "M4 × 10" |
| 131 | params = { size = "M4", length = 10 } |
| 132 | aliases = ["DIN 913 M4x10", "ISO 4026 M4x10", "grub screw M4x10", "set screw M4x10"] |
| 133 | standard = "DIN 913" |
| 134 | |
| 135 | [[presets]] |
| 136 | id = "M4x12" |
| 137 | title = "M4 × 12" |
| 138 | params = { size = "M4", length = 12 } |
| 139 | aliases = ["DIN 913 M4x12", "ISO 4026 M4x12", "grub screw M4x12", "set screw M4x12"] |
| 140 | standard = "DIN 913" |
| 141 | |
| 142 | [[presets]] |
| 143 | id = "M4x16" |
| 144 | title = "M4 × 16" |
| 145 | params = { size = "M4", length = 16 } |
| 146 | aliases = ["DIN 913 M4x16", "ISO 4026 M4x16", "grub screw M4x16", "set screw M4x16"] |
| 147 | standard = "DIN 913" |
| 148 | |
| 149 | [[presets]] |
| 150 | id = "M4x20" |
| 151 | title = "M4 × 20" |
| 152 | params = { size = "M4", length = 20 } |
| 153 | aliases = ["DIN 913 M4x20", "ISO 4026 M4x20", "grub screw M4x20", "set screw M4x20"] |
| 154 | standard = "DIN 913" |
| 155 | |
| 156 | [[presets]] |
| 157 | id = "M5x5" |
| 158 | title = "M5 × 5" |
| 159 | params = { size = "M5", length = 5 } |
| 160 | aliases = ["DIN 913 M5x5", "ISO 4026 M5x5", "grub screw M5x5", "set screw M5x5"] |
| 161 | standard = "DIN 913" |
| 162 | |
| 163 | [[presets]] |
| 164 | id = "M5x6" |
| 165 | title = "M5 × 6" |
| 166 | params = { size = "M5", length = 6 } |
| 167 | aliases = ["DIN 913 M5x6", "ISO 4026 M5x6", "grub screw M5x6", "set screw M5x6"] |
| 168 | standard = "DIN 913" |
| 169 | |
| 170 | [[presets]] |
| 171 | id = "M5x8" |
| 172 | title = "M5 × 8" |
| 173 | params = { size = "M5", length = 8 } |
| 174 | aliases = ["DIN 913 M5x8", "ISO 4026 M5x8", "grub screw M5x8", "set screw M5x8"] |
| 175 | standard = "DIN 913" |
| 176 | |
| 177 | [[presets]] |
| 178 | id = "M5x10" |
| 179 | title = "M5 × 10" |
| 180 | params = { size = "M5", length = 10 } |
| 181 | aliases = ["DIN 913 M5x10", "ISO 4026 M5x10", "grub screw M5x10", "set screw M5x10"] |
| 182 | standard = "DIN 913" |
| 183 | |
| 184 | [[presets]] |
| 185 | id = "M5x12" |
| 186 | title = "M5 × 12" |
| 187 | params = { size = "M5", length = 12 } |
| 188 | aliases = ["DIN 913 M5x12", "ISO 4026 M5x12", "grub screw M5x12", "set screw M5x12"] |
| 189 | standard = "DIN 913" |
| 190 | |
| 191 | [[presets]] |
| 192 | id = "M5x16" |
| 193 | title = "M5 × 16" |
| 194 | params = { size = "M5", length = 16 } |
| 195 | aliases = ["DIN 913 M5x16", "ISO 4026 M5x16", "grub screw M5x16", "set screw M5x16"] |
| 196 | standard = "DIN 913" |
| 197 | |
| 198 | [[presets]] |
| 199 | id = "M5x20" |
| 200 | title = "M5 × 20" |
| 201 | params = { size = "M5", length = 20 } |
| 202 | aliases = ["DIN 913 M5x20", "ISO 4026 M5x20", "grub screw M5x20", "set screw M5x20"] |
| 203 | standard = "DIN 913" |
| 204 | |
| 205 | [[presets]] |
| 206 | id = "M6x6" |
| 207 | title = "M6 × 6" |
| 208 | params = { size = "M6", length = 6 } |
| 209 | aliases = ["DIN 913 M6x6", "ISO 4026 M6x6", "grub screw M6x6", "set screw M6x6"] |
| 210 | standard = "DIN 913" |
| 211 | |
| 212 | [[presets]] |
| 213 | id = "M6x8" |
| 214 | title = "M6 × 8" |
| 215 | params = { size = "M6", length = 8 } |
| 216 | aliases = ["DIN 913 M6x8", "ISO 4026 M6x8", "grub screw M6x8", "set screw M6x8"] |
| 217 | standard = "DIN 913" |
| 218 | |
| 219 | [[presets]] |
| 220 | id = "M6x10" |
| 221 | title = "M6 × 10" |
| 222 | params = { size = "M6", length = 10 } |
| 223 | aliases = ["DIN 913 M6x10", "ISO 4026 M6x10", "grub screw M6x10", "set screw M6x10"] |
| 224 | standard = "DIN 913" |
| 225 | |
| 226 | [[presets]] |
| 227 | id = "M6x12" |
| 228 | title = "M6 × 12" |
| 229 | params = { size = "M6", length = 12 } |
| 230 | aliases = ["DIN 913 M6x12", "ISO 4026 M6x12", "grub screw M6x12", "set screw M6x12"] |
| 231 | standard = "DIN 913" |
| 232 | |
| 233 | [[presets]] |
| 234 | id = "M6x16" |
| 235 | title = "M6 × 16" |
| 236 | params = { size = "M6", length = 16 } |
| 237 | aliases = ["DIN 913 M6x16", "ISO 4026 M6x16", "grub screw M6x16", "set screw M6x16"] |
| 238 | standard = "DIN 913" |
| 239 | |
| 240 | [[presets]] |
| 241 | id = "M6x20" |
| 242 | title = "M6 × 20" |
| 243 | params = { size = "M6", length = 20 } |
| 244 | aliases = ["DIN 913 M6x20", "ISO 4026 M6x20", "grub screw M6x20", "set screw M6x20"] |
| 245 | standard = "DIN 913" |
| 246 |
Hexagon socket set screw (grub screw) with flat point, metric coarse thread, M3 to M12, length l from d up. Presets cover the common catalogue sizes (M3 × 3, M5 × 8, ...).
Envelope for assemblies:
length); the thread is not modelled;The socket end is on the XY plane at the origin, the screw along -Z.
| Parameter | Meaning |
|---|---|
size |
Thread size, M3 to M12 |
length |
Nominal length l, overall, mm; at least d |
material |
steel (property class 45H, black oxide), stainless-a2, stainless-a4 (ISO 3506-3) |
ISO 4026:2003, Hexagon socket set screws with flat point, Table 1, p. 3: d, dp max, s (nominal), t min. Read from the official preview https://cdn.standards.iteh.ai/samples/36431/f53ced64ab1946679bd80f0a0e6cac63/ISO-4026-2003.pdf and checked against DIN EN ISO 4026:2004-05 on fasten.it ("reproduced by permission of DIN", https://fasten.it/en/Norms/Norm/DIN EN ISO 4026, short-length column). DIN 913 is the same screw. ISO 4026:2026 is now current; its change list (DIN Media, DIN EN ISO 4026:2026) adds M30, changes the dp tolerance for dp ≤ 1 mm and deletes the masses, so none of the values below changes.
The table gives two t min values: footnote d, for the lengths in the shaded cells, which for M3 to M12 are exactly
l = d (the shortest length of each size); footnote e, for every longer length. The model uses the first for l = d and
the second for l > d. There is no ISO 4026 screw shorter than d, so length must be at least d.
| Size | dp max | s | t min (l = d) | t min (l > d) |
|---|---|---|---|---|
| M3 | 2.0 | 1.5 | 1.2 | 2.0 |
| M4 | 2.5 | 2.0 | 1.5 | 2.5 |
| M5 | 3.5 | 2.5 | 2.0 | 3.0 |
| M6 | 4.0 | 3.0 | 2.0 | 3.5 |
| M8 | 5.5 | 4.0 | 3.0 | 5.0 |
| M10 | 7.0 | 5.0 | 4.0 | 6.0 |
| M12 | 8.5 | 6.0 | 4.8 | 8.0 |
Corrected in this audit: the socket depths were not from the table (0.75, 1, 1.25, 1.5, 2, 2.5, 3 = s / 2); they are now the table's t min. The catalogue's screws shorter than d (M4 × 3, M5 × 3 and × 4, M6 × 3 to × 5) are not ISO 4026 sizes and have no preset.
Preset list: sizes and lengths of the step.parts catalogue (MIT), see library/NOTICE.md.
| 1 | # Set screw, flat point (ISO 4026 / DIN 913) |
| 2 | |
| 3 | Hexagon socket set screw (grub screw) with flat point, metric coarse thread, M3 to M12, length l from d up. Presets cover |
| 4 | the common catalogue sizes (M3 × 3, M5 × 8, ...). |
| 5 | |
| 6 | ## Geometry |
| 7 | |
| 8 | Envelope for assemblies: |
| 9 | |
| 10 | - plain cylinder at the nominal thread diameter **d**, overall length **l** (`length`); the thread is not modelled; |
| 11 | - hexagon socket at one end, key size **s** (nominal), depth **t min** for the length (see below), flat bottom; |
| 12 | - flat point of diameter **dp max** at the other end, chamfered at 45° from d. |
| 13 | |
| 14 | The socket end is on the XY plane at the origin, the screw along -Z. |
| 15 | |
| 16 | ## Parameters |
| 17 | |
| 18 | | Parameter | Meaning | |
| 19 | |---|---| |
| 20 | | `size` | Thread size, M3 to M12 | |
| 21 | | `length` | Nominal length l, overall, mm; at least d | |
| 22 | | `material` | `steel` (property class 45H, black oxide), `stainless-a2`, `stainless-a4` (ISO 3506-3) | |
| 23 | |
| 24 | ## Source |
| 25 | |
| 26 | ISO 4026:2003, *Hexagon socket set screws with flat point*, Table 1, p. 3: d, dp max, s (nominal), t min. Read from |
| 27 | the official preview <https://cdn.standards.iteh.ai/samples/36431/f53ced64ab1946679bd80f0a0e6cac63/ISO-4026-2003.pdf> |
| 28 | and checked against DIN EN ISO 4026:2004-05 on fasten.it ("reproduced by permission of DIN", |
| 29 | <https://fasten.it/en/Norms/Norm/DIN%20EN%20ISO%204026>, short-length column). DIN 913 is the same screw. |
| 30 | ISO 4026:2026 is now current; its change list (DIN Media, DIN EN ISO 4026:2026) adds M30, changes the dp tolerance |
| 31 | for dp ≤ 1 mm and deletes the masses, so none of the values below changes. |
| 32 | |
| 33 | The table gives two t min values: footnote d, for the lengths in the shaded cells, which for M3 to M12 are exactly |
| 34 | l = d (the shortest length of each size); footnote e, for every longer length. The model uses the first for l = d and |
| 35 | the second for l > d. There is no ISO 4026 screw shorter than d, so `length` must be at least d. |
| 36 | |
| 37 | | Size | dp max | s | t min (l = d) | t min (l > d) | |
| 38 | |---|---|---|---|---| |
| 39 | | M3 | 2.0 | 1.5 | 1.2 | 2.0 | |
| 40 | | M4 | 2.5 | 2.0 | 1.5 | 2.5 | |
| 41 | | M5 | 3.5 | 2.5 | 2.0 | 3.0 | |
| 42 | | M6 | 4.0 | 3.0 | 2.0 | 3.5 | |
| 43 | | M8 | 5.5 | 4.0 | 3.0 | 5.0 | |
| 44 | | M10 | 7.0 | 5.0 | 4.0 | 6.0 | |
| 45 | | M12 | 8.5 | 6.0 | 4.8 | 8.0 | |
| 46 | |
| 47 | Corrected in this audit: the socket depths were not from the table (0.75, 1, 1.25, 1.5, 2, 2.5, 3 = s / 2); they are |
| 48 | now the table's t min. The catalogue's screws shorter than d (M4 × 3, M5 × 3 and × 4, M6 × 3 to × 5) are not ISO 4026 |
| 49 | sizes and have no preset. |
| 50 | |
| 51 | Preset list: sizes and lengths of the step.parts catalogue (MIT), see `library/NOTICE.md`. |
| 52 |
ISO 4026 (DIN 913) hexagon socket set screw with flat point (grub screw). Envelope geometry for assemblies: a plain cylinder at the nominal thread diameter, hexagon socket (s, t min) and a flat point (dp max, 45° chamfer); the thread itself is not modelled. The socket end is on the XY plane at the origin and the screw points along -Z; `length` is the overall length. Dimensions from ISO 4026:2003 Table 1 (see the README).
Hexagon socket set screw (grub screw) with flat point, metric coarse thread, M3 to M12, length l from d up. Presets cover the common catalogue sizes (M3 × 3, M5 × 8, ...).
Envelope for assemblies:
length); the thread is not modelled;The socket end is on the XY plane at the origin, the screw along -Z.
| Parameter | Meaning |
|---|---|
size |
Thread size, M3 to M12 |
length |
Nominal length l, overall, mm; at least d |
material |
steel (property class 45H, black oxide), stainless-a2, stainless-a4 (ISO 3506-3) |
ISO 4026:2003, Hexagon socket set screws with flat point, Table 1, p. 3: d, dp max, s (nominal), t min. Read from the official preview https://cdn.standards.iteh.ai/samples/36431/f53ced64ab1946679bd80f0a0e6cac63/ISO-4026-2003.pdf and checked against DIN EN ISO 4026:2004-05 on fasten.it ("reproduced by permission of DIN", https://fasten.it/en/Norms/Norm/DIN EN ISO 4026, short-length column). DIN 913 is the same screw. ISO 4026:2026 is now current; its change list (DIN Media, DIN EN ISO 4026:2026) adds M30, changes the dp tolerance for dp ≤ 1 mm and deletes the masses, so none of the values below changes.
The table gives two t min values: footnote d, for the lengths in the shaded cells, which for M3 to M12 are exactly
l = d (the shortest length of each size); footnote e, for every longer length. The model uses the first for l = d and
the second for l > d. There is no ISO 4026 screw shorter than d, so length must be at least d.
| Size | dp max | s | t min (l = d) | t min (l > d) |
|---|---|---|---|---|
| M3 | 2.0 | 1.5 | 1.2 | 2.0 |
| M4 | 2.5 | 2.0 | 1.5 | 2.5 |
| M5 | 3.5 | 2.5 | 2.0 | 3.0 |
| M6 | 4.0 | 3.0 | 2.0 | 3.5 |
| M8 | 5.5 | 4.0 | 3.0 | 5.0 |
| M10 | 7.0 | 5.0 | 4.0 | 6.0 |
| M12 | 8.5 | 6.0 | 4.8 | 8.0 |
Corrected in this audit: the socket depths were not from the table (0.75, 1, 1.25, 1.5, 2, 2.5, 3 = s / 2); they are now the table's t min. The catalogue's screws shorter than d (M4 × 3, M5 × 3 and × 4, M6 × 3 to × 5) are not ISO 4026 sizes and have no preset.
Preset list: sizes and lengths of the step.parts catalogue (MIT), see library/NOTICE.md.
Socket set screw, inch, ASME B18.3, #0 to 1/2 in, UNC/UNF, with catalogue sizes as presets.
Hexagon head screw, fully threaded, ISO 4017 / DIN 933, M1.6 to M36, any length, with catalogue sizes as presets.
Hexagon socket button head screw, ISO 7380-1, M3 to M16, any length, with catalogue sizes as presets.
Hexagon socket countersunk head screw, ISO 10642 / DIN 7991, M3 to M12, any length, with catalogue sizes as presets.