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

index 2c8534f467034ad20b817ddbddeaee602ff44aec..09d596f9fd2139a467fffdb63ffc421a1c62f4d8 100644 (file)
@@ -9,6 +9,10 @@ spike_botpos_width = 11.68;
 
 topwall_width = 1.5;
 
 
 topwall_width = 1.5;
 
+// calculated
+
+main_width = spike_top_width + topwall_width*2;
+
 module NegativePlan(){
   x4z =
     (spike_top_width - spike_botpos_width) /
 module NegativePlan(){
   x4z =
     (spike_top_width - spike_botpos_width) /
@@ -21,16 +25,37 @@ module NegativePlan(){
   polygon([[ x0, -5],
           [ x0, 0],
           [ x1, z1],
   polygon([[ x0, -5],
           [ x0, 0],
           [ x1, z1],
+          [ x1, z1+5],
+          [-x1, z1+5],
           [-x1, z1],
           [-x0, 0],
           [-x0, -5]]);
 }
 
 module PositivePlan(){
           [-x1, z1],
           [-x0, 0],
           [-x0, -5]]);
 }
 
 module PositivePlan(){
-  w = spike_top_width + topwall_width*2;
+  w = main_width;
   translate([ -w/2, 0 ])
     square([ w, main_height ]);
 }
 
   translate([ -w/2, 0 ])
     square([ w, main_height ]);
 }
 
-PositivePlan();
-//NegativePlan();  
+module PlanTest(){
+  linear_extrude(height=2.0){
+    difference(){
+      PositivePlan();
+      NegativePlan();
+    }
+    difference(){
+      circle(r = spike_botpos_width/2 + 5);
+      circle(r = spike_botpos_width/2);
+      translate([-50, 0]) square([100,50]);
+    }
+  }
+  linear_extrude(height=4.0){
+    difference(){
+      translate([ -main_width/2, 0 ]) square([ main_width, 2 ]);
+      NegativePlan();
+    }
+  }
+}
+
+PlanTest();