diff --git a/docs/images/tube-holder.png b/docs/images/tube-holder.png new file mode 100644 index 0000000..5b2f991 Binary files /dev/null and b/docs/images/tube-holder.png differ diff --git a/hardware/peristaltic-pump/tube-holder.scad b/hardware/peristaltic-pump/tube-holder.scad new file mode 100644 index 0000000..0c70f31 --- /dev/null +++ b/hardware/peristaltic-pump/tube-holder.scad @@ -0,0 +1,56 @@ +$fn = 100; + +case_thickness = 3; +case_wide = 100; + +tube_count = 3; +tube_radius = 15; +tube_height = 20; + +module hook() +{ + translate([ 23.5, -(tube_height + case_thickness * 1.5), tube_height - case_thickness ]) + rotate([ 0, 90, 0 ]) + { + linear_extrude(tube_height) + { + square([ tube_height - case_thickness, case_thickness ]); + rotate([ 0, 0, 90 ]) + square([ case_thickness * 2.5, case_thickness ]); + } + } +} + +module tube_holes(radius = tube_radius) +{ + circle(radius); + + translate([ (tube_radius * 2) + case_thickness, 0, 0 ]) + circle(radius); + + translate([ ((tube_radius * 2) + case_thickness) * 2, 0, 0 ]) + circle(radius); +} + +module tube_holder_base() +{ + difference() + { + hull() + { + tube_holes(tube_radius + (case_thickness)); + } + tube_holes(); + } +} + +module tube_holder() +{ + linear_extrude(tube_height) + { + tube_holder_base(); + } + hook(); +} + +tube_holder();