2022-12-20 13:37:15 +00:00
|
|
|
frontLength=10;
|
|
|
|
backLength=40;
|
|
|
|
height=120;
|
|
|
|
tipWidth=1.5;
|
|
|
|
cutHeight = 30;
|
|
|
|
cutWidth = 9;
|
|
|
|
cutLength = 20;
|
|
|
|
armLength = 10;
|
|
|
|
armWidth = 69;
|
|
|
|
armHeight = 6;
|
|
|
|
midWidth=9;
|
|
|
|
axle=2.6;
|
|
|
|
servoHole = 2.6;
|
2022-12-01 12:11:51 +00:00
|
|
|
|
2022-12-20 13:37:15 +00:00
|
|
|
$fn=200;
|
|
|
|
union(){
|
|
|
|
difference(){ //arm for servo control
|
|
|
|
difference(){
|
|
|
|
translate([-4.5,-(armWidth/2),height-armHeight]) cube([armLength,armWidth,armHeight]);
|
|
|
|
translate([0,-30,height-armHeight]) cylinder(h=armHeight+5,r=servoHole/2);
|
|
|
|
translate([0,30,height-armHeight]) cylinder(h=armHeight+5,r=servoHole/2);
|
|
|
|
}
|
|
|
|
translate([0,0,-1])
|
|
|
|
cylinder(height+2,axle,axle); //main hole in centre
|
|
|
|
}
|
|
|
|
difference(){ //rudder with cut section
|
|
|
|
difference()
|
|
|
|
{
|
|
|
|
hull()
|
|
|
|
{
|
|
|
|
translate([frontLength,0,0])
|
|
|
|
cylinder(height,tipWidth/2,tipWidth/2);
|
|
|
|
|
|
|
|
translate([-backLength,0,0])
|
|
|
|
cylinder(height,tipWidth/2,tipWidth/2);
|
|
|
|
|
|
|
|
cylinder(height,midWidth/2,midWidth/2);
|
|
|
|
}
|
|
|
|
|
|
|
|
translate([0,0,-1])
|
|
|
|
cylinder(height+2,axle,axle);
|
|
|
|
}
|
|
|
|
translate([-4.5,-10,height-35]) cube(cutLength,cutWidth,cutHeight); //cut out section
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|