Move everything to box_frame/
[clinton/prusa3.git] / box_frame / z-axis.scad
1 // PRUSA iteration3
2 // Z axis
3 // GNU GPL v3
4 // Josef Průša <josefprusa@me.com>
5 // Václav 'ax' Hůla <axtheb@gmail.com>
6 // http://www.reprap.org/wiki/Prusa_Mendel
7 // http://github.com/prusajr/PrusaMendel
8
9 include <configuration.scad>
10
11
12 module zmotorholder(thickness=13){
13 difference(){
14 union(){
15 // Motor holding part
16 difference(){
17 union(){
18 zrodholder(thickness=thickness, xlen=45, ylen=45);
19 translate([board_to_xz_distance, board_to_xz_distance, 0]) {
20 nema17(places=[0,1,1,1], h=thickness);
21 }
22 }
23
24 // motor screw holes
25 translate([board_to_xz_distance, board_to_xz_distance, thickness]) {
26 mirror([0,0,1]) translate([0,0,thickness-8])
27 nema17(places=[0,1,1,1], holes=true, h=thickness, shadow=5);
28 }
29 }
30 }
31 }
32 }
33
34
35 module zrodholder(thickness=13, ylen=40, xlen=34){
36 difference(){
37 union(){
38 // Rod holding part
39 difference(){
40 union(){
41 //piece along the flat side of a board
42 cube_fillet([14, ylen, thickness]);
43 //hole for Z axis is thru this
44 cube_fillet([xlen, 14, thickness]);
45 //piece along cut side of the board
46 translate([-board_thickness,0,0]) cube_fillet([board_thickness*2, 5, thickness], radius=2);
47 }
48 //smooth rod hole
49 translate([board_to_xz_distance,5+(smooth_bar_diameter/2),-1]) cylinder(h=board_thickness+2, r=(smooth_bar_diameter/2));
50 //inside rouned corner
51 translate([0,5,-1]) cylinder(r=1.2, h=thickness+2, $fn=8);
52 //side screw
53 translate([-board_thickness/2, 0, thickness/2]) rotate([-90, 0, 0]) screw();
54 //front screw
55 translate([13.3, 19, thickness/2]) rotate([0, -90, 0]) screw(head_drop=5);
56 translate([14, 33, thickness/2]) rotate([0, -90, 0]) screw(head_drop=5);
57 }
58 }
59 }
60 }
61
62 translate([0, -2, 0]) mirror([0,1,0]) zmotorholder();
63 translate([0,2,0]) zmotorholder();
64
65 translate([21,-59,0]) zrodholder();
66 translate([20,59,0]) mirror([0,1,0]) zrodholder();