chiark
/
gitweb
/
~ianmdlvl
/
reprap-play.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fairphone-case: normalise a polygon order (nfc)
[reprap-play.git]
/
fairphone-case.scad
diff --git
a/fairphone-case.scad
b/fairphone-case.scad
index 55176172e8d5cea9649d9f448cc9bc0e89ecf213..5fee0423e01cbffdc0150d4721f7184ee22ff1ac 100644
(file)
--- a/
fairphone-case.scad
+++ b/
fairphone-case.scad
@@
-117,7
+117,7
@@
prop_recess_slop = 0.200; // each side
prop_end_dia = 0.5;
prop_main_th = 3;
prop_taper_len = 6;
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;
prop_side_gap = 0.75; // each side
prop_lidrecess_behind = 0.75;
prop_caserecess_behind = 0.75;
@@
-627,10
+627,10
@@
function prop_x(gamma) = hp_k / (2 * sin(gamma/2)) - hppT[0];
module PropProfileAssignments(gamma){
// https://en.wikipedia.org/wiki/Solution_of_triangles#Two_sides_and_the_included_angle_given_(SAS)
x = prop_x(gamma);
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;
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) );
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) );
@@
-644,7
+644,7
@@
module PropProfileAssignments(gamma){
v1 = [ [ cos(psi), -sin(psi) ], // x
[ sin(psi), cos(psi) ] ]; // y
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;
$prp_r1 = prc_r1;
$prp_r11 = prop_main_th/2;
@@
-681,7
+681,7
@@
module PropProfile(gamma, cut=0, rot=0){ ////toplevel
translate($prpp8)
intersection(){
circle($prp_r8);
translate($prpp8)
intersection(){
circle($prp_r8);
- polygon([[-20,-0], [
0,0], [20,2
0]]);
+ polygon([[-20,-0], [
20,20], [0,
0]]);
}
rectfromto($prpp6, $prpp9);
translate($prpp5) intersection(){
}
rectfromto($prpp6, $prpp9);
translate($prpp5) intersection(){
@@
-1079,6
+1079,7
@@
module DemoPropAngle(ang){
translate([prop_x_pos, -prcp1[0], prcp1[1]])
PropProfileAssignments(ang) {
echo($prpp1);
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();
translate([0, $prpp1[0], -$prpp1[1]])
rotate([90,0,-90])
Prop();
@@
-1091,7
+1092,9
@@
module DemoPropAngle(ang){
}
module DemoPropAngles(){ ////toplevel
}
module DemoPropAngles(){ ////toplevel
- DemoPropAngle(15);
+ for (i=[0 : len(prop_angles)-1])
+ translate(i * [0, -100, 100])
+ DemoPropAngle(prop_angles[i]);
}
module DemoFrame(){ ////toplevel
}
module DemoFrame(){ ////toplevel