summaryrefslogtreecommitdiff
path: root/case.scad
diff options
context:
space:
mode:
Diffstat (limited to 'case.scad')
-rw-r--r--case.scad221
1 files changed, 221 insertions, 0 deletions
diff --git a/case.scad b/case.scad
new file mode 100644
index 0000000..6514728
--- /dev/null
+++ b/case.scad
@@ -0,0 +1,221 @@
+$fn = 100;
+
+corner_radius = 30;
+inner_length = 185;
+inner_width = 113;
+
+union() {
+ difference () {
+ // Outer box
+ linear_extrude(height = 100, center = true)
+ minkowski() {
+ square([inner_length - corner_radius * 2 + 8, inner_width - corner_radius * 2 ], center = true);
+ circle(r = corner_radius);
+ }
+
+ // Inner box
+ translate([0, 0, 5])
+ linear_extrude(height = 100, center = true)
+ minkowski() {
+ square([inner_length - corner_radius * 2, inner_width - corner_radius * 2 - 5], center = true);
+ circle(r = corner_radius);
+ }
+
+ /*
+ // Remove front
+ translate([0,-65,5])
+ cube([160, 4.5, 90], center = true);
+
+ // front carving
+ translate([0,-68.3,1])
+ cube([170, 3.5, 90], center = true);
+ */
+
+ // LCD Holes
+ translate([-56, -40, -8])
+ rotate([90, 0, 0])
+ {
+ translate([-1,-0.25,0])
+ cube([74, 25.5, 50]);
+ // Screws
+ translate([-1.5, -2.2, 0])
+ cylinder(h = 50, d = 2.8);
+ translate([72 + 1.5, -2.2, 0])
+ cylinder(h = 50, d = 2.8);
+ translate([72 + 1.5, 24 + 4.2, 0])
+ cylinder(h = 50, d = 2.8);
+ translate([-1.5, 24 + 4.2, 0])
+ cylinder(h = 50, d = 2.8);
+ }
+
+ // Joystick
+ translate([45,-40,-10])
+ rotate([90,0,0])
+ {
+ translate([7.5,12,0])
+ cylinder(h=50, d=32);
+/*
+ cylinder(h = 50, d = 2.8);
+ translate([16.5, 0, 0])
+ cylinder(h = 50, d = 2.8);
+ translate([16.5, 25, 0])
+ cylinder(h = 50, d = 2.8);
+ translate([0, 25, 0])
+ cylinder(h = 50, d = 2.8);
+*/
+ }
+
+ // DC
+ translate([-60, 60, -20])
+ rotate([90,0,0])
+ cylinder(d=13, h = 20);
+
+ // Speaker
+ translate([-100,0,0])
+ rotate([0,90,0])
+ for(i = [0:8]) {
+ translate([(i % 3) *3.5,floor(i / 3) * 3.5,0])
+ cylinder(d=3, h=20);
+ }
+
+ // Speaker
+ translate([80,0,0])
+ rotate([0,90,0])
+ for(i = [0:8]) {
+ translate([(i % 3) * 3.5,floor(i / 3) * 3.5, 0])
+ cylinder(d=3, h=20);
+ }
+
+ }
+ // Joystick backplate
+ translate([39,-31,-48])
+ difference() {
+ cube([33, 3, 80]);
+ // Schrauben
+ translate([5.5,9,64])
+ rotate([90,0,0])
+ cylinder(d=3, h=20);
+ translate([25.1,9,64])
+ rotate([90,0,0])
+ cylinder(d=3, h=20);
+ translate([5.5,9,38.1])
+ rotate([90,0,0])
+ cylinder(d=3, h=20);
+ translate([25.1,9,38.1])
+ rotate([90,0,0])
+ cylinder(d=3, h=20);
+ }
+ // Supports
+ translate([39,-30,-48])
+ rotate([90,0,90])
+ linear_extrude(height = 2)
+ polygon( points = [
+ [8,0],
+ [0,80],
+ [-15,0]
+ ]);
+ translate([70,-30,-48])
+ rotate([90,0,90])
+ linear_extrude(height = 2)
+ polygon( points = [
+ [8,0],
+ [0,80],
+ [-15,0]
+ ]);
+}
+
+
+/*
+// front panel
+translate([200,-68.5,3])
+difference() {
+ union() {
+ cube([169.5, 3, 92], center = true);
+ translate([0,3,0])
+ cube([159.5, 3, 85], center = true);
+ }
+
+ // LCD Holes
+ translate([-60, 30, -8])
+ rotate([90, 0, 0])
+ {
+ cube([72, 16, 50]);
+ // Screws
+ translate([-2.5, -3, 0])
+ cylinder(h = 50, d = 2.8);
+ translate([72 + 2.5, -3, 0])
+ cylinder(h = 50, d = 2.8);
+ translate([72 + 2.5, 16 + 4.4, 0])
+ cylinder(h = 50, d = 2.8);
+ translate([-2.5, 16 + 4.4, 0])
+ cylinder(h = 50, d = 2.8);
+ }
+
+ // Joystick
+ translate([45,30,-10])
+ rotate([90,0,0])
+ {
+ translate([7,12,0])
+ cylinder(h=50, d=24);
+
+ cylinder(h = 50, d = 2.8);
+ translate([16.5, 0, 0])
+ cylinder(h = 50, d = 2.8);
+ translate([16.5, 25, 0])
+ cylinder(h = 50, d = 2.8);
+ translate([0, 25, 0])
+ cylinder(h = 50, d = 2.8);
+ }
+}
+*/
+
+
+
+// Lid
+//translate([0, inner_width + 6, 0])
+//translate([0,0,5])
+//rotate([180,0,0])
+difference() {
+ // Outer box
+ linear_extrude(height = 100, center = true)
+ minkowski() {
+ square([inner_length - corner_radius * 2 + 14, inner_width - corner_radius * 2 + 5], center = true);
+ circle(r = corner_radius);
+ }
+ // Inner Box
+ translate([0,0,-5])
+ linear_extrude(height = 100, center = true)
+ minkowski() {
+ square([inner_length - corner_radius * 2 + 8.3, inner_width - corner_radius * 2 + 0.3], center = true);
+ circle(r = corner_radius);
+ }
+ // Cut the bottom
+ translate([0,0,-463])
+ cube([1000,1000,1000], center = true);
+/*
+ // Hole for the front
+ translate([0,-61.5,1.5])
+ cube([160, 4.5 , 86], center = true);
+*/
+
+ // Text
+ translate([0,0,47.5])
+ linear_extrude(12)
+ {
+ translate([0,30,0])
+ text ("The", font = "FiraCode:style=Bold", halign = "center", valign = "center", size = 20);
+ text("Morning", font = "FiraCode:style=Bold", halign = "center", valign = "center", size = 20);
+ translate([0,-28,0])
+ text("Piss Off", font = "FiraCode:style=Bold", halign = "center", valign = "center", size = 20);
+ }
+}
+
+//if($preview) {
+ translate([-20,-50,5])
+ rotate([90])
+ import("/home/jeremias/Downloads/LCD_1602.stl");
+
+ translate([-12,-38,-400])
+ rotate([90,0,0])
+ import("/home/jeremias/Downloads/FICBOX_Dual-axis_XY_Joystick_Module_For_Arduino_Dummy.stl");
+//} \ No newline at end of file
Jeremias Stotters git repositories generated by CGIT