66 lines
1.4 KiB
OpenSCAD
66 lines
1.4 KiB
OpenSCAD
/******************************************************************
|
|
* *
|
|
* FlowFlexure Microscope: peristaltic pump body *
|
|
* *
|
|
* (c) Sebastian Wendel, 2023 *
|
|
* Released under the CERN Open Hardware License *
|
|
* *
|
|
******************************************************************/
|
|
|
|
$fn = 100;
|
|
|
|
use <./libs/base.scad>
|
|
|
|
case_size = 31;
|
|
|
|
body_thickness = 9;
|
|
motor_body_radius = 5;
|
|
|
|
insert_radius = 12;
|
|
insert_height = 7;
|
|
|
|
tubing_radius = 14;
|
|
tubing_height = 4;
|
|
|
|
tube_size = 2;
|
|
tube_length = 20;
|
|
|
|
module outlet()
|
|
{
|
|
hull()
|
|
{
|
|
translate([ 11.8, -2, body_thickness ])
|
|
rotate([ 100, 90, 0 ])
|
|
cylinder(h = tube_length, r = tube_size);
|
|
|
|
translate([ 11.8, -2, body_thickness - 2 ])
|
|
rotate([ 100, 90, 0 ])
|
|
cylinder(h = tube_length, r = tube_size);
|
|
}
|
|
}
|
|
|
|
module body()
|
|
{
|
|
difference()
|
|
{
|
|
linear_extrude(body_thickness)
|
|
{
|
|
difference()
|
|
{
|
|
base_layout();
|
|
circle(motor_body_radius);
|
|
}
|
|
}
|
|
translate([ 0, 0, body_thickness - insert_height ])
|
|
cylinder(insert_height, insert_radius, insert_radius);
|
|
|
|
translate([ 0, 0, body_thickness - tubing_height ])
|
|
cylinder(tubing_height, tubing_radius, tubing_radius);
|
|
|
|
mirror([ 1, 0, 0 ]) outlet();
|
|
outlet();
|
|
}
|
|
}
|
|
|
|
body();
|