feat: add trash_belt_hook

This commit is contained in:
2026-08-08 19:48:15 -05:00
parent 79590b8dbd
commit 4d5e6a9b7a
+41
View File
@@ -110,6 +110,43 @@ def build_mop_handle():
return mop_handle return mop_handle
def build_trash_belt_hook(
belt_width: float = 37.5,
belt_thickness: float = 6.6,
clip_thickness: float = 5,
hook_width: float = 40,
hook_height: float = 9,
hook_thickness: float = 13.5,
hook_chamfer: float = 10,
hook_tip_offset: float = 15,
hook_tip_thickness_p: float = 0.2,
hook_tip_width_p: float = 0.3,
):
with BuildPart() as trash_belt_hook:
with BuildSketch(Plane.YZ):
SlotOverall(belt_width, belt_thickness, 90)
offset(amount=clip_thickness)
offset(amount=-clip_thickness, mode=Mode.SUBTRACT)
extrude(amount=hook_width / 2, both=True)
pln = Plane(trash_belt_hook.faces().sort_by(Axis.Y)[-1].offset(hook_height)).rotated((-45, 0, 0))
with BuildSketch(pln) as hook_s:
Rectangle(hook_thickness, hook_width)
chamfer(hook_s.vertices().group_by(Axis.X)[0], hook_chamfer)
extrude(until=Until.PREVIOUS)
with BuildSketch(pln.offset(hook_tip_offset)) as hook_tip:
Rectangle(hook_thickness * hook_tip_thickness_p, hook_width * hook_tip_width_p)
chamfer(hook_tip.vertices().group_by(Axis.X)[0], hook_chamfer * hook_tip_thickness_p)
loft([hook_s.sketch, hook_tip.sketch])
return trash_belt_hook
mop_scraper_holder_top = build_mop_scraper_holder(15) mop_scraper_holder_top = build_mop_scraper_holder(15)
assert mop_scraper_holder_top.part is not None assert mop_scraper_holder_top.part is not None
@@ -122,3 +159,7 @@ export_step(mop_scraper_holder_bottom.part, "mop_scraper_holder_bottom.step")
mop_handle = build_mop_handle() mop_handle = build_mop_handle()
assert mop_handle.part is not None assert mop_handle.part is not None
export_step(mop_handle.part, "mop_handle.step") export_step(mop_handle.part, "mop_handle.step")
trash_belt_hook = build_trash_belt_hook()
assert trash_belt_hook.part is not None
export_step(trash_belt_hook.part, "trash_belt_hook.step")