From: Ian Jackson Date: Fri, 5 Feb 2021 19:11:09 +0000 (+0000) Subject: powerbank-bike-clamp: wip X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=6f2344d0bfb02a99777e1c25af8a6adb2ab805cd;p=reprap-play.git powerbank-bike-clamp: wip Signed-off-by: Ian Jackson --- diff --git a/powerbank-bike-clamp.scad b/powerbank-bike-clamp.scad new file mode 100644 index 0000000..5724784 --- /dev/null +++ b/powerbank-bike-clamp.scad @@ -0,0 +1,65 @@ +// -*- C -*- + +tube_dia = 22.4; + +hinge_around = 2.5; +hinge_pin = 1.5; // xxx +main_th = 3; +minor_wall_min = 1; + +screw = 5.0 + 0.75; +screw_nut_across = 10; // xxx +knob_behind_across = 15; // xxx + +clamp_width = 15; + +clamp_gap = 2; + +lower_th = 1; + +overlap_l = 0.1; + +// calculated + +main_r = tube_dia/2 + main_th; + +hinge_outer_r = hinge_around + hinge_pin/2 +hinge_y = tube_dia/2 + hinge_outer_r; + +screw_max_y_lhs = -main_r -screw_nut_across/2; +screw_max_y_rhs = -main_r -knob_behind_across/2; + +screw_y = min(screw_max_y_lhs, + screw_max_y_rhs); + +bot_y = -screw_y -max( screw_nut_across, knob_behind_across/2 ) + -minor_wall_min; + + +module TubePlan(){ circle(r = tube_dia/2); } +module HingePlan(){ translate([0, hinge_y]) circle(r= hinge_pin/2); } +module HingeBodyPlan(){ translate([0, hinge_y]) circle(r= hinge_outer_r); } + +module TubeClampLeftPlan(){ + difference(){ + union(){ + polygon([[ 0, hinge_y + hinge_outer_r ], + [ -main_outer_r + overlap_l, hinge_y + hinge_outer_r ], + [ -main_outer_r + overlap_l, bot_y ], + [ -clamp_gap/2, bot_y ], + [ -clamp_gap/2, 0, ], + [ 0, 0, ], + ]); + HingeBodyPlan(); + } + TubePlan(); + HingePinPlan(); + } +} + +module TubeClampLeft() { ////toplevel + linextr(-clamp_width/2, clamp_width/2) + TubeClampLeftPlan(); +} + +TubeClampLeft();