比较提交
没有共同的提交。0295678c71d04d6619b2275f660fc7efb3aea0e3 和 0c48f112a15f9dc5ada144f3fa817ab625faec50 的历史完全不同。
0295678c71
...
0c48f112a1
二进制文件未显示。
|
之前 宽度: | 高度: | 大小: 83 KiB 之后 宽度: | 高度: | 大小: 99 KiB |
二进制文件未显示。
|
之前 宽度: | 高度: | 大小: 56 KiB 之后 宽度: | 高度: | 大小: 57 KiB |
二进制
frame00000.png
二进制
frame00000.png
二进制文件未显示。
|
之前 宽度: | 高度: | 大小: 92 KiB 之后 宽度: | 高度: | 大小: 102 KiB |
35
main.scad
35
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,23 +130,19 @@ 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
文件差异内容过多而无法显示
加载差异
2746
model_buttons.stl
2746
model_buttons.stl
文件差异内容过多而无法显示
加载差异
文件差异内容过多而无法显示
加载差异
文件差异内容过多而无法显示
加载差异
39180
model_top.stl
39180
model_top.stl
文件差异内容过多而无法显示
加载差异
正在加载...
在新工单中引用
屏蔽一个用户