|
|
@ -19,6 +19,10 @@ space = bearing_outer_dia; // space between plexy glass sheets |
|
|
|
// calculations |
|
|
|
// calculations |
|
|
|
rad = (space+2*plexy_t)/2; |
|
|
|
rad = (space+2*plexy_t)/2; |
|
|
|
sheet_h = tunnel_h-2*seal-rad; |
|
|
|
sheet_h = tunnel_h-2*seal-rad; |
|
|
|
|
|
|
|
h0 = stopper_w/2; |
|
|
|
|
|
|
|
h1 = guide_h-gap-10; |
|
|
|
|
|
|
|
h2 = 10+gap+h0; |
|
|
|
|
|
|
|
h3 = bearing_h/2+gap; |
|
|
|
|
|
|
|
|
|
|
|
// colors |
|
|
|
// colors |
|
|
|
plexy = [0.4,0.6,1,0.6]; |
|
|
|
plexy = [0.4,0.6,1,0.6]; |
|
|
@ -65,7 +69,7 @@ module screw(){ |
|
|
|
module sheets(){ |
|
|
|
module sheets(){ |
|
|
|
difference(){ |
|
|
|
difference(){ |
|
|
|
union(){ |
|
|
|
union(){ |
|
|
|
translate([0,(space+plexy_t)/2,-sheet_h/2])cube([tunnel_w-2*seal,plexy_t,sheet_h],true); |
|
|
|
translate([0,(plexy_t+space)/2,-sheet_h/2])cube([tunnel_w-2*seal,plexy_t,sheet_h],true); |
|
|
|
translate([0, (plexy_t+space)/-2,-sheet_h/2])cube([tunnel_w-2*seal,plexy_t,sheet_h],true); |
|
|
|
translate([0, (plexy_t+space)/-2,-sheet_h/2])cube([tunnel_w-2*seal,plexy_t,sheet_h],true); |
|
|
|
} |
|
|
|
} |
|
|
|
hull(){ |
|
|
|
hull(){ |
|
|
@ -77,18 +81,16 @@ module sheets(){ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
module guide(){ |
|
|
|
module guide(){ |
|
|
|
a = guide_h-gap-10; |
|
|
|
|
|
|
|
b = 10+gap+stopper_w/2; |
|
|
|
translate([h2, 0,h1/2-sheet_h])cube([20,space,h1],true); |
|
|
|
translate([b, 0,a/2-sheet_h])cube([20,space,a],true); |
|
|
|
translate([-h2, 0,h1/2-sheet_h])cube([20,space,h1],true); |
|
|
|
translate([-b, 0,a/2-sheet_h])cube([20,space,a],true); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
module bearing_case(){ |
|
|
|
module bearing_case(){ |
|
|
|
a = bearing_h/2+gap; |
|
|
|
rotate(ry) cylinder(d=bearing_inner_dia-gap,h=h3); |
|
|
|
rotate(ry) cylinder(d=bearing_inner_dia-gap,h=a); |
|
|
|
translate([h3/2+stopper_w/4,0,stopper_h/2]) cube([h0-h3,space-2*gap,stopper_h],true); |
|
|
|
translate([a/2+stopper_w/4,0,stopper_h/2]) cube([stopper_w/2-a,space-2*gap,stopper_h],true); |
|
|
|
translate([(h0+5)/2,0,stopper_h-5]) cube([h0+5,space-2*gap,10],true); |
|
|
|
translate([(stopper_w/2+5)/2,0,stopper_h-5]) cube([stopper_w/2+5,space-2*gap,10],true); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
module bearing(){ |
|
|
|
module bearing(){ |
|
|
@ -109,7 +111,6 @@ module stopper(){ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
module flap(){ |
|
|
|
module flap(){ |
|
|
|
b = 10+gap+stopper_w/2; |
|
|
|
|
|
|
|
translate(z*(sheet_h-rad)/2) rotate(x*angle) { |
|
|
|
translate(z*(sheet_h-rad)/2) rotate(x*angle) { |
|
|
|
difference(){ |
|
|
|
difference(){ |
|
|
|
rotate(y*90) cylinder(d=2*rad,h=tunnel_w-2*seal,center=true); |
|
|
|
rotate(y*90) cylinder(d=2*rad,h=tunnel_w-2*seal,center=true); |
|
|
@ -122,10 +123,10 @@ module flap(){ |
|
|
|
sheets(); |
|
|
|
sheets(); |
|
|
|
guide(); |
|
|
|
guide(); |
|
|
|
} |
|
|
|
} |
|
|
|
translate([b,0,5-sheet_h])screw(); |
|
|
|
translate([h2,0,5-sheet_h])screw(); |
|
|
|
translate([b,0,guide_h-15-gap-sheet_h])screw(); |
|
|
|
translate([h2,0,guide_h-15-gap-sheet_h])screw(); |
|
|
|
translate([-b,0,5-sheet_h])screw(); |
|
|
|
translate([-h2,0,5-sheet_h])screw(); |
|
|
|
translate([-b,0,guide_h-15-gap-sheet_h])screw(); |
|
|
|
translate([-h2,0,guide_h-15-gap-sheet_h])screw(); |
|
|
|
translate([tunnel_w/ 4,0,rad/-2])screw(); |
|
|
|
translate([tunnel_w/ 4,0,rad/-2])screw(); |
|
|
|
translate([tunnel_w/-4,0,rad/-2])screw(); |
|
|
|
translate([tunnel_w/-4,0,rad/-2])screw(); |
|
|
|
} |
|
|
|
} |
|
|
|