Rev Author Line No. Line
4124 kaklik 1 heatsink_xsize = 50;
2 heatsink_ysize = 50;
3 heatsink_zsize = 50;
4  
5 TEG_xsize = 50;
6 TEG_ysize = 50;
7 TEG_zsize = 50;
8  
9 mount_hole = 3.5;
10 clearance = 0.175;
11 sealing_ring_width = 3;
12 wall_thickness = 10;
13  
14 height = heatsink_zsize + wall_thickness;
15  
16  
17 difference () {
18 union (){
19 cube([heatsink_xsize+2*wall_thickness,heatsink_ysize+2*wall_thickness,heatsink_zsize+wall_thickness]); // overal plastic brick
20 // cube([heatsink_xsize+2*wall_thickness,heatsink_ysize+2*wall_thickness,heatsink_zsize+wall_thickness]); // overal plastic brick
21 }
22  
23 translate ([wall_thickness-clearance, wall_thickness-clearance, wall_thickness-clearance])
24 cube([heatsink_xsize+2*clearance, heatsink_ysize+2*clearance, heatsink_xsize+2*clearance]); // hollow for heat sink and heat storage liquid.
25  
26 translate ([(heatsink_xsize-TEG_xsize)/2 - clearance, (heatsink_ysize-TEG_ysize)/2 - clearance, 0])
27 cube([TEG_xsize+2*clearance, TEG_ysize+2*clearance, wall_thickness]); // hollow for the thermoelectric generator
28  
29 translate ([0, 0, height-sealing_ring_width/2])
30 difference () {
31 minkowski() {
32 cube([heatsink_xsize-sealing_ring_width/2, heatsink_xsize-sealing_ring_width/2, 5]); // Rib for o-ring.
33 cylinder(r=wall_thickness/2,h=0.1);
34 }
35  
36 minkowski() {
37 cube([heatsink_xsize+sealing_ring_width/2, heatsink_xsize+sealing_ring_width/2, 5]); // Rib for o-ring.
38 cylinder(r=wall_thickness/2,h=0.1);
39 }
40 }
41 /*
42 rotate([0,0,-45]) // hole for top part mounting nut
43 translate ([ 0, -y_size/3, thickness/3])
44 cube([6, 3, thickness], center = true);
45  
46 rotate([90,0,-45]) // hole for top part mounting screw.
47 translate ([ 0, 1.8, 0])
48 cylinder (h = thickness + rim_height, r= mount_hole/2, $fn=20);
49 */
50 }
51  
52 // Heat reservoir cover
53  
54 translate ([0, 0, 2*height])
55 cube([heatsink_xsize+2*wall_thickness,heatsink_ysize+2*wall_thickness,wall_thickness]);
56