wings_main_th = 2.5;
wings_cup_z = -34;
+tubeswidth_top = 23.5;
+tubeswidth_bot = 29;
+tubeswidth_dz = 26;
+tube_dia = 18;
+screw_hole_z = 13;
+
+beamacross_h = 15;
+
$fs = 0.1;
$fa = 3;
// calculated
+function tubeswidth_at_z(z) =
+ tubeswidth_bot +
+ (tubeswidth_top - tubeswidth_bot) * (z / tubeswidth_dz);
+
+bracket_bot_z = screw_hole_z - beamacross_h/2;
+bracket_top_z = screw_hole_z + beamacross_h/2;
+bracket_bot_xsz = tubeswidth_at_z(bracket_bot_z) + tube_dia * 1.5;
+bracket_top_xsz = tubeswidth_at_z(bracket_top_z) + tube_dia * 1.5;
+
+wing_top_ea_x = -bracket_top_xsz/2 + wings_main_th/2;
module AtWingCupElevation () {
translate([ -wings_dist_x, wings_cup_z ])
}
module WingElevation(){
- AtWingCupElevation(){
- translate([ -(wings_inner_th + wings_main_th)/2,
- wings_cup_inner/2 ])
- circle(r = wings_main_th);
+ hull(){
+ AtWingCupElevation(){
+ translate([ -(wings_inner_th + wings_main_th)/2,
+ wings_cup_inner/2 ])
+ circle(r = wings_main_th);
+ }
+ // TODO add the other end here
+ }
+}
+
+module BracketAcrossElevation(){
+ hull(){
+ translate([ 0, bracket_bot_z ])
+ rectfromto([ -bracket_bot_xsz/2, 0 ],
+ [ +bracket_bot_xsz/2, 1 ]);
+ translate([ 0, bracket_top_z ])
+ rectfromto([ -bracket_top_xsz/2, -1 ],
+ [ +bracket_top_xsz/2, 0 ]);
}
}
-module WingCupElevationDemo(){
+module ElevationDemo(){
translate([0,0,2]) color("red") WingCupElevationNegative();
translate([0,0,1]) color("blue") WingElevation();
WingCupElevationPositive();
+ BracketAcrossElevation();
}
/*WingsElevation () {
*/
-WingCupElevationDemo();
+ElevationDemo();