steve/linear-bushing
Linear bushing (linear ball bearing) LM / LMF / LMK, shafts 3 to 60 mm: straight, round or square flange.
Deep groove ball bearing (shielded), ISO 15 sizes 623 to 6204.
| 1 | """Deep groove ball bearing, shielded (2Z), ISO 15 boundary dimensions. Envelope: inner and outer rings joined by |
| 2 | recessed shields (one solid), centred on the origin with its axis along Z.""" |
| 3 | from steve import Model |
| 4 | |
| 5 | designation = "608" # Bearing designation |
| 6 | |
| 7 | # designation: (bore d, outside diameter D, width B) |
| 8 | BEARINGS = { |
| 9 | '623': (3, 10, 4), |
| 10 | '624': (4, 13, 5), |
| 11 | '625': (5, 16, 5), |
| 12 | '626': (6, 19, 6), |
| 13 | '608': (8, 22, 7), |
| 14 | '688': (8, 16, 5), |
| 15 | '6000': (10, 26, 8), |
| 16 | '6001': (12, 28, 8), |
| 17 | '6002': (15, 32, 9), |
| 18 | '6003': (17, 35, 10), |
| 19 | '6004': (20, 42, 12), |
| 20 | '6200': (10, 30, 9), |
| 21 | '6201': (12, 32, 10), |
| 22 | '6202': (15, 35, 11), |
| 23 | '6203': (17, 40, 12), |
| 24 | '6204': (20, 47, 14), |
| 25 | } |
| 26 | d, D, B = BEARINGS[designation] |
| 27 | ring = (D - d) * 0.22 # radial thickness of each ring's face |
| 28 | recess = min(0.4, B * 0.06) |
| 29 | |
| 30 | model = Model() |
| 31 | with model.sketch("rings", on="XY", name="Rings") as sk: |
| 32 | sk.circle("outer", (0, 0), D / 2) |
| 33 | sk.circle("bore", (0, 0), d / 2) |
| 34 | model.extrude("body", "rings", distance=B, both=True) # both: B in all, centred on XY |
| 35 | model.plane("face_top", on="XY", offset=B / 2, name="Top face") |
| 36 | with model.sketch("shield_top", on="face_top", name="Top shield") as sk: |
| 37 | sk.circle("out", (0, 0), D / 2 - ring) |
| 38 | sk.circle("inn", (0, 0), d / 2 + ring) |
| 39 | model.extrude("recess_top", "shield_top", distance=-recess, op="cut") |
| 40 | model.plane("face_bottom", on="XY", offset=-B / 2, name="Bottom face") |
| 41 | with model.sketch("shield_bottom", on="face_bottom", name="Bottom shield") as sk: |
| 42 | sk.circle("out", (0, 0), D / 2 - ring) |
| 43 | sk.circle("inn", (0, 0), d / 2 + ring) |
| 44 | model.extrude("recess_bottom", "shield_bottom", distance=recess, op="cut") |
| 45 | result = model.result() |
| 46 |
| 1 | name = "steve/deep-groove-ball-bearing" |
| 2 | version = "1.0.0" |
| 3 | runtime = "steve" |
| 4 | license = "MIT" |
| 5 | summary = "Deep groove ball bearing (shielded), ISO 15 sizes 623 to 6204." |
| 6 | description = "Deep groove ball bearing, shielded (2Z), ISO 15 boundary dimensions. Envelope: inner and outer rings joined by\nrecessed shields (one solid), centred on the origin with its axis along Z.\n\nDimensions from STEVE's standard-part tables (nominal values of the standard). Envelope geometry: no modelled thread." |
| 7 | tags = ["bearing", "ball-bearing", "iso-15"] |
| 8 | |
| 9 | [parameters.designation] |
| 10 | type = "choice" |
| 11 | default = "608" |
| 12 | choices = ["623", "624", "625", "626", "608", "688", "6000", "6001", "6002", "6003", "6004", "6200", "6201", "6202", "6203", "6204"] |
| 13 | label = "Designation" |
| 14 |
Deep groove ball bearing, shielded (2Z), ISO 15 boundary dimensions. Envelope: inner and outer rings joined by recessed shields (one solid), centred on the origin with its axis along Z. Dimensions from STEVE's standard-part tables (nominal values of the standard). Envelope geometry: no modelled thread.
Face recesses removed: the model is now the exact d x D x B envelope with flush shields and seals (the recess depths and ring face widths came from no catalogue).
Materials and finishes: each part is made of its standard's engineering material, with its usual finish.
Linear bushing (linear ball bearing) LM / LMF / LMK, shafts 3 to 60 mm: straight, round or square flange.
HIWIN MGN miniature linear guideway, sizes 7, 9, 12 and 15: rail (MGNR) or block (MGN-C / MGN-H).
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.