From 554964de018a97f58b2c75d3c2a373e3a948fa63 Mon Sep 17 00:00:00 2001 From: Daniele Verducci Date: Sun, 4 Jan 2026 01:46:14 +0100 Subject: [PATCH] Added battery and speaker supports --- enclosure/fabula_enclosure.scad | 12 ++++++++++++ enclosure/supports.scad | 11 +++++++++-- enclosure/test_fit.scad | 11 ++++++----- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/enclosure/fabula_enclosure.scad b/enclosure/fabula_enclosure.scad index a6b0d7c..e6e4602 100644 --- a/enclosure/fabula_enclosure.scad +++ b/enclosure/fabula_enclosure.scad @@ -6,12 +6,24 @@ use // TODO: open hardware logo, Fabula logo, cutouts for components and buttons, tag slot with led mount +box_cut_height = 10; + module fabula_enclosure_bottom() { cap(); + + // Supports + translate([-30, 0, 19.1]) supports_speaker(); + translate([28, 0, 14.1]) rotate([0, 180, 90]) supports_battery(); + + // Cutouts } module fabula_enclosure_top() { box(); + + // Supports + + // Cutouts } translate([0, -60, 0]) rotate([180, 0, 0]) fabula_enclosure_bottom(); diff --git a/enclosure/supports.scad b/enclosure/supports.scad index 1a4bc55..8d8b202 100644 --- a/enclosure/supports.scad +++ b/enclosure/supports.scad @@ -2,7 +2,14 @@ module supports_speaker() { difference() { - cylinder(d = 84, h = 2); - cylinder(d = 80, h = 2); + cylinder(d = 84, h = 2, center = true); + cylinder(d = 80, h = 2.1, center = true); } } + +module supports_battery() { + difference() { + cube([71, 23, 12], true); + translate([0, 0, 3]) rotate([0, 90, 0]) cylinder(h = 67, d = 19, center = true); + } +} \ No newline at end of file diff --git a/enclosure/test_fit.scad b/enclosure/test_fit.scad index 5ec7daf..f768027 100644 --- a/enclosure/test_fit.scad +++ b/enclosure/test_fit.scad @@ -6,14 +6,15 @@ use module test_fit_components() { // Internal components - translate([0, 35, 0]) speaker_80(); + translate([0, 30, 0]) speaker_80(); translate([0, 0, 35]) pcb(); - translate([0, -14, 9]) rotate([0, 90, 0]) battery_18650(); + translate([0, -28, 9]) rotate([0, 90, 0]) battery_18650(); // Components that require cutout on external shell - translate([40, -80, 10]) rotate([0, 90, 0]) rotate([0, 0, 90]) li_ion_4056_charger_module(); - translate ([46.5, -40, 10]) rotate([90, 0, 0]) rotate([0, 90, 0]) switch(); + translate([-35, -78, 30]) rotate([90, 0, 0]) li_ion_4056_charger_module(); + translate([-5, -92, 30]) rotate([90, 0, 0]) switch(); } test_fit_components(); -translate([0, 0, 20]) rotate([0, 0, -90]) #fabula_enclosure_bottom(); \ No newline at end of file +translate([0, 0, 20]) rotate([0, 0, -90]) rotate([180, 0, 0]) #fabula_enclosure_bottom(); +//translate([0, 0, 20]) rotate([0, 0, -90]) rotate([180, 0, 0]) #fabula_enclosure_top(); \ No newline at end of file