cleanup box

This commit is contained in:
2026-04-23 21:49:30 +02:00
parent 9db0473369
commit 6c4deab335
2 changed files with 46 additions and 26 deletions

View File

@@ -1,35 +1,47 @@
include <BOSL2/std.scad> include <BOSL2/std.scad>
// Parameter for console overwrite // Parameter for console overwrite
b = 79.8; b = 30.0;
t = 68.5; t = 30.0;
h = 22.5; h = 30.0;
module box(b, t, h) { module box(b, t, h) {
difference() { difference() {
// base // base
cuboid([ b, t, h], anchor = [ -1, -1, -1 ],rounding = 1,edges = [ TOP, FRONT + LEFT, FRONT + RIGHT, BACK + LEFT, BACK + RIGHT ]); cuboid(
[ b, t, h],
anchor = [ -1, -1, -1 ],
rounding = 1,
edges = [ TOP, FRONT + LEFT, FRONT + RIGHT, BACK + LEFT, BACK + RIGHT ]
);
// inner // inner
translate([ 5, 1.5, 1.5 ]) { translate([ 5, 1.5, 1.5 ]) {
cuboid([ b - 10, t - 3, h - 0.5 ], anchor = [ -1, -1, -1 ], cuboid(
rounding = 8, edges = [ BOTTOM + FRONT, BOTTOM + LEFT, BOTTOM + BACK, BOTTOM + RIGHT, FRONT + LEFT, FRONT + RIGHT, BACK + LEFT, BACK + RIGHT ]); [ b - 10, t - 3, h - 0.5 ],
anchor = [ -1, -1, -1 ],
rounding = 8,
edges = [ BOTTOM + FRONT, BOTTOM + LEFT, BOTTOM + BACK, BOTTOM + RIGHT, FRONT + LEFT, FRONT + RIGHT, BACK + LEFT, BACK + RIGHT ]
);
} }
// left lower // left lower
sideCut(b,t); sideCut(b,t);
// left upper // left upper
translate([0, 0, h]) { translate([0, 0, h]) {
mirror([0, 0, 1]) { mirror([0, 0, 1]) {
sideCut(b, t); sideCut(b, t);
} }
} }
// right lower // right lower
translate([b, 0, 0]) { translate([b, 0, 0]) {
mirror([1, 0, 0]) { mirror([1, 0, 0]) {
sideCut(b,t); sideCut(b,t);
} }
} }
// right upper // right upper
translate([b, 0, h]) { translate([b, 0, h]) {
mirror([1, 0, 0]) { mirror([1, 0, 0]) {
@@ -45,26 +57,28 @@ module sideCut(b,t) {
translate([0,-1,0]) { translate([0,-1,0]) {
rotate([-90,-90,0]) { rotate([-90,-90,0]) {
linear_extrude(t/4+4) { linear_extrude(t/4+4) {
polygon(points=[[-1,-1], [-1,1.6], [3.1, 1.6], [6.1,-1]]); polygon(points=[[-1,-1], [-1,1.85], [3.35, 1.85], [6.35,-1]]);
} }
} }
} }
difference() { difference() {
translate([0,t/4+2,0]) { translate([0,t/4+2,0]) {
rotate([-90,-90,0]) { rotate([-90,-90,0]) {
linear_extrude(0.75 * t) { linear_extrude(0.75 * t) {
polygon(points=[[-1,-1], [-1,3.2], [6.9, 3.2], [11.2,-1]]); polygon(points=[[-1,-1], [-1,3.45], [7.15, 3.45], [11.45,-1]]);
} }
} }
} }
translate([2.2,0.75 * t - 2.4, 0]) {
translate([2.45,0.75 * t - 2.4, 0]) {
rotate([90,-90,0]) { rotate([90,-90,0]) {
linear_extrude(0.4 * t + 5) { linear_extrude(0.4 * t + 5) {
polygon(points=[[-1,-1], [-1,0.6], [3.3, 0.6], [4.9,-1]]); polygon(points=[[-1,-1], [-1,0.35], [3.05, 0.35], [4.65,-1]]);
} }
} }
} }
} }
} }
box(b + 5, t + 3, h + 4); box(b, t, h - 2);

View File

@@ -1,19 +1,22 @@
include <BOSL2/std.scad> include <BOSL2/std.scad>
// Parameter for console overwrite // Parameter for console overwrite
b = 79.8; b = 30.0;
t = 68.5; t = 30.0;
module box(b, t) { module box(b, t) {
bInner = b - 10; bInner = b - 10;
tInner = t - 10; tInner = t - 10;
if (bInner >= 6 && tInner >= 6) { if (bInner >= 6 && tInner >= 6) {
difference() { difference() {
cube([ b, t, 1.5 ], false); cube([ b, t, 2 ], false);
bSpace = 5 + (((bInner + 2) % 8) / 2); bSpace = 5 + (((bInner + 2) % 8) / 2);
bAmount = (((bInner + 2) - bSpace + 5) / 8); bAmount = (((bInner + 2) - bSpace + 5) / 8);
tSpace = 5 + (((tInner + 2) % 8) / 2); tSpace = 5 + (((tInner + 2) % 8) / 2);
tAmount = (((tInner + 2) - tSpace + 5) / 8); tAmount = (((tInner + 2) - tSpace + 5) / 8);
for (i = [0:bAmount - 1], j = [0:tAmount - 1]) { for (i = [0:bAmount - 1], j = [0:tAmount - 1]) {
translate([ bSpace + i * 8, tSpace + j * 8, -1 ]) { translate([ bSpace + i * 8, tSpace + j * 8, -1 ]) {
cube([ 6, 6, 3.5 ], false); cube([ 6, 6, 3.5 ], false);
@@ -21,22 +24,24 @@ module box(b, t) {
} }
} }
} else { } else {
cube([ b, t, 1.5 ], false); cube([ b, t, 2 ], false);
} }
sideCut(b,t); sideCut(b,t);
translate([b, 0, 0]) {
mirror([1, 0, 0]) { translate([b, 0, 0]) {
sideCut(b,t); mirror([1, 0, 0]) {
} sideCut(b,t);
} }
}
} }
module sideCut(b,t) { module sideCut(b,t) {
difference() { difference() {
translate([0,0,1.5]) { translate([0,0,2]) {
cube([3, 0.75 * t - 2.5,6.6], false); cube([3, 0.75 * t - 2.5,6.6], false);
} }
translate([2.3,t/4+2,0]) {
translate([2.3,t/4+2,0.5]) {
rotate([-90,-90,0]) { rotate([-90,-90,0]) {
linear_extrude(0.5 * t) { linear_extrude(0.5 * t) {
polygon(points=[[-1,-1], [-1,1], [7, 1], [5.1,-1]]); polygon(points=[[-1,-1], [-1,1], [7, 1], [5.1,-1]]);
@@ -44,9 +49,10 @@ module sideCut(b,t) {
} }
} }
} }
translate([0,0,1.5]) {
translate([0,0,2]) {
cube([1.4, t, 3.4], false); cube([1.4, t, 3.4], false);
} }
} }
box(b + 5, t + 3); box(b, t);