X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=bike-lipo-box.scad;h=563f8a768f0a1719b2df41e2d537f596b742416f;hb=ca3dd080a827f60bdfc39caf7b546d300047bf1e;hp=d16c62b9072733f04b9566bd957ea7a7d37e434b;hpb=e75d1b45ae51a32897ec88814c808bed22a20884;p=reprap-play.git diff --git a/bike-lipo-box.scad b/bike-lipo-box.scad index d16c62b..563f8a7 100644 --- a/bike-lipo-box.scad +++ b/bike-lipo-box.scad @@ -19,7 +19,7 @@ s1930_behind = 3; totx_inner = 180; toty_outer = 95; -totz_inner = 28.0; +totz_inner = 27.0; wallthick = 2.5; @@ -31,6 +31,13 @@ strap_pillar = 3; strap_pillard = 5; strap_over = 2; +lipokeeper_w = 10; +lipokeeper_h = 8; +lipokeeper_d_min = 2; +lipokeeper_slope = 0.75; +lipokeeper_end_h = 12; +lipokeeper_end_d_min = 15; + straps_at_box = [45, 95, 125, 160]; straps_every = 30; @@ -190,9 +197,20 @@ module Box(){ ////toplevel S1930_Positive(); // keepers for lipo - for (kx= [ 40, 80, 120 ]) { - translate([kx, 40, -1]) - cube([10, 5, 8 +1]); + for (keepers= [[ 35, lipokeeper_d_min, lipokeeper_h, + [ 10, 40, 80, 120 ] ], + [ 10, lipokeeper_end_d_min, lipokeeper_end_h, + [ 135 ] ] + // each entry: [ y, d_min, h, [ x, ...] ] + ]) + for (kx= keepers[3]) { + translate([kx, keepers[0], -1]) + hull(){ + cube([lipokeeper_w, keepers[1], keepers[2] +1]); + cube([lipokeeper_w, + keepers[1] + keepers[2] / lipokeeper_slope, + 1]); + } } AtGlands() @@ -216,24 +234,41 @@ module Box(){ ////toplevel AtGlands() GlandNegative(cabledia); - translate($sealingbox_cnrrad * [1,1,0] + - [0, toty_inner/2, -wallthick]) + translate(-$sealingbox_cnrrad * [1,1,0] + + [totx_inner, toty_inner/2, -wallthick]) + rotate([0,0,180]) + scale([2,2,1]) Commitid_Full16_M(); } } module BoxPrint(){ ////toplevel - rotate([-90,0,0]) + rotate([-90,0,-90]) Box(); } module Lid(){ ////toplevel $sealingbox_sz = sb_box_sz; - AtSealingBox() - SealingBox_RectLid(); - translate([0, -wallthick, -SealingBox_lidbigger()]) - mirror([0,0,1]) - StrapKeepers([ straps_every : straps_every : totx_inner-straps_every ]); + difference(){ + union(){ + AtSealingBox() + SealingBox_RectLid(); + translate([0, -wallthick, -SealingBox_lidbigger()]) + mirror([0,0,1]) + StrapKeepers([ straps_every : straps_every + : totx_inner-straps_every ]); + } + + translate($sealingbox_cnrrad * [1,0,1]) + rotate([90,0,0]) + scale([1.5, 1.5, 1]) + Commitid_Small16_M(); + } +} + +module LidPrint(){ ////toplevel + rotate([90,0,-90]) + Lid(); } module Demo(){ ////toplevel