steve/hex-head-screw
Hexagon head screw, fully threaded, ISO 4017 / DIN 933, M1.6 to M36, any length, with catalogue sizes as presets.
Levelling foot envelope (round base + threaded stud), M6 to M12, any base diameter and stud length.
| 1 | """Levelling foot envelope: a round base and a threaded stud (drawn at its nominal diameter), as step.parts' published |
| 2 | models draw it, threads M6 to M12, base diameters 20 to 50 mm (any). |
| 3 | |
| 4 | The base (diameter `base_diameter`, thickness BASE_THICKNESS) sits on the XY plane, centred on the origin; the stud |
| 5 | rises from its top along +Z, `stud_length` long. The swivel joint, the rubber pad and the nut are not modelled: the |
| 6 | models draw every style with this same envelope. |
| 7 | """ |
| 8 | from steve import Model |
| 9 | |
| 10 | thread = "M8" # Stud thread |
| 11 | base_diameter = 30 # mm Base diameter |
| 12 | stud_length = 25 # mm Stud length (above the base) |
| 13 | material = "unspecified" # Material |
| 14 | |
| 15 | # mm, measured on step.parts' models leveling_foot_m<d>_d<D> (cylinders of their two solids: base radius D/2 and 5 mm |
| 16 | # thick in every model; stud radius = half the thread's nominal diameter, 25 mm long above the base) |
| 17 | BASE_THICKNESS = 5.0 |
| 18 | STUDS = {"M6": 6.0, "M8": 8.0, "M10": 10.0, "M12": 12.0} |
| 19 | MATERIALS = { |
| 20 | "unspecified": (None, None), # the models name no material |
| 21 | "steel": ("steel-generic", "#9da2a8"), |
| 22 | "stainless-304": ("stainless-304", "#c9ccd0"), |
| 23 | } |
| 24 | |
| 25 | d = STUDS[thread] |
| 26 | if base_diameter <= d: |
| 27 | raise ValueError("The base must be wider than the stud.") |
| 28 | material_id, colour = MATERIALS[material] |
| 29 | |
| 30 | model = Model() |
| 31 | model.cylinder("base", base_diameter / 2, BASE_THICKNESS, name="Base") |
| 32 | model.cylinder("stud", d / 2, stud_length, at=(0, 0, BASE_THICKNESS), op="join", name="Stud") |
| 33 | if material_id: |
| 34 | model.material(material_id, color=colour) |
| 35 | result = model.result() |
| 36 |
| 1 | name = "steve/levelling-foot" |
| 2 | version = "1.0.0" |
| 3 | runtime = "steve" |
| 4 | license = "MIT" |
| 5 | summary = "Levelling foot envelope (round base + threaded stud), M6 to M12, any base diameter and stud length." |
| 6 | description = """A levelling foot envelope for assemblies: a round base 5 mm thick and a threaded stud (drawn at its \ |
| 7 | nominal diameter), threads M6 to M12, base diameter and stud length free. Measured from step.parts' published models \ |
| 8 | (MIT), which draw fixed, swivel and rubber-pad feet with this same envelope; no maker or standard is behind them. |
| 9 | |
| 10 | Base on the XY plane centred on the origin, stud along +Z. Dimensions and attribution: see the README.""" |
| 11 | tags = ["levelling-foot", "leveling-foot", "foot", "machine-foot", "hardware", "metric"] |
| 12 | |
| 13 | [parameters.thread] |
| 14 | type = "choice" |
| 15 | default = "M8" |
| 16 | choices = ["M6", "M8", "M10", "M12"] |
| 17 | label = "Stud thread" |
| 18 | |
| 19 | [parameters.base_diameter] |
| 20 | type = "number" |
| 21 | default = 30 |
| 22 | min = 10 |
| 23 | max = 200 |
| 24 | unit = "mm" |
| 25 | label = "Base diameter" |
| 26 | |
| 27 | [parameters.stud_length] |
| 28 | type = "number" |
| 29 | default = 25 |
| 30 | min = 5 |
| 31 | max = 300 |
| 32 | unit = "mm" |
| 33 | label = "Stud length" |
| 34 | description = "Above the base." |
| 35 | |
| 36 | [parameters.material] |
| 37 | type = "choice" |
| 38 | default = "unspecified" |
| 39 | choices = ["unspecified", "steel", "stainless-304"] |
| 40 | label = "Material" |
| 41 | |
| 42 | [[presets]] |
| 43 | id = "M6-D20" |
| 44 | title = "Levelling foot M6, base Ø20 (envelope)" |
| 45 | params = { thread = "M6", base_diameter = 20, stud_length = 25 } |
| 46 | aliases = ["levelling foot M6 20 mm", "leveling foot M6 d20", "machine foot M6 20", "thread=M6; foot diameter=20 mm; style=leveling_foot", "Levelling foot M6, base Ø20 (envelope)", "swivel levelling foot M6 20 mm", "thread=M6; foot diameter=20 mm; style=swivel_leveling_foot", "rubber pad levelling foot M6 20 mm", "thread=M6; foot diameter=20 mm; style=rubber_pad_leveling_foot"] |
| 47 | standard = "step.parts levelling foot model" |
| 48 | |
| 49 | [[presets]] |
| 50 | id = "M6-D25" |
| 51 | title = "Levelling foot M6, base Ø25 (envelope)" |
| 52 | params = { thread = "M6", base_diameter = 25, stud_length = 25 } |
| 53 | aliases = ["levelling foot M6 25 mm", "leveling foot M6 d25", "machine foot M6 25", "thread=M6; foot diameter=25 mm; style=leveling_foot", "Levelling foot M6, base Ø25 (envelope)", "swivel levelling foot M6 25 mm", "thread=M6; foot diameter=25 mm; style=swivel_leveling_foot", "rubber pad levelling foot M6 25 mm", "thread=M6; foot diameter=25 mm; style=rubber_pad_leveling_foot"] |
| 54 | standard = "step.parts levelling foot model" |
| 55 | |
| 56 | [[presets]] |
| 57 | id = "M6-D30" |
| 58 | title = "Levelling foot M6, base Ø30 (envelope)" |
| 59 | params = { thread = "M6", base_diameter = 30, stud_length = 25 } |
| 60 | aliases = ["levelling foot M6 30 mm", "leveling foot M6 d30", "machine foot M6 30", "thread=M6; foot diameter=30 mm; style=leveling_foot", "Levelling foot M6, base Ø30 (envelope)", "swivel levelling foot M6 30 mm", "thread=M6; foot diameter=30 mm; style=swivel_leveling_foot", "rubber pad levelling foot M6 30 mm", "thread=M6; foot diameter=30 mm; style=rubber_pad_leveling_foot"] |
| 61 | standard = "step.parts levelling foot model" |
| 62 | |
| 63 | [[presets]] |
| 64 | id = "M6-D40" |
| 65 | title = "Levelling foot M6, base Ø40 (envelope)" |
| 66 | params = { thread = "M6", base_diameter = 40, stud_length = 25 } |
| 67 | aliases = ["levelling foot M6 40 mm", "leveling foot M6 d40", "machine foot M6 40", "thread=M6; foot diameter=40 mm; style=leveling_foot", "Levelling foot M6, base Ø40 (envelope)", "swivel levelling foot M6 40 mm", "thread=M6; foot diameter=40 mm; style=swivel_leveling_foot", "rubber pad levelling foot M6 40 mm", "thread=M6; foot diameter=40 mm; style=rubber_pad_leveling_foot"] |
| 68 | standard = "step.parts levelling foot model" |
| 69 | |
| 70 | [[presets]] |
| 71 | id = "M6-D50" |
| 72 | title = "Levelling foot M6, base Ø50 (envelope)" |
| 73 | params = { thread = "M6", base_diameter = 50, stud_length = 25 } |
| 74 | aliases = ["levelling foot M6 50 mm", "leveling foot M6 d50", "machine foot M6 50", "thread=M6; foot diameter=50 mm; style=leveling_foot", "Levelling foot M6, base Ø50 (envelope)", "swivel levelling foot M6 50 mm", "thread=M6; foot diameter=50 mm; style=swivel_leveling_foot", "rubber pad levelling foot M6 50 mm", "thread=M6; foot diameter=50 mm; style=rubber_pad_leveling_foot"] |
| 75 | standard = "step.parts levelling foot model" |
| 76 | |
| 77 | [[presets]] |
| 78 | id = "M8-D20" |
| 79 | title = "Levelling foot M8, base Ø20 (envelope)" |
| 80 | params = { thread = "M8", base_diameter = 20, stud_length = 25 } |
| 81 | aliases = ["levelling foot M8 20 mm", "leveling foot M8 d20", "machine foot M8 20", "thread=M8; foot diameter=20 mm; style=leveling_foot", "Levelling foot M8, base Ø20 (envelope)", "swivel levelling foot M8 20 mm", "thread=M8; foot diameter=20 mm; style=swivel_leveling_foot", "rubber pad levelling foot M8 20 mm", "thread=M8; foot diameter=20 mm; style=rubber_pad_leveling_foot"] |
| 82 | standard = "step.parts levelling foot model" |
| 83 | |
| 84 | [[presets]] |
| 85 | id = "M8-D25" |
| 86 | title = "Levelling foot M8, base Ø25 (envelope)" |
| 87 | params = { thread = "M8", base_diameter = 25, stud_length = 25 } |
| 88 | aliases = ["levelling foot M8 25 mm", "leveling foot M8 d25", "machine foot M8 25", "thread=M8; foot diameter=25 mm; style=leveling_foot", "Levelling foot M8, base Ø25 (envelope)", "swivel levelling foot M8 25 mm", "thread=M8; foot diameter=25 mm; style=swivel_leveling_foot", "rubber pad levelling foot M8 25 mm", "thread=M8; foot diameter=25 mm; style=rubber_pad_leveling_foot"] |
| 89 | standard = "step.parts levelling foot model" |
| 90 | |
| 91 | [[presets]] |
| 92 | id = "M8-D30" |
| 93 | title = "Levelling foot M8, base Ø30 (envelope)" |
| 94 | params = { thread = "M8", base_diameter = 30, stud_length = 25 } |
| 95 | aliases = ["levelling foot M8 30 mm", "leveling foot M8 d30", "machine foot M8 30", "thread=M8; foot diameter=30 mm; style=leveling_foot", "Levelling foot M8, base Ø30 (envelope)", "swivel levelling foot M8 30 mm", "thread=M8; foot diameter=30 mm; style=swivel_leveling_foot", "rubber pad levelling foot M8 30 mm", "thread=M8; foot diameter=30 mm; style=rubber_pad_leveling_foot"] |
| 96 | standard = "step.parts levelling foot model" |
| 97 | |
| 98 | [[presets]] |
| 99 | id = "M8-D40" |
| 100 | title = "Levelling foot M8, base Ø40 (envelope)" |
| 101 | params = { thread = "M8", base_diameter = 40, stud_length = 25 } |
| 102 | aliases = ["levelling foot M8 40 mm", "leveling foot M8 d40", "machine foot M8 40", "thread=M8; foot diameter=40 mm; style=leveling_foot", "Levelling foot M8, base Ø40 (envelope)", "swivel levelling foot M8 40 mm", "thread=M8; foot diameter=40 mm; style=swivel_leveling_foot", "rubber pad levelling foot M8 40 mm", "thread=M8; foot diameter=40 mm; style=rubber_pad_leveling_foot"] |
| 103 | standard = "step.parts levelling foot model" |
| 104 | |
| 105 | [[presets]] |
| 106 | id = "M8-D50" |
| 107 | title = "Levelling foot M8, base Ø50 (envelope)" |
| 108 | params = { thread = "M8", base_diameter = 50, stud_length = 25 } |
| 109 | aliases = ["levelling foot M8 50 mm", "leveling foot M8 d50", "machine foot M8 50", "thread=M8; foot diameter=50 mm; style=leveling_foot", "Levelling foot M8, base Ø50 (envelope)", "swivel levelling foot M8 50 mm", "thread=M8; foot diameter=50 mm; style=swivel_leveling_foot", "rubber pad levelling foot M8 50 mm", "thread=M8; foot diameter=50 mm; style=rubber_pad_leveling_foot"] |
| 110 | standard = "step.parts levelling foot model" |
| 111 | |
| 112 | [[presets]] |
| 113 | id = "M10-D20" |
| 114 | title = "Levelling foot M10, base Ø20 (envelope)" |
| 115 | params = { thread = "M10", base_diameter = 20, stud_length = 25 } |
| 116 | aliases = ["levelling foot M10 20 mm", "leveling foot M10 d20", "machine foot M10 20", "thread=M10; foot diameter=20 mm; style=leveling_foot", "Levelling foot M10, base Ø20 (envelope)", "swivel levelling foot M10 20 mm", "thread=M10; foot diameter=20 mm; style=swivel_leveling_foot", "rubber pad levelling foot M10 20 mm", "thread=M10; foot diameter=20 mm; style=rubber_pad_leveling_foot"] |
| 117 | standard = "step.parts levelling foot model" |
| 118 | |
| 119 | [[presets]] |
| 120 | id = "M10-D25" |
| 121 | title = "Levelling foot M10, base Ø25 (envelope)" |
| 122 | params = { thread = "M10", base_diameter = 25, stud_length = 25 } |
| 123 | aliases = ["levelling foot M10 25 mm", "leveling foot M10 d25", "machine foot M10 25", "thread=M10; foot diameter=25 mm; style=leveling_foot", "Levelling foot M10, base Ø25 (envelope)", "swivel levelling foot M10 25 mm", "thread=M10; foot diameter=25 mm; style=swivel_leveling_foot", "rubber pad levelling foot M10 25 mm", "thread=M10; foot diameter=25 mm; style=rubber_pad_leveling_foot"] |
| 124 | standard = "step.parts levelling foot model" |
| 125 | |
| 126 | [[presets]] |
| 127 | id = "M10-D30" |
| 128 | title = "Levelling foot M10, base Ø30 (envelope)" |
| 129 | params = { thread = "M10", base_diameter = 30, stud_length = 25 } |
| 130 | aliases = ["levelling foot M10 30 mm", "leveling foot M10 d30", "machine foot M10 30", "thread=M10; foot diameter=30 mm; style=leveling_foot", "Levelling foot M10, base Ø30 (envelope)", "swivel levelling foot M10 30 mm", "thread=M10; foot diameter=30 mm; style=swivel_leveling_foot", "rubber pad levelling foot M10 30 mm", "thread=M10; foot diameter=30 mm; style=rubber_pad_leveling_foot"] |
| 131 | standard = "step.parts levelling foot model" |
| 132 | |
| 133 | [[presets]] |
| 134 | id = "M10-D40" |
| 135 | title = "Levelling foot M10, base Ø40 (envelope)" |
| 136 | params = { thread = "M10", base_diameter = 40, stud_length = 25 } |
| 137 | aliases = ["levelling foot M10 40 mm", "leveling foot M10 d40", "machine foot M10 40", "thread=M10; foot diameter=40 mm; style=leveling_foot", "Levelling foot M10, base Ø40 (envelope)", "swivel levelling foot M10 40 mm", "thread=M10; foot diameter=40 mm; style=swivel_leveling_foot", "rubber pad levelling foot M10 40 mm", "thread=M10; foot diameter=40 mm; style=rubber_pad_leveling_foot"] |
| 138 | standard = "step.parts levelling foot model" |
| 139 | |
| 140 | [[presets]] |
| 141 | id = "M10-D50" |
| 142 | title = "Levelling foot M10, base Ø50 (envelope)" |
| 143 | params = { thread = "M10", base_diameter = 50, stud_length = 25 } |
| 144 | aliases = ["levelling foot M10 50 mm", "leveling foot M10 d50", "machine foot M10 50", "thread=M10; foot diameter=50 mm; style=leveling_foot", "Levelling foot M10, base Ø50 (envelope)", "swivel levelling foot M10 50 mm", "thread=M10; foot diameter=50 mm; style=swivel_leveling_foot", "rubber pad levelling foot M10 50 mm", "thread=M10; foot diameter=50 mm; style=rubber_pad_leveling_foot"] |
| 145 | standard = "step.parts levelling foot model" |
| 146 | |
| 147 | [[presets]] |
| 148 | id = "M12-D20" |
| 149 | title = "Levelling foot M12, base Ø20 (envelope)" |
| 150 | params = { thread = "M12", base_diameter = 20, stud_length = 25 } |
| 151 | aliases = ["levelling foot M12 20 mm", "leveling foot M12 d20", "machine foot M12 20", "thread=M12; foot diameter=20 mm; style=leveling_foot", "Levelling foot M12, base Ø20 (envelope)", "swivel levelling foot M12 20 mm", "thread=M12; foot diameter=20 mm; style=swivel_leveling_foot", "rubber pad levelling foot M12 20 mm", "thread=M12; foot diameter=20 mm; style=rubber_pad_leveling_foot"] |
| 152 | standard = "step.parts levelling foot model" |
| 153 | |
| 154 | [[presets]] |
| 155 | id = "M12-D25" |
| 156 | title = "Levelling foot M12, base Ø25 (envelope)" |
| 157 | params = { thread = "M12", base_diameter = 25, stud_length = 25 } |
| 158 | aliases = ["levelling foot M12 25 mm", "leveling foot M12 d25", "machine foot M12 25", "thread=M12; foot diameter=25 mm; style=leveling_foot", "Levelling foot M12, base Ø25 (envelope)", "swivel levelling foot M12 25 mm", "thread=M12; foot diameter=25 mm; style=swivel_leveling_foot", "rubber pad levelling foot M12 25 mm", "thread=M12; foot diameter=25 mm; style=rubber_pad_leveling_foot"] |
| 159 | standard = "step.parts levelling foot model" |
| 160 | |
| 161 | [[presets]] |
| 162 | id = "M12-D30" |
| 163 | title = "Levelling foot M12, base Ø30 (envelope)" |
| 164 | params = { thread = "M12", base_diameter = 30, stud_length = 25 } |
| 165 | aliases = ["levelling foot M12 30 mm", "leveling foot M12 d30", "machine foot M12 30", "thread=M12; foot diameter=30 mm; style=leveling_foot", "Levelling foot M12, base Ø30 (envelope)", "swivel levelling foot M12 30 mm", "thread=M12; foot diameter=30 mm; style=swivel_leveling_foot", "rubber pad levelling foot M12 30 mm", "thread=M12; foot diameter=30 mm; style=rubber_pad_leveling_foot"] |
| 166 | standard = "step.parts levelling foot model" |
| 167 | |
| 168 | [[presets]] |
| 169 | id = "M12-D40" |
| 170 | title = "Levelling foot M12, base Ø40 (envelope)" |
| 171 | params = { thread = "M12", base_diameter = 40, stud_length = 25 } |
| 172 | aliases = ["levelling foot M12 40 mm", "leveling foot M12 d40", "machine foot M12 40", "thread=M12; foot diameter=40 mm; style=leveling_foot", "Levelling foot M12, base Ø40 (envelope)", "swivel levelling foot M12 40 mm", "thread=M12; foot diameter=40 mm; style=swivel_leveling_foot", "rubber pad levelling foot M12 40 mm", "thread=M12; foot diameter=40 mm; style=rubber_pad_leveling_foot"] |
| 173 | standard = "step.parts levelling foot model" |
| 174 | |
| 175 | [[presets]] |
| 176 | id = "M12-D50" |
| 177 | title = "Levelling foot M12, base Ø50 (envelope)" |
| 178 | params = { thread = "M12", base_diameter = 50, stud_length = 25 } |
| 179 | aliases = ["levelling foot M12 50 mm", "leveling foot M12 d50", "machine foot M12 50", "thread=M12; foot diameter=50 mm; style=leveling_foot", "Levelling foot M12, base Ø50 (envelope)", "swivel levelling foot M12 50 mm", "thread=M12; foot diameter=50 mm; style=swivel_leveling_foot", "rubber pad levelling foot M12 50 mm", "thread=M12; foot diameter=50 mm; style=rubber_pad_leveling_foot"] |
| 180 | standard = "step.parts levelling foot model" |
| 181 |
A levelling foot envelope for assemblies: a round base and a threaded stud, threads M6 to M12, any base diameter and stud length.
The base (diameter base_diameter, 5 mm thick) sits on the XY plane, centred on the origin; the stud (drawn at the
thread's nominal diameter, no thread) rises from its top along +Z, stud_length long.
| Feature | mm |
|---|---|
| Base thickness | 5 |
| Stud diameter | M6: 6, M8: 8, M10: 10, M12: 12 |
| Stud length (models) | 25 |
| Base diameters (models) | 20, 25, 30, 40, 50 |
| Parameter | Meaning |
|---|---|
thread |
M6, M8, M10, M12 |
base_diameter |
mm |
stud_length |
mm, above the base |
material |
unspecified (no material assigned), steel, stainless-304 |
These generic feet name no maker and no standard covers them. The geometry was measured from the published reference models below (the cylinders of each model's two solids: base radius and thickness, stud radius and length), and every preset is checked against its own models: bounding box within 0.05 mm and volume within 2 %.
leveling_foot_m<d>_d<D>, swivel_leveling_foot_m<d>_d<D> and rubber_pad_leveling_foot_m<d>_d<D>
(https://www.step.parts, repository https://github.com/earthtojake/step.parts, commit c6113328, catalog/step/):
step.parts' own models, original project material under the repository's MIT licence (© 2026 earthtojake).
They name no material, so the presets have material = "unspecified".Simplifications (the models'): the fixed, swivel and rubber-pad feet are all drawn with this one envelope (no swivel ball, pad or nut), and the stud is a plain cylinder. The models draw base and stud as two touching solids; the recipe joins them into one.
Preset list: from the step.parts catalogue (MIT), see library/NOTICE.md; a size's three styles share one preset.
| 1 | # Levelling foot (envelope) |
| 2 | |
| 3 | A levelling foot envelope for assemblies: a round base and a threaded stud, threads M6 to M12, any base diameter and |
| 4 | stud length. |
| 5 | |
| 6 | ## Geometry |
| 7 | |
| 8 | The base (diameter `base_diameter`, 5 mm thick) sits on the XY plane, centred on the origin; the stud (drawn at the |
| 9 | thread's nominal diameter, no thread) rises from its top along +Z, `stud_length` long. |
| 10 | |
| 11 | | Feature | mm | |
| 12 | |---|---| |
| 13 | | Base thickness | 5 | |
| 14 | | Stud diameter | M6: 6, M8: 8, M10: 10, M12: 12 | |
| 15 | | Stud length (models) | 25 | |
| 16 | | Base diameters (models) | 20, 25, 30, 40, 50 | |
| 17 | |
| 18 | ## Parameters |
| 19 | |
| 20 | | Parameter | Meaning | |
| 21 | |---|---| |
| 22 | | `thread` | `M6`, `M8`, `M10`, `M12` | |
| 23 | | `base_diameter` | mm | |
| 24 | | `stud_length` | mm, above the base | |
| 25 | | `material` | `unspecified` (no material assigned), `steel`, `stainless-304` | |
| 26 | |
| 27 | ## Sources |
| 28 | |
| 29 | These generic feet name no maker and no standard covers them. **The geometry was measured from the published |
| 30 | reference models** below (the cylinders of each model's two solids: base radius and thickness, stud radius and |
| 31 | length), and every preset is checked against its own models: bounding box within 0.05 mm and volume within 2 %. |
| 32 | |
| 33 | - **step.parts**, `leveling_foot_m<d>_d<D>`, `swivel_leveling_foot_m<d>_d<D>` and `rubber_pad_leveling_foot_m<d>_d<D>` |
| 34 | (https://www.step.parts, repository https://github.com/earthtojake/step.parts, commit c6113328, `catalog/step/`): |
| 35 | step.parts' own models, original project material under the repository's **MIT** licence (© 2026 earthtojake). |
| 36 | They name no material, so the presets have `material = "unspecified"`. |
| 37 | |
| 38 | Simplifications (the models'): the fixed, swivel and rubber-pad feet are all drawn with this one envelope (no swivel |
| 39 | ball, pad or nut), and the stud is a plain cylinder. The models draw base and stud as two touching solids; the recipe |
| 40 | joins them into one. |
| 41 | |
| 42 | Preset list: from the step.parts catalogue (MIT), see `library/NOTICE.md`; a size's three styles share one preset. |
| 43 |
A levelling foot envelope for assemblies: a round base 5 mm thick and a threaded stud (drawn at its nominal diameter), threads M6 to M12, base diameter and stud length free. Measured from step.parts' published models (MIT), which draw fixed, swivel and rubber-pad feet with this same envelope; no maker or standard is behind them. Base on the XY plane centred on the origin, stud along +Z. Dimensions and attribution: see the README.
A levelling foot envelope for assemblies: a round base and a threaded stud, threads M6 to M12, any base diameter and stud length.
The base (diameter base_diameter, 5 mm thick) sits on the XY plane, centred on the origin; the stud (drawn at the
thread's nominal diameter, no thread) rises from its top along +Z, stud_length long.
| Feature | mm |
|---|---|
| Base thickness | 5 |
| Stud diameter | M6: 6, M8: 8, M10: 10, M12: 12 |
| Stud length (models) | 25 |
| Base diameters (models) | 20, 25, 30, 40, 50 |
| Parameter | Meaning |
|---|---|
thread |
M6, M8, M10, M12 |
base_diameter |
mm |
stud_length |
mm, above the base |
material |
unspecified (no material assigned), steel, stainless-304 |
These generic feet name no maker and no standard covers them. The geometry was measured from the published reference models below (the cylinders of each model's two solids: base radius and thickness, stud radius and length), and every preset is checked against its own models: bounding box within 0.05 mm and volume within 2 %.
leveling_foot_m<d>_d<D>, swivel_leveling_foot_m<d>_d<D> and rubber_pad_leveling_foot_m<d>_d<D>
(https://www.step.parts, repository https://github.com/earthtojake/step.parts, commit c6113328, catalog/step/):
step.parts' own models, original project material under the repository's MIT licence (© 2026 earthtojake).
They name no material, so the presets have material = "unspecified".Simplifications (the models'): the fixed, swivel and rubber-pad feet are all drawn with this one envelope (no swivel ball, pad or nut), and the stud is a plain cylinder. The models draw base and stud as two touching solids; the recipe joins them into one.
Preset list: from the step.parts catalogue (MIT), see library/NOTICE.md; a size's three styles share one preset.
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.