Compare commits
4
Commits
4d5e6a9b7a
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cd48eb6dd0
|
||
|
|
3713d1583d
|
||
|
|
96756418d9
|
||
|
|
9ebbdfaf90
|
@@ -1,6 +1,5 @@
|
|||||||
# pyright: reportUnusedCallResult=false, reportWildcardImportFromLibrary=false
|
# pyright: reportUnusedCallResult=false, reportWildcardImportFromLibrary=false, reportUnknownMemberType=false
|
||||||
from build123d import *
|
from build123d import *
|
||||||
from svgpathtools.path import transform
|
|
||||||
|
|
||||||
def build_mop_scraper_holder(center_thickness: float):
|
def build_mop_scraper_holder(center_thickness: float):
|
||||||
mop_diameter = 23.4
|
mop_diameter = 23.4
|
||||||
@@ -111,16 +110,18 @@ def build_mop_handle():
|
|||||||
return mop_handle
|
return mop_handle
|
||||||
|
|
||||||
def build_trash_belt_hook(
|
def build_trash_belt_hook(
|
||||||
belt_width: float = 37.5,
|
belt_width: float = 38.2,
|
||||||
belt_thickness: float = 6.6,
|
belt_thickness: float = 6.6,
|
||||||
|
|
||||||
clip_thickness: float = 5,
|
clip_thickness: float = 5,
|
||||||
|
|
||||||
hook_width: float = 40,
|
hook_width: float = 40,
|
||||||
|
hook_side_fillet: float = .9,
|
||||||
|
|
||||||
hook_height: float = 9,
|
hook_height: float = 9,
|
||||||
hook_thickness: float = 13.5,
|
hook_thickness: float = 13.5,
|
||||||
hook_chamfer: float = 10,
|
hook_chamfer: float = 10,
|
||||||
|
hook_belt_intersection_fillet: float = .8,
|
||||||
|
|
||||||
hook_tip_offset: float = 15,
|
hook_tip_offset: float = 15,
|
||||||
hook_tip_thickness_p: float = 0.2,
|
hook_tip_thickness_p: float = 0.2,
|
||||||
@@ -133,17 +134,23 @@ def build_trash_belt_hook(
|
|||||||
offset(amount=-clip_thickness, mode=Mode.SUBTRACT)
|
offset(amount=-clip_thickness, mode=Mode.SUBTRACT)
|
||||||
extrude(amount=hook_width / 2, both=True)
|
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))
|
hook_pln = Plane(trash_belt_hook.faces().sort_by(Axis.Y)[-1].offset(hook_height)).rotated((-45, 0, 0))
|
||||||
with BuildSketch(pln) as hook_s:
|
with BuildSketch(hook_pln) as hook_s:
|
||||||
Rectangle(hook_thickness, hook_width)
|
Rectangle(hook_thickness, hook_width)
|
||||||
chamfer(hook_s.vertices().group_by(Axis.X)[0], hook_chamfer)
|
chamfer(hook_s.vertices().group_by(Axis.X)[0], hook_chamfer)
|
||||||
extrude(until=Until.PREVIOUS)
|
extrude(until=Until.PREVIOUS)
|
||||||
|
|
||||||
with BuildSketch(pln.offset(hook_tip_offset)) as hook_tip:
|
outside_face = trash_belt_hook.faces().group_by(Axis.Y)[-5]
|
||||||
|
fillet(outside_face.edges().sort_by(Axis.X)[1:-1], hook_belt_intersection_fillet)
|
||||||
|
|
||||||
|
with BuildSketch(hook_pln.offset(hook_tip_offset)) as hook_tip:
|
||||||
Rectangle(hook_thickness * hook_tip_thickness_p, hook_width * hook_tip_width_p)
|
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)
|
chamfer(hook_tip.vertices().group_by(Axis.X)[0], hook_chamfer * hook_tip_thickness_p)
|
||||||
loft([hook_s.sketch, hook_tip.sketch])
|
loft([hook_s.sketch, hook_tip.sketch])
|
||||||
|
|
||||||
|
fillet(trash_belt_hook.edges().group_by(Axis.X)[0], hook_side_fillet)
|
||||||
|
fillet(trash_belt_hook.edges().group_by(Axis.X)[-1], hook_side_fillet)
|
||||||
|
|
||||||
|
|
||||||
return trash_belt_hook
|
return trash_belt_hook
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user