chiark / gitweb /
trackpump-mutlihead-clip: shape is good
[reprap-play.git] / trackpump-mutlihead-clip.scad
index a6d1bbd8352e31c206d32ba231a8b0a94fdb74e5..33613f53953da743a29aad93faa87143d19b67cc 100644 (file)
@@ -9,6 +9,12 @@ baseplate = 4;
 pump_protr_flat = 3;
 pump_protr_slope = 1.0;
 
+hose_head_dia = 28;
+hose_side_thick = 5;
+hose_base_offset = 10;
+hose_head_width = 22;
+hose_side_width = 4;
+
 // need reconfirm:
 pump_protr_protr = 3;
 pump_side_height = 20;
@@ -18,6 +24,8 @@ pump_protr_slheight = pump_protr_protr / pump_protr_slope;
 
 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;
@@ -29,8 +37,8 @@ module PumpSidePlan() {
       }
       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]);
   }
 }
 
@@ -82,6 +90,54 @@ module PumpSide(){
   }
 }
 
+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 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();
+//HoseSideElevation();
+//PumpSide();
+//HoseSide();
+//Clip();
+ClipPrint();