88 lines
No EOL
1.8 KiB
OpenSCAD
88 lines
No EOL
1.8 KiB
OpenSCAD
$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(); |