initial commit
[clinton/prusa3.git] / z-axis.scad
CommitLineData
d3618a65
NZ
1module zmotorholder(){
2difference(){
3 union(){
4 // Motor holding part
5 translate(v = [21,21+5,0])
6 {
7 //#cube(size = [42,42,2], center=true);
8 difference(){
9 union(){
10 translate(v = [2.5,0,0]) translate(v = [-21+4.5,-5,5]) cube(size = [9+5,36+5.5,10], center=true);
11 translate(v = [2.55,0,0])translate(v = [-9.5,-21-5+7,5]) cube(size = [55,14,10], center=true);
12 translate(v = [5,0,0])translate(v = [0,-21-5+8,5]) cube(size = [42,5,10], center=true);
13
14 //%cylinder(h = 10, r=11);
15
16 translate(v = [5,0,0])translate(v = [-15.5,-15.5,0]) cylinder(h = 10, r=5.5);
17 translate(v = [5,0,0])translate(v = [-15.5,+15.5,0]) cylinder(h = 10, r=5.5);
18 translate(v = [0,0,0])translate(v = [-15.5,+15.5,0]) cylinder(h = 10, r=5.5);
19 translate(v = [5,0,0])translate(v = [15.5,-15.5,0]) cylinder(h = 10, r=5.5);
20
21 translate(v = [5,0,0])translate(v = [15.5,-15.5-5,0]) cylinder(h = 10, r=5.5);
22 }
23
24
25 // inside rounded corner
26 translate(v = [-21,-21,0]) cylinder(h = 12, r=1.2, $fn=8);
27
28 //alignemnt tab
29 translate(v = [-21+10-20,-21+10,5]) cube(size = [20,20,12], center=true);
30
31 // Z smooth rod cutout
32 translate(v = [5,0,0])translate(v = [0,-21+4.2,-1]) cylinder(h = 12, r=4.2);
33
34 // motor screw holes
35 translate(v = [5,0,0])translate(v = [-15.5,-15.5,-1]) cylinder(h = 9, r=1.7);
36 translate(v = [5,0,0]) translate(v = [-15.5,+15.5,-1]) cylinder(h = 9, r=1.7);
37 translate(v = [5,0,0])translate(v = [15.5,-15.5,-1]) cylinder(h = 9, r=1.7);
38 // holes for heads
39 translate(v = [5,0,0])translate(v = [-15.5,-15.5,7]) cylinder(h = 7, r=3.5);
40 translate(v = [5,0,0])translate(v = [-15.5,+15.5,7]) cylinder(h = 7, r=3.5);
41 translate(v = [5,0,0])translate(v = [15.5,-15.5,7]) cylinder(h = 7, r=3.5);
42
43
44 // self tap screw holes
45 translate(v = [-22,0,5]) rotate([0,90,0]) cylinder(h = 25, r=2, $fn=18);
46 translate(v = [-13.5,0,5]) rotate([0,90,0]) cylinder(h = 2, r1=1.7, r2=3.5, $fn=18);
47 translate(v = [-13.5+1.95,0,5]) rotate([0,90,0]) cylinder(h = 10, r=3.5, $fn=18);
48
49 translate(v = [-21-6,-20,5]) rotate([90,0,0]) cylinder(h = 12, r=2, $fn=18);
50 translate(v = [-21-6,-24.5,5]) rotate([90,0,0]) cylinder(h = 2, r1=1.7, r2=3.5, $fn=18);
51 }
52 }
53
54 }
55}
56}
57
58
59module zrodholder(){
60difference(){
61 union(){
62 // Motor holding part
63 translate(v = [21,21+5,0])
64 {
65 //#cube(size = [42,42,2], center=true);
66 difference(){
67 union(){
68 translate(v = [2.5,0,0]) translate(v = [-21+4.5,-5,5]) cube(size = [9+5,25,10], center=true);
69 translate(v = [5+2.5-2.5,0,0])translate(v = [-9.5-8,-21-5+7,5]) #cube(size = [40+5+5,14,10], center=true);
70 //translate(v = [0,-21-5+8,5]) cube(size = [42,5,10], center=true);
71
72 //%cylinder(h = 10, r=11);
73
74 }
75
76 //alignemnt tab
77 translate(v = [-21+10-20,-21+10,5]) cube(size = [20,20,12], center=true);
78
79 // Z smooth rod cutout
80 translate(v = [5,0,0])translate(v = [0,-21+4.2,-1]) cylinder(h = 12, r=4.2);
81
82
83
84
85 // self tap screw holes
86 // self tap screw holes
87 translate(v = [-22,0,5]) rotate([0,90,0]) cylinder(h = 25, r=2, $fn=18);
88 translate(v = [-13.5,0,5]) rotate([0,90,0]) cylinder(h = 2, r1=1.7, r2=3.5, $fn=18);
89 translate(v = [-13.5+1.95,0,5]) rotate([0,90,0]) cylinder(h = 10, r=3.5, $fn=18);
90
91 translate(v = [-21-8,-20,5]) rotate([90,0,0]) cylinder(h = 12, r=2, $fn=18);
92 translate(v = [-21-8,-24.5,5]) rotate([90,0,0]) cylinder(h = 2, r1=1.7, r2=3.5, $fn=18);
93 }
94 }
95
96 }
97}
98}
99
100//mirror([0,1,0])zmotorholder();
101//translate(v = [0,2,0]) zmotorholder();
102
103zrodholder();
104translate(v = [0,-2,0]) mirror([0,1,0]) zrodholder();