"""Angular contact ball bearing, 72 and 73 series, bore up to 50 mm: envelope for assemblies, one solid with the boundary dimensions bore d, outside diameter D and width B. Rolling elements, cage and the gaps between the rings are not modelled. Axis along Z, centred on the origin.""" from steve import Model designation = "7204" # Bearing number # number: (d, D, B). NTN Ball and Roller Bearings CAT. No. 2203-3/E (2024), pp. B-52 to B-57 (PDF pages 128 to 133), boundary dimensions. BEARINGS = {"7200": (10, 30, 9), "7201": (12, 32, 10), "7202": (15, 35, 11), "7203": (17, 40, 12), "7204": (20, 47, 14), "7205": (25, 52, 15), "7206": (30, 62, 16), "7207": (35, 72, 17), "7208": (40, 80, 18), "7209": (45, 85, 19), "7210": (50, 90, 20), "7300": (10, 35, 11), "7301": (12, 37, 12), "7302": (15, 42, 13), "7303": (17, 47, 14), "7304": (20, 52, 15), "7305": (25, 62, 17), "7306": (30, 72, 19), "7307": (35, 80, 21), "7308": (40, 90, 23), "7309": (45, 100, 25), "7310": (50, 110, 27)} d, D, width = 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=width, both=True, name="Bearing") model.material("steel-generic", color="#b9bdc2") result = model.result()