X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=topeak-seatstay-lock.scad;h=f3b408d4be09a04a927684ea7cc3c9cec45c275f;hb=63a56d3c2f78bb605ccb7c856bb872e32ba2eb82;hp=73382e7b6572c3ca57040e44c61d4e8150dd18fd;hpb=890e50ffaf90722974ff192d311a030617d2f8c9;p=reprap-play.git diff --git a/topeak-seatstay-lock.scad b/topeak-seatstay-lock.scad index 73382e7..f3b408d 100644 --- a/topeak-seatstay-lock.scad +++ b/topeak-seatstay-lock.scad @@ -5,6 +5,7 @@ seatstay_mindia = 14 + 0.5; seatstay_maxdia = 19 + 0.5; pump_seatstay_gap = 12.3; pump_seatstay_delta = 0.1; +pump_ridge_width = 8 + 2.0; body_thick_x = 5; body_thick_y = 5; @@ -14,7 +15,7 @@ pin_width = 11 + 0.5; pin_thick = 3 + 0.6; pin_base = 25; -lock_manouvre_thick = 3.5 + 0.5; +lock_manouvre_thick = 3.7 + 0.5; lock_manouvre_len = 18; lock_hang_width = 17.5; lock_manouvre_len_smaller = 13; @@ -24,19 +25,26 @@ clatter_gap = 0.5; // fudgeish +cut_rotation = 2; holes_rotation = 9; pin_offset = 7; +ridge_rotation = 8.5; // computed body_depth = pin_width + body_depth_each*2; -module Holes(){ +module Holes(forbody=false){ translate([0, -pump_dia/2]); rotate(-holes_rotation){ translate([-(pump_seatstay_gap/2 + pump_dia/2), - 0]) + 0]) { + if (!forbody) + rotate(-ridge_rotation + holes_rotation) + translate([-50, -pump_ridge_width/2]) + square([50, pump_ridge_width]); circle(r=pump_dia/2); + } translate([+(pump_seatstay_gap/2 + seatstay_mindia/2), pump_dia/2 -seatstay_maxdia/2 -pump_seatstay_delta]) { hull(){ @@ -52,7 +60,7 @@ module BodyPlan(){ hull(){ for(x=[-1,1]) for(y=[-1,1]) translate([x*body_thick_x, y*body_thick_y]) - Holes(); + Holes(true); } } @@ -87,11 +95,6 @@ module Pin(){ } } -module Demo(){ - %Body(); - Pin(); -} - module All(){ difference(){ Body(); @@ -102,7 +105,7 @@ module All(){ module Piece(pc,interval){ translate([0,-pc*interval,0]) intersection(){ - mirror([0,pc,0]) + rotate([0,0,pc*180-cut_rotation]) translate([-200,clatter_gap/2,-200]) cube([400,400,400]); All(); }