Case improvements

This commit is contained in:
William Toohey
2017-01-08 22:06:53 +10:00
parent b259d2a4f2
commit c1bed2f8a2
4 changed files with 811 additions and 669 deletions
+148 -164
View File
@@ -599,170 +599,22 @@ AcDbEntity
8
KeepOutLayer
62
7
6
100
AcDbPolyline
90
1
41
70
1
10
-21.285892
67.974710
20
10.161720
30
0.0
0
LWPOLYLINE
5
101
100
AcDbEntity
8
KeepOutLayer
62
7
100
AcDbPolyline
90
40
70
1
10
-74.993791
20
-51.498288
30
0.0
10
-40.000290
20
-86.485280
30
0.0
10
-0.000292
20
-86.485280
30
0.0
10
39.999708
20
-86.485280
30
0.0
10
74.993206
20
-51.498288
30
0.0
10
74.999133
20
2.932562
30
0.0
10
74.976014
20
3.653469
30
0.0
10
74.880969
20
4.356077
30
0.0
10
74.717527
20
5.036617
30
0.0
10
74.489218
20
5.691325
30
0.0
10
74.199572
20
6.316432
30
0.0
10
73.852119
20
6.908173
30
0.0
10
73.450388
20
7.462780
30
0.0
10
72.997909
20
7.976486
30
0.0
10
72.498211
20
8.445526
30
0.0
10
71.954826
20
8.866132
30
0.0
10
71.371281
20
9.234537
30
0.0
10
70.751107
20
9.546975
30
0.0
10
70.097834
20
9.799679
30
0.0
10
69.414991
20
9.988883
30
0.0
10
68.706108
20
10.110818
30
0.0
10
67.974715
20
10.161720
30
0.0
10
-0.000286
20
10.161720
30
0.0
@@ -791,82 +643,214 @@ AcDbPolyline
30
0.0
10
-70.751684
-70.751683
20
9.546975
30
0.0
10
-71.371858
-71.371856
20
9.234537
30
0.0
10
-71.955403
-71.955400
20
8.866132
30
0.0
10
-72.498788
-72.498784
20
8.445526
30
0.0
10
-72.998486
-72.998479
20
7.976486
30
0.0
10
-73.450965
-73.450955
20
7.462780
30
0.0
10
-73.852696
-73.852683
20
6.908173
30
0.0
10
-74.200150
-74.200132
20
6.316432
30
0.0
10
-74.489796
-74.489773
20
5.691325
30
0.0
10
-74.718105
-74.718076
20
5.036617
30
0.0
10
-74.881547
-74.881512
20
4.356077
30
0.0
10
-74.976593
-74.976549
20
3.653469
30
0.0
10
-74.999712
-74.999660
20
2.932562
30
0.0
10
-75.000189
20
-55.748290
30
0.0
10
-44.263167
20
-86.485280
30
0.0
10
-0.000292
20
-86.485280
30
0.0
10
44.262688
20
-86.485280
30
0.0
10
74.999689
20
-55.748290
30
0.0
10
74.999159
20
2.932562
30
0.0
10
74.976040
20
3.653469
30
0.0
10
74.880995
20
4.356077
30
0.0
10
74.717553
20
5.036617
30
0.0
10
74.489244
20
5.691325
30
0.0
10
74.199598
20
6.316432
30
0.0
10
73.852145
20
6.908173
30
0.0
10
73.450414
20
7.462780
30
0.0
10
72.997935
20
7.976486
30
0.0
10
72.498238
20
8.445526
30
0.0
10
71.954852
20
8.866132
30
0.0
10
71.371307
20
9.234537
30
0.0
10
70.751134
20
9.546975
30
0.0
10
70.097861
20
9.799679
30
0.0
10
69.415018
20
9.988883
30
0.0
10
68.706135
20
10.110818
30
0.0
10
67.974742
20
10.161720
30
0.0
0
ENDSEC
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+35 -21
View File
@@ -7,25 +7,22 @@ switches = [[0,0],
[ 14.287,-37.592],
[-28.5,-75.692],
[ 28.5,-75.692]];
bolts = [[-47.9, 8.05],
[ 47.9, 8.05],
[-72, -16.9],
[ 72, -16.9],
[-72, -49.9],
[ 72, -49.9],
[-45, -75.387],
[ 45, -75.387]];
bolts = [[46.475, 6.135],
[71, -16.925],
[71.304, -54.219],
[42.732, -82.791]];
// Not the encoders themselves, but the circle that surrounds them
encoders = [[-64,0.4],
[ 64,0.4]];
encoderRadius = 14.278;
// encoder solder points hit the case unless we cut these out
// x, y, hole size
encoderHoles = [[71.4, 0.4, 3.2],
encoderHoles = [[71.6, 0.4, 3.4],
[69, -10.1, 1.6]];
usbWidth = 9;
usbPos = [-21.311, 10.16];
usbPos = [-21.311, 10.3];
// bottom to top
plate_thickness = [3, 3, 1.6, 3, 1.6];
@@ -34,9 +31,10 @@ fudge = 0.2;
// So you get a little clear acrylic edge and it looks nice
wallOverlap = 1;
boltDiam = 3;
boltFudge = fudge;
boltDiam = 2;
boltFudge = 0;
boltSize = boltDiam + boltFudge;
spacerSize = boltSize + 1;
boltExpand = boltDiam/2;
@@ -83,16 +81,32 @@ module switches() {
}
}
module bolt_spacers() {
for(bolt = bolts) {
translate([bolt[0], bolt[1]])
circle(d = spacerSize, center = true);
// mirror
translate([-bolt[0], bolt[1]])
circle(d = spacerSize, center = true);
}
}
module bolts() {
for(bolt = bolts) {
translate([bolt[0], bolt[1]])
circle(d = boltSize, center = true);
// mirror
translate([-bolt[0], bolt[1]])
circle(d = boltSize, center = true);
}
}
// Only used to see if my distances are right
module bolts_expansion() {
offset(r = boltExpand)
bolts();
bolt_spacers();
}
module encoders() {
@@ -118,7 +132,7 @@ module encoderHoles_half() {
// don't do the same thing twice
module usb_half() {
w = usbWidth / 2;
h = wallStrength + fudge;
h = wallStrength + fudge*2;
curveWidth = h / 2;
// USB connector origin is at board edge
@@ -173,17 +187,17 @@ module top_ring() {
// Room for FX/START
switches();
};
import("RING_TOP_SUPPORTS.dxf");
bolts_expansion();
}
bolts();
bolt_spacers();
}
import("RING_TOP_SUPPORTS.dxf");
}
module pcb() {
difference() {
board();
bolts();
bolt_spacers();
}
}
@@ -195,14 +209,14 @@ module bottom_ring() {
offset(delta = -wallStrength)
board();
};
import("RING_BOT_SUPPORTS.dxf");
bolts_expansion();
}
bolts();
bolt_spacers();
encoderHoles();
translate([usbPos[0], usbPos[1], 0])
usb();
}
import("RING_BOT_SUPPORTS.dxf");
}
module bottom_plate() {
@@ -214,9 +228,9 @@ module bottom_plate() {
// This is kinda disgusting
module full_stack() {
/*color([1, 1, 1, 0.2])
color([1, 1, 1, 0.2])
linear_extrude(plate_thickness[0])
bottom_plate();*/
bottom_plate();
translate([0, 0, plate_thickness[0]]) {
color([1, 1, 1, 0.2])
linear_extrude(plate_thickness[1])