chiark / gitweb /
sprinkler-spike-receptacle: adjustments
[reprap-play.git] / sprinkler-spike-receptacle.scad
index 643a8e43d55a9bd581138f05853a15c9e4202d9b..e82666359e2e483f40faa44a5ea19d339e217087 100644 (file)
@@ -4,10 +4,10 @@ main_height = 95;
 
 spike_web_thick = 2.52 + 0.5;
 
-spike_top_width = 21.04;
+spike_top_width = 21.04 + 1.0;
 
 spike_botpos_height = 9.5;
-spike_botpos_width = 11.68;
+spike_botpos_width = 11.68 + 0.50;
 
 topwall_width = 1.5;
 
@@ -43,6 +43,21 @@ module NegativePlan(){
           [-x0, -5]]);
 }
 
+module SomeMidRounding(sq_size, z_extra) {
+  translate([0,0,-z_extra])
+    linear_extrude(height= main_height + z_extra*2)
+    rotate(45)
+    square( sq_size, center=true );
+}
+
+module PositiveMidRounding(){
+  SomeMidRounding(pos_web_thick*2, 0);
+}
+
+module NegativeMidRounding(){
+  SomeMidRounding(spike_web_thick*2.5, 5);
+}
+
 module PositivePlan(){
   w = main_width;
   translate([ -w/2, 0 ])
@@ -87,9 +102,11 @@ module Main(){
   difference(){
     union(){
       MultiplySolidifyPlan(pos_web_thick) PositivePlan();
+      PositiveMidRounding();
       MultiplyForMount() Mount();
     }
     MultiplySolidifyPlan(spike_web_thick) NegativePlan();
+    NegativeMidRounding();
     MultiplyForMount() MountHole();
   }
 }
@@ -115,14 +132,18 @@ module PlanTest(){
 }
 
 module MainFitTest(){
-  intersection(){
-    translate([0,0, -main_height + 0.5])
-      Main();
-    translate([-50,-50,0])
-      cube([100,100,100]);
+  for (top = [0,1]) {
+    translate([ top * (mount_dist*2 + mount_width), 0,0 ]){
+      intersection(){
+       translate([0, 0, (-main_height + 0.5) * top])
+         Main();
+       translate([-50,-50,0])
+         cube([100,100,0.5]);
+      }
+    }
   }
 }
 
 //PlanTest();
-//Main();
-MainFitTest();
+//MainFitTest();
+Main();