"""ISO 7089 plain washer, normal series. It sits on the XY plane, centred on the origin. Material: 200 HV steel (cold-rolled DC01), zinc plated.""" from steve import Model size = "M3" # Thread size # size: (inner diameter d1, outer diameter d2, thickness h) WASHERS = { 'M2': (2.2, 5.0, 0.3), 'M2.5': (2.7, 6.0, 0.5), 'M3': (3.2, 7.0, 0.5), 'M4': (4.3, 9.0, 0.8), 'M5': (5.3, 10.0, 1.0), 'M6': (6.4, 12.0, 1.6), 'M8': (8.4, 16.0, 1.6), 'M10': (10.5, 20.0, 2.0), 'M12': (13.0, 24.0, 2.5), } d1, d2, h = WASHERS[size] model = Model() with model.sketch("washer_sketch", on="XY", name="Washer") as sk: sk.circle("outer", (0, 0), d2 / 2) sk.circle("inner", (0, 0), d1 / 2) model.extrude("washer", "washer_sketch", distance=h) model.material("steel-dc01") # 200 HV washer steel model.appearance(color="#c9d1d9", metalness=1.0, roughness=0.3) # clear zinc plating result = model.result()