You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.6 KiB
63 lines
1.6 KiB
1 year ago
|
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();
|