Skip to content

Commit 60129cc

Browse files
cad(enclosure): add top-down cam interfaces
1 parent 67fc4e8 commit 60129cc

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

cad/column_rod_enclosure.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,27 @@ def make_enclosure_top(spec: Spec) -> bd.Part | bd.Compound:
306306
align=bde.align.ANCHOR_TOP,
307307
)
308308

309+
# Add top-down cam interfaces.
310+
# Set this height such that, at the chosen cam state, it is statically determinate
311+
# against the spring pegs on the top.
312+
cam_interface_z_max = inside_of_box_z_val
313+
cam_interface_height = (
314+
spec.spring_post_length
315+
- spec.cam_motor_od / 2
316+
- spec.cam_min_od / 2 # Min: you need max engagement so it can push against.
317+
)
318+
for x_sign, y_sign in product((1, -1), (1, -1)):
319+
p += bd.Pos(
320+
x_sign * spec.cam_interface_x_sep / 2,
321+
y_sign * spec.cam_interface_y_sep / 2,
322+
cam_interface_z_max,
323+
) * bd.Box(
324+
spec.cam_interface_width_x,
325+
spec.cam_interface_width_y,
326+
cam_interface_height,
327+
align=bde.align.ANCHOR_TOP,
328+
)
329+
309330
# Add an X-Y retention box around the edges.
310331
p += (
311332
bd.Box(

0 commit comments

Comments
 (0)