diff --git a/files/OdroidM1-HDD_case.scad b/files/OdroidM1-HDD_case.scad index 9d1132c..ddcf871 100644 --- a/files/OdroidM1-HDD_case.scad +++ b/files/OdroidM1-HDD_case.scad @@ -4,7 +4,8 @@ // Ease assembly -$w=1.5; // wall thickness +$w=2.5; // wall thickness +$wf=1.5; // wall thickness for front and back faces $g=.2; // gap $hl=123; // heatsink length @@ -12,9 +13,9 @@ $hw=100; // heatsink width $hrailh=1.7 - $g; // heatsink rail height $hrailw=1.7 - $g; // heatsink rail witdth -$boxh=40.5; // box height +$boxh=52.5; // box height $boxw=$hw + 2 * ($w + $g); // box width -$boxl=$hl / 2 + ($w + $g); // box length +$boxl=$hl / 2 + ($wf + $g); // box length $feeth=5.3; // feet height @@ -54,9 +55,24 @@ module backBox() { module frontLabel() { color("green") - translate([$boxw / 2 - 6, $boxl - .5, $feeth + 5]) + translate([$boxw / 2 - 6, $boxl - .5, $feeth + 7.5]) rotate([90, 0, 180]) - linear_extrude(2) text("Odroid M1", size=4); + union() { + translate([4,10.5,0]) + linear_extrude(2) text("Projet CLIC", size=5); + translate([54,10.5,0]) + linear_extrude(2) text("projetclic.cc", size=5); + translate([4,4,0]) + linear_extrude(2) text("YesWiki", size=5); + translate([55.75,4,0]) + linear_extrude(2) text("yeswiki.net", size=5); + translate([4,-2.5,0]) + linear_extrude(2) text("Le DistriLab", size=5); + translate([60,-2.5,0]) + linear_extrude(2) text("distrilab.fr", size=5); + } + translate([0, $boxl, $feeth + $boxh - 38.5]) + corners(23, 92); } module frontScrewoles() { @@ -88,12 +104,12 @@ module connectors() { difference() { union() { connector($boxw - 2 * $w); - translate([-$boxw / 2, 0, $feeth + $w + 12.55]) + translate([-$boxw / 2, 0, $feeth + $w + ($boxh-15.5)/2+0.05]) rotate([0, 90, 0]) - connector(25, 0); - translate([$boxw / 2, 0, $feeth + $w + 12.55]) + connector($boxh-15.5, 0); + translate([$boxw / 2, 0, $feeth + $w + ($boxh-15.5)/2+0.05]) rotate([0, -90, 0]) - connector(25, 0); + connector($boxh-15.5, 0); } translate([$boxw / 2 - .5 * $w, -5, $feeth + $w]) rotate([0, -45, 0]) @@ -137,13 +153,13 @@ module backHoles() { corners(24.26, 92); translate([31.9, $boxl, $boxh - 9.92]) - cube([12.8, 5, 3.1], center=true); + cube([12.8, 5+$w, 3.1], center=true); translate([19, $boxl, $feeth + $boxh - 13.8]) rotate([90, 0, 0]) - cylinder(h=5, r=3, center=true, $fn=100); + cylinder(h=5+$w, r=3, center=true, $fn=100); translate([-32.33, $boxl, $feeth + $boxh - 9.4]) rotate([90, 0, 0]) - cylinder(h=5, r=2.85, center=true, $fn=100); + cylinder(h=5+$w, r=2.85, center=true, $fn=100); } } @@ -153,44 +169,44 @@ module frontHoles() { corners(24.26, 92); // ethernet translate([34.42, $boxl, $feeth + $boxh - 14]) - cube([15.32, 5, 13.5], center=true); + cube([15.32, 5+$wf, 13.5], center=true); // usb translate([-2.87, $boxl, $feeth + $boxh - 15.5]) - cube([14.5, 5, 16], center=true); + cube([14.5, 5+$wf, 16], center=true); translate([-21, $boxl, $feeth + $boxh - 15.5]) - cube([14.5, 5, 16], center=true); + cube([14.5, 5+$wf, 16], center=true); // power translate([-38.8, $boxl, $feeth + $boxh - 14.07]) rotate([90, 0, 0]) - cylinder(h=5, r=3.725, center=true, $fn=100); + cylinder(h=5+$wf, r=3.725, center=true, $fn=100); // hdmi translate([17.13, $boxl, $feeth + $boxh - 10.8]) { difference() { - cube([15.35, 5, 6], center=true); + cube([15.35, 5+$wf, 6], center=true); translate([-10, 0, 3]) rotate([0, 45, 0]) - cube([6, 6, 6], center=true); + cube([6, 6+$wf, 6], center=true); translate([10, 0, 3]) rotate([0, -45, 0]) - cube([6, 6, 6], center=true); + cube([6, 6+$wf, 6], center=true); } } // micro-usb translate([-21.21, $boxl, $feeth + $boxh - 4.3]) difference() { - cube([8, 5, 3], center=true); + cube([8, 5+$wf, 3], center=true); translate([-5, 0, -1.5]) rotate([0, -45, 0]) - cube([3, 6, 3], center=true); + cube([3, 6+$wf, 3], center=true); translate([5, 0, -1.5]) rotate([0, 45, 0]) - cube([3, 6, 3], center=true); + cube([3, 6+$wf, 3], center=true); } translate([-39, $boxl - 3.5, $feeth + $boxh - 13.3]) - cube([11, 5, 13], center=true); + cube([11, 5+$wf, 13], center=true); translate([16.8, $boxl - 3.5, $feeth + $boxh - 11]) - cube([19, 5, 10], center=true); + cube([19, 5+$wf, 10], center=true); } } @@ -286,8 +302,8 @@ module walls() { difference() { union() { // front wall - translate([0, $boxl - $w / 2, $feeth + $boxh / 2]) - cube([$boxw, $w, $boxh], center=true); + translate([0, $boxl - $wf / 2, $feeth + $boxh / 2]) + cube([$boxw, $wf, $boxh], center=true); // left wall translate([($boxw - $w) / 2, $boxl / 2, $feeth + $boxh / 2]) cube([$w, $boxl, $boxh], center=true); @@ -297,10 +313,10 @@ module walls() { } // corners cuts - translate([($boxw - $w) / 2 + 5, $boxl / 2, $feeth + 41.1]) + translate([($boxw - $w) / 2 + 5, $boxl / 2, $feeth + $boxh + 0.6]) rotate([0,45,0]) cube([20, $boxl + 10, 15],center=true); - translate([-(($boxw - $w) / 2 + 5), $boxl / 2, $feeth + 41.1]) + translate([-(($boxw - $w) / 2 + 5), $boxl / 2, $feeth + $boxh + 0.6]) rotate([0,-45,0]) cube([20, $boxl + 10, 15],center=true); } @@ -329,9 +345,9 @@ module walls() { } module rails() { - translate([($boxw / 2 - $w) - ($hrailw - $w / 2) / 2, $boxl / 2, $feeth + 33.8]) + translate([($boxw / 2 - $w) - ($hrailw - $w / 2) / 2, $boxl / 2, $feeth + $boxh-6.7]) cube([$hrailw + $w / 2, $boxl - $w, $hrailh], center=true); - translate([-(($boxw / 2 - $w) - ($hrailw - $w / 2) / 2), $boxl / 2, $feeth + 33.8]) + translate([-(($boxw / 2 - $w) - ($hrailw - $w / 2) / 2), $boxl / 2, $feeth + $boxh-6.7]) cube([$hrailw + $w / 2, $boxl - $w, $hrailh], center=true); } @@ -374,3 +390,4 @@ module feet() { cube([$w * 2, $f * 2, $f * 2], center=true); } } +