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;
// 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(){
hull(){
for(x=[-1,1]) for(y=[-1,1])
translate([x*body_thick_x, y*body_thick_y])
- Holes();
+ Holes(true);
}
}
}
}
-module Demo(){
- %Body();
- Pin();
-}
-
module All(){
difference(){
Body();
}
}
-module Piece(pc){
- translate([0,-pc*4,0])
+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();
}
module PiecesPrint(){
rotate([0,180,0])
for (pc=[0,1]){
- Piece(pc);
+ Piece(pc,4);
}
}
+module Demo(){
+ for (pc=[0,1])
+ Piece(pc,0);
+}
+
+//Holes();
//Demo();
//All();
//Pin();