Update character retainer ring

This commit is contained in:
2026-01-11 10:07:12 +01:00
parent c418623cd0
commit e95e0a1625
2 changed files with 20 additions and 9 deletions

View File

@@ -7,6 +7,7 @@ module character_retainer_platform() {
$fn = 128; $fn = 128;
cylinder(d1 = 38, d2 = 40, h = 2); cylinder(d1 = 38, d2 = 40, h = 2);
translate([0, 0, 2]) cylinder(d2 = 38, d1 = 40, h = 1); translate([0, 0, 2]) cylinder(d2 = 38, d1 = 40, h = 1);
// Indent for the snap-in
translate([0, 0, 3]) cylinder(d = 38, h = 1); translate([0, 0, 3]) cylinder(d = 38, h = 1);
translate([0, 0, 4]) cylinder(d1 = 38, d2 = 40, h = 1); translate([0, 0, 4]) cylinder(d1 = 38, d2 = 40, h = 1);
difference() { difference() {

View File

@@ -1,27 +1,37 @@
// The support the character is inserted in when playing a story. // The support the character is inserted in when playing a story.
// Mounted on the shell with two screws. // Mounted on the shell with two screws.
// To be printed in clear plastic because it receives the light from the RGB led. // To be printed in clear plastic because it receives the light from the RGB led.
// Indents at height 4
module retainer_spring() {
rotate_extrude(convexity = 10, angle = 120, $fn = 128)
translate([22, 0, 0])
square([2, 10]);
}
module character_retainer_ring() { module character_retainer_ring() {
$fn = 128; $fn = 128;
screw_hole_diameter = 2; screw_hole_diameter = 2;
difference() { difference() {
// Body // Body
cylinder(d = 59.5, h = 4); cylinder(d = 59.5, h = 6);
cylinder(d = 40.5, h = 10, center = true); cylinder(d = 40.5, h = 20, center = true);
// 5mm LED hole // 5mm LED hole
translate([0, 25, 0]) sphere(d = 5, center = true); //translate([0, 25, 0]) sphere(d = 5);
// Screw holes // 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);
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);
// Retainer springs
rotate([0, 0, 30]) retainer_spring();
rotate([0, 0, 210]) retainer_spring();
} }
// Retainers // Retainer bumps
translate([0, 0, 3]) { rotate([0, 0, 90]) translate ([20.25, 0, 4]) sphere(d = 2);
rotate([0, 0, 30])translate ([19, -2, 0]) cube([1.5, 4, 1]); rotate([0, 0, 270]) translate ([20.25, 0, 4]) sphere(d = 2);
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]);
}
} }
//retainer_spring();
character_retainer_ring(); character_retainer_ring();