baseplate = 4;
pump_protr_flat = 3;
-pump_protr_slope = 1.0;
+pump_protr_slope = 0.9;
+
+hose_inner_dia = 20;
+hose_aperture = 11;
+hose_side_width = 5;
+hose_base_offset = 30;
+
+hose_head_dia = 28;
+hose_side_thick = 5;
+hose_head_width = 22;
-// need reconfirm:
pump_protr_protr = 3;
pump_side_height = 20;
pump_side_outer_rad = pump_side_width + pump_main_dia/2;
+$fa=5;
+
module PumpSidePlan() {
xm = baseplate + pump_main_dia/2;
or = pump_side_outer_rad;
}
translate([-xm, -or]) square([xm, or*2]);
}
- translate([-xm*2, 0])
- square(center=true, [pump_side_width*3, pump_shaft_dia]);
+ translate([-xm-or, 0])
+ square(center=true, [pump_side_width*4, pump_shaft_dia]);
}
}
}
}
+module HoseSideElevation(){
+ or = hose_head_dia/2 + hose_side_thick;
+
+ x3 = 0;
+ x4 = x3 + hose_base_offset;
+ x5 = x4 + hose_head_dia/2;
+ x6 = x4 + hose_head_dia;
+ x7 = x5 + or;
+
+ z0 = 0;
+ zm = -or;
+
+ difference(){
+ intersection(){
+ translate([-100,-100]) square([x7+210, 100]);
+ hull(){
+ translate([x5, 0]) circle(r=or);
+ translate([-1, zm]) square([1,z0-zm]);
+ }
+ }
+ translate([x5,0]) circle(r=hose_head_dia/2);
+ }
+}
+
+module HoseSidePlan(){
+ ro = hose_inner_dia/2 + hose_side_width;
+ ri = (hose_inner_dia/2);
+
+ apx = sqrt( ri*ri - (hose_aperture*hose_aperture)/4 );
+ apsq = hose_base_offset + apx - hose_aperture/sqrt(2);
+ echo(apsq);
+
+ difference(){
+ hull(){
+ translate([-1, -ro]) square([1, ro*2]);
+ translate([hose_base_offset, 0]) circle(r= ro);
+ }
+ translate([hose_base_offset, 0]) circle(r= hose_inner_dia/2);
+ translate([apsq, 0])
+ rotate(-45)
+ square([50,50]);
+ }
+
+ %square(center=true, [100, hose_aperture]);
+}
+
+module HoseSide(){
+ for (m=[0,1]) {
+ mirror([0,m,0])
+ translate([0, hose_head_width, 0])
+ rotate([90,0,0])
+ linear_extrude(height= hose_side_width)
+ HoseSideElevation();
+ }
+}
+
+module Clip(){
+ PumpSide();
+ HoseSide();
+}
+
+module ClipPrint(){
+ rotate([180,0,0])
+ Clip();
+}
+
//PumpSidePlan();
//PumpSideElevation();
-PumpSide();
+linear_extrude(height=1) HoseSidePlan();
+//PumpSide();
+//HoseSide();
+//Clip();
+//ClipPrint();