X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=sprinkler-spike-receptacle.scad;h=c1ac3b5fc54adc2eb4c3e7747ff4e5184282f60f;hp=c806941aa0646891a87375c4b13424fe0bc927d9;hb=3c75c6575c9ec874afd93fe9d2e1c7f28390806f;hpb=9167c0dea2c56b01ad2842898e35d85b1cf72e83 diff --git a/sprinkler-spike-receptacle.scad b/sprinkler-spike-receptacle.scad index c806941..c1ac3b5 100644 --- a/sprinkler-spike-receptacle.scad +++ b/sprinkler-spike-receptacle.scad @@ -18,6 +18,14 @@ mount_hole_dia = 4.5; mount_head_dia = 7.5; mount_hole_th = 2.5; +strap_height = main_height * 0.5; + +strap_width = 5.5; +strap_thick = 2.5; +strap_around = 2.5; +strap_fixing_height = 4.0; +strap_fixing_slope = 1.0; + // calculated main_width = spike_top_width + topwall_width*2; @@ -74,22 +82,51 @@ module MultiplySolidifyPlan(th){ } } -module MultiplyForMount(){ +module MultiplyForFixings(){ for (r=[0:90:270]) rotate([0,0,r]) children(0); } -module Mount(){ +module FixingsPositive(){ + // mount translate([ -1, -mount_width/2, 0 ]) cube([ mount_dist + mount_width/2 + 1, mount_width, mount_height ]); + + // strap + for (m=[0,1]) mirror([0,m,0]) { + translate([main_width/2, 0, strap_height]) { + hull(){ + translate([ -strap_around, + -pos_web_thick/2, + -(strap_thick + strap_around) / strap_fixing_slope ]) + cube([ strap_around, + pos_web_thick/2 - strap_width/2, + 0.5 ]); + translate([ -strap_around, + -(strap_around + strap_width/2), + 0 ]) + cube([ strap_around*2 + strap_thick, + strap_around, + strap_fixing_height ]); + } + mirror([0,1,0]) + translate([ strap_thick, + -strap_width/2, + 0 ]) + cube([ strap_around, + strap_around + strap_width, + strap_fixing_height ]); + } + } } -module MountHole(){ +module FixingsNegative(){ + // mount hole translate([ mount_dist, 0,0 ]) { translate([0,0, -1]) cylinder(r= mount_hole_dia/2, h= 20, $fn=20); @@ -103,11 +140,11 @@ module Main(){ union(){ MultiplySolidifyPlan(pos_web_thick) PositivePlan(); PositiveMidRounding(); - MultiplyForMount() Mount(); + MultiplyForFixings() FixingsPositive(); } MultiplySolidifyPlan(spike_web_thick) NegativePlan(); NegativeMidRounding(); - MultiplyForMount() MountHole(); + MultiplyForFixings() FixingsNegative(); } } @@ -150,5 +187,14 @@ module Tests(){ MainFitTest(); } +module StrapFixingTest(){ + intersection(){ + Main(); + translate([ -10, -10, 40 ]) + cube([ 20, 40, 15 ]); + } +} + //Tests(); +//StrapFixingTest(); Main();