X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=topeak-seatstay-lock.scad;h=ff22d27829f9d04b055b096357adf93a2e8c4f6f;hp=f3b408d4be09a04a927684ea7cc3c9cec45c275f;hb=d86ddeb827f8201d206fc9456f5cb4458387d6ac;hpb=63a56d3c2f78bb605ccb7c856bb872e32ba2eb82;ds=sidebyside diff --git a/topeak-seatstay-lock.scad b/topeak-seatstay-lock.scad index f3b408d..ff22d27 100644 --- a/topeak-seatstay-lock.scad +++ b/topeak-seatstay-lock.scad @@ -1,21 +1,20 @@ // -*- C -*- -pump_dia = 27 + 0.5; +pump_dia = 27 + 0.9; seatstay_mindia = 14 + 0.5; -seatstay_maxdia = 19 + 0.5; +seatstay_maxdia = 19 + 0.7; pump_seatstay_gap = 12.3; pump_seatstay_delta = 0.1; pump_ridge_width = 8 + 2.0; -body_thick_x = 5; -body_thick_y = 5; +body_thick = 5; -pin_workdepth = 16; -pin_width = 11 + 0.5; -pin_thick = 3 + 0.6; +pin_workdepth = 16 - 1.0; +pin_width = 11 + 1.0; +pin_thick = 3 + 0.7; pin_base = 25; -lock_manouvre_thick = 3.7 + 0.5; +lock_manouvre_thick = 3.7 + 0.6; lock_manouvre_len = 18; lock_hang_width = 17.5; lock_manouvre_len_smaller = 13; @@ -27,8 +26,10 @@ clatter_gap = 0.5; cut_rotation = 2; holes_rotation = 9; -pin_offset = 7; +pin_y_offset = 5.5; +pin_x_offset = 0.5; ridge_rotation = 8.5; +lock_hang_ratio = 7; // computed @@ -43,24 +44,24 @@ module Holes(forbody=false){ rotate(-ridge_rotation + holes_rotation) translate([-50, -pump_ridge_width/2]) square([50, pump_ridge_width]); - circle(r=pump_dia/2); + circle(r=pump_dia/2, $fn=80); } translate([+(pump_seatstay_gap/2 + seatstay_mindia/2), pump_dia/2 -seatstay_maxdia/2 -pump_seatstay_delta]) { hull(){ for (ud=[-1,1]) translate([0, ud * (seatstay_maxdia-seatstay_mindia)/2]) - circle(r=seatstay_mindia/2); + circle(r=seatstay_mindia/2, $fn=50); } } } } module BodyPlan(){ - hull(){ - for(x=[-1,1]) for(y=[-1,1]) - translate([x*body_thick_x, y*body_thick_y]) - Holes(true); + minkowski(){ + circle(body_thick); + hull() + Holes(true); } } @@ -75,23 +76,20 @@ module Body(){ } module Pin(){ - translate([0, pin_offset, 0]) rotate([0,90,0]){ + translate([pin_x_offset, pin_y_offset, 0]) rotate([0,90,0]){ translate([0, 0, -pin_thick/2]) linear_extrude(height=pin_thick){ translate([-pin_base/2, 0]) square([pin_base, 50]); translate([-pin_width/2, -100]) square([pin_width, 101]); } hull() for (d=[0,10]) { - translate([d*2,-d,0]) + translate([d*lock_hang_ratio,-d,0]) translate([-lock_manouvre_thick/2, -pin_workdepth-100, -lock_manouvre_len_smaller]) cube([lock_manouvre_thick, 100, lock_manouvre_len + lock_manouvre_len_smaller]); } - translate([-lock_manouvre_thick/2, -pin_workdepth-50, - -lock_hang_width/2]) - cube([50, 50, lock_hang_width]); } } @@ -111,11 +109,14 @@ module Piece(pc,interval){ } } -module PiecesPrint(){ +module PiecePrint(pc){ rotate([0,180,0]) - for (pc=[0,1]){ - Piece(pc,4); - } + Piece(pc,4); +} + +module PiecesPrint(){ + PiecePrint(0); + PiecePrint(1); } module Demo(){ @@ -129,3 +130,5 @@ module Demo(){ //Pin(); //Pieces(); PiecesPrint(); +//PiecePrint(0); +//PiecePrint(1);