| 1 | module zmotorholder(){ |
| 2 | difference(){ |
| 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 | |
| 59 | module zrodholder(){ |
| 60 | difference(){ |
| 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 | |
| 103 | zrodholder(); |
| 104 | translate(v = [0,-2,0]) mirror([0,1,0]) zrodholder(); |