X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=sprinkler-spike-receptacle.scad;h=38e856c41934a8f9eb62d372cdb88fcf289b660c;hb=29fe5c019eba9a35c328405ba6dd5173d69d6237;hp=296c9e0f8e6a32e4eb33622d6fdba7f3bac772df;hpb=08fb26e139c08298c74af04a4342a1963760bfb0;p=reprap-play.git diff --git a/sprinkler-spike-receptacle.scad b/sprinkler-spike-receptacle.scad index 296c9e0..38e856c 100644 --- a/sprinkler-spike-receptacle.scad +++ b/sprinkler-spike-receptacle.scad @@ -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; @@ -22,6 +22,8 @@ mount_hole_th = 2.5; main_width = spike_top_width + topwall_width*2; +pos_web_thick = spike_web_thick + topwall_width*2; + module NegativePlan(){ x4z = (spike_top_width - spike_botpos_width) / @@ -41,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 ]) @@ -84,10 +101,12 @@ module MountHole(){ module Main(){ difference(){ union(){ - MultiplySolidifyPlan(spike_web_thick + topwall_width*2) PositivePlan(); + MultiplySolidifyPlan(pos_web_thick) PositivePlan(); + PositiveMidRounding(); MultiplyForMount() Mount(); } MultiplySolidifyPlan(spike_web_thick) NegativePlan(); + NegativeMidRounding(); MultiplyForMount() MountHole(); } } @@ -112,5 +131,24 @@ module PlanTest(){ } } -//PlanTest(); +module MainFitTest(){ + 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]); + } + } + } +} + +module Tests(){ + translate([-mount_dist*3, 0,0]) + PlanTest(); + MainFitTest(); +} + +//Tests(); Main();