Sign in with STEVE

Compare versions

2 files changed, +28 −16 1.1.0: Materials and finishes: each part is made of its standard's engineering material, with its usual finish.

part.py +25 −14
@@ -1,5 +1,8 @@
1"""Deep groove ball bearing, shielded (2Z), ISO 15 boundary dimensions. Envelope: inner and outer rings joined by
2recessed shields (one solid), centred on the origin with its axis along Z."""
1"""Deep groove ball bearing, shielded (2Z), ISO 15 boundary dimensions.
2Envelope: inner and outer rings and two recessed shields (four bodies; the balls behind the shields aren't modelled).
3Centred on the origin with its axis along Z.
4
5Material: rings in through-hardened high-carbon bearing steel (C60 from the material library, the closest it has to 100Cr6 / AISI 52100), ground; shields in cold-rolled steel (DC01)."""
36from steve import Model
47
58designation = "608" # Bearing designation
@@ -25,22 +28,30 @@
2528}
2629d, D, B = BEARINGS[designation]
2730ring = (D - d) * 0.22 # radial thickness of each ring's face
28recess = min(0.4, B * 0.06)
31recess = min(0.4, B * 0.06) # shield face below the ring faces
32shield = max(0.2, min(0.6, B * 0.05)) # shield sheet thickness
33gap = min(0.15, ring * 0.1) # running clearance between a shield and the inner ring
2934
3035model = Model()
31with model.sketch("rings", on="XY", name="Rings") as sk:
32 sk.circle("outer", (0, 0), D / 2)
36with model.sketch("outer_sketch", on="XY", name="Outer ring") as sk:
37 sk.circle("outside", (0, 0), D / 2)
38 sk.circle("inside", (0, 0), D / 2 - ring)
39model.extrude("outer_ring", "outer_sketch", distance=B, both=True, op="new", body="outer_ring") # B in all, centred
40with model.sketch("inner_sketch", on="XY", name="Inner ring") as sk:
41 sk.circle("outside", (0, 0), d / 2 + ring)
3342 sk.circle("bore", (0, 0), d / 2)
34model.extrude("body", "rings", distance=B, both=True) # both: B in all, centred on XY
35model.plane("face_top", on="XY", offset=B / 2, name="Top face")
36with model.sketch("shield_top", on="face_top", name="Top shield") as sk:
43model.extrude("inner_ring", "inner_sketch", distance=B, both=True, op="new", body="inner_ring")
44model.plane("shield_top_plane", on="XY", offset=B / 2 - recess, name="Top shield face")
45with model.sketch("shield_top_sketch", on="shield_top_plane", name="Top shield") as sk:
3746 sk.circle("out", (0, 0), D / 2 - ring)
38 sk.circle("inn", (0, 0), d / 2 + ring)
39model.extrude("recess_top", "shield_top", distance=-recess, op="cut")
40model.plane("face_bottom", on="XY", offset=-B / 2, name="Bottom face")
41with model.sketch("shield_bottom", on="face_bottom", name="Bottom shield") as sk:
47 sk.circle("inn", (0, 0), d / 2 + ring + gap)
48model.extrude("shield_top", "shield_top_sketch", distance=-shield, op="new", body="shield_top")
49model.plane("shield_bottom_plane", on="XY", offset=-B / 2 + recess, name="Bottom shield face")
50with model.sketch("shield_bottom_sketch", on="shield_bottom_plane", name="Bottom shield") as sk:
4251 sk.circle("out", (0, 0), D / 2 - ring)
43 sk.circle("inn", (0, 0), d / 2 + ring)
44model.extrude("recess_bottom", "shield_bottom", distance=recess, op="cut")
52 sk.circle("inn", (0, 0), d / 2 + ring + gap)
53model.extrude("shield_bottom", "shield_bottom_sketch", distance=shield, op="new", body="shield_bottom")
54model.material("steel-1c60", finish="polished") # rings: hardened bearing steel
55model.material("steel-dc01", bodies=["shield_top", "shield_bottom"], finish="machined") # pressed steel shields
4556result = model.result()
4657
pypart.toml +3 −2
@@ -1,10 +1,11 @@
11name = "steve/deep-groove-ball-bearing"
2version = "1.0.0"
2version = "1.1.0"
33runtime = "steve"
44license = "MIT"
55summary = "Deep groove ball bearing (shielded), ISO 15 sizes 623 to 6204."
6description = "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."
6description = "Deep groove ball bearing, shielded (2Z), ISO 15 boundary dimensions.\nEnvelope: inner and outer rings and two recessed shields (four bodies; the balls behind the shields aren't modelled).\nCentred on the origin with its axis along Z.\n\nMaterial: rings in through-hardened high-carbon bearing steel (C60 from the material library, the closest it has to 100Cr6 / AISI 52100), ground; shields in cold-rolled steel (DC01).\n\nDimensions from STEVE's standard-part tables (nominal values of the standard). Envelope geometry: no modelled thread."
77tags = ["bearing", "ball-bearing", "iso-15"]
8changes = "Materials and finishes: each part is made of its standard's engineering material, with its usual finish."
89
910[parameters.designation]
1011type = "choice"