Character platform and retainer ring
This commit is contained in:
27
enclosure/character_retainer_ring.scad
Normal file
27
enclosure/character_retainer_ring.scad
Normal file
@@ -0,0 +1,27 @@
|
||||
// The support the character is inserted in when playing a story.
|
||||
// Mounted on the shell with two screws.
|
||||
// To be printed in clear plastic because it receives the light from the RGB led.
|
||||
|
||||
module character_retainer_ring() {
|
||||
$fn = 128;
|
||||
screw_hole_diameter = 2;
|
||||
difference() {
|
||||
// Body
|
||||
cylinder(d = 59.5, h = 4);
|
||||
cylinder(d = 40.5, h = 10, center = true);
|
||||
// 5mm LED hole
|
||||
translate([0, 25, 0]) sphere(d = 5, center = true);
|
||||
// Screw holes
|
||||
translate([25, 0, 0]) cylinder(d = screw_hole_diameter, h = 6, center = true);
|
||||
translate([-25, 0, 0]) cylinder(d = screw_hole_diameter, h = 6, center = true);
|
||||
}
|
||||
|
||||
// Retainers
|
||||
translate([0, 0, 3]) {
|
||||
rotate([0, 0, 30])translate ([19, -2, 0]) cube([1.5, 4, 1]);
|
||||
rotate([0, 0, 150]) translate ([19, -2, 0]) cube([1.5, 4, 1]);
|
||||
rotate([0, 0, 270]) translate ([19, -2, 0]) cube([1.5, 4, 1]);
|
||||
}
|
||||
}
|
||||
|
||||
character_retainer_ring();
|
||||
@@ -24,7 +24,17 @@ module keycap() {
|
||||
cylinder(h = 10, d = 20, $fn = 128);
|
||||
}
|
||||
|
||||
|
||||
module character_retainer_cutout() {
|
||||
$fn = 128;
|
||||
// Ring cutout
|
||||
cylinder(d = 60, h = 5);
|
||||
// 5mm LED hole
|
||||
translate([0, 25, 10]) cylinder(d = 5, h = 15, center = true);
|
||||
// Screw holes
|
||||
translate([25, 0, 10]) cylinder(d = screw_hole_diameter, h = 15, center = true);
|
||||
translate([-25, 0, 10]) cylinder(d = screw_hole_diameter, h = 15, center = true);
|
||||
}
|
||||
|
||||
//usb_cutout();
|
||||
//speaker_grille();
|
||||
//speaker_grille();
|
||||
character_retainer_cutout();
|
||||
@@ -4,7 +4,7 @@ use <cutouts.scad>
|
||||
|
||||
// FABULA open source storyteller enclosure
|
||||
|
||||
// TODO: open hardware logo, Fabula logo, move switch cutout, tag slot with led mount
|
||||
// TODO: open hardware logo, Fabula logo, tag slot with led mount
|
||||
|
||||
box_cut_height = 10;
|
||||
pcb_screw_size = 3;
|
||||
@@ -53,6 +53,7 @@ module fabula_enclosure_top() {
|
||||
translate([35.5, -12.5, -30]) keycap();
|
||||
translate([44.5, 23.5, -30]) keycap();
|
||||
translate([61, -2, -30]) keycap();
|
||||
translate([-50, 0, -30.5]) rotate([0, 0, 90]) character_retainer_cutout();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
use <internal_components.scad>
|
||||
use <fabula_enclosure.scad>
|
||||
use <keys.scad>
|
||||
use <character_retainer_ring.scad>
|
||||
|
||||
explode_view = false;
|
||||
|
||||
|
||||
module test_fit_components() {
|
||||
@@ -18,8 +21,15 @@ module test_fit_components() {
|
||||
translate([12.6, -35.6, 43]) next_keycap();
|
||||
translate([-23.4, -44.6, 43]) prev_keycap();
|
||||
translate([2.05, -61.05, 43]) vol_down_keycap();
|
||||
|
||||
// Components mounted on the external shell
|
||||
translate([0, 50, 45]) character_retainer_ring();
|
||||
}
|
||||
|
||||
//test_fit_components();
|
||||
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();
|
||||
//translate([0, 0, explode_view ? -20 : 20]) rotate([0, 0, -90]) rotate([180, 0, 0]) fabula_enclosure_bottom();
|
||||
translate([0, 0, explode_view ? 100 : 20]) rotate([0, 0, -90]) rotate([180, 0, 0]) fabula_enclosure_top();
|
||||
|
||||
//DEBUG
|
||||
//translate([0, 50, 45]) character_retainer_ring();
|
||||
//DEBUG
|
||||
Reference in New Issue
Block a user