steve/square-bar
Square bar, EN 10059 sizes and plain square stock, any side and length.
Rectangular plate blank, any width, length and thickness, in common plate and sheet materials.
| 1 | """Plate blank (rectangular plate), any width, length and thickness. |
| 2 | |
| 3 | A `width` (X) by `length` (Y) rectangle centred on the origin, `thickness` up from the XY plane (+Z). |
| 4 | """ |
| 5 | from steve import Model |
| 6 | |
| 7 | width = 100 # mm Width |
| 8 | length = 100 # mm Length |
| 9 | thickness = 3 # mm Thickness |
| 10 | material = "aluminium-6061" # Material |
| 11 | |
| 12 | # material choice: (STEVE material library id, appearance colour) |
| 13 | MATERIALS = { |
| 14 | "aluminium-6061": ("aluminum-6061-t6", "#d4d7db"), |
| 15 | "aluminium-5052": ("aluminum-5052-h32", "#d4d7db"), |
| 16 | "steel": ("steel-s235jr", "#8a8d91"), # EN 10025-2 S235JR |
| 17 | "steel-dc01": ("steel-dc01", "#9a9da1"), # EN 10130 DC01 cold-rolled sheet |
| 18 | "stainless-304": ("stainless-304", "#c9ccd0"), # EN 10088 1.4301 |
| 19 | "brass": ("brass", "#c9a54a"), |
| 20 | "acrylic": ("pmma", "#e8f1f5"), |
| 21 | } |
| 22 | |
| 23 | material_id, colour = MATERIALS[material] |
| 24 | |
| 25 | model = Model() |
| 26 | with model.sketch("outline_sketch", on="XY", name="Outline") as sk: |
| 27 | sk.center_rect("outline", (0, 0), width, length) |
| 28 | model.extrude("plate", "outline_sketch", distance=thickness, name="Plate") |
| 29 | model.material(material_id, color=colour) |
| 30 | result = model.result() |
| 31 |
| 1 | name = "steve/plate" |
| 2 | version = "1.0.0" |
| 3 | runtime = "steve" |
| 4 | license = "MIT" |
| 5 | summary = "Rectangular plate blank, any width, length and thickness, in common plate and sheet materials." |
| 6 | description = """Rectangular plate blank: width along X, length along Y, centred on the origin, thickness up from the \ |
| 7 | XY plane. Presets cover common blank sizes (50 x 50 to 300 x 500 mm, 1 to 6 mm thick).""" |
| 8 | tags = ["stock", "plate", "sheet", "blank", "metric"] |
| 9 | |
| 10 | [parameters.width] |
| 11 | type = "number" |
| 12 | default = 100 |
| 13 | min = 1 |
| 14 | max = 6000 |
| 15 | unit = "mm" |
| 16 | label = "Width" |
| 17 | |
| 18 | [parameters.length] |
| 19 | type = "number" |
| 20 | default = 100 |
| 21 | min = 1 |
| 22 | max = 12000 |
| 23 | unit = "mm" |
| 24 | label = "Length" |
| 25 | |
| 26 | [parameters.thickness] |
| 27 | type = "number" |
| 28 | default = 3 |
| 29 | min = 0.1 |
| 30 | max = 500 |
| 31 | unit = "mm" |
| 32 | label = "Thickness" |
| 33 | |
| 34 | [parameters.material] |
| 35 | type = "choice" |
| 36 | default = "aluminium-6061" |
| 37 | choices = ["aluminium-6061", "aluminium-5052", "steel", "steel-dc01", "stainless-304", "brass", "acrylic"] |
| 38 | label = "Material" |
| 39 | description = "Aluminium 6061-T6 or 5052-H32, S235JR or DC01 steel, 1.4301 stainless, brass, or acrylic (PMMA)." |
| 40 |
| 1 | # Presets of this part (factory/PRESETS.md). Written by factory/gen.py. |
| 2 | |
| 3 | [[presets]] |
| 4 | id = "50x50x1" |
| 5 | title = "50 × 50 × 1 mm plate" |
| 6 | params = { width = 50, length = 50, thickness = 1 } |
| 7 | aliases = ["plate 50 x 50 x 1", "50x50x1 mm plate blank", "50x50x1 mm"] |
| 8 | |
| 9 | [[presets]] |
| 10 | id = "50x50x2" |
| 11 | title = "50 × 50 × 2 mm plate" |
| 12 | params = { width = 50, length = 50, thickness = 2 } |
| 13 | aliases = ["plate 50 x 50 x 2", "50x50x2 mm plate blank", "50x50x2 mm"] |
| 14 | |
| 15 | [[presets]] |
| 16 | id = "50x50x3" |
| 17 | title = "50 × 50 × 3 mm plate" |
| 18 | params = { width = 50, length = 50, thickness = 3 } |
| 19 | aliases = ["plate 50 x 50 x 3", "50x50x3 mm plate blank", "50x50x3 mm"] |
| 20 | |
| 21 | [[presets]] |
| 22 | id = "50x50x5" |
| 23 | title = "50 × 50 × 5 mm plate" |
| 24 | params = { width = 50, length = 50, thickness = 5 } |
| 25 | aliases = ["plate 50 x 50 x 5", "50x50x5 mm plate blank", "50x50x5 mm"] |
| 26 | |
| 27 | [[presets]] |
| 28 | id = "50x50x6" |
| 29 | title = "50 × 50 × 6 mm plate" |
| 30 | params = { width = 50, length = 50, thickness = 6 } |
| 31 | aliases = ["plate 50 x 50 x 6", "50x50x6 mm plate blank", "50x50x6 mm"] |
| 32 | |
| 33 | [[presets]] |
| 34 | id = "100x100x1" |
| 35 | title = "100 × 100 × 1 mm plate" |
| 36 | params = { width = 100, length = 100, thickness = 1 } |
| 37 | aliases = ["plate 100 x 100 x 1", "100x100x1 mm plate blank", "100x100x1 mm"] |
| 38 | |
| 39 | [[presets]] |
| 40 | id = "100x100x2" |
| 41 | title = "100 × 100 × 2 mm plate" |
| 42 | params = { width = 100, length = 100, thickness = 2 } |
| 43 | aliases = ["plate 100 x 100 x 2", "100x100x2 mm plate blank", "100x100x2 mm"] |
| 44 | |
| 45 | [[presets]] |
| 46 | id = "100x100x3" |
| 47 | title = "100 × 100 × 3 mm plate" |
| 48 | params = { width = 100, length = 100, thickness = 3 } |
| 49 | aliases = ["plate 100 x 100 x 3", "100x100x3 mm plate blank", "100x100x3 mm"] |
| 50 | |
| 51 | [[presets]] |
| 52 | id = "100x100x5" |
| 53 | title = "100 × 100 × 5 mm plate" |
| 54 | params = { width = 100, length = 100, thickness = 5 } |
| 55 | aliases = ["plate 100 x 100 x 5", "100x100x5 mm plate blank", "100x100x5 mm"] |
| 56 | |
| 57 | [[presets]] |
| 58 | id = "100x100x6" |
| 59 | title = "100 × 100 × 6 mm plate" |
| 60 | params = { width = 100, length = 100, thickness = 6 } |
| 61 | aliases = ["plate 100 x 100 x 6", "100x100x6 mm plate blank", "100x100x6 mm"] |
| 62 | |
| 63 | [[presets]] |
| 64 | id = "100x150x1" |
| 65 | title = "100 × 150 × 1 mm plate" |
| 66 | params = { width = 100, length = 150, thickness = 1 } |
| 67 | aliases = ["plate 100 x 150 x 1", "100x150x1 mm plate blank", "100x150x1 mm"] |
| 68 | |
| 69 | [[presets]] |
| 70 | id = "100x150x2" |
| 71 | title = "100 × 150 × 2 mm plate" |
| 72 | params = { width = 100, length = 150, thickness = 2 } |
| 73 | aliases = ["plate 100 x 150 x 2", "100x150x2 mm plate blank", "100x150x2 mm"] |
| 74 | |
| 75 | [[presets]] |
| 76 | id = "100x150x3" |
| 77 | title = "100 × 150 × 3 mm plate" |
| 78 | params = { width = 100, length = 150, thickness = 3 } |
| 79 | aliases = ["plate 100 x 150 x 3", "100x150x3 mm plate blank", "100x150x3 mm"] |
| 80 | |
| 81 | [[presets]] |
| 82 | id = "100x150x5" |
| 83 | title = "100 × 150 × 5 mm plate" |
| 84 | params = { width = 100, length = 150, thickness = 5 } |
| 85 | aliases = ["plate 100 x 150 x 5", "100x150x5 mm plate blank", "100x150x5 mm"] |
| 86 | |
| 87 | [[presets]] |
| 88 | id = "100x150x6" |
| 89 | title = "100 × 150 × 6 mm plate" |
| 90 | params = { width = 100, length = 150, thickness = 6 } |
| 91 | aliases = ["plate 100 x 150 x 6", "100x150x6 mm plate blank", "100x150x6 mm"] |
| 92 | |
| 93 | [[presets]] |
| 94 | id = "100x200x1" |
| 95 | title = "100 × 200 × 1 mm plate" |
| 96 | params = { width = 100, length = 200, thickness = 1 } |
| 97 | aliases = ["plate 100 x 200 x 1", "100x200x1 mm plate blank", "100x200x1 mm"] |
| 98 | |
| 99 | [[presets]] |
| 100 | id = "100x200x2" |
| 101 | title = "100 × 200 × 2 mm plate" |
| 102 | params = { width = 100, length = 200, thickness = 2 } |
| 103 | aliases = ["plate 100 x 200 x 2", "100x200x2 mm plate blank", "100x200x2 mm"] |
| 104 | |
| 105 | [[presets]] |
| 106 | id = "100x200x3" |
| 107 | title = "100 × 200 × 3 mm plate" |
| 108 | params = { width = 100, length = 200, thickness = 3 } |
| 109 | aliases = ["plate 100 x 200 x 3", "100x200x3 mm plate blank", "100x200x3 mm"] |
| 110 | |
| 111 | [[presets]] |
| 112 | id = "100x200x5" |
| 113 | title = "100 × 200 × 5 mm plate" |
| 114 | params = { width = 100, length = 200, thickness = 5 } |
| 115 | aliases = ["plate 100 x 200 x 5", "100x200x5 mm plate blank", "100x200x5 mm"] |
| 116 | |
| 117 | [[presets]] |
| 118 | id = "100x200x6" |
| 119 | title = "100 × 200 × 6 mm plate" |
| 120 | params = { width = 100, length = 200, thickness = 6 } |
| 121 | aliases = ["plate 100 x 200 x 6", "100x200x6 mm plate blank", "100x200x6 mm"] |
| 122 | |
| 123 | [[presets]] |
| 124 | id = "150x150x1" |
| 125 | title = "150 × 150 × 1 mm plate" |
| 126 | params = { width = 150, length = 150, thickness = 1 } |
| 127 | aliases = ["plate 150 x 150 x 1", "150x150x1 mm plate blank", "150x150x1 mm"] |
| 128 | |
| 129 | [[presets]] |
| 130 | id = "150x150x2" |
| 131 | title = "150 × 150 × 2 mm plate" |
| 132 | params = { width = 150, length = 150, thickness = 2 } |
| 133 | aliases = ["plate 150 x 150 x 2", "150x150x2 mm plate blank", "150x150x2 mm"] |
| 134 | |
| 135 | [[presets]] |
| 136 | id = "150x150x3" |
| 137 | title = "150 × 150 × 3 mm plate" |
| 138 | params = { width = 150, length = 150, thickness = 3 } |
| 139 | aliases = ["plate 150 x 150 x 3", "150x150x3 mm plate blank", "150x150x3 mm"] |
| 140 | |
| 141 | [[presets]] |
| 142 | id = "150x150x5" |
| 143 | title = "150 × 150 × 5 mm plate" |
| 144 | params = { width = 150, length = 150, thickness = 5 } |
| 145 | aliases = ["plate 150 x 150 x 5", "150x150x5 mm plate blank", "150x150x5 mm"] |
| 146 | |
| 147 | [[presets]] |
| 148 | id = "150x150x6" |
| 149 | title = "150 × 150 × 6 mm plate" |
| 150 | params = { width = 150, length = 150, thickness = 6 } |
| 151 | aliases = ["plate 150 x 150 x 6", "150x150x6 mm plate blank", "150x150x6 mm"] |
| 152 | |
| 153 | [[presets]] |
| 154 | id = "200x200x1" |
| 155 | title = "200 × 200 × 1 mm plate" |
| 156 | params = { width = 200, length = 200, thickness = 1 } |
| 157 | aliases = ["plate 200 x 200 x 1", "200x200x1 mm plate blank", "200x200x1 mm"] |
| 158 | |
| 159 | [[presets]] |
| 160 | id = "200x200x2" |
| 161 | title = "200 × 200 × 2 mm plate" |
| 162 | params = { width = 200, length = 200, thickness = 2 } |
| 163 | aliases = ["plate 200 x 200 x 2", "200x200x2 mm plate blank", "200x200x2 mm"] |
| 164 | |
| 165 | [[presets]] |
| 166 | id = "200x200x3" |
| 167 | title = "200 × 200 × 3 mm plate" |
| 168 | params = { width = 200, length = 200, thickness = 3 } |
| 169 | aliases = ["plate 200 x 200 x 3", "200x200x3 mm plate blank", "200x200x3 mm"] |
| 170 | |
| 171 | [[presets]] |
| 172 | id = "200x200x5" |
| 173 | title = "200 × 200 × 5 mm plate" |
| 174 | params = { width = 200, length = 200, thickness = 5 } |
| 175 | aliases = ["plate 200 x 200 x 5", "200x200x5 mm plate blank", "200x200x5 mm"] |
| 176 | |
| 177 | [[presets]] |
| 178 | id = "200x200x6" |
| 179 | title = "200 × 200 × 6 mm plate" |
| 180 | params = { width = 200, length = 200, thickness = 6 } |
| 181 | aliases = ["plate 200 x 200 x 6", "200x200x6 mm plate blank", "200x200x6 mm"] |
| 182 | |
| 183 | [[presets]] |
| 184 | id = "200x300x1" |
| 185 | title = "200 × 300 × 1 mm plate" |
| 186 | params = { width = 200, length = 300, thickness = 1 } |
| 187 | aliases = ["plate 200 x 300 x 1", "200x300x1 mm plate blank", "200x300x1 mm"] |
| 188 | |
| 189 | [[presets]] |
| 190 | id = "200x300x2" |
| 191 | title = "200 × 300 × 2 mm plate" |
| 192 | params = { width = 200, length = 300, thickness = 2 } |
| 193 | aliases = ["plate 200 x 300 x 2", "200x300x2 mm plate blank", "200x300x2 mm"] |
| 194 | |
| 195 | [[presets]] |
| 196 | id = "200x300x3" |
| 197 | title = "200 × 300 × 3 mm plate" |
| 198 | params = { width = 200, length = 300, thickness = 3 } |
| 199 | aliases = ["plate 200 x 300 x 3", "200x300x3 mm plate blank", "200x300x3 mm"] |
| 200 | |
| 201 | [[presets]] |
| 202 | id = "200x300x5" |
| 203 | title = "200 × 300 × 5 mm plate" |
| 204 | params = { width = 200, length = 300, thickness = 5 } |
| 205 | aliases = ["plate 200 x 300 x 5", "200x300x5 mm plate blank", "200x300x5 mm"] |
| 206 | |
| 207 | [[presets]] |
| 208 | id = "200x300x6" |
| 209 | title = "200 × 300 × 6 mm plate" |
| 210 | params = { width = 200, length = 300, thickness = 6 } |
| 211 | aliases = ["plate 200 x 300 x 6", "200x300x6 mm plate blank", "200x300x6 mm"] |
| 212 | |
| 213 | [[presets]] |
| 214 | id = "300x300x1" |
| 215 | title = "300 × 300 × 1 mm plate" |
| 216 | params = { width = 300, length = 300, thickness = 1 } |
| 217 | aliases = ["plate 300 x 300 x 1", "300x300x1 mm plate blank", "300x300x1 mm"] |
| 218 | |
| 219 | [[presets]] |
| 220 | id = "300x300x2" |
| 221 | title = "300 × 300 × 2 mm plate" |
| 222 | params = { width = 300, length = 300, thickness = 2 } |
| 223 | aliases = ["plate 300 x 300 x 2", "300x300x2 mm plate blank", "300x300x2 mm"] |
| 224 | |
| 225 | [[presets]] |
| 226 | id = "300x300x3" |
| 227 | title = "300 × 300 × 3 mm plate" |
| 228 | params = { width = 300, length = 300, thickness = 3 } |
| 229 | aliases = ["plate 300 x 300 x 3", "300x300x3 mm plate blank", "300x300x3 mm"] |
| 230 | |
| 231 | [[presets]] |
| 232 | id = "300x300x5" |
| 233 | title = "300 × 300 × 5 mm plate" |
| 234 | params = { width = 300, length = 300, thickness = 5 } |
| 235 | aliases = ["plate 300 x 300 x 5", "300x300x5 mm plate blank", "300x300x5 mm"] |
| 236 | |
| 237 | [[presets]] |
| 238 | id = "300x300x6" |
| 239 | title = "300 × 300 × 6 mm plate" |
| 240 | params = { width = 300, length = 300, thickness = 6 } |
| 241 | aliases = ["plate 300 x 300 x 6", "300x300x6 mm plate blank", "300x300x6 mm"] |
| 242 | |
| 243 | [[presets]] |
| 244 | id = "300x500x1" |
| 245 | title = "300 × 500 × 1 mm plate" |
| 246 | params = { width = 300, length = 500, thickness = 1 } |
| 247 | aliases = ["plate 300 x 500 x 1", "300x500x1 mm plate blank", "300x500x1 mm"] |
| 248 | |
| 249 | [[presets]] |
| 250 | id = "300x500x2" |
| 251 | title = "300 × 500 × 2 mm plate" |
| 252 | params = { width = 300, length = 500, thickness = 2 } |
| 253 | aliases = ["plate 300 x 500 x 2", "300x500x2 mm plate blank", "300x500x2 mm"] |
| 254 | |
| 255 | [[presets]] |
| 256 | id = "300x500x3" |
| 257 | title = "300 × 500 × 3 mm plate" |
| 258 | params = { width = 300, length = 500, thickness = 3 } |
| 259 | aliases = ["plate 300 x 500 x 3", "300x500x3 mm plate blank", "300x500x3 mm"] |
| 260 | |
| 261 | [[presets]] |
| 262 | id = "300x500x5" |
| 263 | title = "300 × 500 × 5 mm plate" |
| 264 | params = { width = 300, length = 500, thickness = 5 } |
| 265 | aliases = ["plate 300 x 500 x 5", "300x500x5 mm plate blank", "300x500x5 mm"] |
| 266 | |
| 267 | [[presets]] |
| 268 | id = "300x500x6" |
| 269 | title = "300 × 500 × 6 mm plate" |
| 270 | params = { width = 300, length = 500, thickness = 6 } |
| 271 | aliases = ["plate 300 x 500 x 6", "300x500x6 mm plate blank", "300x500x6 mm"] |
| 272 |
A rectangular plate or sheet blank at any width, length and thickness.
A width (X) by length (Y) rectangle centred on the origin, thickness up from the XY plane (+Z). Sharp edges.
| Parameter | Meaning |
|---|---|
width |
Width along X, mm |
length |
Length along Y, mm |
thickness |
Thickness along Z, mm |
material |
aluminium-6061 (6061-T6), aluminium-5052 (5052-H32), steel (S235JR), steel-dc01 (EN 10130 DC01), stainless-304 (1.4301), brass, acrylic (PMMA) |
A plate blank is fully defined by its designation width × length × thickness; no other dimension is involved.
Preset list: blank sizes of the step.parts catalogue (MIT), see library/NOTICE.md.
| 1 | # Plate blank |
| 2 | |
| 3 | A rectangular plate or sheet blank at any width, length and thickness. |
| 4 | |
| 5 | ## Geometry |
| 6 | |
| 7 | A **width** (X) by **length** (Y) rectangle centred on the origin, **thickness** up from the XY plane (+Z). Sharp |
| 8 | edges. |
| 9 | |
| 10 | ## Parameters |
| 11 | |
| 12 | | Parameter | Meaning | |
| 13 | |---|---| |
| 14 | | `width` | Width along X, mm | |
| 15 | | `length` | Length along Y, mm | |
| 16 | | `thickness` | Thickness along Z, mm | |
| 17 | | `material` | `aluminium-6061` (6061-T6), `aluminium-5052` (5052-H32), `steel` (S235JR), `steel-dc01` (EN 10130 DC01), `stainless-304` (1.4301), `brass`, `acrylic` (PMMA) | |
| 18 | |
| 19 | ## Source |
| 20 | |
| 21 | A plate blank is fully defined by its designation width × length × thickness; no other dimension is involved. |
| 22 | Preset list: blank sizes of the step.parts catalogue (MIT), see `library/NOTICE.md`. |
| 23 |
Rectangular plate blank: width along X, length along Y, centred on the origin, thickness up from the XY plane. Presets cover common blank sizes (50 x 50 to 300 x 500 mm, 1 to 6 mm thick).
A rectangular plate or sheet blank at any width, length and thickness.
A width (X) by length (Y) rectangle centred on the origin, thickness up from the XY plane (+Z). Sharp edges.
| Parameter | Meaning |
|---|---|
width |
Width along X, mm |
length |
Length along Y, mm |
thickness |
Thickness along Z, mm |
material |
aluminium-6061 (6061-T6), aluminium-5052 (5052-H32), steel (S235JR), steel-dc01 (EN 10130 DC01), stainless-304 (1.4301), brass, acrylic (PMMA) |
A plate blank is fully defined by its designation width × length × thickness; no other dimension is involved.
Preset list: blank sizes of the step.parts catalogue (MIT), see library/NOTICE.md.
Square bar, EN 10059 sizes and plain square stock, any side and length.
Round tube, any outside diameter, wall and length; presets from EN 10305-1 and EN 10220 sizes.
Round bar / round rod, EN 10060 sizes and plain round stock, any diameter and length.
Hot-rolled steel angle, equal and unequal legs, EN 10056-1, any length.