-
-
Notifications
You must be signed in to change notification settings - Fork 10
Description
// Carcasa estilo Neo Geo MVS Mini
// Escala: 30 cm (mm en OpenSCAD)
width = 200; // Ancho frontal
depth = 250; // Profundidad
height_front = 300; // Alto frontal
height_back = height_front * 0.8; // Alto trasero
thickness = 3; // Grosor pared
module arcade_shell() {
// Caja exterior como poligonal (trapezoidal)
polyhedron(
points = [
[0, 0, 0], // 0
[width, 0, 0], // 1
[width, depth, 0], // 2
[0, depth, 0], // 3
[0, 0, height_front], // 4
[width, 0, height_front], // 5
[width, depth, height_back], // 6
[0, depth, height_back] // 7
],
faces = [
[0,1,2], [0,2,3], // Base
[4,5,1], [4,1,0], // Frente superior
[5,6,2], [5,2,1], // Lado derecho
[6,7,3], [6,3,2], // Parte trasera
[7,4,0], [7,0,3], // Lado izquierdo
[4,5,6], [4,6,7] // Techo
]
);
// Restar pared interior
translate([thickness, thickness, thickness]) scale([(width-2thickness)/width, (depth-2thickness)/depth, (height_front-2*thickness)/height_front])
arcade_shell_inner();
}
module arcade_shell_inner() {
polyhedron(
points = [
[0, 0, 0],
[width, 0, 0],
[width, depth, 0],
[0, depth, 0],
[0, 0, height_front],
[width, 0, height_front],
[width, depth, height_back],
[0, depth, height_back]
],
faces = [
[0,1,2], [0,2,3],
[4,5,1], [4,1,0],
[5,6,2], [5,2,1],
[6,7,3], [6,3,2],
[7,4,0], [7,0,3],
[4,5,6], [4,6,7]
]
);
}
// Ejecutar
difference() {
arcade_shell();
}