//
-----------------------------------------------------
// Gehäuse für einen Bewegungsmelder
//
// Detlev Ahlgrimm, 22.01.2018
// ...und mein erstes Design mit OpenSCAD
// -----------------------------------------------------
module befestigung(ausrichtung) {
difference() {
difference() {
cylinder(r=4, h=18,
$fn=100);
if(ausrichtung=="links")
{ // halbieren
translate([5.1,
0, 6]) cube([10, 10, 25], center=true);
} else {
translate([-5.1, 0, 6]) cube([10, 10, 25], center=true);
}
}
if(ausrichtung=="links") { //
Loch bohren
translate([-1, 0, -1])
cylinder(r=1, h=17, $fn=100);
} else {
translate([1, 0, -1])
cylinder(r=1, h=17, $fn=100);
}
}
}
//befestigung("links"); translate([20, 0, 0])
befestigung("rechts");
module oberteil() {
difference() {
union() {
difference() {
cube([38, 29, 18],
center=true); // Oberteil
translate([0, 0, -2]) cube([34, 25,
18], center=true); // Kiste daraus machen
translate([0, 0, 1]) cube([23, 23, 19],
center=true); // Aussparung für den Sensor
}
translate([-19, 0, -9]) befestigung("links");
translate([19, 0, -9]) befestigung("rechts");
}
translate([-15, -14.5, 5]) rotate([90, 0, 0])
text("D.Ahlgrimm, 2018", font="Arial", size=3);
}
}
//translate([0, 0, 15])
translate([0, 40, 9]) rotate([180, 0, 0])
color("White") oberteil();
module boden() {
translate([0, 0, 1])
difference() {
minkowski() { // Platte mit
abgerundeten Ecken
cube([45, 21, 1],
center=true);
cylinder(r=4, h=1, $fn=50);
}
translate([23, 10, -1]) cylinder(r=2,
h=4, $fn=50); // Löcher bohren
translate([-23, -10, -1]) cylinder(r=2,
h=4, $fn=50);
translate([20, 0, -1]) cylinder(r=1,
h=5, $fn=50);
translate([-20, 0, -1]) cylinder(r=1,
h=5, $fn=50);
}
translate([0, 0, 3])
difference() { // Ausrichte-Steg
cube([34, 25, 3], center=true);
cube([32, 23, 4], center=true);
}
}
module bodenMitKabeldurchfuehrung() {
difference() {
color("White") boden();
translate([0, 29/2-15/2-0.5, 2.5])
color("White") cube([6, 15, 5], center=true);
}
}
bodenMitKabeldurchfuehrung();
|