Rev 4045 Rev 4051
1 x_size = 20; // horizontal outer size of the aquarium pedestal. 1 x_size = 23; // horizontal outer size of the aquarium pedestal.
2 y_size = 20; // 2 y_size = 20; //
3 thickness = 10; // thickness of the pad bellow aquarium. hairs lenght is 12mm. 3 thickness = 10; // thickness of the pad bellow aquarium. hairs lenght is 12mm.
4 rim_height = 7; // height of upper rim for fixing the aquarium in position. 4 rim_height = 7; // height of upper rim for fixing the aquarium in position.
5   5  
6 mount_hole = 3.7; 6 mount_hole = 3.7;
7 clear = 0.175; 7 clear = 0.175;
8   -  
-   8 axis_offset = -1.5;
9   9  
10 // aquarium pad 10 // aquarium pad
11   11  
12 difference () { 12 difference () {
13 intersection() { 13 intersection() {
14 union(){ // bottom part with rim/fixing pin 14 union(){ // bottom part with rim/fixing pin
15 rotate([0,0,45]) 15 rotate([0,0,45])
-   16 translate ([ axis_offset, 0, 0])
16 cube([x_size, y_size ,thickness], center = true); 17 cube([x_size, y_size ,thickness], center = true);
17 translate ([sqrt(pow(x_size,2) + pow(x_size,2))/4, sqrt(pow(x_size,2) + pow(x_size,2))/4, thickness/2 + rim_height/2]) 18 translate ([sqrt(pow(x_size,2) + pow(x_size,2))/4, sqrt(pow(x_size,2) + pow(x_size,2))/4, thickness/2 + rim_height/2])
18 cube([sqrt(pow(x_size,2) + pow(x_size,2))/2, sqrt(pow(x_size,2) + pow(x_size,2))/2, rim_height], center = true); 19 cube([sqrt(pow(x_size,2) + pow(x_size,2))/2, sqrt(pow(x_size,2) + pow(x_size,2))/2, rim_height], center = true);
19   20  
20 }; 21 };
21   22  
22 rotate([0,0,45]) 23 rotate([0,0,45])
-   24 translate ([ axis_offset, 0, 0])
23 cube([x_size, y_size ,4*thickness], center = true); // cut out half of top tip 25 cube([x_size, y_size ,4*thickness], center = true); // cut out half of top tip
24 } 26 }
25 cylinder (h = thickness + rim_height, r= mount_hole, $fn=20); // hole for screw head 27 cylinder (h = thickness + rim_height, r= mount_hole, $fn=20); // hole for screw head
26 translate ([0, 0, -thickness]) // hole for the screw 28 translate ([0, 0, -thickness]) // hole for the screw
27 cylinder (h = thickness + rim_height, r= mount_hole/2, $fn=20); 29 cylinder (h = thickness + rim_height, r= mount_hole/2, $fn=20);
28 30
29 31
30 rotate([0,0,-45]) // hole for top part mounting nut 32 rotate([0,0,-45]) // hole for top part mounting nut
31 translate ([ 0, -x_size/3, thickness/3]) 33 translate ([ 0, -y_size/3, thickness/3])
32 cube([6, 3, thickness], center = true); 34 cube([6, 3, thickness], center = true);
33   35  
34 rotate([90,0,-45]) // hole for top part mounting screw. 36 rotate([90,0,-45]) // hole for top part mounting screw.
35 translate ([ 0, 1.8, 0]) 37 translate ([ 0, 1.8, 0])
36 cylinder (h = thickness + rim_height, r= mount_hole/2, $fn=20); 38 cylinder (h = thickness + rim_height, r= mount_hole/2, $fn=20);
37   39  
38 } 40 }
39   41  
40   -  
41   42  
42   43  
43 //translate ([0, 0, thickness]) // separate two parts 44 //translate ([0, 0, thickness]) // separate two parts
44   45  
45 /*rotate([180,0,0]) // hole for top part mounting nut 46 /*rotate([180,0,0]) // hole for top part mounting nut
46   47  
47   48  
48 //Top part 49 //Top part
49   50  
50 union () { 51 union () {
51   52  
52 wall_thickness = 3; 53 wall_thickness = 3;
53   54  
54 rotate([0,0,45]) 55 rotate([0,0,45])
55 translate ([-wall_thickness, 0, 0]) 56 translate ([-wall_thickness, 0, 0])
56   57  
57 difference () { 58 difference () {
58 translate ([wall_thickness/2, 0, thickness/2 + 1.5*wall_thickness]) 59 translate ([wall_thickness/2, 0, thickness/2 + 1.5*wall_thickness])
59 cube([x_size - wall_thickness, y_size , wall_thickness ], center = true); 60 cube([x_size - wall_thickness, y_size , wall_thickness ], center = true);
60   61  
61 rotate([0,0,-45]) 62 rotate([0,0,-45])
62 translate ([sqrt(pow(x_size,2) + pow(x_size,2))/4, sqrt(pow(x_size,2) + pow(x_size,2))/4 , rim_height]) 63 translate ([sqrt(pow(x_size,2) + pow(x_size,2))/4, sqrt(pow(x_size,2) + pow(x_size,2))/4 , rim_height])
63 cube([sqrt(pow(x_size,2) + pow(x_size,2))/2, sqrt(pow(x_size,2) + pow(x_size,2))/2, 2*rim_height], center = true); 64 cube([sqrt(pow(x_size,2) + pow(x_size,2))/2, sqrt(pow(x_size,2) + pow(x_size,2))/2, 2*rim_height], center = true);
64 }; 65 };
65   66  
66 rotate([0,0,45]) 67 rotate([0,0,45])
67 translate ([-8.3, 0, 0]) 68 translate ([-8.3, 0, 0])
68   69  
69 difference () { 70 difference () {
70 translate ([8.3/2, 0, thickness/2 + wall_thickness/2]) 71 translate ([8.3/2, 0, thickness/2 + wall_thickness/2])
71 cube([x_size - 8.3, y_size , wall_thickness ], center = true); 72 cube([x_size - 8.3, y_size , wall_thickness ], center = true);
72   73  
73 rotate([0,0,-45]) 74 rotate([0,0,-45])
74 translate ([sqrt(pow(x_size,2) + pow(x_size,2))/4, sqrt(pow(x_size,2) + pow(x_size,2))/4 , rim_height]) 75 translate ([sqrt(pow(x_size,2) + pow(x_size,2))/4, sqrt(pow(x_size,2) + pow(x_size,2))/4 , rim_height])
75 cube([sqrt(pow(x_size,2) + pow(x_size,2))/2, sqrt(pow(x_size,2) + pow(x_size,2))/2, rim_height], center = true); 76 cube([sqrt(pow(x_size,2) + pow(x_size,2))/2, sqrt(pow(x_size,2) + pow(x_size,2))/2, rim_height], center = true);
76 }; 77 };
77   78  
78 79
79 rotate([0,0,-45]) 80 rotate([0,0,-45])
80   81  
81 difference () { 82 difference () {
82   83  
83 translate ([0, -y_size/2 - wall_thickness/2 , 1.25 * wall_thickness]) 84 translate ([0, -y_size/2 - wall_thickness/2 , 1.25 * wall_thickness])
84 cube([y_size, wall_thickness , thickness + 1.5*wall_thickness ], center = true); 85 cube([y_size, wall_thickness , thickness + 1.5*wall_thickness ], center = true);
85 86
86 87
87 rotate([90,0,0]) 88 rotate([90,0,0])
88 translate ([-0.5/2, 0, rim_height/3]) 89 translate ([-0.5/2, 0, rim_height/3])
89 minkowski() { 90 minkowski() {
90 cube([0.5,3.1,10]); 91 cube([0.5,3.1,10]);
91 cylinder(r=1.5,h=1,$fn=50); 92 cylinder(r=1.5,h=1,$fn=50);
92 } 93 }
93 } 94 }
94   95  
95   96  
96 97
97 } 98 }
98   99  
99   100