Compare commits
No commits in common. "0295678c71d04d6619b2275f660fc7efb3aea0e3" and "0c48f112a15f9dc5ada144f3fa817ab625faec50" have entirely different histories.
0295678c71
...
0c48f112a1
Binary file not shown.
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 99 KiB |
Binary file not shown.
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 57 KiB |
BIN
frame00000.png
BIN
frame00000.png
Binary file not shown.
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 102 KiB |
33
main.scad
33
main.scad
@ -55,20 +55,19 @@ module phone_harness() {
|
|||||||
ps=[ops.x+0.2, ops.y+0.2, ops.z+0.2];
|
ps=[ops.x+0.2, ops.y+0.2, ops.z+0.2];
|
||||||
shell_wall=3;
|
shell_wall=3;
|
||||||
shell_rim_wall=3;
|
shell_rim_wall=3;
|
||||||
rim_edge_thickness=1.5;
|
rim_edge_thickness=1.2;
|
||||||
rim_edge_tolerance=0.4;
|
rim_edge_tolerance=0.4;
|
||||||
expose_back_camera=true;
|
expose_back_camera=false;
|
||||||
screwmount_screw=3;
|
screwmount_screw=3;
|
||||||
harness_divider=[1, 0, 1.3];
|
harness_divider=[1, 0, 1.3];
|
||||||
harness_size=[ps.x+shell_wall*2, ps.y+shell_wall*2, ps.z+shell_wall*2];
|
harness_size=[ps.x+shell_wall*2, ps.y+shell_wall*2, ps.z+shell_wall*2];
|
||||||
rim_size=[harness_size.x+2*shell_rim_wall, harness_size.y+2*shell_rim_wall, 8];
|
rim_size=[harness_size.x+2*shell_rim_wall, harness_size.y+2*shell_rim_wall, 6];
|
||||||
|
|
||||||
w=shell_wall;
|
w=shell_wall;
|
||||||
f=2;
|
f=2;
|
||||||
rf=5;
|
rf=5;
|
||||||
hs=harness_size;
|
hs=harness_size;
|
||||||
backplane_rim_size=[40, ps.y*0.95, shell_wall/2];
|
backplane_rim_size=[30, ps.y*0.95, shell_wall/2];
|
||||||
backplane_teeth=6;
|
|
||||||
|
|
||||||
// ==== SHELL ====
|
// ==== SHELL ====
|
||||||
|
|
||||||
@ -131,22 +130,18 @@ module phone_harness() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
module shell_backplane(groove) {
|
module shell_backplane(groove) {
|
||||||
module groove_scale() { scale([groove?1.05:1, groove?1.05:1, groove?1.2:1]) children(); }
|
down(hs.z/2 - shell_wall/6) up(backplane_rim_size.z/2) right(harness_divider.x) {
|
||||||
down(hs.z/2 - shell_wall/3) up(backplane_rim_size.z/2) right(harness_divider.x) {
|
|
||||||
back(backplane_rim_size.y/2) {
|
back(backplane_rim_size.y/2) {
|
||||||
teeth=backplane_teeth;
|
teeth=4;
|
||||||
segment=backplane_rim_size.y/teeth;
|
segment=backplane_rim_size.y/teeth;
|
||||||
tooth_size=[backplane_rim_size.x, segment/2, backplane_rim_size.z];
|
tooth_size=[backplane_rim_size.x, segment/2, backplane_rim_size.z];
|
||||||
joiner_base=5;
|
|
||||||
joiner_size=[joiner_base + (groove?backplane_pip_slideout:0), segment*1.5, backplane_rim_size.z];
|
|
||||||
for (i = [0:teeth-1]) {
|
for (i = [0:teeth-1]) {
|
||||||
fwd(i*segment) fwd(tooth_size.y) {
|
fwd(i*segment) fwd(tooth_size.y) scale(groove ? 1.02 : 1) cubi(tooth_size, fillet=2, edges=EDGES_Z_LF);
|
||||||
groove_scale() cubi(tooth_size, fillet=0.5, edges=EDGES_X_ALL);
|
|
||||||
if (i%2 == 0) {
|
|
||||||
left(backplane_rim_size.x/2 + joiner_base/2) fwd(joiner_size.y/3) left(-joiner_size.x/2) groove_scale() cubi(joiner_size, fillet=2, edges=EDGES_Z_ALL);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
left(backplane_pip_slideout + 11) if (is_model_strict(MODEL_HARNESS_BOTTOM_PIP)) {
|
||||||
|
joiner_size=[7 + (groove?backplane_pip_slideout:0), backplane_rim_size.y, backplane_rim_size.z];
|
||||||
|
scale(groove ? 1.02 : 1) left(-joiner_size.x/2) cubi(joiner_size, fillet=2, edges=EDGES_Z_LF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -249,7 +244,7 @@ module phone_harness() {
|
|||||||
d1=8.8;
|
d1=8.8;
|
||||||
d2=14;
|
d2=14;
|
||||||
p=[ps.x/2, ps.y/2-24, -0.88];
|
p=[ps.x/2, ps.y/2-24, -0.88];
|
||||||
h=22;
|
h=30;
|
||||||
translate(p) yrot(90) down(10) cylinder(h=h, d1=d1, d2=d2);
|
translate(p) yrot(90) down(10) cylinder(h=h, d1=d1, d2=d2);
|
||||||
}
|
}
|
||||||
module right_cutout() {
|
module right_cutout() {
|
||||||
@ -280,7 +275,7 @@ module phone_harness() {
|
|||||||
s=[buttons_cutout_size.x-2, 4, buttons_cutout_size.z-0.5];
|
s=[buttons_cutout_size.x-2, 4, buttons_cutout_size.z-0.5];
|
||||||
p=buttons_cutout_pos;
|
p=buttons_cutout_pos;
|
||||||
t=socket ? 0.2 : 0;
|
t=socket ? 0.2 : 0;
|
||||||
pin_size=[3 + t, 3 + t, s.z+2 + t/2];
|
pin_size=[3 + t, 3 + t, s.z+1.4 + t/2];
|
||||||
touch_size=[2, s.y, 2];
|
touch_size=[2, s.y, 2];
|
||||||
touch_power_size=[3, touch_size.y, touch_size.z];
|
touch_power_size=[3, touch_size.y, touch_size.z];
|
||||||
translate(p) {
|
translate(p) {
|
||||||
@ -400,8 +395,8 @@ if (!is_undef(validation)) {
|
|||||||
if (!is_undef(xray)) {
|
if (!is_undef(xray)) {
|
||||||
if (xray == XRAY_POSITIVE) {
|
if (xray == XRAY_POSITIVE) {
|
||||||
span_cube([0,1000], [0,1000], [-1000,1000]);
|
span_cube([0,1000], [0,1000], [-1000,1000]);
|
||||||
} else if (abs(xray) == XRAY_BACKPLANE) {
|
} else if (xray == XRAY_BACKPLANE) {
|
||||||
span_cube([-1000,1000], [-1000,1000], [-1000*sign(xray),-6]);
|
span_cube([-1000,1000], [-1000,1000], [-1000,-7]);
|
||||||
} else if (xray == XRAY_BOTTOM) {
|
} else if (xray == XRAY_BOTTOM) {
|
||||||
span_cube([-1000,1000], [-1000,1000], [-1000,0]);
|
span_cube([-1000,1000], [-1000,1000], [-1000,0]);
|
||||||
}
|
}
|
||||||
|
33834
model_bottom_pip.stl
33834
model_bottom_pip.stl
File diff suppressed because it is too large
Load Diff
2746
model_buttons.stl
2746
model_buttons.stl
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
39180
model_top.stl
39180
model_top.stl
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user