Chamfered junction lip (but not printeable because of missing supports

This commit is contained in:
2026-01-04 00:17:14 +01:00
parent 2747df0265
commit 5dc6fd3ac3

View File

@@ -1,8 +1,10 @@
// FABULA open source storyteller enclosure // FABULA open source storyteller enclosure
// TODO: open hardware logo, Fabula logo, cutouts for components and buttons, tag slot with led mount
// Global dimensions, change here // Global dimensions, change here
width = 200; width = 180;
height = 100; height = 90;
depth = 40; depth = 40;
screw_diameter = 3; screw_diameter = 3;
@@ -121,31 +123,39 @@ module cap() {
} }
} }
// Lip // Lip
translate([0, 0, box_cut_height - 1]) { for (i = [0:10]) {
intersection() { translate([0, 0, box_cut_height - i * 0.5]) {
difference() { intersection() {
main_body(); difference() {
scale([0.96, 0.96, 0.96]) { scale_ratio = 1 - i * 0.001;
main_body(); scale([scale_ratio, scale_ratio, scale_ratio]) {
} main_body();
// Clear screws standoffs near curved edges }
translate([width/2 - rounded_edge_diameter/2, -height/2, 0]) { scale([0.95, 0.95, 0.95]) main_body();
standoff();
} /*
translate([-width/2 + rounded_edge_diameter/2, height/2, 0]) { // Clear screws standoffs near curved edges
standoff(); translate([width/2 - rounded_edge_diameter/2, -height/2, 0]) {
} standoff();
// Clear screws standoff near sharp edges }
translate([-width/2, -height/2, 0]) { translate([-width/2 + rounded_edge_diameter/2, height/2, 0]) {
standoff(); standoff();
} }
translate([width/2, height/2, 0]) { // Clear screws standoff near sharp edges
standoff(); translate([-width/2, -height/2, 0]) {
standoff();
}
translate([width/2, height/2, 0]) {
standoff();
}
*/
} }
cube([width*2, height*2, 0.5], true);
} }
cube([width*2, height*2, 3], true);
} }
} }
} }
closed_box(); //closed_box();
cap();