57 lines
2.0 KiB
OpenSCAD
57 lines
2.0 KiB
OpenSCAD
/**
|
|
* Combine with '32x8 LED Matrix grid for diffuser'
|
|
* https://www.thingiverse.com/thing:1903744
|
|
*
|
|
* 12x 2.6x10mm plastic screws
|
|
*
|
|
* -- noah@hack.se, 2018
|
|
*
|
|
*/
|
|
|
|
|
|
module polyhole(d, h) {
|
|
n = max(round(2 * d),3);
|
|
rotate([0,0,180])
|
|
cylinder(h = h, r = (d / 2) / cos (180 / n), $fn = n);
|
|
}
|
|
|
|
thickness=5;
|
|
cylSize=6.25;
|
|
screwXDistance=75;
|
|
screwYDistance=86;
|
|
|
|
difference() {
|
|
union() {
|
|
// 2x3 screw holes
|
|
for(x=[0,1,2]) {
|
|
translate([x*screwXDistance,0,0]) polyhole(d=cylSize, h=thickness);
|
|
translate([x*screwXDistance,screwYDistance,0]) polyhole(d=cylSize, h=thickness);
|
|
}
|
|
// Stabilizator
|
|
translate([2*screwXDistance-8,-cylSize/2,0]) rotate([0,0,45])cube([14,5,thickness]);
|
|
translate([2*screwXDistance+19.5,screwYDistance,0]) polyhole(d=cylSize, h=thickness);
|
|
|
|
// X beams to joins screw holes
|
|
for(x=[0,1]) {
|
|
translate([x*screwXDistance,-cylSize/2,0]) cube([screwXDistance,thickness, thickness]);
|
|
translate([x*screwXDistance,cylSize/2-thickness+screwYDistance,0]) cube([screwXDistance,thickness, thickness]);
|
|
}
|
|
// Stabilizator
|
|
translate([2*screwXDistance,cylSize/2-thickness+screwYDistance,0]) cube([19.5+cylSize/2,thickness, thickness]);
|
|
|
|
// Y beam to join screw holes
|
|
translate([-cylSize/2,0,0]) cube([thickness, 86, thickness]);
|
|
for(x=[1,2])
|
|
translate([x*screwXDistance-thickness/2, 0, 0]) cube([thickness, screwYDistance, thickness]);
|
|
}
|
|
// Screw holes
|
|
for(x=[0,1,2]) {
|
|
translate([x*screwXDistance,0,-1]) polyhole(d=2.2, h=thickness+2);
|
|
translate([x*screwXDistance,screwYDistance,-1]) polyhole(d=2.2, h=thickness+2);
|
|
}
|
|
// Stabilizator hole
|
|
translate([2*screwXDistance+19.5,screwYDistance,-1]) polyhole(d=2.2, h=thickness+2);
|
|
// Stabilizator removal bottom side
|
|
# translate([2*screwXDistance-cylSize/2-0.5,-cylSize/2-0.5,-1]) cube([cylSize+1,cylSize+1, thickness+2]);
|
|
}
|