4 seatstay_mindia = 14 + 0.5;
5 seatstay_maxdia = 19 + 0.5;
6 pump_seatstay_gap = 12.3;
7 pump_seatstay_delta = 0.1;
17 lock_manouvre_thick = 3.5 + 0.5;
18 lock_manouvre_len = 18;
19 lock_hang_width = 17.5;
20 lock_manouvre_len_smaller = 13;
33 body_depth = pin_width + body_depth_each*2;
36 translate([0, -pump_dia/2]);
37 rotate(-holes_rotation){
38 translate([-(pump_seatstay_gap/2 + pump_dia/2),
41 translate([+(pump_seatstay_gap/2 + seatstay_mindia/2),
42 pump_dia/2 -seatstay_maxdia/2 -pump_seatstay_delta]) {
45 translate([0, ud * (seatstay_maxdia-seatstay_mindia)/2])
46 circle(r=seatstay_mindia/2);
54 for(x=[-1,1]) for(y=[-1,1])
55 translate([x*body_thick_x, y*body_thick_y])
61 translate([0,0,-body_depth/2])
62 linear_extrude(height=body_depth){
71 translate([0, pin_offset, 0]) rotate([0,90,0]){
72 translate([0, 0, -pin_thick/2])
73 linear_extrude(height=pin_thick){
74 translate([-pin_base/2, 0]) square([pin_base, 50]);
75 translate([-pin_width/2, -100]) square([pin_width, 101]);
77 hull() for (d=[0,10]) {
79 translate([-lock_manouvre_thick/2,
81 -lock_manouvre_len_smaller])
82 cube([lock_manouvre_thick, 100,
83 lock_manouvre_len + lock_manouvre_len_smaller]);
85 translate([-lock_manouvre_thick/2, -pin_workdepth-50,
87 cube([50, 50, lock_hang_width]);
98 module Piece(pc,interval){
99 translate([0,-pc*interval,0])
101 rotate([0,0,pc*180-cut_rotation])
102 translate([-200,clatter_gap/2,-200]) cube([400,400,400]);
107 module PiecesPrint(){