From 70ef92b45cd43bff28283ec7474d741522716c31 Mon Sep 17 00:00:00 2001 From: Jonathan Bernard Date: Fri, 2 Jan 2026 17:03:42 -0600 Subject: [PATCH] Refactor chamfered cube implementation. --- lib/chamfered-cube.scad | 44 +++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/lib/chamfered-cube.scad b/lib/chamfered-cube.scad index 11c9277..7da8509 100644 --- a/lib/chamfered-cube.scad +++ b/lib/chamfered-cube.scad @@ -1,24 +1,20 @@ -module chamferedCube(size = [1, 1, 1], chamfer = 1) { - ep = 0.01; - difference() { - cube(size); - - // X-axis - for (i = [0:3]) { - translate([-ep, size[1] * floor(i/2), size[2] * (i%2) - chamfer]) - rotate([45, 0, 0]) cube([size[0] + 2*ep, 1.414*chamfer, 1.414*chamfer]); - } - - // Y-axis - for (i = [0:3]) { - translate([size[0] * floor(i/2) - chamfer, -ep, size[2] * (i%2)]) - rotate([0, 45, 0]) cube([1.414*chamfer, size[1] + 2*ep, 1.414*chamfer]); - } - - // Z-axis - for (i = [0:3]) { - translate([size[0] * floor(i/2), size[1] * (i%2) - chamfer, -ep]) - rotate([0, 0, 45]) cube([1.414*chamfer, 1.414*chamfer, size[2] + 2*ep]); - } - } -} +module chamferedCube(size = [1, 1, 1], chamfer = 1) { + ep = 0.01; + difference() { + cube(size); + + for (i = [0:3]) { + // X-axis + translate([-ep, size[1] * floor(i/2), size[2] * (i%2) - chamfer]) + rotate([45, 0, 0]) cube([size[0] + 2*ep, 1.414*chamfer, 1.414*chamfer]); + + // Y-axis + translate([size[0] * floor(i/2) - chamfer, -ep, size[2] * (i%2)]) + rotate([0, 45, 0]) cube([1.414*chamfer, size[1] + 2*ep, 1.414*chamfer]); + + // Z-axis + translate([size[0] * floor(i/2), size[1] * (i%2) - chamfer, -ep]) + rotate([0, 0, 45]) cube([1.414*chamfer, 1.414*chamfer, size[2] + 2*ep]); + } + } +}