|
|
@ -1,7 +1,12 @@ |
|
|
|
angle = 20; |
|
|
|
use <cadmodel-sg90/sg90.scad>; |
|
|
|
|
|
|
|
use <cadmodel-sg90/fastener_1.scad>; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
flap_angle = 0; |
|
|
|
|
|
|
|
servo_angle = -10; |
|
|
|
axle_dia = 4; |
|
|
|
axle_dia = 4; |
|
|
|
axle_len = 40; |
|
|
|
axle_len = 40; |
|
|
|
raise = 0; |
|
|
|
raise = 0; |
|
|
|
|
|
|
|
|
|
|
|
tunnel_w = 160; |
|
|
|
tunnel_w = 160; |
|
|
|
tunnel_h = 160; |
|
|
|
tunnel_h = 160; |
|
|
|
tunnel_t = 10; // tunnel thickness |
|
|
|
tunnel_t = 10; // tunnel thickness |
|
|
@ -130,7 +135,7 @@ module axles(){ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
module flap(){ |
|
|
|
module flap(){ |
|
|
|
translate(z*(sheet_h-rad)/2) rotate(x*angle) { |
|
|
|
translate(z*(sheet_h-rad)/2) rotate(x*flap_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); |
|
|
|
sheets(); |
|
|
|
sheets(); |
|
|
@ -155,7 +160,17 @@ module flap(){ |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
*door(); |
|
|
|
module servo(){ |
|
|
|
|
|
|
|
translate(-[5.5,0,28.5]) sg90(); |
|
|
|
|
|
|
|
rotate(servo_angle*z) sg90_f1(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module servo_in_place(){ |
|
|
|
|
|
|
|
translate([-11,0,-tunnel_h/2 -10])rotate(90*x)servo(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
door(); |
|
|
|
tunnel(); |
|
|
|
tunnel(); |
|
|
|
flap(); |
|
|
|
flap(); |
|
|
|
axles(); |
|
|
|
axles(); |
|
|
|
|
|
|
|
servo_in_place(); |
|
|
|