Rev 4132 Rev 4143
Line 13... Line 13...
13 wall_thickness = 12; // thickness of the box wall 13 wall_thickness = 12; // thickness of the box wall
14 volume_encore = 10; // space added to the size of internar heatsink 14 volume_encore = 10; // space added to the size of internar heatsink
15   15  
16 height = heatsink_zsize + TEG_zsize+volume_encore; 16 height = heatsink_zsize + TEG_zsize+volume_encore;
17   17  
-   18 module box () {
18   19  
19 difference () { 20 difference () {
20 union (){ 21 union (){
21 cube([heatsink_xsize+2*wall_thickness+volume_encore,heatsink_ysize+2*wall_thickness+volume_encore,height]); // overal plastic brick 22 cube([heatsink_xsize+2*wall_thickness+volume_encore,heatsink_ysize+2*wall_thickness+volume_encore,height]); // overal plastic brick
22 // cube([heatsink_xsize+2*wall_thickness,heatsink_ysize+2*wall_thickness,heatsink_zsize+wall_thickness]); // overal plastic brick 23 // cube([heatsink_xsize+2*wall_thickness,heatsink_ysize+2*wall_thickness,heatsink_zsize+wall_thickness]); // overal plastic brick
23 } 24 }
24   25  
25 translate ([wall_thickness-clearance+volume_encore/2, wall_thickness-clearance+volume_encore/2, TEG_zsize-clearance]) 26 translate ([wall_thickness-clearance+volume_encore/2, wall_thickness-clearance+volume_encore/2, TEG_zsize-clearance])
26 cube([heatsink_xsize+2*clearance, heatsink_ysize+2*clearance, heatsink_xsize+2*clearance]); // hollow for heat sink 27 cube([heatsink_xsize+2*clearance, heatsink_ysize+2*clearance, heatsink_xsize+2*clearance]); // hollow for heat sink
27 28
28 translate ([wall_thickness, wall_thickness, TEG_zsize+heatsink_thickness]) 29 translate ([wall_thickness, wall_thickness, TEG_zsize+heatsink_thickness])
29 cube([heatsink_xsize+2*clearance+volume_encore, heatsink_ysize+2*clearance+volume_encore, heatsink_xsize+2*clearance+volume_encore]); // hollow for heat storage liquid. 30 cube([heatsink_xsize+2*clearance+volume_encore, heatsink_ysize+2*clearance+volume_encore, heatsink_xsize+2*clearance+volume_encore]); // hollow for heat storage liquid.
30   31  
31 translate ([((heatsink_xsize+2*wall_thickness+volume_encore)-TEG_xsize)/2 - clearance, ((heatsink_ysize+2*wall_thickness+volume_encore)-TEG_ysize)/2 - clearance, 0]) 32 translate ([((heatsink_xsize+2*wall_thickness+volume_encore)-TEG_xsize)/2 - clearance, ((heatsink_ysize+2*wall_thickness+volume_encore)-TEG_ysize)/2 - clearance, 0])
32 cube([TEG_xsize+2*clearance, TEG_ysize+2*clearance, wall_thickness]); // hollow for the thermoelectric generator 33 cube([TEG_xsize+2*clearance, TEG_ysize+2*clearance, wall_thickness]); // hollow for the thermoelectric generator
33   34  
34 translate ([((heatsink_xsize+2*wall_thickness+volume_encore)-TEG_xsize)/2, 0, 0]) 35 translate ([((heatsink_xsize+2*wall_thickness+volume_encore)-TEG_xsize)/2, 0, 0])
35 cube([4, wall_thickness+volume_encore, TEG_zsize-1]); // hollow for the thermoelectric generator 36 cube([4, wall_thickness+volume_encore, TEG_zsize-1]); // hollow for the thermoelectric generator
36 translate ([((heatsink_xsize+2*wall_thickness+volume_encore)-TEG_xsize)/2 +TEG_xsize-4, 0, 0]) 37 translate ([((heatsink_xsize+2*wall_thickness+volume_encore)-TEG_xsize)/2 +TEG_xsize-4, 0, 0])
37 cube([4, wall_thickness+volume_encore, TEG_zsize-1]); // hollow for the thermoelectric generator 38 cube([4, wall_thickness+volume_encore, TEG_zsize-1]); // hollow for the thermoelectric generator
38 39
39 40
40 translate ([wall_thickness, wall_thickness, height-sealing_ring_width]) 41 translate ([wall_thickness, wall_thickness, height-sealing_ring_width])
41 union () { 42 union () {
42 difference () { 43 difference () {
43 minkowski() { 44 minkowski() {
44 cube([heatsink_xsize+volume_encore, heatsink_xsize+volume_encore, sealing_ring_width]); // Rib for o-ring. 45 cube([heatsink_xsize+volume_encore, heatsink_xsize+volume_encore, sealing_ring_width]); // Rib for o-ring.
-   46 cylinder(r=wall_thickness/2,h=0.1);
-   47 }
-   48  
-   49 translate ([sealing_ring_width/2, sealing_ring_width/2, 0])
-   50 minkowski() {
-   51 cube([heatsink_xsize-sealing_ring_width+volume_encore, heatsink_ysize-sealing_ring_width+volume_encore, sealing_ring_width]); // Rib for o-ring.
45 cylinder(r=wall_thickness/2,h=0.1); 52 cylinder(r=wall_thickness/2,h=0.1);
-   53 }
46 } 54 }
-   55 }
-   56
-   57 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, heatsink_xsize+2*wall_thickness+volume_encore-wall_thickness/3, height-wall_thickness/2])
-   58 {
-   59 translate([-4, -3, -1.5])
-   60 cube([wall_thickness, 6, 3], center = false); // hole for top part mounting nut
-   61 translate([0, 0, 1.8])
-   62 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
-   63 }
47   64  
48 translate ([sealing_ring_width/2, sealing_ring_width/2, 0]) 65 translate ([wall_thickness/3, wall_thickness/3, height-wall_thickness/2])
-   66 {
49 minkowski() { 67 translate([-8, -3, -1.5])
50 cube([heatsink_xsize-sealing_ring_width+volume_encore, heatsink_ysize-sealing_ring_width+volume_encore, sealing_ring_width]); // Rib for o-ring. 68 cube([wall_thickness, 6, 3], center = false); // hole for top part mounting nut
51 cylinder(r=wall_thickness/2,h=0.1); 69 translate([0, 0, 1.8])
-   70 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
52 } 71 }
-   72
-   73 translate ([wall_thickness/3, heatsink_xsize+2*wall_thickness+volume_encore-wall_thickness/3, height-wall_thickness/2])
-   74 {
-   75 translate([-8, -3, -1.5])
-   76 cube([wall_thickness, 6, 3], center = false); // hole for top part mounting nut
-   77 translate([0, 0, 1.8])
-   78 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
53 } 79 }
54 } -  
55 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, heatsink_xsize+2*wall_thickness+volume_encore-wall_thickness/3, height-wall_thickness/2]) -  
56 { -  
57 translate([-6, -3, -1.5]) -  
58 cube([wall_thickness, 6, 3], center = false); // hole for top part mounting nut -  
59 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. -  
60 } -  
61   80  
62 translate ([wall_thickness/3, wall_thickness/3, height-wall_thickness/2]) 81 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, wall_thickness/3,height-wall_thickness/2])
63 { 82 {
64 translate([-6, 0, -1.5]) 83 translate([-4, -3, -1.5])
65 cube([wall_thickness-3, 6, 3], center = true); // hole for top part mounting nut 84 cube([wall_thickness, 6, 3], center = false); // hole for top part mounting nut
66 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. -  
67 } -  
68 -  
69 translate ([wall_thickness/3, heatsink_xsize+2*wall_thickness+volume_encore-wall_thickness/3, height-wall_thickness/2]) -  
70 { -  
71 translate([-6, 0, -1.5]) 85 translate([0, 0, 1.8])
72 cube([wall_thickness-3, 6, 3], center = true); // hole for top part mounting nut -  
73 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. 86 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
74 } 87 }
75   88  
76 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, wall_thickness/3,height-wall_thickness/2]) -  
77 { -  
78 translate([6, 0, -1.5]) -  
79 cube([wall_thickness-3, 6, 3], center = true); // hole for top part mounting nut -  
80 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. -  
81 } 89 }
82   -  
83 } 90 }
84   91  
85   92  
86   93  
87 // Heat reservoir cover 94 // Heat reservoir cover
-   95 module cover (){
88 translate ([0, 0, 3*height]) 96 translate ([0, 0, 3*height])
89 { 97 {
90 difference () { 98 difference () {
91   99  
92 cube([heatsink_xsize+2*wall_thickness+volume_encore,heatsink_ysize+2*wall_thickness+volume_encore,wall_thickness]); 100 cube([heatsink_xsize+2*wall_thickness+volume_encore,heatsink_ysize+2*wall_thickness+volume_encore,wall_thickness]);
93 101
94 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, wall_thickness/3,0]) 102 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, wall_thickness/3,0])
95 { 103 {
96 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. 104 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
97 } 105 }
98 translate ([wall_thickness/3, wall_thickness/3,0]) 106 translate ([wall_thickness/3, wall_thickness/3,0])
99 { 107 {
100 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. 108 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
101 } 109 }
102 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, heatsink_ysize+2*wall_thickness-wall_thickness/3+volume_encore,0]) 110 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, heatsink_ysize+2*wall_thickness-wall_thickness/3+volume_encore,0])
103 { 111 {
104 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. 112 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
105 } 113 }
106 translate ([wall_thickness/3, heatsink_ysize+2*wall_thickness-wall_thickness/3+volume_encore,0]) 114 translate ([wall_thickness/3, heatsink_ysize+2*wall_thickness-wall_thickness/3+volume_encore,0])
107 { 115 {
108 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw. 116 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
-   117 }
109 } 118 }
110 } 119 }
111 } 120 }
-   121  
-   122 cover ();
112 123