-
Notifications
You must be signed in to change notification settings - Fork 0
/
frame_bottom.scad
53 lines (38 loc) · 1.27 KB
/
frame_bottom.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
include <config.scad>
module frame_bottom(assembly=true) {
color(pla)
difference() {
union() {
cube([f_x,f_y,z_l+f_t], center=true);
}
translate([0,0,f_t/2+e/2])
intersection() {
cube([f_x-wall*2, f_y-wall*2, z_l+e], center=true);
cylinder(r=sqrt(pow(f_x/2,2)+pow(f_y/2,2))-f_t*sqrt(2), h=z_l+e*2, center=true);
}
translate([0,0,-z_l/2])
difference() {
intersection() {
cube([f_x-f_t*2,f_y-f_t*2,f_t+e], center=true);
cylinder(r=sqrt(pow(f_x/2,2)+pow(f_y/2,2))-f_t*2, h=f_t+e*2, center=true);
}
for(i=[-1,1]) //z shaft holder
translate([z_shaft_distance/2*i, 0, 0])
difference() {
translate([0,f_y/2-(f_y/2-ab_motor_ypos+z_s/2+wall)/2,0])
cube([z_s+wall*2, f_y/2-ab_motor_ypos+z_s/2+wall, (f_z-NEMA_F[ab_motor])/2], center=true);
translate([0,ab_motor_ypos,0])
press_fit(d=z_s, h=(f_z-NEMA_F[ab_motor])/2+e, center=true);
}
}
for(i=[-1,1]) for (j=[-1,1])
translate([(f_x-f_t)*i/2,(f_y-f_t)*j/2,0])
press_fit(d=BOLT_D[f_tr], h=z_l+f_t+e, center=true);
}
color(th_rods)
if(assembly)
for(i=[-1,1]) for (j=[-1,1]) //y shafts
translate([(f_x-f_t)/2*i, (f_y-f_t)/2*j, 0])
cylinder(d=f_tr, h=z_l+f_t, center=true);
}
frame_bottom(assembly=true);