rename nema->nema17, put shadow bearing on idlerholder
[clinton/prusa3.git] / z-axis.scad
1 use <inc/functions.scad>
2 include <configuration.scad>
3
4
5 module zmotorholder(thickness=10){
6 difference(){
7 union(){
8 // Motor holding part
9 difference(){
10 union(){
11 zrodholder(thickness=thickness, xlen=45, ylen=45);
12 translate([board_to_xz_distance, board_to_xz_distance, 0]) {
13 nema17(places=[0,1,1,1]);
14 }
15 }
16
17 // motor screw holes
18 translate([board_to_xz_distance, board_to_xz_distance, thickness]) {
19 mirror([0,0,1])
20 nema17(places=[0,1,1,1], holes=true);
21 }
22 }
23 }
24 }
25 }
26
27
28 module zrodholder(thickness=10, ylen=34, xlen=34){
29 difference(){
30 union(){
31 // Rod holding part
32 difference(){
33 union(){
34 //piece along the flat side of a board
35 cube_fillet([14, ylen, thickness]);
36 //hole for Z axis is thru this
37 cube_fillet([xlen, 14, thickness]);
38 //piece along cut side of the board
39 translate(v = [-board_thickness,0,0]) cube_fillet([board_thickness*2, 5, thickness], radius=2);
40 }
41 //smooth rod hole
42 #translate([board_to_xz_distance,5+(smooth_bar_diameter*1.05/2),-1]) cylinder(h=board_thickness+2, r=(smooth_bar_diameter*1.05/2));
43 //inside rouned corner
44 translate(v = [0,5,-1]) cylinder(r=1.2, h=thickness+2, $fn=8);
45 //side screw
46 translate([-board_thickness/2, 0, thickness/2]) rotate([-90, 0, 0]) screw();
47 //front screw
48 translate([14, 26, thickness/2]) rotate([0, -90, 0]) screw(head_drop=5);
49 }
50 }
51 }
52 }
53
54 translate(v = [0, -2, 0]) mirror([0,1,0])zmotorholder();
55 translate(v = [0,2,0]) zmotorholder();
56
57 translate([21,-57,0]) zrodholder();
58 translate(v = [20,57,0]) mirror([0,1,0]) zrodholder();