Spangenzubehoer/modules/mod_Deckel.scad

89 lines
2.3 KiB
OpenSCAD

// License: cc-by-sa-4.0 Author: holm / Christian Müller (https://mueller.network)
module Deckel(griff=false,spiegel=false,kante=false,ausschnitt=0,versatz=0) {
translate([0,vollelaenge/2,0])
difference() {
union() {
mirror_copy()
translate([0,-vollelaenge/2,0])
Deckelhaelfte(kante=kante,spiegel=spiegel,ausschnitt=ausschnitt,versatz=versatz);
}
if(griff) {
scale([0.75,1.25,1])
difference() {
translate([8,0,vollehoehe+0.125])
color("red")
cylinder(h=1,r=6);
translate([10.5,0,vollehoehe+0.125])
color("blue")
cylinder(h=1,r=5.5);
translate([7.5,0-6.5,vollehoehe+0.125])
color("magenta")
cube([9,13,1]);
//cube(4,true);
}
scale([0.75,1.25,1])
difference() {
translate([13,0,vollehoehe+0.125])
color("red")
cylinder(h=1,r=6);
translate([15.5,0,vollehoehe+0.125])
color("blue")
cylinder(h=1,r=5.5);
translate([12.5,0-6.5,vollehoehe+0.125])
color("magenta")
cube([9,13,1]);
//cube(4,true);
}
}
}
}
module Deckelhaelfte(kante=false,spiegel=false,ausschnitt=0,versatz=0) {
difference() {
// Deckelplatte
translate([0,rundung/3,vollehoehe-2-ausschnitt])
// color("lime")
// cube([vollebreite-rundung/3,(vollelaenge-2*rundung/3)/2,wall/2+.1]);
color("indigo")
translate ([0-versatz,0,-2.5])
minkowski(convexity=20) {
cube([vollebreite-wall*0.75+versatz,(vollelaenge-2*rundung/3)/2,deckelstaerke]);
//cube([40,15,1.5]);
color("magenta")
difference() {
translate([1,1,2])
sphere(1);
translate([0,0,0])
cube([2,2,2],false);
}
}
// Spiegel
if(spiegel) {
translate([11.5,5,vollehoehe-deckelstaerke/2+1])
color("lightblue")
cube([vollebreite-rundung/3-16,vollelaenge/2-3,wall/2+1]);
}
// Kante
if(kante) {
translate([-1,-3.3,vollehoehe-wall/2])
color("brown")
cube([vollebreite-rundung/3+2,wall,wall/2+1]);
translate([vollebreite+3.3,0,vollehoehe-wall/2])
color("brown")
rotate([0,0,90])
cube([vollelaenge/2,wall,wall/2+1]);
translate([0.5,0,vollehoehe-wall/2-1])
color("brown")
rotate([0,0,90])
cube([vollelaenge/2,wall,wall/2+2]);
}
}
}