Stephan Richter
1 year ago
1 changed files with 62 additions and 0 deletions
@ -0,0 +1,62 @@
@@ -0,0 +1,62 @@
|
||||
tunnel_w = 160; |
||||
tunnel_h = 160; |
||||
tunnel_t = 10; // tunnel thickness |
||||
tunnel_s = 40; // tunnel spacing: overlap for screws |
||||
door_t = 50; // door thickness |
||||
plexy_t = 6; // thickness of plexy glass sheet |
||||
gap = 1; // gap between parts moving relative to each other |
||||
seal = 5; |
||||
angle = 0; |
||||
guide_h = 20; |
||||
|
||||
// calculations |
||||
rad = 3*plexy_t/2; |
||||
sheet_h = tunnel_h-2*seal-rad; |
||||
|
||||
// colors |
||||
plexy = [0.4,0.6,1,0.6]; |
||||
snow = [1,1,1,0.5]; |
||||
wood = [0.8,0.3,0]; |
||||
|
||||
module door(){ |
||||
color(wood) difference(){ |
||||
cube([1000,door_t,2000],true); |
||||
tunnel_core(); |
||||
} |
||||
} |
||||
|
||||
module tunnel_core(){ |
||||
cube([tunnel_w+2*tunnel_t,door_t+2*tunnel_t,tunnel_h+2*tunnel_t],true); // eigentlicher tunnel |
||||
} |
||||
|
||||
module tunnel(){ |
||||
color(snow)difference(){ |
||||
union(){ |
||||
tunnel_core(); |
||||
translate([0,(door_t+tunnel_t)/2,0]) cube([tunnel_w+2*tunnel_s,tunnel_t,tunnel_h+2*tunnel_s],true); // krempe |
||||
translate([0,(door_t+tunnel_t)/-2,0]) cube([tunnel_w+2*tunnel_s,tunnel_t,tunnel_h+2*tunnel_s],true); // krempe |
||||
} |
||||
cube([tunnel_w,door_t+2*tunnel_t+2,tunnel_h],true); // loch |
||||
} |
||||
} |
||||
|
||||
module sheets(){ |
||||
translate([0,-plexy_t,-sheet_h/2])cube([tunnel_w-2*seal,plexy_t,sheet_h],true); |
||||
translate([0, plexy_t,-sheet_h/2])cube([tunnel_w-2*seal,plexy_t,sheet_h],true); |
||||
|
||||
translate([0,0,guide_h/2-sheet_h])cube([10,plexy_t,guide_h],true); |
||||
} |
||||
|
||||
module flap(){ |
||||
translate([0,0,(sheet_h-rad)/2]) rotate([angle,0,0]) union(){ |
||||
difference(){ |
||||
rotate([0,90,0]) cylinder(d=3*plexy_t,h=tunnel_w-2*seal,center=true); |
||||
sheets(); |
||||
} |
||||
color(plexy)sheets(); |
||||
} |
||||
} |
||||
|
||||
*door(); |
||||
*tunnel(); |
||||
flap(); |
Loading…
Reference in new issue