prop_end_dia = 0.5;
prop_main_th = 3;
prop_taper_len = 6;
-prop_main_width = 3;
+prop_main_width = 4;
prop_side_gap = 0.75; // each side
prop_lidrecess_behind = 0.75;
prop_caserecess_behind = 0.75;
module PropProfileAssignments(gamma){
// https://en.wikipedia.org/wiki/Solution_of_triangles#Two_sides_and_the_included_angle_given_(SAS)
x = prop_x(gamma);
- p = phone_height - prlp10[0] - hppB[0];
+ p = phone_height + prlp10[0] - hppB[0];
b = p + x;
- q = phone_height - hppT[0]; // $prpp7[0] is 0 by definition
+ q = phone_height - hppT[0] - prcp1[0]; // $prpp7[0] is 0 by definition
a = q + x;
c = sqrt(a*a + b*b - 2*a*b*cos(gamma));
$prp_alpha = acos( (b*b + c*c - a*a) / (2*b*c) );
v1 = [ [ cos(psi), -sin(psi) ], // x
[ sin(psi), cos(psi) ] ]; // y
- $prpp7 = [0, c + (lpp13[1] - $prpp10[1]) ];
+ $prpp7 = [0, c + (lpp13[1] - $prpp10[1] - hp_k) ];
$prp_r1 = prc_r1;
$prp_r11 = prop_main_th/2;
translate($prpp8)
intersection(){
circle($prp_r8);
- polygon([[-20,-0], [0,0], [20,20]]);
+ polygon([[-20,-0], [20,20], [0,0]]);
}
rectfromto($prpp6, $prpp9);
translate($prpp5) intersection(){
translate([prop_x_pos, -prcp1[0], prcp1[1]])
PropProfileAssignments(ang) {
echo($prpp1);
+ rotate([-$prp_theta, 0, 0])
translate([0, $prpp1[0], -$prpp1[1]])
rotate([90,0,-90])
Prop();
}
module DemoPropAngles(){ ////toplevel
- DemoPropAngle(15);
+ for (i=[0 : len(prop_angles)-1])
+ translate(i * [0, -100, 100])
+ DemoPropAngle(prop_angles[i]);
}
module DemoFrame(){ ////toplevel