scadstuff/reddot-cover/reddot-cover.scad
2024-10-21 17:23:21 +02:00

74 lines
1.5 KiB
OpenSCAD

$fn=120;
BORDER=1.2;
difference()
{
intersection()
{
linear_extrude(28)
union()
{
translate([4.5,0])
import("/tmp/reddot-cover.svg");
square([5,5]);
}
translate([0,13,14])
rotate([0,90,0])
linear_extrude(55)
union()
{
resize([38,26]) circle(14);
translate([-19, -13]) square([38, 13]);
}
}
// Stretched diff model
translate([4.5,0, BORDER])
{
intersection()
{
linear_extrude(28-BORDER*2)
union()
{
offset(-BORDER) import("/tmp/reddot-cover.svg");
translate([BORDER, -10]) square([47.5-BORDER*2, 10+BORDER]);
translate([46, -2]) square([3, 10]);
}
translate([0,13,14])
rotate([0,90,0])
linear_extrude(55)
union()
{
offset(-BORDER) resize([38,26]) circle(14);
translate([-19, -18]) square([38, 18]);
}
}
}
//Front wire holder
translate([2, -0.5, 2]) cube([2.5, 6, 11]);
translate([2, -0.5, 2+11+2]) cube([2.5, 6, 11]);
}
// Lateral holders
translate([30,4.5,0.1])
translate([0,0,-5+BORDER+1.3])
difference()
{
sphere(5);
translate([-5, -5, -10+BORDER+1.3]) cube(10);
}
translate([30,4.5,28-0.1])
mirror([0,0,1])
translate([0,0,-5+BORDER+1.3])
difference()
{
sphere(5);
translate([-5, -5, -10+BORDER+1.3]) cube(10);
}