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