diff --git a/soundslab_10000_v1.scad b/soundslab_10000_v1.scad index fe27b0b..0d0ca25 100644 --- a/soundslab_10000_v1.scad +++ b/soundslab_10000_v1.scad @@ -1,8 +1,116 @@ // SoundSlab 10000 v1 case +// +// THIS IS ALL HACKY RIGHT NOW - OMG DO NOT USE + +// imports +include // parameters - all lengths in mm battery_width = 60; battery_length = 102; battery_depth = 13; -depth_of_circuit_boards = 18; // includes tallest component \ No newline at end of file +depth_of_circuit_boards = 6; // includes tallest component + +lcd_width = 23.4; +lcd_height = 23.4; +lcd_depth = 6; // how far to recess from top surface of case + +// build +difference() { + // case + roundedcube( + [ + battery_width + 1, + battery_length + 1, + depth_of_circuit_boards + battery_depth + 2 + ], + false, + 5 + ); + + // active area of the LCD screen is 23.4mm x 23.4mm according to http://www.lcdwiki.com/1.3inch_IPS_Module + // lcd cutout + translate ([ + ((battery_width + 1) / 2) + 8 - (lcd_width / 2), + ((battery_length + 1) - 10) - (lcd_height), + battery_depth + 6 + ]) { + color ("blue") { + cube( + [lcd_width, lcd_height, lcd_depth], + false + ); + } + } + + // lcd buttons + translate ([ + ((battery_width + 1) / 2) + 21, + ((battery_length + 1) - 18), + battery_depth + 6 + ]) { + color ("green") { + cube( + [3, 2, lcd_depth], + false + ); + } + } + + translate ([ + ((battery_width + 1) / 2) + 21, + ((battery_length + 1) - 28), + battery_depth + 6 + ]) { + color ("green") { + cube( + [3, 2, lcd_depth], + false + ); + } + } + + translate ([ + ((battery_width + 1) / 2) - 8, + ((battery_length + 1) - 18), + battery_depth + 6 + ]) { + color ("green") { + cube( + [3, 2, lcd_depth], + false + ); + } + } + + translate ([ + ((battery_width + 1) / 2) - 8, + ((battery_length + 1) - 28), + battery_depth + 6 + ]) { + color ("green") { + cube( + [3, 2, lcd_depth], + false + ); + } + } + + // joystick + translate ([ + ((battery_width + 1) / 2) - 17, + ((battery_length + 1) - 27.5), + battery_depth + 6 + ]) { + rotate(a=45,v=[0,0,1]) { + color ("green") { + cube( + [8, 8, lcd_depth], + false + ); + } + } + } + +} \ No newline at end of file