chiark / gitweb /
sprinkler-spike-receptacle: Main
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 9 Sep 2017 15:38:02 +0000 (16:38 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 9 Sep 2017 15:38:02 +0000 (16:38 +0100)
sprinkler-spike-receptacle.scad

index 88564c76e28ebd786d6c65d904a8673989032d4d..296c9e0f8e6a32e4eb33622d6fdba7f3bac772df 100644 (file)
@@ -11,6 +11,13 @@ spike_botpos_width = 11.68;
 
 topwall_width = 1.5;
 
 
 topwall_width = 1.5;
 
+mount_dist = 20;
+mount_width = 10;
+mount_height = 5;
+mount_hole_dia = 4.5;
+mount_head_dia = 7.5;
+mount_hole_th = 2.5;
+
 // calculated
 
 main_width = spike_top_width + topwall_width*2;
 // calculated
 
 main_width = spike_top_width + topwall_width*2;
@@ -50,12 +57,38 @@ module MultiplySolidifyPlan(th){
   }
 }
 
   }
 }
 
+module MultiplyForMount(){
+  for (r=[0:90:270])
+    rotate([0,0,r])
+    children(0);
+}
+
+module Mount(){
+  translate([ -1,
+             -mount_width/2,
+             0 ])
+    cube([ mount_dist + mount_width/2 + 1,
+          mount_width,
+          mount_height ]);
+}
+
+module MountHole(){
+  translate([ mount_dist, 0,0 ]) {
+    translate([0,0, -1])
+      cylinder(r= mount_hole_dia/2, h= 20, $fn=20);
+    translate([0,0, mount_hole_th])
+      cylinder(r = mount_head_dia/2, h=20, $fn=20);
+  }
+}
+
 module Main(){
   difference(){
     union(){
       MultiplySolidifyPlan(spike_web_thick + topwall_width*2) PositivePlan();
 module Main(){
   difference(){
     union(){
       MultiplySolidifyPlan(spike_web_thick + topwall_width*2) PositivePlan();
+      MultiplyForMount() Mount();
     }
     MultiplySolidifyPlan(spike_web_thick) NegativePlan();
     }
     MultiplySolidifyPlan(spike_web_thick) NegativePlan();
+    MultiplyForMount() MountHole();
   }
 }
 
   }
 }