beam_th = 4.5;
wings_height = 15;
retainer_th = 3;
+clamp_main_th = 3;
+clamp_depth = 4;
retainer_x_gap = 0.25;
tube_angle = atan2((tubeswidth_bot - tubeswidth_top)/2, tubeswidth_dz);
+tube_ctr_y = tube_dia/2;
+clamp_near_y = tube_ctr_y + tube_dia/2 - clamp_depth;
+clamp_far_y = tube_ctr_y + tube_dia/2 + clamp_main_th;
+
wing_corners = [
// [ -wings_dist_x/2, wings_cup_z/2 ],
[ wing_top_ea_x, 0 ],
}
}
-module Tube(){ ////toplevel
- translate([ -tubeswidth_bot/2 - tube_dia/2, tube_dia/2, 0 ])
+module Tube(dr=0){ ////toplevel
+ translate([ -tubeswidth_bot/2 - tube_dia/2, tube_ctr_y, 0 ])
rotate([ 0, tube_angle, 0])
linextr(-50, 100)
- circle(r = tube_dia/2);
+ circle(r = tube_dia/2 + dr);
}
module Clamp(){ ////toplevel
difference(){
- hull(){
-
+ intersection(){
+ hull(){
+ for (m=[0,1]) mirror([m,0,0]) Tube(dr=clamp_main_th);
+ }
+ linextr(bracket_bot_z, bracket_top_z)
+ rectfromto([ -100, clamp_near_y ],
+ [ +100, clamp_far_y ]);
}
}
}
rotate([90,0,0])
translate([ 0, 0, beam_th + 1 ])
Retainer();
+ color("green")
+ Clamp();
%for (m=[0,1]) mirror([m,0,0]) Tube();
}