diff --git a/regal.scad b/regal.scad new file mode 100644 index 0000000..6167520 --- /dev/null +++ b/regal.scad @@ -0,0 +1,47 @@ +// Latte A +a_breite = 60; +a_tiefe = 50; + +h_modul = 700; // Höhe der Auflage für Module +unterschrank_h = h_modul + 250; +unterschrank_t = 650; // Außenmaß +sockel_h = 150; +boden_d = 28; // Dicke der Einlegeböden +segment_l = 1500; // Länge eines Regal-Segments + +module platte_unterschrank(b,t){ + color("brown") difference(){ + cube([unterschrank_t,segment_l,boden_d]); + translate([-1,-1,-1]) cube([t+1,b+1,boden_d+2]); // Ecke 1 + translate([unterschrank_t-t+1,-1,-1]) cube([t+1,b+1,boden_d+2]); // Ecke 2 + translate([unterschrank_t-t+1,segment_l-b+1,-1]) cube([t+1,b+1,boden_d+2]); // Ecke 3 + translate([-1,segment_l-b+1,-1]) cube([t+1,b+1,boden_d+2]); // Ecke 4 + } +} + +module unterschrank_rahmen(b,h,t){ + + translate([0,-b/2,0]){ + cube([t,b,unterschrank_h-t]); // hinterer Pfosten + translate([unterschrank_t-t,0,0])cube([t,b,unterschrank_h-t]); // vorderer Pfosten + color("orange") translate([0,0,unterschrank_h-t]) cube([unterschrank_t,b,t]); // Träger + color("orange") translate([t,0,h_modul-h]) cube([unterschrank_t-2*t,b,h]); // obere Strebe + color("orange") translate([t,0,sockel_h-h]) cube([unterschrank_t-2*t,b,h]); // untere Strebe + } +} + +module unterschrank(platten){ + b = a_tiefe; // Breite des Rahmens + t = a_breite; // Tiefe der Pfosten + h = a_breite; // höhe der Streben/Träger + + unterschrank_rahmen(b,h,t); + if (platten) { + translate([0,0,sockel_h])platte_unterschrank(b/2,t); + translate([0,0,h_modul])platte_unterschrank(b/2,t); + } +} + + +unterschrank(true); +translate([0,segment_l,0]) unterschrank(false);