Rev 4143 Rev 4145
Line 1... Line 1...
1 x_size = 23; // 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 axis_offset = -1.5; 8 axis_offset = -1.5;
9   9  
10 // aquarium pad 10 // aquarium pad
11   11  
12 difference () { 12 module bottom () {
13 intersection() { 13 difference () {
14 union(){ // bottom part with rim/fixing pin 14 intersection() {
15 rotate([0,0,45]) 15 union(){ // bottom part with rim/fixing pin
16 translate ([ axis_offset, 0, 0]) 16 rotate([0,0,45])
17 cube([x_size, y_size ,thickness], center = true); 17 translate ([ axis_offset, 0, 0])
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([x_size, y_size ,thickness], 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 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])
20   20 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);
21 }; 21  
22   22 };
23 rotate([0,0,45]) 23  
24 translate ([ axis_offset, 0, 0]) 24 rotate([0,0,45])
25 cube([x_size, y_size ,4*thickness], center = true); // cut out half of top tip 25 translate ([ axis_offset, 0, 0])
26 } 26 cube([x_size, y_size ,4*thickness], center = true); // cut out half of top tip
27 cylinder (h = thickness + rim_height, r= mount_hole, $fn=20); // hole for screw head 27 }
28 translate ([0, 0, -thickness]) // hole for the screw 28 cylinder (h = thickness + rim_height, r= mount_hole, $fn=20); // hole for screw head
29 cylinder (h = thickness + rim_height, r= mount_hole/2, $fn=20); 29 translate ([0, 0, -thickness]) // hole for the screw
30 30 cylinder (h = thickness + rim_height, r= mount_hole/2, $fn=20);
31 31
32 rotate([0,0,-45]) // hole for top part mounting nut 32
33 translate ([ 0, -y_size/3, thickness/3]) 33 rotate([0,0,-45]) // hole for top part mounting nut
34 cube([6, 3, thickness], center = true); 34 translate ([ 0, -y_size/3, thickness/3])
35   35 cube([6, 3, thickness], center = true);
36 rotate([90,0,-45]) // hole for top part mounting screw. 36  
37 translate ([ 0, 1.8, 0]) 37 rotate([90,0,-45]) // hole for top part mounting screw.
38 cylinder (h = thickness + rim_height, r= mount_hole/2, $fn=20); 38 translate ([ 0, 1.8, 0])
39   39 cylinder (h = thickness + rim_height, r= mount_hole/2, $fn=20);
40 rotate([0,-45,-45]) // hole for top part mounting nut 40  
41 translate ([ 0, 0, -11]) 41 rotate([0,-45,-45]) // hole for top part mounting nut
42 cube([30, 30, 1], center = true); 42 translate ([ 0, 0, -11])
43   43 cube([30, 30, 1], center = true);
44 rotate([0,45,-45]) // hole for top part mounting nut 44  
45 translate ([ 0, 0, -11]) 45 rotate([0,45,-45]) // hole for top part mounting nut
46 cube([30, 30, 1], center = true); 46 translate ([ 0, 0, -11])
47   47 cube([30, 30, 1], center = true);
48 rotate([0,45,45]) // hole for top part mounting nut 48  
49 translate ([ 0, 0, -13]) 49 rotate([0,45,45]) // hole for top part mounting nut
50 cube([30, 30, 1], center = true); 50 translate ([ 0, 0, -13])
51   51 cube([30, 30, 1], center = true);
52 rotate([0,-45,45]) // hole for top part mounting nut 52  
53 translate ([ 0, 0, -11]) 53 rotate([0,-45,45]) // hole for top part mounting nut
54 cube([30, 30, 1], center = true); 54 translate ([ 0, 0, -11])
55 } 55 cube([30, 30, 1], center = true);
56   56 }
57   57 }
58   58  
59 //translate ([0, 0, thickness]) // separate two parts 59  
60   60 //Top part
61 /*rotate([180,0,0]) // hole for top part mounting nut 61 module top () {
62   62 union () {
63   63  
64 //Top part 64 wall_thickness = 3;
65   65  
66 union () { 66 rotate([0,0,45])
67   67 translate ([-wall_thickness, 0, 0])
68 wall_thickness = 3; 68  
69   69 difference () {
70 rotate([0,0,45]) 70 translate ([wall_thickness/2, 0, thickness/2 + 1.5*wall_thickness])
71 translate ([-wall_thickness, 0, 0]) 71 cube([x_size - wall_thickness, y_size , wall_thickness ], center = true);
72   72  
73 difference () { 73 rotate([0,0,-45])
74 translate ([wall_thickness/2, 0, thickness/2 + 1.5*wall_thickness]) 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 cube([x_size - wall_thickness, y_size , wall_thickness ], center = true); 75 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);
76   76 };
77 rotate([0,0,-45]) 77  
78 translate ([sqrt(pow(x_size,2) + pow(x_size,2))/4, sqrt(pow(x_size,2) + pow(x_size,2))/4 , rim_height]) 78 rotate([0,0,45])
79 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); 79 translate ([-8.3, 0, 0])
80 }; 80  
81   81 difference () {
82 rotate([0,0,45]) 82 translate ([8.3/2, 0, thickness/2 + wall_thickness/2])
83 translate ([-8.3, 0, 0]) 83 cube([x_size - 8.3, y_size , wall_thickness ], center = true);
84   84  
85 difference () { 85 rotate([0,0,-45])
86 translate ([8.3/2, 0, thickness/2 + wall_thickness/2]) 86 translate ([sqrt(pow(x_size,2) + pow(x_size,2))/4, sqrt(pow(x_size,2) + pow(x_size,2))/4 , rim_height])
87 cube([x_size - 8.3, y_size , wall_thickness ], center = true); 87 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);
88   88 };
89 rotate([0,0,-45]) 89  
90 translate ([sqrt(pow(x_size,2) + pow(x_size,2))/4, sqrt(pow(x_size,2) + pow(x_size,2))/4 , rim_height]) 90
91 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); 91 rotate([0,0,-45])
92 }; 92  
93   93 difference () {
94 94  
95 rotate([0,0,-45]) 95 translate ([0, -y_size/2 - wall_thickness/2 , 1.25 * wall_thickness])
96   96 cube([y_size, wall_thickness , thickness + 1.5*wall_thickness ], center = true);
97 difference () { 97
98   98
99 translate ([0, -y_size/2 - wall_thickness/2 , 1.25 * wall_thickness]) 99 rotate([90,0,0])
100 cube([y_size, wall_thickness , thickness + 1.5*wall_thickness ], center = true); 100 translate ([-0.5/2, 0, rim_height/3])
101 101 minkowski() {
102 102 cube([0.5,3.1,10]);
103 rotate([90,0,0]) 103 cylinder(r=1.5,h=1,$fn=50);
104 translate ([-0.5/2, 0, rim_height/3]) 104 }
105 minkowski() { 105 }
106 cube([0.5,3.1,10]); 106  
107 cylinder(r=1.5,h=1,$fn=50); 107  
108 } 108
109 } 109 }
110   110 }
111   111  
112 112 //translate ([0, 0, thickness]) // separate two parts
113 } 113  
114   114 //bottom ();
115   115  
-   116 rotate([180,0,0]) // hole for top part mounting nut
-   117 top ();
116 118