steve/hex-head-screw
Hexagon head screw, fully threaded, ISO 4017 / DIN 933, M1.6 to M36, any length, with catalogue sizes as presets.
Heat-set (heat / ultrasonic) threaded inserts for plastics, SPIROL Series 19, short and long, M2 to M4.
| 1 | """Heat / ultrasonic inserts for plastics, SPIROL Series 19 (metric), short and long: M2, M2.5, M3, M4. |
| 2 | |
| 3 | Envelope model: a cylinder of the overknurl diameter A and length L, axis along +Z, one end on the XY plane, centred on |
| 4 | the origin, with the thread drawn as a bore at its nominal diameter (not modelled). The knurl bands and the pilot (lead |
| 5 | -in) are not dimensioned in SPIROL's tables and are not modelled. |
| 6 | """ |
| 7 | from steve import Model |
| 8 | |
| 9 | size = "M3" # Thread |
| 10 | variant = "short" # Length variant |
| 11 | material = "brass" # Material |
| 12 | |
| 13 | # mm. SPIROL Series 19 short / long metric: (overknurl Ø A (Ref.), length L, recommended hole Ø), by thread |
| 14 | SHORT = {"M2": (3.58, 3.18, 3.20), "M2.5": (4.62, 3.56, 3.99), "M3": (4.62, 3.56, 3.99), "M4": (6.25, 4.70, 5.61)} |
| 15 | LONG = {"M2": (3.63, 3.99, 3.20), "M2.5": (4.75, 5.74, 3.99), "M3": (4.75, 5.74, 3.99), "M4": (6.38, 8.15, 5.61)} |
| 16 | THREAD = {"M2": 2.0, "M2.5": 2.5, "M3": 3.0, "M4": 4.0} |
| 17 | MATERIALS = {"brass": ("brass", "#c9a54a"), "aluminium": ("aluminum-generic", "#d4d7db")} |
| 18 | |
| 19 | A, L, hole = {"short": SHORT, "long": LONG}[variant][size] |
| 20 | material_id, colour = MATERIALS[material] |
| 21 | |
| 22 | model = Model() |
| 23 | with model.sketch("insert_sketch", on="XY", name="Insert") as sk: |
| 24 | sk.circle("outside", (0, 0), A / 2) |
| 25 | sk.circle("thread", (0, 0), THREAD[size] / 2) |
| 26 | model.extrude("insert", "insert_sketch", distance=L, name="Insert") |
| 27 | model.material(material_id, color=colour) |
| 28 | result = model.result() |
| 29 |
| 1 | name = "steve/heat-set-insert" |
| 2 | version = "1.0.0" |
| 3 | runtime = "steve" |
| 4 | license = "MIT" |
| 5 | summary = "Heat-set (heat / ultrasonic) threaded inserts for plastics, SPIROL Series 19, short and long, M2 to M4." |
| 6 | description = """Threaded inserts installed with heat or ultrasound into plastic parts: SPIROL Series 19 metric, short \ |
| 7 | and long, M2, M2.5, M3 and M4. Envelope geometry: a cylinder of the overknurl diameter and length with the thread \ |
| 8 | drawn as a plain bore; the knurl and the pilot are not modelled. The README lists the recommended hole diameters. |
| 9 | |
| 10 | Axis along +Z, one end on the XY plane, centred on the origin. Dimensions: see the README.""" |
| 11 | tags = ["insert", "heat-set-insert", "threaded-insert", "3d-printing", "plastics", "spirol", "metric"] |
| 12 | |
| 13 | [parameters.size] |
| 14 | type = "choice" |
| 15 | default = "M3" |
| 16 | choices = ["M2", "M2.5", "M3", "M4"] |
| 17 | label = "Thread" |
| 18 | |
| 19 | [parameters.variant] |
| 20 | type = "choice" |
| 21 | default = "short" |
| 22 | choices = ["short", "long"] |
| 23 | label = "Length" |
| 24 | description = "SPIROL Series 19 short or long." |
| 25 | |
| 26 | [parameters.material] |
| 27 | type = "choice" |
| 28 | default = "brass" |
| 29 | choices = ["brass", "aluminium"] |
| 30 | label = "Material" |
| 31 | |
| 32 | [[presets]] |
| 33 | id = "M2-short" |
| 34 | title = "M2 heat-set insert, short (SPIROL 151053, L 3.18)" |
| 35 | params = { size = "M2", variant = "short" } |
| 36 | aliases = ["SPIROL 151053", "M2 heat set insert short", "M2 threaded insert 3.18 mm", "M2 ultrasonic insert", "M2 heat insert for 3D printing"] |
| 37 | standard = "SPIROL Series 19" |
| 38 | |
| 39 | [[presets]] |
| 40 | id = "M2-long" |
| 41 | title = "M2 heat-set insert, long (SPIROL 150949, L 3.99)" |
| 42 | params = { size = "M2", variant = "long" } |
| 43 | aliases = ["SPIROL 150949", "M2 heat set insert long", "M2 threaded insert 3.99 mm", "M2 ultrasonic insert", "M2 heat insert for 3D printing"] |
| 44 | standard = "SPIROL Series 19" |
| 45 | |
| 46 | [[presets]] |
| 47 | id = "M2.5-short" |
| 48 | title = "M2.5 heat-set insert, short (SPIROL 151054, L 3.56)" |
| 49 | params = { size = "M2.5", variant = "short" } |
| 50 | aliases = ["SPIROL 151054", "M2.5 heat set insert short", "M2.5 threaded insert 3.56 mm", "M2.5 ultrasonic insert", "M2.5 heat insert for 3D printing"] |
| 51 | standard = "SPIROL Series 19" |
| 52 | |
| 53 | [[presets]] |
| 54 | id = "M2.5-long" |
| 55 | title = "M2.5 heat-set insert, long (SPIROL 150989, L 5.74)" |
| 56 | params = { size = "M2.5", variant = "long" } |
| 57 | aliases = ["SPIROL 150989", "M2.5 heat set insert long", "M2.5 threaded insert 5.74 mm", "M2.5 ultrasonic insert", "M2.5 heat insert for 3D printing"] |
| 58 | standard = "SPIROL Series 19" |
| 59 | |
| 60 | [[presets]] |
| 61 | id = "M3-short" |
| 62 | title = "M3 heat-set insert, short (SPIROL 150829, L 3.56)" |
| 63 | params = { size = "M3", variant = "short" } |
| 64 | aliases = ["SPIROL 150829", "M3 heat set insert short", "M3 threaded insert 3.56 mm", "M3 ultrasonic insert", "M3 heat insert for 3D printing"] |
| 65 | standard = "SPIROL Series 19" |
| 66 | |
| 67 | [[presets]] |
| 68 | id = "M3-long" |
| 69 | title = "M3 heat-set insert, long (SPIROL 150419, L 5.74)" |
| 70 | params = { size = "M3", variant = "long" } |
| 71 | aliases = ["SPIROL 150419", "M3 heat set insert long", "M3 threaded insert 5.74 mm", "M3 ultrasonic insert", "M3 heat insert for 3D printing"] |
| 72 | standard = "SPIROL Series 19" |
| 73 | |
| 74 | [[presets]] |
| 75 | id = "M4-short" |
| 76 | title = "M4 heat-set insert, short (SPIROL 150832, L 4.7)" |
| 77 | params = { size = "M4", variant = "short" } |
| 78 | aliases = ["SPIROL 150832", "M4 heat set insert short", "M4 threaded insert 4.7 mm", "M4 ultrasonic insert", "M4 heat insert for 3D printing"] |
| 79 | standard = "SPIROL Series 19" |
| 80 | |
| 81 | [[presets]] |
| 82 | id = "M4-long" |
| 83 | title = "M4 heat-set insert, long (SPIROL 150421, L 8.15)" |
| 84 | params = { size = "M4", variant = "long" } |
| 85 | aliases = ["SPIROL 150421", "M4 heat set insert long", "M4 threaded insert 8.15 mm", "M4 ultrasonic insert", "M4 heat insert for 3D printing"] |
| 86 | standard = "SPIROL Series 19" |
| 87 |
Threaded inserts for plastics, installed with heat or ultrasound: SPIROL Series 19 metric, short and long, M2 to M4. Presets cover the catalogue's generic short and long heat-set inserts, each mapped to SPIROL's short or long insert of that thread (SPIROL is the maker found with exactly one short and one long insert for each of M2, M2.5, M3 and M4).
Envelope: a cylinder of the overknurl diameter A (a reference size) and length L, axis along +Z, one end on the XY plane, centred on the origin; the thread is drawn as a plain bore at its nominal diameter. The knurl bands and the pilot are not dimensioned in SPIROL's tables and are not modelled.
| Parameter | Meaning |
|---|---|
size |
Thread: M2, M2.5, M3, M4 |
variant |
short or long |
material |
brass (CuZn36Pb3) or aluminium (SPIROL offers both) |
| Thread | Variant | SPIROL item (brass) | Overknurl Ø A | Length L | Hole Ø |
|---|---|---|---|---|---|
| M2 × 0.4 | short | 151053 | 3.58 | 3.18 | 3.20 |
| M2 × 0.4 | long | 150949 | 3.63 | 3.99 | 3.20 |
| M2.5 × 0.45 | short | 151054 | 4.62 | 3.56 | 3.99 |
| M2.5 × 0.45 | long | 150989 | 4.75 | 5.74 | 3.99 |
| M3 × 0.5 | short | 150829 | 4.62 | 3.56 | 3.99 |
| M3 × 0.5 | long | 150419 | 4.75 | 5.74 | 3.99 |
| M4 × 0.7 | short | 150832 | 6.25 | 4.70 | 5.61 |
| M4 × 0.7 | long | 150421 | 6.38 | 8.15 | 5.61 |
Aluminium items of the same sizes: 325155, 325126 (M2), 325156, 325129 (M2.5), 325157, 325130 (M3), 243879, 311471 (M4).
Other makers checked: CNC Kitchen (M2 × 3, M2.5 × 4, M3 × 3 short, M3 × 5.7, M4 × 4 short, M4 × 8.1; official table https://cnckitchen.store/cdn/shop/files/table_metric.png) and ruthex have no short M2 or M2.5, so they do not cover the catalogue's eight entries.
Preset list: sizes of the step.parts catalogue (MIT), see library/NOTICE.md.
| 1 | # Heat-set insert (SPIROL Series 19, metric) |
| 2 | |
| 3 | Threaded inserts for plastics, installed with heat or ultrasound: SPIROL Series 19 metric, **short** and **long**, M2 |
| 4 | to M4. Presets cover the catalogue's generic short and long heat-set inserts, each mapped to SPIROL's short or long |
| 5 | insert of that thread (SPIROL is the maker found with exactly one short and one long insert for each of M2, M2.5, M3 |
| 6 | and M4). |
| 7 | |
| 8 | ## Geometry |
| 9 | |
| 10 | Envelope: a cylinder of the overknurl diameter **A** (a reference size) and length **L**, axis along +Z, one end on the |
| 11 | XY plane, centred on the origin; the thread is drawn as a plain bore at its nominal diameter. The knurl bands and the |
| 12 | pilot are not dimensioned in SPIROL's tables and are not modelled. |
| 13 | |
| 14 | ## Parameters |
| 15 | |
| 16 | | Parameter | Meaning | |
| 17 | |---|---| |
| 18 | | `size` | Thread: M2, M2.5, M3, M4 | |
| 19 | | `variant` | `short` or `long` | |
| 20 | | `material` | `brass` (CuZn36Pb3) or `aluminium` (SPIROL offers both) | |
| 21 | |
| 22 | ## Sources |
| 23 | |
| 24 | - SPIROL, *Series 19 Short Heat / Ultrasonic Insert — Metric*, online catalogue table: |
| 25 | https://shop.spirol.com/viewitems/series-19-20-short-heat-ultrasonic-insert-metric/series-19-short-heat-ultrasonic-insert-metric?pcat=euro |
| 26 | - SPIROL, *Series 19 Long Heat / Ultrasonic Insert — Metric*: |
| 27 | https://shop.spirol.com/viewitems/series-19-20-long-heat-ultrasonic-insert-metric/series-19-long-heat-ultrasonic-insert-metric?pcat=euro |
| 28 | - Recommended hole diameters (+0.08 / −0): SPIROL item print pages of the items below |
| 29 | (https://shop.spirol.com/.../printitem/...) and SPIROL's white paper *How to Design the Proper Hole for Heat / |
| 30 | Ultrasonic Inserts* (© 2022, https://uk.spirol.com/assets/files/ins-wp-how-to-design-the-proper-hole-for-heat-ultrasonic-inserts-uk.pdf): |
| 31 | minimum hole depth L + 2 thread pitches, hole taper at most 1° included. |
| 32 | |
| 33 | | Thread | Variant | SPIROL item (brass) | Overknurl Ø A | Length L | Hole Ø | |
| 34 | |---|---|---|---|---|---| |
| 35 | | M2 × 0.4 | short | 151053 | 3.58 | 3.18 | 3.20 | |
| 36 | | M2 × 0.4 | long | 150949 | 3.63 | 3.99 | 3.20 | |
| 37 | | M2.5 × 0.45 | short | 151054 | 4.62 | 3.56 | 3.99 | |
| 38 | | M2.5 × 0.45 | long | 150989 | 4.75 | 5.74 | 3.99 | |
| 39 | | M3 × 0.5 | short | 150829 | 4.62 | 3.56 | 3.99 | |
| 40 | | M3 × 0.5 | long | 150419 | 4.75 | 5.74 | 3.99 | |
| 41 | | M4 × 0.7 | short | 150832 | 6.25 | 4.70 | 5.61 | |
| 42 | | M4 × 0.7 | long | 150421 | 6.38 | 8.15 | 5.61 | |
| 43 | |
| 44 | Aluminium items of the same sizes: 325155, 325126 (M2), 325156, 325129 (M2.5), 325157, 325130 (M3), 243879, 311471 |
| 45 | (M4). |
| 46 | |
| 47 | Other makers checked: CNC Kitchen (M2 × 3, M2.5 × 4, M3 × 3 short, M3 × 5.7, M4 × 4 short, M4 × 8.1; official table |
| 48 | https://cnckitchen.store/cdn/shop/files/table_metric.png) and ruthex have no short M2 or M2.5, so they do not cover the |
| 49 | catalogue's eight entries. |
| 50 | |
| 51 | Preset list: sizes of the step.parts catalogue (MIT), see `library/NOTICE.md`. |
| 52 |
Threaded inserts installed with heat or ultrasound into plastic parts: SPIROL Series 19 metric, short and long, M2, M2.5, M3 and M4. Envelope geometry: a cylinder of the overknurl diameter and length with the thread drawn as a plain bore; the knurl and the pilot are not modelled. The README lists the recommended hole diameters. Axis along +Z, one end on the XY plane, centred on the origin. Dimensions: see the README.
Threaded inserts for plastics, installed with heat or ultrasound: SPIROL Series 19 metric, short and long, M2 to M4. Presets cover the catalogue's generic short and long heat-set inserts, each mapped to SPIROL's short or long insert of that thread (SPIROL is the maker found with exactly one short and one long insert for each of M2, M2.5, M3 and M4).
Envelope: a cylinder of the overknurl diameter A (a reference size) and length L, axis along +Z, one end on the XY plane, centred on the origin; the thread is drawn as a plain bore at its nominal diameter. The knurl bands and the pilot are not dimensioned in SPIROL's tables and are not modelled.
| Parameter | Meaning |
|---|---|
size |
Thread: M2, M2.5, M3, M4 |
variant |
short or long |
material |
brass (CuZn36Pb3) or aluminium (SPIROL offers both) |
| Thread | Variant | SPIROL item (brass) | Overknurl Ø A | Length L | Hole Ø |
|---|---|---|---|---|---|
| M2 × 0.4 | short | 151053 | 3.58 | 3.18 | 3.20 |
| M2 × 0.4 | long | 150949 | 3.63 | 3.99 | 3.20 |
| M2.5 × 0.45 | short | 151054 | 4.62 | 3.56 | 3.99 |
| M2.5 × 0.45 | long | 150989 | 4.75 | 5.74 | 3.99 |
| M3 × 0.5 | short | 150829 | 4.62 | 3.56 | 3.99 |
| M3 × 0.5 | long | 150419 | 4.75 | 5.74 | 3.99 |
| M4 × 0.7 | short | 150832 | 6.25 | 4.70 | 5.61 |
| M4 × 0.7 | long | 150421 | 6.38 | 8.15 | 5.61 |
Aluminium items of the same sizes: 325155, 325126 (M2), 325156, 325129 (M2.5), 325157, 325130 (M3), 243879, 311471 (M4).
Other makers checked: CNC Kitchen (M2 × 3, M2.5 × 4, M3 × 3 short, M3 × 5.7, M4 × 4 short, M4 × 8.1; official table https://cnckitchen.store/cdn/shop/files/table_metric.png) and ruthex have no short M2 or M2.5, so they do not cover the catalogue's eight entries.
Preset list: sizes of the step.parts catalogue (MIT), see library/NOTICE.md.
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.
Hex nut, ISO 4032, M2 to M12.
Rectangular plate blank, any width, length and thickness, in common plate and sheet materials.