116 lines
2.4 KiB
OpenSCAD
116 lines
2.4 KiB
OpenSCAD
// SoundSlab 10000 v1 case
|
|
//
|
|
// THIS IS ALL HACKY RIGHT NOW - OMG DO NOT USE
|
|
|
|
// imports
|
|
include <roundedcube.scad>
|
|
|
|
// parameters - all lengths in mm
|
|
battery_width = 60;
|
|
battery_length = 102;
|
|
battery_depth = 13;
|
|
|
|
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
|
|
);
|
|
}
|
|
}
|
|
}
|
|
|
|
} |