ambient-lighting-clock/case/clock.scad

88 lines
1.8 KiB
OpenSCAD
Raw Permalink Normal View History

2023-11-20 01:26:48 +01:00
$fn=60;
U=411;
R=U/(2*PI);
H=20;
module frame() {
rotate([0,0,3]) {
difference() {
union() {
// fins
for (i=[0:59]) {
rotate([0,0,6*i]) {
translate([0,R+2,1]) {
cube([1,13,H]);
}
}
}
// base plate
cylinder(h=2, r=R+15);
// back plate
translate([0,0,H-2]) {
cylinder(h=2, r=R);
}
// outer back plate
translate([0,0,H-1]) {
difference() {
cylinder(h=2, r=R+15);
translate([0,0,-1]) {
cylinder(h=4, r=R+10);
}
}
}
// led mounting cylinder
translate([0,0,1]) {
cylinder(h=H, r=R);
}
}
// middle cutout
translate([0,0,-1]) {
cylinder(h=H+1, r=R-3);
}
// frontplate mounting hole
for (i=[0:30:359]) {
rotate([0,0,i-3]) {
translate([0,R+7,-1]) {
cylinder(h=4, r=2);
}
}
}
// cable feed hole
rotate([0,0,-3]) {
translate([0,-R-1.9,2]) {
rotate([0,0,25]) {
cube([20,2,H-2]);
}
}
}
rotate([0,0,-3]) {
// back plate mounting hole
translate([0,R-10,H-3]) {
hull() {
cylinder(h=4, r=2.5);
translate([0,-10,0]) {
cylinder(h=5, r=7.5);
}
}
}
// back plate button holes
translate([20,0,H-1]) {
cylinder(h=4, r=2.5);
}
translate([-20,0,H-1]) {
cylinder(h=4, r=2.5);
}
// cabling holes
translate([0,R+1, H-2]) {
rotate([90,0,0]) {
cylinder(h=5, r=2);
}
}
}
}
}
}
frame();