"""Single-direction thrust ball bearing, 511, 512 and 513 series, bore up to 50 mm: envelope for assemblies, one solid with the boundary dimensions bore d, outside diameter D and height T. Rolling elements, cage and the gaps between the rings are not modelled. Axis along Z, centred on the origin.""" from steve import Model designation = "51104" # Bearing number # number: (d, D, T). NTN Ball and Roller Bearings CAT. No. 2203-3/E (2024), pp. B-150 to B-151 (PDF pages 226 and 227), boundary dimensions. BEARINGS = {"51100": (10, 24, 9), "51101": (12, 26, 9), "51102": (15, 28, 9), "51103": (17, 30, 9), "51104": (20, 35, 10), "51105": (25, 42, 11), "51106": (30, 47, 11), "51107": (35, 52, 12), "51108": (40, 60, 13), "51109": (45, 65, 14), "51110": (50, 70, 14), "51200": (10, 26, 11), "51201": (12, 28, 11), "51202": (15, 32, 12), "51203": (17, 35, 12), "51204": (20, 40, 14), "51205": (25, 47, 15), "51206": (30, 52, 16), "51207": (35, 62, 18), "51208": (40, 68, 19), "51209": (45, 73, 20), "51210": (50, 78, 22), "51305": (25, 52, 18), "51306": (30, 60, 21), "51307": (35, 68, 24), "51308": (40, 78, 26), "51309": (45, 85, 28), "51310": (50, 95, 31)} 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()