// -*- C -*-
-pump_dia = 27;
-seatstay_mindia = 14;
-seatstay_maxdia = 19;
+pump_dia = 27 + 0.5;
+seatstay_mindia = 14 + 0.5;
+seatstay_maxdia = 19 + 0.5;
pump_seatstay_gap = 12.3;
pump_seatstay_delta = 0.1;
pin_workdepth = 16;
pin_width = 11 + 0.5;
-pin_thick = 3 + 0.4;
+pin_thick = 3 + 0.6;
pin_base = 25;
lock_manouvre_thick = 3.5 + 0.5;
lock_manouvre_len = 18;
+lock_hang_width = 17.5;
+lock_manouvre_len_smaller = 13;
+
+body_depth_each = 5;
+clatter_gap = 0.5;
// fudgeish
+cut_rotation = 2;
holes_rotation = 9;
-pin_offset = 2;
+pin_offset = 7;
// computed
-body_depth = pin_width + 8;
+body_depth = pin_width + body_depth_each*2;
module Holes(){
translate([0, -pump_dia/2]);
translate([-pin_base/2, 0]) square([pin_base, 50]);
translate([-pin_width/2, -100]) square([pin_width, 101]);
}
- translate([-lock_manouvre_thick/2, -pin_workdepth-100, -lock_manouvre_len])
- cube([lock_manouvre_thick, 100, lock_manouvre_len*2]);
+ hull() for (d=[0,10]) {
+ translate([d*2,-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]);
}
}
-module Demo(){
- %Body();
- Pin();
-}
-
module All(){
difference(){
Body();
}
}
-Demo();
+module Piece(pc,interval){
+ translate([0,-pc*interval,0])
+ intersection(){
+ rotate([0,0,pc*180-cut_rotation])
+ translate([-200,clatter_gap/2,-200]) cube([400,400,400]);
+ All();
+ }
+}
+
+module PiecesPrint(){
+ rotate([0,180,0])
+ for (pc=[0,1]){
+ Piece(pc,4);
+ }
+}
+
+module Demo(){
+ for (pc=[0,1])
+ Piece(pc,0);
+}
+
+//Holes();
+//Demo();
//All();
+//Pin();
+//Pieces();
+PiecesPrint();