feat: added an initial object for the mop_scraper_holder

This commit is contained in:
2026-07-19 19:52:24 -05:00
parent da7094693d
commit 42c391edf3
2 changed files with 35 additions and 7 deletions
+35 -5
View File
@@ -1,10 +1,40 @@
# pyright: reportUnusedCallResult=false, reportWildcardImportFromLibrary=false
from build123d import *
length, width, thickness = 80.0, 60.0, 10.0
center_thickness = 10
with BuildPart() as builder:
Box(length, width, thickness)
mop_diameter = 40
mop_arc_size = 180
assert builder.part is not None
export_step(builder.part, "output.step")
scraper_diameter = 40
scraper_arc_size = 180
arms_thickness = 5
clamp_length = 50
with BuildPart() as mop_scraper_holder:
with BuildSketch() as profile:
with BuildLine() as outline:
mop_arc = CenterArc((0, (mop_diameter + center_thickness) / -2), mop_diameter / 2, 90 - (mop_arc_size / 2), mop_arc_size)
scraper_arc = CenterArc((0, (scraper_diameter + center_thickness) / 2), scraper_diameter / 2, (scraper_arc_size / 2) - 90, -scraper_arc_size)
Line(mop_arc @ 0, scraper_arc @ 0)
Line(mop_arc @ 1, scraper_arc @ 1)
make_face()
mop_arm = CenterArc((0, (mop_diameter + center_thickness) / -2), mop_diameter / 2, 90 - (mop_arc_size / 2), mop_arc_size)
offset(mop_arm, amount=arms_thickness, side=Side.RIGHT)
make_face()
scraper_arm = CenterArc((0, (scraper_diameter + center_thickness) / 2), scraper_diameter / 2, (scraper_arc_size / 2) - 90, -scraper_arc_size)
offset(scraper_arm, amount=arms_thickness, side=Side.LEFT)
make_face()
extrude(amount=clamp_length)
fillet(mop_scraper_holder.edges().filter_by(Axis.Z), 2)
assert mop_scraper_holder.part is not None
export_step(mop_scraper_holder.part, "mop_scraper_holder.step")