diff --git a/servos.scad b/servos.scad old mode 100644 new mode 100755 index b751835..45a809c --- a/servos.scad +++ b/servos.scad @@ -104,5 +104,53 @@ module alignds420(position, rotation, screws = 0, axle_lenght = 0) } } +/** + * Futaba S3003 servo + * + * @param vector position The position vector + * @param vector rotation The rotation vector + */ +module futabas3003(position, rotation) +{ + translate(position) + { + rotate(rotation) + { + union() + { + // Box and ears + translate([0,0,0]) + { + cube([20.1, 39.9, 36.1], false); + translate([1.1, -7.6, 26.6]) + { + difference() { + cube([18, 7.6, 2.5]); + translate([4, 3.5, 0]) cylinder(100, 2); + translate([14, 3.5, 0]) cylinder(100, 2); + } + } + + translate([1.1, 39.9, 26.6]) + { + difference() { + cube([18, 7.6, 2.5]); + translate([4, 4.5, 0]) cylinder(100, 2); + translate([14, 4.5, 0]) cylinder(100, 2); + } + } + } + + // Main axle + translate([10, 30, 36.1]) + { + cylinder(r=6, h=0.4, $fn=30); + cylinder(r=2.5, h=4.9, $fn=20); + } + } + } + } +} + // Tests: module test_alignds420(){alignds420(screws=1);}