diff --git a/space_pi_se_PTFE_stopper.py b/space_pi_se_PTFE_stopper.py new file mode 100644 index 0000000..15d5a44 --- /dev/null +++ b/space_pi_se_PTFE_stopper.py @@ -0,0 +1,36 @@ +# /// script +# requires-python = ">=3.14" +# dependencies = ["ocp_vscode", "build123d"] +# /// + +from build123d import * +from ocp_vscode import * + +### Dimensions ### +diameter_at_hole = 5.5 * MM +ptfe_length = 5 * MM +filament_length = 5 * MM +diameter_at_filament = 3 * MM +washer_thickness = 2 * MM +################### + +with BuildPart() as stopper: + with BuildSketch() as sketch: + Circle(diameter_at_hole / 2.0 + 2 * MM) + Circle(diameter_at_hole / 2.0, mode=Mode.SUBTRACT) + extrude(amount=washer_thickness) + with BuildSketch(Plane.XY.offset(washer_thickness)) as sketch: + Circle(diameter_at_hole / 2.0 + 0.5 * MM) + Circle(diameter_at_hole / 2.0, mode=Mode.SUBTRACT) + extrude(amount=ptfe_length) + offset = ptfe_length + washer_thickness + with BuildSketch(Plane.XY.offset(offset)) as sketch: + Circle(diameter_at_hole / 2.0 + 0.5 * MM) + Circle(diameter_at_hole / 2.0, mode=Mode.SUBTRACT) + offset += filament_length + with BuildSketch(Plane.XY.offset(offset)) as sketch: + Circle(diameter_at_filament / 2.0 + 0.5 * MM) + Circle(diameter_at_filament / 2.0, mode=Mode.SUBTRACT) + loft() + show(stopper) +export_stl(stopper.part, "stopper.stl")