abcf6c93 |
1 | module holder_base(){ |
2 | translate([0,0,0]) cube([8,40,16]); // plate touching the base |
3 | translate([0,-5,0]) cube([38,15,5]); // plate touching the base |
4 | } |
5 | |
6 | module holder_fancy(){ |
7 | // corner cutouts |
8 | translate([0.5,0.5,0]) rotate([0,0,-45-180]) translate([-15,0,-1]) cube([30,30,51]); |
9 | translate([0.5,40-0.5,0]) rotate([0,0,-45+90]) translate([-15,0,-1]) cube([30,30,51]); |
10 | translate([-4,40+5,0]) rotate([0,0,-45-0]) translate([0,0,-1]) cube([30,30,51]); |
11 | |
12 | |
13 | translate([8,0,12]) rotate([0,-45,0]) translate([0,-5,0]) cube([30,50,30]); |
14 | |
15 | translate([38-2.5,-5+2.5,0]) rotate([0,0,-45-90]) translate([-15,0,-1]) cube([30,30,51]); |
16 | translate([38-1.5,10-1.5,0]) rotate([0,0,-45]) translate([-15,0,-1]) cube([30,30,51]); |
17 | |
18 | translate([0,0,5]) rotate([45+180,0,0]) rotate([0,0,-45+90]) translate([0,0,-15]) cube([30,30,30]); |
19 | } |
20 | |
21 | module holder_holes(){ |
22 | // screw holes |
23 | translate([-1,10,10]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30); |
24 | translate([-1,10+20,10]) rotate([0,90,0]) cylinder(h = 20, r=1.8, $fn=30); |
25 | |
26 | // screw heads |
27 | translate([4,10,10]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30); |
28 | translate([4,10-3.1,10]) cube([10,6.2,10]); |
29 | translate([4,10+20,10]) rotate([0,90,0]) cylinder(h = 20, r=3.1, $fn=30); |
30 | translate([4,10+20-3.1,10]) cube([10,6.2,10]); |
31 | |
32 | // Z rod holder |
33 | translate([25+4.3,4.2,-1]) rotate([0,0,0]) cylinder(h = 50, r=4.1, $fn=15); |
34 | translate([25+4.3-1,3,0.6]) cube([2,10,7]); // it's bit up because it helps with printing |
35 | } |
36 | |
37 | difference(){ |
38 | holder_base(); |
39 | holder_fancy(); |
40 | holder_holes(); |
41 | } |
42 | translate([0,-13,0]) mirror([0,1,0]) difference(){ |
43 | holder_base(); |
44 | holder_fancy(); |
45 | holder_holes(); |
46 | } |