Handle stub

This commit is contained in:
Leni Aniva 2025-05-21 20:25:22 -07:00
parent b1fe538747
commit a8c80a307f
Signed by: aniva
GPG Key ID: D5F96287843E8DFB
1 changed files with 41 additions and 0 deletions

View File

@ -68,6 +68,11 @@ class Onbashira(Model):
rotor_spacer_outer_diam: float = 15.0
stator_bind_radius: float = 135.0
handle_base_height: float = 10.0
handle_thickness: float = 12.0
handle_length: float = 80.0
handle_height: float = 40.0
material_side: Material = Material.WOOD_BIRCH
material_bearing: Material = Material.PLASTIC_PLA
material_spacer: Material = Material.PLASTIC_PLA
@ -1017,6 +1022,42 @@ class Onbashira(Model):
)
return a
@target(name="handle")
def handle(self) -> Cq.Workplane:
w = self.side_width + self.angle_joint_extra_width
base = (
Cq.Workplane()
.box(
length=w,
width=self.angle_joint_depth,
height=self.handle_base_height,
centered=(True, True, False)
)
.faces(">Z")
.workplane()
.pushPoints([
(x * sx, y * sy)
for (x, y) in self.angle_joint_bolt_position
for sx in (-1, 1)
for sy in (-1, 1)
])
.cboreHole(
self.angle_joint_bolt_diam,
self.angle_joint_bolt_head_diam,
self.angle_joint_bolt_head_depth,
depth=None,
)
)
handle = (
Cq.Workplane(origin=(0, 0, self.handle_height))
.box(
length=self.handle_length,
width=self.handle_thickness,
height=self.handle_thickness,
)
)
return base + handle
@assembly()
def assembly(self) -> Cq.Assembly:
a = Cq.Assembly()