"""Tapered roller bearing, 302 and 303 series, bore up to 50 mm: envelope for assemblies. The cone (inner ring side) of width B and the cup (outer ring side) of width C share the overall width T: drawn as one solid ring d x D x T. Rollers and cage are not modelled. Axis along Z, centred.""" from steve import Model designation = "30204" # Bearing number # number: (d, D, T, B, C). NTN Ball and Roller Bearings CAT. No. 2203-3/E (2024), PDF pages 165-167, boundary dimensions. BEARINGS = {"30203": (17, 40, 13.25, 12, 11), "30204": (20, 47, 15.25, 14, 12), "30205": (25, 52, 16.25, 15, 13), "30206": (30, 62, 17.25, 16, 14), "30207": (35, 72, 18.25, 17, 15), "30208": (40, 80, 19.75, 18, 16), "30209": (45, 85, 20.75, 19, 16), "30210": (50, 90, 21.75, 20, 17), "30302": (15, 42, 14.25, 13, 11), "30303": (17, 47, 15.25, 14, 12), "30304": (20, 52, 16.25, 16, 13), "30305": (25, 62, 18.25, 17, 15), "30306": (30, 72, 20.75, 19, 16), "30307": (35, 80, 22.75, 21, 18), "30308": (40, 90, 25.25, 23, 20), "30309": (45, 100, 27.25, 25, 22), "30310": (50, 110, 29.25, 27, 23)} d, D, T, B, C = BEARINGS[designation] model = Model() with model.sketch("rings", on="XY", name="Rings") as sk: sk.circle("outer", (0, 0), D / 2) sk.circle("bore", (0, 0), d / 2) model.extrude("body", "rings", distance=T, both=True, name="Bearing") model.material("steel-generic", color="#b9bdc2") result = model.result()