|
|
|
@ -1,11 +1,16 @@
@@ -1,11 +1,16 @@
|
|
|
|
|
// Latte A |
|
|
|
|
a_breite = 60; |
|
|
|
|
a_tiefe = 50; |
|
|
|
|
h_modul = 800; // Höhe der Auflage für Module |
|
|
|
|
|
|
|
|
|
gesamt_h = 3000; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h_modul = 700; // Höhe der Auflage für Module |
|
|
|
|
unterschrank_h = h_modul + 250; |
|
|
|
|
unterschrank_t = 650; // Außenmaß |
|
|
|
|
sockel_h = 150; |
|
|
|
|
|
|
|
|
|
oberschrank_h = gesamt_h - unterschrank_h; |
|
|
|
|
oberschrank_t = 350; |
|
|
|
|
oberschrank_etagen = 5; |
|
|
|
|
|
|
|
|
|
sockel_h = 70; |
|
|
|
|
boden_d = 28; // Dicke der Einlegeböden |
|
|
|
|
segment_l = 1500; // Länge eines Regal-Segments |
|
|
|
|
|
|
|
|
@ -19,6 +24,17 @@ module platte_unterschrank(b,t){
@@ -19,6 +24,17 @@ module platte_unterschrank(b,t){
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module platte_oberschrank(b,t){ |
|
|
|
|
color("brown") difference(){ |
|
|
|
|
cube([oberschrank_t,segment_l,boden_d]); |
|
|
|
|
translate([-1,-1,-1]) cube([t+1,b+1,boden_d+2]); // Ecke 1 |
|
|
|
|
translate([oberschrank_t-t+1,-1,-1]) cube([t+1,b+1,boden_d+2]); // Ecke 2 |
|
|
|
|
translate([oberschrank_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]){ |
|
|
|
@ -30,10 +46,40 @@ module unterschrank_rahmen(b,h,t){
@@ -30,10 +46,40 @@ module unterschrank_rahmen(b,h,t){
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
module oberschrank_rahmen(b,h,t){ |
|
|
|
|
translate([0,-b/2,0]){ |
|
|
|
|
cube([t,b,oberschrank_h-t]); // hinterer Pfosten |
|
|
|
|
translate([oberschrank_t-t,0,0])cube([t,b,oberschrank_h-t]); // vorderer Pfosten |
|
|
|
|
step = (oberschrank_h-t) / oberschrank_etagen; |
|
|
|
|
for (e = [1:oberschrank_etagen-1]){ |
|
|
|
|
color("orange") translate([t,0,e*step-t]) cube([oberschrank_t-2*t,b,t]); // Strebe |
|
|
|
|
} |
|
|
|
|
color("orange") translate([0,0,oberschrank_h-t]) cube([oberschrank_t,b,t]); // Träger |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
module oberschrank(platten){ |
|
|
|
|
b = 50; // Breite des Rahmens |
|
|
|
|
t = 30; // Tiefe der Pfosten |
|
|
|
|
h = 60; // höhe der Streben/Träger |
|
|
|
|
|
|
|
|
|
translate([0,0,unterschrank_h]){ |
|
|
|
|
oberschrank_rahmen(b,h,t); |
|
|
|
|
if (platten) { |
|
|
|
|
step = (oberschrank_h-t) / oberschrank_etagen; |
|
|
|
|
for (e = [0:oberschrank_etagen-1]){ |
|
|
|
|
translate([0,0,step*e])platte_oberschrank(b/2,t); |
|
|
|
|
} |
|
|
|
|
translate([0,0,oberschrank_h])platte_oberschrank(0,0); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module unterschrank(platten){ |
|
|
|
|
b = a_tiefe; // Breite des Rahmens |
|
|
|
|
t = a_breite; // Tiefe der Pfosten |
|
|
|
|
h = a_breite; // höhe der Streben/Träger |
|
|
|
|
b = 50; // Breite des Rahmens |
|
|
|
|
t = 60; // Tiefe der Pfosten |
|
|
|
|
h = 60; // höhe der Streben/Träger |
|
|
|
|
|
|
|
|
|
unterschrank_rahmen(b,h,t); |
|
|
|
|
if (platten) { |
|
|
|
@ -42,6 +88,13 @@ module unterschrank(platten){
@@ -42,6 +88,13 @@ module unterschrank(platten){
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
module schrank(platten){ |
|
|
|
|
unterschrank(platten); |
|
|
|
|
oberschrank(platten); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
unterschrank(true); |
|
|
|
|
translate([0,segment_l,0]) unterschrank(false); |
|
|
|
|
schrank(true); |
|
|
|
|
translate([0,segment_l,0]) schrank(true); |
|
|
|
|
translate([0,2*segment_l,0]) schrank(true); |
|
|
|
|
translate([0,3*segment_l,0]) schrank(true); |
|
|
|
|
translate([0,4*segment_l,0]) schrank(false); |
|
|
|
|