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
fairphone4-case: adjust from v2 (rework?)
[reprap-play.git]
/
fairphone4-case.scad
diff --git
a/fairphone4-case.scad
b/fairphone4-case.scad
index 49c2bf3a350f3085e946064f48043d8cebc3ace7..dd36f74e7dc948d9495be1282c50716144fea94d 100644
(file)
--- a/
fairphone4-case.scad
+++ b/
fairphone4-case.scad
@@
-165,10
+165,10
@@
led_window_ledge = 0.75; // each side
noisecancelmic_pos = [ 15.08 + .720, 4.35 ]; // from rhs, from top edge
noisecancelmic_dia = 4.00;
noisecancelmic_pos = [ 15.08 + .720, 4.35 ]; // from rhs, from top edge
noisecancelmic_dia = 4.00;
-mainmic_pos = [ 2
1.0, 4.3
5 ]; // from lhs, from top edge
+mainmic_pos = [ 2
0.5, 4.6
5 ]; // from lhs, from top edge
mainmic_dia = 4.00;
mainmic_dia = 4.00;
-lhshole_pos = [ phone[1]/2, 4.35 ];
+lhshole_pos = [ phone[1]/2
- 0.80
, 4.35 ];
// fingerpushhole_dias = [];
fingerpushhole_dias = [ 15, 18 ]; // this is for testing
// fingerpushhole_dias = [];
fingerpushhole_dias = [ 15, 18 ]; // this is for testing
@@
-179,8
+179,8
@@
lanyard_channel_len = 8;
//rearspeaker_pos_bl = [ 12.64, 18.72 ];
//rearspeaker_size = [ 3.76, 7.36 ];
//rearspeaker_pos_bl = [ 12.64, 18.72 ];
//rearspeaker_size = [ 3.76, 7.36 ];
-bottomspeaker_size = [ 1
1
.35, 1.40 ] + [1,1] * 0.5;
-bottomspeaker_pos = [ 1
9.45, 4.8
2 ]; // from rhs, from top
+bottomspeaker_size = [ 1
2
.35, 1.40 ] + [1,1] * 0.5;
+bottomspeaker_pos = [ 1
8.05, 5.5
2 ]; // from rhs, from top
microusb_above = 1.64 - 0.25;
microusb_below = 2.42;
microusb_above = 1.64 - 0.25;
microusb_below = 2.42;
@@
-208,6
+208,8
@@
keeper_gap_z_top = 0.25;
keeper_gap_z_bot = 0.75;
keeper_gap_x = 0.25;
keeper_gap_x_holes = 0.75;
keeper_gap_z_bot = 0.75;
keeper_gap_x = 0.25;
keeper_gap_x_holes = 0.75;
+keeper_fatter = 0.30;
+keeper_fatter_hole = 1.20;
keeper_side = 0; // 0 = lhs; 1 = rhs
keeper_side = 0; // 0 = lhs; 1 = rhs
@@
-224,8
+226,8
@@
foldover_gap = 0.50;
foldover_lever_gap = 0.50;
// properties of the hinge fasteners
foldover_lever_gap = 0.50;
// properties of the hinge fasteners
-hingescrew_shaft_dia =
2.0 + 0.25; // M2 x 12mm machine screw
-hingescrew_shaft_len = 1
2
;
+hingescrew_shaft_dia =
1.600 + 0.45; // beading wire
+hingescrew_shaft_len = 1
0
;
hingescrew_fasteners_extra_thick = 0.40;
// ^ amount of thread protruding if everything was completely nominal
// and we are using two nuts
hingescrew_fasteners_extra_thick = 0.40;
// ^ amount of thread protruding if everything was completely nominal
// and we are using two nuts
@@
-257,7
+259,7
@@
hinge_x_gap = 0.125;
hinge_x_postscrew_gap = 0.75;
hinge_x_arms_gap = 0.35;
hinge_r_arms_gap = 0.55;
hinge_x_postscrew_gap = 0.75;
hinge_x_arms_gap = 0.35;
hinge_r_arms_gap = 0.55;
-hinge_over_nut_plate =
1.0;
+hinge_over_nut_plate =
-0.50; // bodge apropos slope
// there isn't one of these, speaker is by hinge
// rearspeaker_gap = [ 2.0, 2.0 ]; // each side
// there isn't one of these, speaker is by hinge
// rearspeaker_gap = [ 2.0, 2.0 ]; // each side
@@
-503,9
+505,15
@@
module AdhocMultiprintFrame(phase, z0, zs) {
}
}
}
}
-module KeeperProfile(slant=0){
+module KeeperProfile(
fatter,
slant=0){
use_e = kppe + [0,-1] * slant * keeper_inner_width / keeper_slant_slope;
use_e = kppe + [0,-1] * slant * keeper_inner_width / keeper_slant_slope;
- polygon([use_e, kppd, kppc, kppb, kppa, kppf]);
+ polygon([use_e + [+1,-1] * fatter,
+ kppd + [ 0,-1] * fatter,
+ kppc,
+ kppb,
+ kppa,
+ kppf + [+1, 0] * fatter
+ ]);
}
module EdgeProfile(){
}
module EdgeProfile(){
@@
-829,7
+837,7
@@
module Buttons(){
Flip_rhs(1) SideButton(64.220, +1, 14.500 ) children(); // power
Flip_rhs(1) LidButtonishLeg(14, -1) children();
Flip_rhs(0) LidButtonishLeg(21, -1) children();
Flip_rhs(1) SideButton(64.220, +1, 14.500 ) children(); // power
Flip_rhs(1) LidButtonishLeg(14, -1) children();
Flip_rhs(0) LidButtonishLeg(21, -1) children();
- Flip_rhs(0) LidButtonishLeg(
14
, +1) children();
+ Flip_rhs(0) LidButtonishLeg(
21
, +1) children();
}
module Struts(x_start, z_min, th){
}
module Struts(x_start, z_min, th){
@@
-1122,7
+1130,7
@@
module Case(){ ////toplevel
Flip_rhs(1-keeper_side) intersection(){
rotate([90, 0, 0])
linear_extrude(height = phone_height + phone_cnr_rad * 2)
Flip_rhs(1-keeper_side) intersection(){
rotate([90, 0, 0])
linear_extrude(height = phone_height + phone_cnr_rad * 2)
- KeeperProfile(1);
+ KeeperProfile(
fatter=0, slant=
1);
// outline of the whole case, to stop it protruding
translate([0,0, -25])
// outline of the whole case, to stop it protruding
translate([0,0, -25])
@@
-1152,7
+1160,7
@@
module Case(){ ////toplevel
rotate([90, 0, 0])
linear_extrude(height = phone_height + phone_cnr_rad * 2)
minkowski(){
rotate([90, 0, 0])
linear_extrude(height = phone_height + phone_cnr_rad * 2)
minkowski(){
- KeeperProfile();
+ KeeperProfile(
fatter=keeper_fatter_hole
);
rectfromto([ -keeper_gap_x, -keeper_gap_z_bot ],
[ keeper_gap_x_holes, +keeper_gap_z_top ]);
}
rectfromto([ -keeper_gap_x, -keeper_gap_z_bot ],
[ keeper_gap_x_holes, +keeper_gap_z_top ]);
}
@@
-1332,12
+1340,12
@@
module HingeLever(){ ////toplevel
HingeLeverOuterProfile();
// space for the screws
HingeLeverOuterProfile();
// space for the screws
- HingePortion(hex26, hex24)
- HingeLeverInnerProfile();
+
//
HingePortion(hex26, hex24)
+
//
HingeLeverInnerProfile();
// recesses for the nuts
// recesses for the nuts
- HingePortion(hex23, hex26+1)
- HingeLeverNutProfile();
+
//
HingePortion(hex23, hex26+1)
+
//
HingeLeverNutProfile();
// bores for the screws
HingeScrews();
// bores for the screws
HingeScrews();
@@
-1491,7
+1499,7
@@
module OneKeeper(){ ////toplevel
translate([0, -phone_cnr_rad, 0])
rotate([90, 0, 0])
linear_extrude(height = phone_height - phone_cnr_rad * 2)
translate([0, -phone_cnr_rad, 0])
rotate([90, 0, 0])
linear_extrude(height = phone_height - phone_cnr_rad * 2)
- KeeperProfile();
+ KeeperProfile(
fatter=keeper_fatter
);
}
module OneKeeperPrint(){ ////toplevel
}
module OneKeeperPrint(){ ////toplevel
@@
-1513,6
+1521,11
@@
module TestSelectFrame(){
linear_extrude(height=200)
rectfromto(include, inside_br - include);
}
linear_extrude(height=200)
rectfromto(include, inside_br - include);
}
+
+ for (i= [1,2]) {
+ translate([ 0, -phone[1] * i/3, 0 ])
+ cube(center=true, [1000, 4, 100]);
+ }
}
module TestSelectLidFrame(){
}
module TestSelectLidFrame(){