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