Rev 4126 Rev 4132
Line 1... Line 1...
1 heatsink_xsize = 50; 1 heatsink_xsize = 50.1;
2 heatsink_ysize = 50; 2 heatsink_ysize = 50.1;
3 heatsink_zsize = 50; 3 heatsink_zsize = 45;
-   4 heatsink_thickness = 2;
4   5  
5 TEG_xsize = 30; 6 TEG_xsize = 40.1;
6 TEG_ysize = 30; 7 TEG_ysize = 40.1;
7 TEG_zsize = 5; 8 TEG_zsize = 8;
8   9  
9 mount_hole = 3.5; 10 mount_hole = 3.5; // mounting screw hole diameter
10 clearance = 0.175; 11 clearance = 0.175; // spare clearance for printing tolerances.
11 sealing_ring_width = 3; 12 sealing_ring_width = 3; // width of sealing gab under the cover
12 wall_thickness = 10; 13 wall_thickness = 12; // thickness of the box wall
-   14 volume_encore = 10; // space added to the size of internar heatsink
13   15  
14 height = heatsink_zsize + wall_thickness; 16 height = heatsink_zsize + TEG_zsize+volume_encore;
15   17  
16   18  
17 difference () { 19 difference () {
18 union (){ 20 union (){
19 cube([heatsink_xsize+2*wall_thickness,heatsink_ysize+2*wall_thickness,heatsink_zsize+wall_thickness]); // overal plastic brick 21 cube([heatsink_xsize+2*wall_thickness+volume_encore,heatsink_ysize+2*wall_thickness+volume_encore,height]); // overal plastic brick
20 // cube([heatsink_xsize+2*wall_thickness,heatsink_ysize+2*wall_thickness,heatsink_zsize+wall_thickness]); // overal plastic brick 22 // cube([heatsink_xsize+2*wall_thickness,heatsink_ysize+2*wall_thickness,heatsink_zsize+wall_thickness]); // overal plastic brick
21 } 23 }
22   24  
23 translate ([wall_thickness-clearance, wall_thickness-clearance, wall_thickness-clearance]) 25 translate ([wall_thickness-clearance+volume_encore/2, wall_thickness-clearance+volume_encore/2, TEG_zsize-clearance])
24 cube([heatsink_xsize+2*clearance, heatsink_ysize+2*clearance, heatsink_xsize+2*clearance]); // hollow for heat sink and heat storage liquid. 26 cube([heatsink_xsize+2*clearance, heatsink_ysize+2*clearance, heatsink_xsize+2*clearance]); // hollow for heat sink
-   27
-   28 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.
25   30  
26 translate ([((heatsink_xsize+2*wall_thickness)-TEG_xsize)/2 - clearance, ((heatsink_ysize+2*wall_thickness)-TEG_ysize)/2 - clearance, 0]) 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])
27 cube([TEG_xsize+2*clearance, TEG_ysize+2*clearance, wall_thickness]); // hollow for the thermoelectric generator 32 cube([TEG_xsize+2*clearance, TEG_ysize+2*clearance, wall_thickness]); // hollow for the thermoelectric generator
28   33  
-   34 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 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
-   39
29 translate ([wall_thickness, wall_thickness, height-sealing_ring_width]) 40 translate ([wall_thickness, wall_thickness, height-sealing_ring_width])
30 union () { 41 union () {
31 difference () { 42 difference () {
32 minkowski() { 43 minkowski() {
33 cube([heatsink_xsize, heatsink_xsize, sealing_ring_width]); // Rib for o-ring. 44 cube([heatsink_xsize+volume_encore, heatsink_xsize+volume_encore, sealing_ring_width]); // Rib for o-ring.
34 cylinder(r=wall_thickness/2,h=0.1); 45 cylinder(r=wall_thickness/2,h=0.1);
35 } 46 }
36   47  
37 translate ([sealing_ring_width/2, sealing_ring_width/2, 0]) 48 translate ([sealing_ring_width/2, sealing_ring_width/2, 0])
38 minkowski() { 49 minkowski() {
39 cube([heatsink_xsize-sealing_ring_width, heatsink_ysize-sealing_ring_width, sealing_ring_width]); // Rib for o-ring. 50 cube([heatsink_xsize-sealing_ring_width+volume_encore, heatsink_ysize-sealing_ring_width+volume_encore, sealing_ring_width]); // Rib for o-ring.
40 cylinder(r=wall_thickness/2,h=0.1); 51 cylinder(r=wall_thickness/2,h=0.1);
41 } 52 }
42 } 53 }
43 } 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 }
44 /* 61  
-   62 translate ([wall_thickness/3, wall_thickness/3, height-wall_thickness/2])
-   63 {
-   64 translate([-6, 0, -1.5])
45 rotate([0,0,-45]) // hole for top part mounting nut 65 cube([wall_thickness-3, 6, 3], center = true); // 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 {
46 translate ([ 0, -y_size/3, thickness/3]) 71 translate([-6, 0, -1.5])
47 cube([6, 3, thickness], center = true); 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.
-   74 }
48   75  
49 rotate([90,0,-45]) // hole for top part mounting screw. 76 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, wall_thickness/3,height-wall_thickness/2])
-   77 {
50 translate ([ 0, 1.8, 0]) 78 translate([6, 0, -1.5])
-   79 cube([wall_thickness-3, 6, 3], center = true); // hole for top part mounting nut
51 cylinder (h = thickness + rim_height, r= mount_hole/2, $fn=20); 80 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
-   81 }
52 */ 82  
53 } 83 }
54   84  
55 // Heat reservoir cover -  
56   85  
57 translate ([0, 0, 2*height]) -  
58 cube([heatsink_xsize+2*wall_thickness,heatsink_ysize+2*wall_thickness,wall_thickness]); -  
59   86  
-   87 // Heat reservoir cover
-   88 translate ([0, 0, 3*height])
-   89 {
-   90 difference () {
-   91  
-   92 cube([heatsink_xsize+2*wall_thickness+volume_encore,heatsink_ysize+2*wall_thickness+volume_encore,wall_thickness]);
-   93
-   94 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, wall_thickness/3,0])
-   95 {
-   96 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
-   97 }
-   98 translate ([wall_thickness/3, wall_thickness/3,0])
-   99 {
-   100 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
-   101 }
-   102 translate ([ heatsink_xsize+2*wall_thickness-wall_thickness/3+volume_encore, heatsink_ysize+2*wall_thickness-wall_thickness/3+volume_encore,0])
-   103 {
-   104 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
-   105 }
-   106 translate ([wall_thickness/3, heatsink_ysize+2*wall_thickness-wall_thickness/3+volume_encore,0])
-   107 {
-   108 cylinder (h = wall_thickness, r= mount_hole/2, $fn=20); // hole for top part mounting screw.
-   109 }
-   110 }
-   111 }