Update stopper and add a PTFE guide into extrueder
This commit is contained in:
parent
335f002a1a
commit
2a430dc28a
2 changed files with 87 additions and 4 deletions
73
space_pi_se_PTFE_guide.py
Normal file
73
space_pi_se_PTFE_guide.py
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
# /// script
|
||||||
|
# requires-python = ">=3.14"
|
||||||
|
# dependencies = ["ocp_vscode", "build123d"]
|
||||||
|
# ///
|
||||||
|
|
||||||
|
from build123d import *
|
||||||
|
from ocp_vscode import *
|
||||||
|
|
||||||
|
### Dimensions ###
|
||||||
|
bolt_spacing = 17 * MM
|
||||||
|
bolt_hole_diameter = 4 * MM
|
||||||
|
z_rod_diameter = 10 * MM
|
||||||
|
buffer = 4 * MM
|
||||||
|
bolt_to_PTFE_offset = 2 * MM
|
||||||
|
base_length = 30 * MM
|
||||||
|
bolt_to_holder_offset = 20 * MM
|
||||||
|
wall_thickness = 2 * MM
|
||||||
|
PTFE_radius = 2.5 * MM
|
||||||
|
holder_length = 14 * MM
|
||||||
|
|
||||||
|
###################
|
||||||
|
|
||||||
|
with BuildPart() as guide:
|
||||||
|
with BuildSketch() as sketch:
|
||||||
|
Rectangle(
|
||||||
|
2 * buffer + base_length,
|
||||||
|
2 * buffer + bolt_spacing + bolt_hole_diameter,
|
||||||
|
align=(Align.MIN, Align.MIN),
|
||||||
|
)
|
||||||
|
with Locations(
|
||||||
|
(buffer + bolt_hole_diameter / 2.0, buffer + bolt_hole_diameter / 2.0),
|
||||||
|
(
|
||||||
|
buffer + bolt_hole_diameter / 2.0,
|
||||||
|
buffer + bolt_hole_diameter / 2.0 + bolt_spacing,
|
||||||
|
),
|
||||||
|
):
|
||||||
|
Circle(radius=bolt_hole_diameter / 2.0, mode=Mode.SUBTRACT)
|
||||||
|
|
||||||
|
with Locations(
|
||||||
|
(
|
||||||
|
buffer + bolt_hole_diameter / 2.0,
|
||||||
|
buffer + bolt_spacing / 2.0 + bolt_hole_diameter / 2.0,
|
||||||
|
),
|
||||||
|
):
|
||||||
|
Circle(radius=z_rod_diameter / 2.0, mode=Mode.SUBTRACT)
|
||||||
|
Rectangle(
|
||||||
|
z_rod_diameter / 2.0 + buffer,
|
||||||
|
z_rod_diameter,
|
||||||
|
mode=Mode.SUBTRACT,
|
||||||
|
align=(Align.MAX, Align.CENTER),
|
||||||
|
)
|
||||||
|
extrude(amount=wall_thickness)
|
||||||
|
|
||||||
|
with BuildSketch(Plane.YZ.offset(buffer + bolt_to_holder_offset)) as sketch:
|
||||||
|
with Locations(
|
||||||
|
(
|
||||||
|
buffer + bolt_hole_diameter / 2.0 + bolt_to_PTFE_offset,
|
||||||
|
PTFE_radius + wall_thickness,
|
||||||
|
),
|
||||||
|
):
|
||||||
|
Circle(
|
||||||
|
radius=PTFE_radius + wall_thickness, align=(Align.CENTER, Align.CENTER)
|
||||||
|
)
|
||||||
|
Circle(
|
||||||
|
radius=PTFE_radius,
|
||||||
|
align=(Align.CENTER, Align.CENTER),
|
||||||
|
mode=Mode.SUBTRACT,
|
||||||
|
)
|
||||||
|
|
||||||
|
extrude(amount=holder_length)
|
||||||
|
|
||||||
|
show(guide)
|
||||||
|
export_stl(guide.part, "guide.stl")
|
||||||
|
|
@ -23,14 +23,24 @@ with BuildPart() as stopper:
|
||||||
Circle(diameter_at_hole / 2.0 + 0.5 * MM)
|
Circle(diameter_at_hole / 2.0 + 0.5 * MM)
|
||||||
Circle(diameter_at_hole / 2.0, mode=Mode.SUBTRACT)
|
Circle(diameter_at_hole / 2.0, mode=Mode.SUBTRACT)
|
||||||
extrude(amount=ptfe_length)
|
extrude(amount=ptfe_length)
|
||||||
offset = ptfe_length + washer_thickness
|
z_offset = ptfe_length + washer_thickness
|
||||||
with BuildSketch(Plane.XY.offset(offset)) as sketch:
|
with BuildSketch(Plane.XY.offset(z_offset)) as sketch:
|
||||||
Circle(diameter_at_hole / 2.0 + 0.5 * MM)
|
Circle(diameter_at_hole / 2.0 + 0.5 * MM)
|
||||||
Circle(diameter_at_hole / 2.0, mode=Mode.SUBTRACT)
|
Circle(diameter_at_hole / 2.0, mode=Mode.SUBTRACT)
|
||||||
offset += filament_length
|
z_offset += filament_length
|
||||||
with BuildSketch(Plane.XY.offset(offset)) as sketch:
|
with BuildSketch(Plane.XY.offset(z_offset)) as sketch:
|
||||||
Circle(diameter_at_filament / 2.0 + 0.5 * MM)
|
Circle(diameter_at_filament / 2.0 + 0.5 * MM)
|
||||||
Circle(diameter_at_filament / 2.0, mode=Mode.SUBTRACT)
|
Circle(diameter_at_filament / 2.0, mode=Mode.SUBTRACT)
|
||||||
loft()
|
loft()
|
||||||
|
with BuildSketch(Plane.XZ) as sketch:
|
||||||
|
with Locations((0, z_offset)):
|
||||||
|
with BuildLine():
|
||||||
|
l1 = RadiusArc(
|
||||||
|
(diameter_at_filament / 2.0, 0), (diameter_at_hole / 2, 1), radius=1
|
||||||
|
)
|
||||||
|
offset(amount=0.5 * MM, side=Side.RIGHT)
|
||||||
|
make_face()
|
||||||
|
revolve(axis=Axis.Z)
|
||||||
show(stopper)
|
show(stopper)
|
||||||
|
|
||||||
export_stl(stopper.part, "stopper.stl")
|
export_stl(stopper.part, "stopper.stl")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue