-
Notifications
You must be signed in to change notification settings - Fork 0
/
platform.scad
65 lines (54 loc) · 1.65 KB
/
platform.scad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
include <configuration.scad>
use <carriage.scad>
h=platform_thickness;
armHeight = nutRad*2+wall/3;
outer_rad_bot = 34;
outer_rad_top = 33;
center_rad_bot = 27;
center_rad_top = 22;
fanW = 30.5;
fanT = 8;
echo(platform_thickness);
$fn = 64;
module platform() {
difference() {
union() {
difference(){
for (a = [0,120,240]) {
rotate([0, 0, a]) {
translate([0, -platform_hinge_offset, 0]) parallel_joints();
// Close little triangle holes.
translate([0, 28, 0]) rotate([0,0,-30]) cylinder(r=14.5, h=h,$fn=3);
translate([0, 38, h/2]) cube([wall/2,22,h], center=true);
}
}
translate([0,0,h-.5]) cylinder(r1=22,r2=30.5+10,h=armHeight-h+.6,$fn=64);
}
cylinder(r1=outer_rad_bot, r2=outer_rad_top, h=h);
for (a = [0:2]) {
rotate([0,0,a*120]) translate([0, -bolt_ring_rad, h-.1]) rotate([0,0,180/16]) cylinder(r1=boltRad+2.8, r2=boltRad+2.5, h=5, $fn=16);
}
}
translate([0,0,-.1])
cylinder(r1=center_rad_bot, r2=center_rad_top, h=h+1);
for (a = [0:120:360]) {
rotate([0,0,a]) {
//holes
translate([0, -bolt_ring_rad, -.1]){
translate([0,0,wall+2.5]) cylinder(r=boltRad, h=h+2);
cylinder(r=washRad, h=wall+2);
}
//fan cutouts
translate([0,outer_rad_top-3,h]) rotate([5,0,0]) {
cube([fanW,fanT,h-armHeight],center=true);
translate([0,-fanT,1.5]) cube([fanW*3/4,fanT*2,h-armHeight],center=true);
}
//slope the spars in
translate([0,outer_rad_top+7,h+.2]) rotate([-15,0,0]) {
cube([20,20,h-armHeight],center=true);
}
}
}
}
}
platform();