Refactor chamfered cube implementation.
This commit is contained in:
+20
-24
@@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user