seatstay_maxdia = 19;
pump_seatstay_gap = 12.3;
pump_seatstay_delta = 0.1;
-holes_rotation = 7;
body_thick_x = 5;
body_thick_y = 5;
-pin_workdepth = 15;
+pin_workdepth = 16;
pin_width = 11 + 0.5;
pin_thick = 3 + 0.4;
+pin_base = 25;
+
+lock_manouvre_thick = 3.5 + 0.5;
+lock_manouvre_len = 18;
+lock_hang_width = 17.5;
+
+// fudgeish
+
+holes_rotation = 9;
+pin_offset = 6;
// computed
}
}
-Body();
+module Pin(){
+ translate([0, pin_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]);
+ }
+ minkowski(){
+ translate([0, -pin_workdepth-100 - lock_manouvre_thick/2, -lock_manouvre_len])
+ cube([0.1, 100, lock_manouvre_len*2]);
+ cylinder(r=lock_manouvre_thick/2, h=0.1);
+ }
+ 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();
+ Pin();
+ }
+}
+
+Demo();
+//All();
+//Pin();