diff --git a/iot/Housing.scad b/iot/Housing.scad index 6a3787b..6d87407 100644 --- a/iot/Housing.scad +++ b/iot/Housing.scad @@ -37,6 +37,8 @@ module screw_port() { $fn = 25 ); + + // TODO: Measure screw size, as these holes might be too big. Note that they apparently end up slightly smaller anyway, due to openscad's rendering apparent - but this probably won't be enough. color("mediumpurple") translate([0, 0, wall_thickness + 0.1]) cylinder( h = screw_length, d = screw_diameter, @@ -45,24 +47,7 @@ module screw_port() { }; } -// Box -// ------------------------------------------- - -difference() { - color("green") cube(box_outside); - - translate([wall_thickness, wall_thickness, wall_thickness]) { - cube(box_inside); - } -}; - -// Screw holes -// ------------------------------------------- - -translate([0, 0, 200]) screw_port(); - -// Corners -// ------------------------------------------- +// Corner generation corner_piece_size = screw_diameter + (wall_thickness * 2); module corner_piece() { color("red") difference() { @@ -77,25 +62,54 @@ module corner_piece() { box_inside[2] - screw_length + 0.1 ]) cylinder(h = screw_length, d = screw_diameter, $fn = 25); } +}; + +// Box +// ------------------------------------------- + +union() { +difference() { + cube(box_outside); + + translate([wall_thickness, wall_thickness, wall_thickness]) { + cube(box_inside); + } } -translate([ - wall_thickness, - wall_thickness, - wall_thickness -]) corner_piece(); -translate([ - wall_thickness + box_inside[0] - corner_piece_size, - wall_thickness, - wall_thickness -]) corner_piece(); -translate([ - wall_thickness, - wall_thickness + box_inside[1] - corner_piece_size, - wall_thickness -]) corner_piece(); -translate([ - wall_thickness + box_inside[0] - corner_piece_size, - wall_thickness + box_inside[1] - corner_piece_size, - wall_thickness -]) corner_piece(); \ No newline at end of file +// Screw holes +// ------------------------------------------- + +// Arduino +translate([53.4+8, 60, wall_thickness]) rotate([0, 0, 90]) { + screw_port(); // Top left + translate([50.8, 15.2]) screw_port(); + translate([50.8, 43.1]) screw_port(); + translate([-1.3, 48.2]) screw_port(); + + % translate([-15.3, -2, screw_length + wall_thickness]) square([68.6, 53.4]); +} + +// Corners +// ------------------------------------------- + + translate([ + wall_thickness, + wall_thickness, + wall_thickness - 0.1 + ]) corner_piece(); + translate([ + wall_thickness + box_inside[0] - corner_piece_size, + wall_thickness, + wall_thickness - 0.1 + ]) corner_piece(); + translate([ + wall_thickness, + wall_thickness + box_inside[1] - corner_piece_size, + wall_thickness - 0.1 + ]) corner_piece(); + translate([ + wall_thickness + box_inside[0] - corner_piece_size, + wall_thickness + box_inside[1] - corner_piece_size, + wall_thickness - 0.1 + ]) corner_piece(); +}